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.10.0-master-SNAPSHOT:1.10-- Clojure 1.10-RC1:1.9-- Clojure 1.9.0- ... back to
:1.2
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 0.2.9 release of Eastwood on yoursrcandtestfolders; use with:testabove:expect-- pulls in the latest stable release of Expectations:bench-- pulls in the latest stable release of Criterium for benchmarking your code:measure-- pulls in the latest stable release of Memory Meter
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 port 60606; some tooling may not yet be compatible with the standalone nREPL library: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
An alias to pull in my template creation tool:
:new-- pulls in and runs clj-new to create new projects from (Leiningen and other) templates
An alias to build uberjar files:
:depstar-- pulls in and runs depstar to create an uberjar;clj -A:depstar MyProject.jar;java -cp MyProject.jar clojure.main -m project.core
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