integrant

2018-05-03T22:14:54.000347Z

For what it’s worth adding this line to your project.clj has usually fixed these sort of issues for me: https://github.com/technomancy/leiningen/blob/stable/sample.project.clj#L308 cc @weavejester

2018-05-03T22:15:23.000296Z

I’ve never understood why leiningen doesn’t do this by default.

2018-05-03T22:22:04.000456Z

Just to mention that duct has a thin layer ontop of integrant that supports this sort of thing through :duct/include Basically you have multiple integrant maps in separate edn files that get meta-merged together in order. e.g. you can do something like:

;; dev.edn
{:duct/include ["main.edn"]
 :service.dev/monitoring {:dev :version}
}

;; main.edn

{
:service.prod/monitoring {:prod :version}

 :the/service {:monitoring #ig/ref :service/monitoring}
}
(assuming both dev/prod versions derive from the :service/monitoring) Or you can easily wire something like this up yourself.

2018-05-03T22:37:17.000383Z

The reason Duct doesn’t do that by default is because that doesn’t play well with in-process compilers.