You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Clojure library that implements the user functions of Stuart Sierra's
reloaded workflow for Integrant.
It's very similar to reloaded.repl, except that it works for
Integrant, rather than Component.
Installation
Add the following dependency to your deps.edn file under a suitable
alias:
integrant/repl {:mvn/version "0.4.0"}
Or to your Leiningen project file under the dev profile:
[integrant/repl "0.4.0"]
Usage
Require the integrant.repl namespace in your user.clj file, and use
the set-prep! function to define a zero-argument function that returns
a prepared Integrant configuration.
The configuration is stored in integrant.repl.state/config. To
initiate the configuration, use:
user=> (init)
:initiated
This will turn the configuration into a running system, which is
stored in integrant.repl.state/system.
Because these two steps are common, we can instead use:
user=> (go)
:initiated
This performs the (prep) and (init) steps together. Once the
system is running, we can stop it at any time:
user=> (halt)
:halted
If we want to reload our source files and restart the system, we can
use:
user=> (reset)
:reloading (...)
:resumed
Behind the scenes, Integrant-REPL uses tools.namespace. You can
set the directories that are monitored for changed files by using the
refresh-dirs function: