Liking cljdoc? Tell your friends :D

rewrite-clj

cljdoc Unit Tests Libs Test Native Image Tests Code Coverage Join chat Clojars project

A library that reads and writes Clojure, ClojureScript and EDN from Clojure and ClojureScript in a whitespace and comment preserving way.

Status

Warning: v1 Alpha Release

Our first rewrite-clj v1 alpha release was in March of 2021.
Since then we have seen wide and successful adoption of rewrite-clj v1 with no show-stoppers.
I would drop the alpha status but have not yet seen the following features get a good shake yet in the wild:

  1. zippers with :track-position? enabled

  2. zippers using :auto-resolve support

  3. paredit API

Used In…​

Some projects using rewrite-clj v1

  • ancient-clj 🐥 - Version Metadata Retrieval for Maven Artifacts

  • antq 🐥 - Point out your outdated dependencies

  • babashka 📍 - Native, fast starting Clojure interpreter for scripting

  • carve 🐥 - Carve out the essentials of your Clojure app

  • clerk 🐥 - Local-First Notebooks for Clojure

  • cljfmt 🐥 - A tool for formatting Clojure code

  • cljstyle 🐥 - A tool for formatting Clojure code

  • clojure-lsp 🐥 - Language Server (LSP) for Clojure

  • kusonga 🐥 - Renaming and moving namespaces in Clojure(script)

  • refactor-nrepl 🐥 - nREPL middleware to support refactorings in an editor agnostic way

  • rewrite-edn 🐥 - Utility lib on top of rewrite-clj with common operations to update EDN while preserving whitespace and comments

  • test-doc-blocks 🐥 - Test AsciiDoc and CommonMark code blocks found in articles and docstrings

  • umschreiben-clj 🐥 - Rewrite utilities for refactoring clojure files

  • zprint 🐥 - Executables, uberjar, and library to beautifully format Clojure and Clojurescript source code and s-expressions

Some projects using rewrite-clj v0 and/or rewrite-cljs

  • depot 🐥 🩹 - Find newer versions of your dependencies in your deps.edn file

  • kibit 🐥 - There’s a function for that!

  • lein-ancient 🐥 - Check your Projects for outdated Dependencies

  • mranderson 🐥 - Dependency inlining and shadowing

  • mutant 🐥 - Mutation testing for Clojure

  • repl-tooling 📍 - a base package for Clojure’s editor tooling

  • update-leiningen-dependencies-skill 📍 - Track project.clj dependencies across different projects

Have an update? Let us know!

🐥 canary tested against rewrite-clj v1 lib test suite
🩹 source required minor change to work with rewrite-clj v1
📍 no easy-peasy way to run automated unit tests found for this project

Versioning

Rewrite-clj versioning scheme is: major.minor.patch-test-qualifier

  • major increments when a non alpha release API has been broken - something, as a rule, we’d like to avoid.

  • minor increments to convey significant new features have been added.

  • patch indicates bug fixes - it is the total number of commits in the repo.

  • test-qualifier is absent for stable releases. Can be alpha, beta, rc1, etc.

Licences

We honor the original MIT license from rewrite-clj v0.

Code has been merged/adapted from:

Can you improve this documentation? These fine people already did:
lread & Lee Read
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close