Skip to content

Instantly share code, notes, and snippets.

@reedho
Last active June 7, 2018 13:26
Show Gist options
  • Save reedho/ed2d4cd590b3b39b00d7b0b77bd2b4fe to your computer and use it in GitHub Desktop.
Save reedho/ed2d4cd590b3b39b00d7b0b77bd2b4fe to your computer and use it in GitHub Desktop.
Basic cljs nrepl setup (June 2018) using clojure tools.deps cli
This work nicely for node repl.
Files involved, contents see below.
1. deps.edn
2. dev/nrepl_server.clj
3. dev/user.clj
Start clojure
$ clojure -A:nrepl-server
From emacs, visit the directory, then `cider-connect`, type localhost then pick port from the list.
Then, on the cider-repl (nrepl) buffer, type (cljs-node-repl).
user> (cljs-node-repl)
To quit, type: :cljs/quit
nil
cljs.user> (console.log "hello")
hello
nil
cljs.user>
Apart from the Emacs cider that is fully functional, we can also have
chrome node repl at the same time. In crome, type in address bar
chrome://inspect/#devices
There will be inspect link in the Remote Target associated with our
cljs repl. Click on the link to open the chrome console inspector.
Files:
// deps.edn
{:deps
{org.clojure/clojurescript {:mvn/version "1.10.238"}}
:aliases
{:nrepl-server
{:extra-paths ["dev"]
:extra-deps {
nrepl {:mvn/version "0.4.1"}
cider/piggieback {:mvn/version "0.3.5"}
cider/cider-nrepl {:mvn/version "0.18.0-SNAPSHOT"}
}
:main-opts ["-m" "nrepl-server"]}}
}
// nrepl_server.clj
(ns nrepl-server
(:require [cider-nrepl.main :as nrepl]))
(defn -main []
(nrepl/init ["cider.nrepl/cider-middleware"
"cider.piggieback/wrap-cljs-repl"]))
// user.clj
(ns user
(:require [cider.piggieback]
[cljs.repl.node :as node-repl]))
(defn cljs-node-repl []
(cider.piggieback/cljs-repl
(node-repl/repl-env :debug-port 9222)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment