This is a sample project making use of defunkt/revolt library.
All the magic happens in deps.edn which contains a few dev aliases with extra-dependencies required by certain plugins.
:dev- general development dependencies (revolt as dependency goes here):dev/nrepl- nrepl and cider-related dependencies.:dev/cljs- clojurescript related dependencies along with all clojurescript libs used in project.:dev/pack- packaging dependencies (capsule).
Now, depending on needs some or all of theses aliases may be used by clj tool with -A parameter.
Here are some examples:
clj -A:dev:dev/nrepl -p nreplclj -A:dev:dev/cljs -p rebel -t cleanclj -A:dev:dev/nrepl:dev/cljs -p watch,nrepl,figwheel,rebel -t clean,sass,testclj -A:dev:dev/cljs -t codox:name=foo:version=1.2.2clj -A:dev:dev/cljs -t info,codoxbuild a fat, aot-ed capsule - aka "all deps included" (run clean, info, sass, cljs aot and capsule tasks)
clj -A:dev:dev/cljs:dev/pack -t clean,info,aot,sass,cljs:compiler.optimizations=advanced,assets,capsuleclj -A:dev:dev/cljs:dev/pack -t clean,info,sass,cljs:compiler.optimizations=advanced,assets,capsule:capsule-type=thin