Skip to content

Commit 56611b5

Browse files
roman01ladnolen
authored and
dnolen
committed
CLJS-1621: Foreign libs modules of different type doesn't compile together
These changes allows to include JavaScript modules with dependencies of different module type (AMD, CommonJS and ES6) into Closure Compiler compilation step.
1 parent c1f45ff commit 56611b5

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/clojure/cljs/closure.clj

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,9 +1496,12 @@
14961496
(CompilerInput.))]
14971497
(.getAstRoot input closure-compiler)))
14981498

1499-
(defn get-source-files [module-type opts]
1499+
(defn get-source-files [opts]
15001500
(->> (:foreign-libs opts)
1501-
(filter #(= (:module-type %) module-type))
1501+
(filter #(let [module-type (:module-type %)]
1502+
(or (= module-type :amd)
1503+
(= module-type :commonjs)
1504+
(= module-type :es6))))
15021505
(map (fn [lib]
15031506
(let [lib (deps/load-foreign-library lib)]
15041507
(js-source-file (:file lib) (deps/-source lib)))))))
@@ -1524,7 +1527,7 @@
15241527
(defmethod convert-js-module :commonjs [ijs opts]
15251528
(let [{:keys [file module-type]} ijs
15261529
^List externs '()
1527-
^List source-files (get-source-files module-type opts)
1530+
^List source-files (get-source-files opts)
15281531
^CompilerOptions options (make-convert-js-module-options opts)
15291532
closure-compiler (doto (make-closure-compiler)
15301533
(.init externs source-files options))
@@ -1542,9 +1545,9 @@
15421545

15431546
(util/compile-if can-convert-es6?
15441547
(defmethod convert-js-module :es6 [ijs opts]
1545-
(let [{:keys [file module-type]} ijs
1548+
(let [{:keys [file]} ijs
15461549
^List externs '()
1547-
^List source-files (get-source-files module-type opts)
1550+
^List source-files (get-source-files opts)
15481551
^CompilerOptions options (doto (make-convert-js-module-options opts)
15491552
(.setLanguageIn CompilerOptions$LanguageMode/ECMASCRIPT6)
15501553
(.setLanguageOut CompilerOptions$LanguageMode/ECMASCRIPT5))

0 commit comments

Comments
 (0)