jolt/docs/libraries.md
2026-06-25 06:37:27 -04:00

3.1 KiB

Clojure libraries known to work with Jolt

Libraries confirmed to load and pass their conformance checks on Jolt. A library listed here works; some need JOLT_FEATURES including clj (noted below). See the examples, e.g. the ring-app example.

  • aero — EDN configuration with tag literals (#ref/#env/#or/#profile/#long/…)
  • config — environment configuration
  • Selmer — Django-style templates
  • medley — collection utilities
  • cuerdas — string manipulation
  • ring-core — via :deps/root "ring-core", on the ring-app example
  • ring-codec — URL/form encoding
  • ring-defaults — the standard middleware stack (params, static resources + content-type, session, security headers); its session/CSRF crypto comes from jolt-lang/jolt-crypto (OpenSSL)
  • reitit-core — data-driven routing; the reitit.Trie Java class is mirrored by jolt-lang/router. JOLT_FEATURES clj.
  • integrant — data-driven system configuration (#ig/ref), with its dependency and meta-merge deps
  • honeysql — SQL formatter and helpers
  • clojure.jdbc — as jolt-lang/db's jdbc.core, over the built-in SQLite access (libsqlite3 via Chez's FFI)
  • next.jdbc — a compatibility layer in jolt-lang/db over jdbc.core
  • tools.logging — runs verbatim over a native clojure.tools.logging.impl stderr backend
  • migratus — database migrations over the next.jdbc layer
  • malli — data schema validation, on the malli-app example. JOLT_FEATURES clj.
  • markdown-clj — Markdown → HTML, on the markdown-app example
  • hiccup — HTML from Clojure data, on the hiccup-app example
  • clojure.data.json — JSON reading and writing
  • clojure.spec.alpha — data specs
  • core.match — pattern matching. JOLT_FEATURES clj.
  • tick — date/time over Jolt's java.time; #time/… literals via time-literals. JOLT_FEATURES clj.
  • transit-jolt — Transit (JSON) read/write