Monday, November 5, 2018

Clojure: load deps.edn aliases extra-deps from Cider

Let's say this is deps.edn:
{:paths ["src" "resources"]
 :deps {com.datomic/ion {:mvn/version "0.9.26"}
        org.clojure/data.json {:mvn/version "0.2.6"}
        org.clojure/clojure {:mvn/version "1.9.0"}}
 :mvn/repos {"datomic-cloud" {:url "s3://datomic-releases-1fc2183a/maven/releases"}}
 :aliases
 {:dev {:extra-deps {com.datomic/client-cloud {:mvn/version "0.8.63"}
                     com.datomic/ion-dev {:mvn/version "0.9.176"}}}}}

Then, if we use M-x cider-jack-in from Emacs, this will not load the aliases extra-deps.
In order to do so, invoke cider-jack-in interactively:
C-u M-x cider-jack-in

Then, when the REPL command is displayed, use C-a to go to the beginning of the line and add -R:dev (see Clojure Deps and CLI Guide) in order to take into account optional dependencies.