Fast start for a Clojure + Pedestal + Vase + Fern project
Fork this to your project, then fire up a Codespace to get started.
You'll probably want to change "dawn" to your project's name. Be sure to make
the same change in deps.edn
, shadow-cljs.edn
and the various folder names.
These instructions are for a codespace using VS Code (either in a browser or running locally with a remote connection).
To get a Clojure REPL:
- Configure your .m2/settings.xml for access to download Datomic. (See below for instructions.)
- Click the nREPL badge in the status bar
- Select the "jack in" option
- For project type, select "Clojure CLI"
- Use the
:dev
alias
To get a CLJS REPL:
- Click the nREPL badge in the status bar.
- Select the "jack in" option
- For project type, select "shadow-cljs"
- Use
:app
for the build to start
Shadow-cljs will run an HTTP server at http://localhost:8020. To access this port, select the "Remote Explorer" tool from the left-hand navigation in your VS Code window. Under "Codespace Details" you will see "Forwarded Ports". Click "Port: 8020" to open a new tab connected to the shadow-cljs server.
To change this port number, modify forwardPorts
in
.devcontainer/devcontainer.json
and the value at [:builds :app :dev-tools]
in shadow-cljs.edn
. After making this change, you must commit it, push it to
your fork of Dawn, and start a new codespace.
- :dev - Start a friendly REPL
- :test - Run all tests
- :app - Build the main application,
Vase depends on Datomic. You will need to set up ~/.clojure/deps.edn
and ~/.m2/settings.xml
according
to the instructions at my.datomic.com in order to
fetch the Datomic Pro jar file from repo.datomic.com
.
Codespaces users will want to look at setting up personal dotfiles to make that easier.
If you do not want to use Datomic, remove both com.cognitect/vase
and
com.datomic/datomic-pro
from deps.edn.