Fork me on GitHub
#leiningen
<
2019-10-04
>
metame15:10:43

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.

greglook17:10:46

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

greglook17:10:02

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"]

greglook17:10:34

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

metame19:10:21

ok great thanks for the answer Greg