How to Use Calva with Polylith#
Polylith is an architecture for backend projects that maximizes development ergonomics and code reuse.
When developing a Polylith application you use one REPL for everything. And as such it is a rather vanilla deps.edn
project, so there is really not much more to using Calva with Polylith than:
- Jack in, selecting the
deps.edn
project type - Select aliases, most often
:dev
and:test
- Hack away!
The RealWorld Example#
To make it easy to try Polylith out with Calva, the Polylith RealWorld example implementation has some Calva config to get the server started and Calva connected to its REPL quickly:
- Fork the project and open it in VS Code
- Jack-in, selecting the
Polylith RealWorld Server REPL
project type - Wait for the REPL prompt to read
clj꞉dev.server꞉>
- Evaluate
(start! 6003)
- Hack away!
Try it with a Frontend#
A ClojureScript frontend, of course:
- Fork the jacekschae/conduit project and open it in VS Code
- Edit the
api-url
definition inevents.cljs
file to be(def api-url "http://localhost:6003/api")
- Jack-in, selecting to start and connect to the
:app
build - Wait for it to compile and then open http://localhost:3000
- Hack away!