leiningen

N.B. The maintainers are on #leiningen on Libera chat IRC. Go there for direct support/bug reports.
metame 2019-10-04T15:32:43.055500Z

Getting some interesting behavior from lein-monolith where we're getting: WARNING: It appears your project does not contain a ClojureScript dependency. One will be provided for you by lein-cljsbuild, but it is strongly recommended that you add your own. for clj projects. There are shared cljc dependencies between clj and cljs projects.

greglook 2019-10-04T17:27:46.056600Z

You could add it to your :provided dependencies if you don’t want it polluting your downstream consumers

greglook 2019-10-04T17:29:02.057200Z

we use this uh… fairly gnarly alias in the metaproject to automate some test setup for our cljs-compatible projects:

;; Run this in a project with cljs-compatible unit tests to run the tests on headless chrome
   "test-cljs" ["update-in" ":dependencies" "conj"
                "[org.clojure/clojurescript \"1.10.312\"]"
                "[com.google.guava/guava \"23.0\"]"
                "[com.google.protobuf/protobuf-java \"3.3.0\"]"
                "[olical/cljs-test-runner \"3.5.0\" :exclusions [[org.clojure/clojurescript] [com.google.guava/guava] [com.google.protobuf/protobuf-java]]]"
                "--"
                "update-in" ":source-paths" "conj" "\"cljs-test-runner-out/gen\""
                "--"
                "do"
                ["shell" "bash" "-c" "mkdir -p cljs-test-runner-out/gen"]
                "run" "-m" "cljs-test-runner.main" "-c" "{:optimizations :advanced}"  "-x" "chrome-headless"]

greglook 2019-10-04T17:29:34.057900Z

you probably don’t need the guava and protobuf stuff, depending on what other deps your projects pull in - those are there to avoid otherwise-conflicting dependencies

metame 2019-10-04T19:13:21.058200Z

ok great thanks for the answer Greg