A re-frame application designed to ... well, that part is up to you.
Put this in your Emacs config file:
(setq cider-cljs-lein-repl
"(do (require 'figwheel-sidecar.repl-api)
(figwheel-sidecar.repl-api/start-figwheel!)
(figwheel-sidecar.repl-api/cljs-repl))")
Navigate to a clojurescript file and start a figwheel REPL with cider-jack-in-clojurescript
or (C-c M-J
)
Compile css file once.
lein garden once
Automatically recompile css file on change.
lein garden auto
lein clean
lein figwheel dev
Figwheel will automatically push cljs changes to the browser.
Wait a bit, then browse to http://localhost:3449.
Install karma and headless chrome
npm install -g karma-cli
npm install karma karma-cljs-test karma-chrome-launcher --save-dev
And then run your tests
lein clean
lein doo chrome-headless test once
Please note that doo can be configured to run cljs.test in many JS environments (phantom, chrome, ie, safari, opera, slimer, node, rhino, or nashorn).
lein clean
lein with-profile prod uberjar
That should compile the clojurescript code first, and then create the standalone jar.
When you run the jar you can set the port the ring server will use by setting the environment variable PORT. If it's not set, it will run on port 3000 by default.
To deploy to heroku, first create your app:
heroku create
Then deploy the application:
git push heroku master
To compile clojurescript to javascript:
lein clean
lein cljsbuild once min