This is my .clojure/deps.edn file providing useful clj aliases drawn from a variety of projects.
There are aliases to pull in specific versions of Clojure:
:master-- Clojure 1.11.0-master-SNAPSHOT:1.10.1-- Clojure 1.10.1:1.10-- Clojure 1.10.0:1.9-- Clojure 1.9.0- ... back to
:1.0(note::1.5is actually Clojure 1.5.1 to avoid a bug in Clojure 1.5.0)
There are aliases to pull in various useful testing and debugging tools:
:test-- adds bothtestandsrc/test/clojureto your classpath and pulls in the latest stable version oftest.check:runner-- pulls in Cognitect Labs'test-runnerproject and runs any tests it can find:eastwood-- pulls in the latest stable release of Eastwood on yoursrcandtestfolders; use with:testabove:expect-- pulls in the latest stable releases of Expectations and expectations/clojure-test -- the latter is theclojure.test-compatible version of the former:bench-- pulls in the latest stable release of Criterium for benchmarking your code:measure-- pulls in the latest stable release of Memory Meter:outdated-- pulls in and runs version 1.8.4 of Depot and reports on outdated dependencies
There are aliases to pull in and start various REPL-related tools:
:nrepl-- pulls in the latest stable release of nREPL and starts an nREPL server on a random available port:nrepl/old-- pulls in the latest stable release of org.clojure/tools.nrepl and starts an nREPL server on port 60606; this is provided to support legacy tooling:socket-- starts a Socket REPL on port 50505; can be combined with other aliases since this is just a JVM option:prepl-- starts a Socket pREPL on port 40404; can be combined with other aliases since this is just a JVM option; requires a recent Clojure 1.10 build!:proto-- adds the latest stable release of the protorepl library for Atom/ProtoREPL usage (with:nreplor:nrepl/old):rebel-- starts a Rebel Readline REPL:reflect-- adds (my fork of) Stuart Halloway's reflector utility (best used with REBL):rebl-8-- starts Cognitect's REBL (if you have it installed); compatible with OracleJDK 8 and Azul Zulu OpenJDK 8 (both of which include JavaFX); also:rebl-8-winfor Windows:rebl-11-- starts Cognitect's REBL (if you have it installed); compatible with OpenJDK 11 (JavaFX is added as a separate set of dependencies); also:rebl-11-winfor Windows:comp-- adds the latest stable release of compliment; useful with a Socket REPL for Unravel or Chlorine for Atom
An alias for the Liquid Clojure editor:
:liquid-- pulls in and runs the latest stable release of Liquid
For the add-lib function (clojure.tools.deps.alpha.repl/add-lib):
:deps-- pulls in a branch of org.clojure/tools.deps.alpha; see the exampleload-masterfunction in the comments in mydeps.edn
For Spec 2:
:spec2-- pulls in org.clojure/spec-alpha2 via GitHub
An alias to pull in my template creation tool:
:new-- pulls in and runs the latest stable release of clj-new to create new projects from (Leiningen and other) templates
An alias to build uberjar files:
:uberjar-- pulls in and runs the latest stable release of my fork of depstar to create an uberjar;clj -A:uberjar MyProject.jar;java -cp MyProject.jar clojure.main -m project.core:jar-- pulls in and runs the latest stable release of my fork of depstar to create a "thin" JAR;clj -A:jar MyProject.jar; along with apom.xml(created viaclj -Spom), this can be deployed to Clojars etc (viamvn deploy:deploy-file ...)
And finally, a gnarly little macro, inspired by Ruby's -pne command line option
that lets you process lines of standard input:
:pne--cat file-of-numbers.txt | clj -Mpne -e '($ (-> $_ Long/parseLong inc))';$reads stdin and evaluates the expression repeatedly with$_bound to each line, printing the results to stdout