In this post I'll give updates about open source I worked on during September and October 2024.
To see previous OSS updates, go here.
I'd like to thank all the sponsors and contributors that make this work possible. Without you, the below projects would not be as mature or wouldn't exist or be maintained at all.
Current top tier sponsors:
Open the details section for more info about sponsoring.
If you want to ensure that the projects I work on are sustainably maintained, you can sponsor this work in the following ways. Thank you!
Soon Clojurists Together will be opening their application for long term funding. If you are a member, don't forget to vote!
If you're used to sponsoring through some other means which isn't listed above, please get in touch.
On to the projects that I've been working on!
In September I visited Heart of Clojure where Christian, Teodor and I did a workshop on babashka. The first workshop was soon fully booked so we even did a second one and had a lot of fun doing so. It was so good to see familiar Clojure faces in real life again. Thanks Arne and Gaiwan team for organizing this amazing conference.
Although I didn't make it to the USA for the Clojure conj in October, Alex Miller did invite me to appear towards the end of his closing talk when he mentioned that 90% of survey respondents used babashka.

If you are interested in a full stack web framework with babashka and squint, check out borkweb.
Here are updates about the projects/libraries I've worked on in the last two months.
clj-kondo: static analyzer and linter for Clojure code that sparks joy.
:redundant-do in catch--report-level flag:redundant-ignore linter:redundant-ignore. See docsletfnhooks-api/callstack function--skip-lintdeftype and defrecord constructors can be used with Type/new:sort option to :unsorted-required-namespaces linter to enable case-sensitive sort to match other toolsgen/fmap var in cljs.spec.gen.alphababashka: native, fast starting Clojure interpreter for scripting.
java.lang.SecurityException for java.net.http.HttpClient supportclojure.core/ensuretaoensso/timbre v6.6.0Thread/sleep interoptools.reader.edn/read(taoensso.timbre/spy) now relies on macros from taoensso.encore previously not available in bb1.12.0clojure.java.processclojure.repl.deps namespace. Only calls with explicit versions are supported.babashka.http-client.interceptors namespaceaset on primitive arrayfsprocessdeps.cljhttp-clientclj-yamledamamerewrite-cljjava.io.LineNumberReaderSCI: Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
String/new, String/.length and Integer/parseInt as fnsString/1, byte/2add-watch on vars in CLJSaset on primitive array using reflection:allow may contain namespaced symbolssci.impl.Reflector (used for implementing JVM interop) to match Clojure 1.12squint: CLJS syntax to JS compiler
squint.edn configurations with command line options.--extension and --paths via CLIchokidar to v4 which reduces the number of dependencies#html must now be explicitly passed as map literal: (let [m {:color :green}] #html [:div {:style {:& m}}]). Fixes issue when using lit-html in combination with classMap. See demo--repl opts to watch subcommand in CLIcherry: Experimental ClojureScript to ES6 module compiler
defclass to be referenced through other macros, e.g. as cherry.core/defclass#html literals, ported from squinthttp-client: babashka's http-client
http-server: serve static assets
bbin: Install any Babashka script or project with one command
scittle: Execute Clojure(Script) directly from browser script tags via SCI
Add cljs.pprint/code-dispatch and cljs.pprint/with-pprint-dispatch
neil: A CLI to add common aliases and features to deps.edn-based projects.
neil new (@bobisageek)sci.configs: A collection of ready to be used SCI configs.
cljs.spec.alpha and related namespacesnbb: Scripting in Clojure on Node.js using SCI
cljs.spec.alpha, cljs.spec.gen.alpha, cljs.spec.test.alphaclerk: Moldable Live Programming for Clojure
:require-cljs which allows you to use .cljs files for render functionsdeps.clj: A faithful port of the clojure CLI bash script to Clojure
process: Clojure library for shelling out / spawning sub-processes
These are (some of the) other projects I'm involved with but little to no activity happened in the past month.
Published: 2024-11-01
Tagged: clojure oss updates