This year I'm receiving a long term grant from Clojurists Together. CT asked me to do a bimonthly report on my activities or write a blog post and link to that. That's what I'm doing here. I'll be going over the releases of existing and new projects and will mention highlights in some of them. Often, the devil is in the details and there aren't any new user-facing features, but still a lot of work has gone into refining existing features.
Donations from Github Sponsors, OpenCollective and the year long CT grant directly allow me to spend more time on open source. The list you are seeing here is a result of this. I love working on open source so thank you for allowing me to do this. In this ClojureScript podcast episode, Jacek Schae interviewed me on my decision to quit my previous job and work more on Clojure OSS. Have a listen if you want to know more about my motivations. If aside from sponsoring, you or your company needs work done on any of these or related projects and want to make a custom arrangement, please do reach out.
Note that the projects listed below are not exclusively my effort and are worked on by a number or regular contributors. My thanks also goes out to them.
Ad-hoc CLJS scripting on Node.js using SCI.
Many releases on npm.
Highlights:
npx nbb
and you will be dropped into a REPL.clojure.test
so you can now use nbb to develop e.g. browser tests using puppeteer or playwright:org.babashka/nbb
js-interop
moduleMany exciting things are happening around this project in the community. It's now possible to run nbb on lambda. Exercism is using babashka and nbb to run Clojure exercise submissions. Sitefox is a CLJS + Node.js web framework that works well with nbb.
A linter for Clojure (code) that sparks joy.
Releases: 2021.10.19 , 2021.09.25 , 2021.09.15 , 2021.09.14
Highlights:
gen-class
when writing -main
function. See docs.loop
without recur
linter. See docs.(def f (fn [])) (f 1 2)
will now give an arity warning.Native, fast starting Clojure interpreter for scripting.
Releases: 0.6.4 , 0.6.3 , 0.6.2 , 0.6.1 , 0.6.0
Highlight:
Print API diffs between library versions.
This is a new project.
Configurable Clojure interpreter suitable for scripting and Clojure DSLs.
Releases: 0.2.7
Highlights:
*print-fn*
like in ClojureScript.A CLI to add common aliases and features to deps.edn-based projects.
This is a new project.
Configurable EDN/Clojure parser with location metadata
Releases: 0.0.12
The Small Clojure Interpreter exposed for usage in browser script tags.
Releases: 0.0.4
File system utility library.
Releases: 0.1.0
Highlight: add fs/zip
function.
A faithful port of the clojure CLI bash script to Clojure. Used as native CLI, deps resolver in babashka and getting started REPL in Calva.
Various releases
Library to initialize Clojure packages at build time with GraalVM native-image.
This is a new project.
GraalVM native-image configurations distribution for Clojure libraries.
This is a new project.
Releases: 0.0.16
Highlight: allow keywordize fn to access all available conversion functions from camel-snake-kebab lib. e.g. csk/->PascalCase
.
Digest algorithms (md5, sha1 ...) for Clojure.
I took over this library from Miki Tebeka and I'm maintaining it under clj-commons.
Carve out the essentials of your Clojure app.
Fixed a regression.
Published: 2021-11-03
Tagged: clojure oss updates