In this post I'll give updates about open source I worked on during May and June 2022.
But first off, I'd like to thank all the sponsors and contributors that make this work possible! Top sponsors: Clojurists Together, Roam Research, Adgoji, Cognitect, Nextjournal.
If you want to ensure that the projects I work on are sustainably maintained, you can sponsor this work via the following organizations:
Turn Clojure functions into CLIs!
This is one of my newest projects. It aims to close the gap between good command line UX and calling Clojure functions. It is very much inspired by the clojure CLI, but solves a problem which sometimes causes frustration, especially among Windows users: having to use quotes in a shell. It also offers support for subcommands. One project benefiting from that is neil. I blogged about babashka CLI here.
Serve static assets.
Another new project is http-server, which can be used in Clojure JVM and babashka to serve static assets in an http server.
In June I had the honor and pleasure to give a workshop about clj-kondo at ClojureD. You can work through the material yourself if you'd like here. Feel free to join the clj-kondo channel on Clojurians Slack for questions. Here are some pictures from the event.
CLI to transform between JSON, EDN and Transit, powered with a minimal query language.
jet binary is now available for Apple Silicon and adds specter as part of the standard library for transforming data. Also, the output is colorized and pretty-printed using puget now.
Configurable EDN/Clojure parser with location metadata. It has been stable for a while and reached version 1.0.0. The API is exposed now in babashka and nbb as well.
Quickdoc is a tool to generate documentation from namespace/var analysis done by clj-kondo. It's fast and spits out an
API.md file in the root of your project, so you can immediately view it on Github. It has undergone significant improvements in the last two months. I'm using quickdoc myself in several projects.
Scripting in Clojure on Node.js using SCI.
cljs.math, nREPL improvements and now has significant faster startup due to an improvement in SCI.
Clojure/Script Language Server (LSP) implementation.
This project is driven by the static analysis done by clj-kondo and used by many people to get IDE-like features in editors like emacs and VSCode.
I added support for Apple Silicon using Cirrus CI.
Native, fast starting Clojure interpreter for scripting.
Two new version of babashka were released:
0.8.2 and 0.8.156. The last segment of the version number now indicates the release count, so the last release is the 156th release.
Babashka now also has a new Apple Silicon binary built on Cirrus CI. What is very exciting is that babashka can now execute schema from source. Compatibility with malli is underway.
A linter for Clojure code that sparks joy.
Clj-kondo now also has a new Apple Silicon binary built on Cirrus CI.
Configurable Clojure interpreter suitable for scripting and Clojure DSLs. Powering babashka, nbb, joyride and many other projects.
New releases: 0.3.5 - 0.3.32
sci.asyncnamespace for asynchronous loading of code
A collection of ready to be used SCI configurations.
This project contains configurations for reagent, promesa, etc. and are used in nbb, clerk and other projects.
A recent addition was a configuration for
cljs.test which is now shared by nbb and joyride.
New releases: 0.1.2 - 0.1.4
exec call in GraalVM
native-images - this means you can replace the current process with another one.
The Small Clojure Interpreter exposed for usage in browser script tags.
Added support developing CLJS via nREPL. See docs.
Pure Clojure Webdriver protocol implementation.
This project is now compatible with babashka! Most of the work on this project was done by Lee Read. If you appreciate his work on this, or other projects like rewrite-clj, consider sponsoring him.
Brief mentions of miscellaneous other projects I worked on:
Discuss this post here.
Tagged: clojure oss updates