OSS updates May 2023
In this post I'll give updates about open source I worked on during May 2023.
To see previous OSS updates, go here.
Babashka-conf is happening June 10th in Berlin. Only a few tickets left!
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!
Updates
The following projects had updates in the last month. Note that only highlights are mentioned and not a full overview of all changes. See the project's changelogs for all changes.
- Preparations for babashka conf are in full swing and I'm preparing a talk with the title 'Growing an ecosystem'.
- This month I've had the honor to visit the JUXT 10 year anniversary in London and met a lot of fellow Clojurians over there.
- Babashka and SCI will be featured at the last iteration of Strange Loop!
- My OSS work is funded by Clojurists Together in Q2
- clj-kondo: static analyzer and linter for Clojure code that sparks joy.
- Version 2023.05.18 - 2023.05.26 were released. Full changelogs here. Highlights:
- Linter
:uninitialized-var
moved from default :level :off
to :warning
- #2065: new linter
:equals-true
: suggest using (true? x)
over (= true x)
(defaults to :level :off
). - #2066: new linters
:plus-one
and :minus-one
: suggest using (inc x)
over (+ x 1)
(and similarly for dec
and -
, defaults to :level :off
) - #2058: warn about
#()
and #""
in .edn
files
- babashka: native, fast starting Clojure interpreter for scripting.
- Released 1.3.180, mostly a maintenance release
- See the complete CHANGELOG
- scittle: Execute Clojure(Script) directly from browser script tags via SCI
- #58: build system for creating scittle distribution with custom libraries. See plugins/demo.
- Use
window.location.hostname
for WebSocket connection instead of hardcoding "localhost"
(@pyrmont) - Upgrade
sci.configs
to "33bd51e53700b224b4cb5bda59eb21b62f962745"
- Update nREPL implementation: implement
eldoc
(info
, lookup
) (@benjamin-asdf)
- deps.clj: A faithful port of the clojure CLI bash script to Clojure
- Introduce all new programmatic API
- Automatically use file when exceeding Windows argument length
- deps.add-lib: Clojure 1.12's add-lib feature for leiningen and/or other environments without a specific version of the clojure CLI
- nbb: Scripting in Clojure on Node.js using SCI
- Nbb is now compatible with bun. To run nbb in a bun project, use
bunx --bun nbb
.
- squint: CLJS syntax to JS compiler
- cherry Experimental ClojureScript to ES6 module compiler
- http-client: Babashka's http-client
- Add
:authenticator
option
- sci.configs: A collection of ready to be used SCI configs.
- This project now has a configuration for datascript, for anyone who wants to use SCI together with datascript. See this commit.
- SCI: Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs
- process: Clojure library for shelling out / spawning sub-processes
- Support
:pre-start-fn
in exec
- Allow passing
:cmd
in map argument - Better testing for
exec
by @lread
- fs - File system utility library for Clojure
:paths
argument for fs/which
by @lread- Support inputstream in
fs/copy
- Add
fs/owner
to return owner of file
Other projects
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
- edamame: Configurable EDN/Clojure parser with location metadata
- Improvements for reading namespaced maps
- babashka.book: Babashka manual
- Several corrections
- Dynamic
:exec-args
- Script-adjacent
bb.edn
docs
- CLI: Turn Clojure functions into CLIs!
- Support
--no-option
and parse as {:option false}
- Support grouped aliase like
-ome
as {:o true, :m true, :e true}
- pod-babashka-go-sqlite3: A babashka pod for interacting with sqlite3
- Better error message when connection is not a string
- instaparse-bb
- jet: CLI to transform between JSON, EDN, YAML and Transit using Clojure
- Add option to elide commas
- quickdoc: Quick and minimal API doc generation for Clojure
- rewrite-clj: Rewrite Clojure code and edn
- sql pods: babashka pods for SQL databases
- pod-babashka-buddy: A pod around buddy core (Cryptographic Api for Clojure).
- gh-release-artifact: Upload artifacts to Github releases idempotently
- neil: A CLI to add common aliases and features to deps.edn-based projects
- cljs-showcase: Showcase CLJS libs using SCI
- carve - Remove unused Clojure vars
- grasp: Grep Clojure code using clojure.spec regexes
- quickblog: Light-weight static blog engine for Clojure and babashka
- lein2deps: leiningen to deps.edn converter
- 4ever-clojure - Pure CLJS version of 4clojure, meant to run forever!
- pod-babashka-lanterna: Interact with clojure-lanterna from babashka
- pod-babashka-fswatcher: babashka filewatcher pod
- joyride: VSCode CLJS scripting and REPL (via SCI)
- clj2el: transpile Clojure to elisp
- deflet: make let-expressions REPL-friendly!
- babashka.json: babashka JSON library/adapter
Published: 2023-05-30
Tagged:
clojure
oss updates