Skip to content
Radford Smith edited this page Aug 3, 2022 · 53 revisions

This is a page to collect tools that use or work with tools.deps.alpha (or the clojure tools).

User-level configuration for Clojure tools

Project creation

  • deps-new - generate new project templates using just the clj command-line tool
  • neil - Run deps-new with no JVM startup time using neil new
  • clj-template - Clone this template project and start writing code. Includes both Deps/CLI (+ Kaocha) and Leiningen (+ lein-test-refresh)

Lint tool integration

  • clj-check - lein check alternative for Clojure CLI
  • cljfmt-runner — run cljfmt to find and/or fix code formatting issues

Build tool integration

  • lein-tools-deps - plugin to use deps.edn dependencies from Leiningen
  • shadow-cljs - ClojureScript compilation
  • depify - creates or updates a deps.edn file for existing Leiningen projects
  • meyvn - a tools.deps interface to Maven for building, packaging etc
  • less4clj - Less compiler for Clojure using Less4j
  • sass4clj - SASS compiler for Clojure using Libsass Java wrapper

Packaging

  • tools.build - the official toolkit for building JARs, copying files/directories, AOT compilation, Java compilation, etc
  • build-clj - a wrapper for tools.build that reduces boilerplate code

Community Packaging Tools

  • clj.native-image - Generate GraalVM native images with Clojure CLI and deps.edn
  • badigeon - Clojure build library using tools.deps
  • Pack - Clojure project packager using tools.deps
  • revolt - trampoline to building/packaging tasks, generates highly configurable capsules
  • cambada - a packager for Clojure supporting jar, uberjar and GraalVM's native-image
  • uberdeps - Uberjar builder for deps.edn projects
  • vulcan - Tool to simplify workflow with Git-based Clojure dependencies using clojure.tools.deps
  • jibbit - Build Clojure app into Container Image using jib (docker-less build)

Continuous Integration

Templating

  • clj-art - Ash Ra Template expressive & customizable template system featuring Clojure language processing

Versioning and Releasing

  • Metav - Deduce version from git state and release Clojure project based on tools.deps (check clean state of repo, bump version, tag, push)
  • garamond - post-processes generated pom.xml files with version numbers from git tags

Testing

Deps management

  • antq - Point out your outdated dependencies.
  • Depot - Find newer versions of your deps
  • find-deps - Find and add deps using the Clojars and Maven search APIs
  • deps-ancient - tells you if your deps.edn contains outdated deps
  • tools.deps.graph - create dependency graphs for your deps.edn
  • deps-try - quickly try out dependencies on rebel-readline
  • vizns - visualize the relationships between namespaces and dependencies
  • morpheus - visualize dependency graphs of variables
  • neil - A CLI to add common aliases and features to deps.edn-based projects.

Runtimes

  • Planck - self-hosted ClojureScript REPL with plk analog of clj
  • ohmyclj - dev/test/run standalone Clojure scripts with ease
  • deps.clj - a port of the clojure bash script to Clojure

Deployment

  • Datomic Ions - deploy Clojure code to an autoscalable Datomic cluster in AWS
  • deps-deploy - A Clojure library to deploy your stuff to clojars
  • s3-mvn-upload - Deploy a JAR file to a S3 Maven repository

Calling lein from clj

Configuration and Environment Variables

  • clj-config - A Clojure library for managing configuration and environment variables

Migrations

  • clj-migratus - A command line tool for managing migrations with Migratus

Security

  • clj-watson - A command line tool for scanning dependencies for vulnerabilities.