In this post I'll give updates about open source I worked on during December 2023.
To see previous OSS updates, go here.
First all, as this is the last day of 2023, I wish you all a happy new year. Hopefully many goods things may happen in the Clojure ecosystem. I'm grateful many of you have sponsored my work in 2023!
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. Open the details section for more info.
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.
clj-kondo: static analyzer and linter for Clojure code that sparks joy. Released 2023.12.15
:min-clj-kondo-version
in config.edn and warn when current version is too low (@snasphysicist):underscore-in-namespace
(@cosineblast):condition-always-true
linter, see docs:multiple-async-in-deftest
linter: warn on multiple async blocks in cljs.test/deftest
, since only the first will run.deftype
a var that is referred with :refer :all
:line-length
warnings cannot be :clj-kondo/ignore
d#'foo/foo
and (var foo/foo)
the same treatment with respect to private calls:macroexpand
hookquickblog: Light-weight static blog engine for Clojure and babashka v0.3.3 - v0.3.6 released
:discuss-link
isn't setabout.html
when a template exists (@elken).html
from page links (@anderseknert)squint: CLJS syntax to JS compiler
Lots of stuff happened in December with squint! Too many to mention here, just check the CHANGELOG.md
clojure-mode: Clojure/Script mode for CodeMirror 6.
#_(+ 1 2 3)|
the expression (+ 1 2 3)
is evaluated Test it in the squint playground.fs - File system utility library for Clojure Released 0.5.20:
fs/delete-tree
: add :force
flag to delete read-only directories/files. Set the flag to true in fs/with-temp-dir
(@jlesquembre)gzip
and gunzip
functionsfs/glob
: enable :hidden
(when not already set) when pattern
starts with dot (@eval).fs/match
and fs/glob
not finding files in root-folder (@eval).cherry: Experimental ClojureScript to ES6 module compiler
clojure.set
namespacehttp-server: serve static assets
babashka: native, fast starting Clojure interpreter for scripting.
These are (some of the) other projects I'm involved with but little to no activity happened in the past month.
CLI: Turn Clojure functions into CLIs!
squint-macros: a couple of macros that stand-in for applied-science/js-interop and promesa to make CLJS projects compatible with squint and/or cherry.
sci.configs: A collection of ready to be used SCI configs.
grasp: Grep Clojure code using clojure.spec regexes
lein-clj-kondo: a leiningen plugin for clj-kondo
http-kit: Simple, high-performance event-driven HTTP client+server for Clojure.
http-client: babashka's http-client
nbb: Scripting in Clojure on Node.js using SCI
deps.clj: A faithful port of the clojure CLI bash script to Clojure
babashka.nrepl: The nREPL server from babashka as a library, so it can be used from other SCI-based CLIs
rewrite-edn: Utility lib on top of rewrite-clj with common operations to update EDN while preserving whitespace and comments
tools-deps-native and tools.bbuild: use tools.deps directly from babashka
jet: CLI to transform between JSON, EDN, YAML and Transit using Clojure
quickdoc: Quick and minimal API doc generation for Clojure
pod-babashka-go-sqlite3: A babashka pod for interacting with sqlite3
pod-babashka-fswatcher: babashka filewatcher pod
edamame: Configurable EDN/Clojure parser with location metadata
lein2deps: leiningen to deps.edn converter
scittle: Execute Clojure(Script) directly from browser script tags via SCI
sql pods: babashka pods for SQL databases
cljs-showcase: Showcase CLJS libs using SCI
process: Clojure library for shelling out / spawning sub-processes
babashka.book: Babashka manual
rewrite-clj: Rewrite Clojure code and edn
pod-babashka-buddy: A pod around buddy core (Cryptographic Api for Clojure).
gh-release-artifact: Upload artifacts to Github releases idempotently
carve - Remove unused Clojure vars
4ever-clojure - Pure CLJS version of 4clojure, meant to run forever!
pod-babashka-lanterna: Interact with clojure-lanterna from babashka
clj2el: transpile Clojure to elisp
deflet: make let-expressions REPL-friendly!
babashka.json: babashka JSON library/adapter
deps.add-lib: Clojure 1.12's add-lib feature for leiningen and/or other environments without a specific version of the clojure CLI
Published: 2023-12-31
Tagged: clojure oss updates