Skip to content

Commit 9ad6d5d

Browse files
committed
do not throw on circular dependencies between Google Closure JS libs
1 parent ef3a4ad commit 9ad6d5d

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/main/clojure/cljs/js_deps.cljc

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,16 +164,18 @@ case."
164164
([state ns-name]
165165
(dependency-order-visit state ns-name []))
166166
([state ns-name seen]
167-
(assert (not (some #{ns-name} seen))
168-
(str "Circular dependency detected, "
169-
(apply str (interpose " -> " (conj seen ns-name)))))
170-
(let [file (get state ns-name)]
171-
(if (or (:visited file) (nil? file))
172-
state
173-
(let [state (assoc-in state [ns-name :visited] true)
174-
deps (:requires file)
175-
state (reduce #(dependency-order-visit %1 %2 (conj seen ns-name)) state deps)]
176-
(assoc state :order (conj (:order state) file)))))))
167+
#_(assert (not (some #{ns-name} seen))
168+
(str "Circular dependency detected, "
169+
(apply str (interpose " -> " (conj seen ns-name)))))
170+
(if-not (some #{ns-name} seen)
171+
(let [file (get state ns-name)]
172+
(if (or (:visited file) (nil? file))
173+
state
174+
(let [state (assoc-in state [ns-name :visited] true)
175+
deps (:requires file)
176+
state (reduce #(dependency-order-visit %1 %2 (conj seen ns-name)) state deps)]
177+
(assoc state :order (conj (:order state) file)))))
178+
state)))
177179

178180
(defn- pack-string [s]
179181
(if (string? s)

0 commit comments

Comments
 (0)