Skip to content

Commit 9a276fb

Browse files
author
dnolen
committed
CLJS-1131: cljs.closure/add-dependencies needs to be more aggressively set oriented
1 parent 7a6ce7f commit 9a276fb

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/clj/cljs/closure.clj

+8-6
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ should contain the source for the given namespace name."
523523
(recur (into (rest required-files) new-req)
524524
(into visited new-req)
525525
(conj js-deps js)))
526-
(remove nil? js-deps)))))
526+
(disj js-deps nil)))))
527527

528528
(comment
529529
;; only get cljs deps
@@ -539,11 +539,13 @@ should contain the source for the given namespace name."
539539
a new sequence of IJavaScript objects which includes the input list
540540
plus all dependencies in dependency order."
541541
[opts & inputs]
542-
(let [requires (mapcat deps/-requires inputs)
543-
required-cljs (remove (set inputs) (cljs-dependencies opts requires))
544-
required-js (js-dependencies opts (set (concat (mapcat deps/-requires required-cljs) requires)))
545-
provided (mapcat deps/-provides (concat inputs required-cljs required-js))
546-
unprovided (clojure.set/difference (set requires) (set provided) #{"constants-table"})]
542+
(let [inputs (set inputs)
543+
requires (set (mapcat deps/-requires inputs))
544+
required-cljs (clojure.set/difference (cljs-dependencies opts requires) inputs)
545+
required-js (js-dependencies opts
546+
(into (set (mapcat deps/-requires required-cljs)) requires))
547+
provided (set (mapcat deps/-provides (clojure.set/union inputs required-cljs required-js)))
548+
unprovided (clojure.set/difference requires provided #{"constants-table"})]
547549
(when (seq unprovided)
548550
(ana/warning :unprovided @env/*compiler* {:unprovided (sort unprovided)}))
549551
(cons

0 commit comments

Comments
 (0)