OSS updates December 2023
In this post I'll give updates about open source I worked on during December 2023.
To see previous OSS updates, go here.
Happy new year!
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.
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
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
- #1990: Specify
:min-clj-kondo-version
in config.edn and warn when current version is too low (@snasphysicist) - #1753: New linter
:underscore-in-namespace
(@cosineblast) - #2207: New
:condition-always-true
linter, see docs - #2235: New
:multiple-async-in-deftest
linter: warn on multiple async blocks in cljs.test/deftest
, since only the first will run. - #2013: Fix NPE and similar errors when linting an import with an illegal token (@cosineblast)
- #2215: Passthrough hook should not affect linting
- #2232: Bump analysis for clojure 1.12 (partitionv, etc)
- #2223: Do not consider classes created with
deftype
a var that is referred with :refer :all
- #2236:
:line-length
warnings cannot be :clj-kondo/ignore
d - #2224: Give
#'foo/foo
and (var foo/foo)
the same treatment with respect to private calls - #2239: Fix printing of unresolved var when going through
:macroexpand
hook
- quickblog: Light-weight static blog engine for Clojure and babashka v0.3.3 - v0.3.6 released
- Fix caching in watch mode
- #86: group archive page by year
- #85: don't render discuss links when
:discuss-link
isn't set - #84: sort tags by post count
- #80: Generate an
about.html
when a template exists (@elken) - #78: Allow configurable :page-suffix to omit
.html
from page links (@anderseknert) - #76: Remove livejs script tag on render. (@jmglov)
- #75: Omit preview posts from index. (@jmglov)
- Support capitalization of tags
- #66: Unambigous ordering of posts, sorting by date (descending), post title, and then file name. (@UnwarySage)
- 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.
- Improved the eval-region extension: when you evaluate
#_(+ 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:
- #119:
fs/delete-tree
: add :force
flag to delete read-only directories/files. Set the flag to true in fs/with-temp-dir
(@jlesquembre) - #102: add
gzip
and gunzip
functions - #113:
fs/glob
: enable :hidden
(when not already set) when pattern
starts with dot (@eval). - #117: fix
fs/match
and fs/glob
not finding files in root-folder (@eval).
- cherry: Experimental ClojureScript to ES6 module compiler
- Released version 0.1.16 which catches up with the latest compiler improvements in squint and also adds the
clojure.set
namespace
- http-server: serve static assets
- Released 0.1.12 with several new features
- babashka: native, fast starting Clojure interpreter for scripting.
- Working towards a new release, planned for next month.
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
- neil: A CLI to add common aliases and features to deps.edn-based projects
- 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
- instaparse-bb
- 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
- 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
- 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