I have a small (not minimal) repo here:
https://github.com/au-phiware/boot-parsets
The repo includes a es6 module and a cljs file that both depend on a node module, which produces the following error.
Writing main.cljs.edn...
Compiling ClojureScript...
• main.js
java.lang.Thread.run Thread.java: 748
java.util.concurrent.ThreadPoolExecutor$Worker.run ThreadPoolExecutor.java: 617
java.util.concurrent.ThreadPoolExecutor.runWorker ThreadPoolExecutor.java: 1142
java.util.concurrent.FutureTask.run FutureTask.java: 266
...
clojure.core/binding-conveyor-fn/fn core.clj: 2022
adzerk.boot-cljs/compile-1/fn boot_cljs.clj: 160
adzerk.boot-cljs/compile boot_cljs.clj: 72
boot.pod/call-in* pod.clj: 413
...
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 109
...
boot.pod/call-in* pod.clj: 410
boot.pod/eval-fn-call pod.clj: 359
clojure.core/apply core.clj: 657
...
adzerk.boot-cljs.impl/compile-cljs impl.clj: 151
cljs.build.api/build api.clj: 205
cljs.closure/build closure.clj: 2595
cljs.closure/handle-js-modules closure.clj: 2496
cljs.closure/process-js-modules closure.clj: 2389
cljs.closure/convert-js-modules closure.clj: 1680
com.google.javascript.jscomp.Compiler.parse Compiler.java: 995
com.google.javascript.jscomp.Compiler.parseInputs Compiler.java: 1731
com.google.javascript.jscomp.deps.ModuleLoader.<init> ModuleLoader.java: 92
com.google.javascript.jscomp.deps.ModuleLoader.resolvePaths ModuleLoader.java: 276
java.lang.IllegalArgumentException: Duplicate module path after resolving: /home/corin/Projects/Demos/boot-parsets/node_modules/d3/d3.js
clojure.lang.ExceptionInfo: Duplicate module path after resolving: /home/corin/Projects/Demos/boot-parsets/node_modules/d3/d3.js
from: :boot-cljs
clojure.lang.ExceptionInfo: Duplicate module path after resolving: /home/corin/Projects/Demos/boot-parsets/node_modules/d3/d3.js
line: 33
Run `boot cljs` to reproduce the issue.
The patch attach removes duplicates from the set of input source files before they are preprocessed. With this patch the repo compiles correctly.