OSS updates October 2023
In this post I'll give updates about open source I worked on during October 2023.
To see previous OSS updates, go here.
I'd like to thank all the sponsors and contributors that make this work possible! Open the details section for more info.
Sponsor info Top sponsors:
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!
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!
Here are updates about the projects/libraries I've worked on last month.
- babashka: native, fast starting Clojure interpreter for scripting.
- Support self-contained binaries as uberjars!
- Fix babashka.process/exec wrt
- #1632: Partial fix for
- Enable producing self-contained binaries using uberjars
- Bump httpkit to
2.8.0-beta3 (fixes GraalVM issue with virtual threads)
- nREPL: implement
- SCI: optimize
reset! for normal atoms (rather than user-created
- sci.configs: A collection of ready to be used SCI configs.
- A configuration for hoplon and javelin was added. You can play around with hoplon in a SCI-enabled environment here
- clj-kondo: static analyzer and linter for Clojure code that sparks joy.
- #2207: New
:condition-always-true linter, see docs)
- #2013: Fix NPE and similar errors when linting an import with an illegal token
Published a new version (2023.10.20) with these changes:
- #1804: new linter
- #2065: new linter
:equals-false, counterpart of
- #2199: add
:syntax check for var names starting or ending with dot (reserved by Clojure)
- #2179: consider alias-as-object usage in CLJS for :unused-alias linter
- #2183: respect
- #2184: Add missing documentation for
:single-logical-operand linter (@wtfleming)
- #2187: Fix type annotation of argument of
nilable/string to string (@dbunin)
- #2192: Support
:pattern output format (@joshgelbard)
- #2182: Namespace local configuration does not silence
- #2186: Improve warning when
--copy-configs is enabled but no config dir exists
- #2190: false positive with
:unused-alias and namespaced map
- #2200: include optional
:callstack in analysis
- squint: CLJS syntax to JS compiler
Lots of stuff happened in October with squint!
js* should default to
- #352: fix
zero? in return position
- #347: Add
:post support in
- Handle multipe source
:paths in a more robust fashion
- #344: macros can't be used via aliases
squint.edn support, see docs
watch subcommand to watch
- Make generated
let variable names in JS more deterministic, which helps hot reloading in React
- Added a vite + react example project.
- Resolve symbolic namespaces
(:require [foo.bar]) from
lib/squint.core.umd.js which defines a global
squint.core object (easy to use in browsers, see docs)
:paths to resolve macros from (via
- neil: A CLI to add common aliases and features to deps.edn-based projects Version 0.2.62 released
- Fix NPE during
neil dep upgrade
- Porting this CLJS project such that it can run with squint also. You can now use this library directly from NPM as a JS library. See this page for a demo on how to use it directly from a CDN! This work is funded by Nextjournal.
- cherry: Experimental ClojureScript to ES6 module compiler
- grasp: Grep Clojure code using clojure.spec regexes
- Fix self-requiring namespace (which clj-kondo now also catches via optional linter!)
- lein-clj-kondo: a leiningen plugin for clj-kondo
- http-kit: Simple, high-performance event-driven HTTP client+server for Clojure.
- #543 Migrate away from
java.time, fixes native-image issue and virtual threads
- http-client: babashka's http-client
- A number of small bugfixes and additions
- SCI: Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
destructure to scripts
(.foo bar) form in
reset! for host values
- nbb: Scripting in Clojure on Node.js using SCI
sci.core itself was exposed to nbb users
- fs - File system utility library for Clojure
- Minor fixes in
glob by @eval, thanks!
- deps.clj: A faithful port of the clojure CLI bash script to Clojure
- Get home directory via environment variable rather than system property by @DerGuteMoritz, thanks!
- babashka.nrepl: The nREPL server from babashka as a library, so it can be used from other SCI-based CLIs
These are (some of the) other projects I'm involved with but little to no activity happened in the past month.
Click for more details
Discuss this post here.