Skip to content

Commit 1e67060

Browse files
author
dnolen
committed
remove provided check from cljs.closure/add-dependencies, seems
vestigial, was added in 2014 before deterministic build order etc. ignore :seed inputs. change REPL, now that we ignore :seed inputs no need to fabricate a :url. Process JS modules.
1 parent b17b831 commit 1e67060

2 files changed

Lines changed: 13 additions & 14 deletions

File tree

src/main/clojure/cljs/closure.clj

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,8 @@
811811
(let [url (deps/to-url (constants-filename opts))]
812812
(javascript-file nil url [(str ana/constants-ns-sym)] ["cljs.core"])))
813813

814+
;; Internally only REPLs use this. We do expose it in cljs.build.api - David
815+
814816
(defn add-dependencies
815817
"Given one or more IJavaScript objects in dependency order, produce
816818
a new sequence of IJavaScript objects which includes the input list
@@ -820,21 +822,20 @@
820822
requires (set (mapcat deps/-requires inputs))
821823
required-cljs (clojure.set/difference (cljs-dependencies opts requires) inputs)
822824
required-js (js-dependencies opts
823-
(into (set (mapcat deps/-requires required-cljs)) requires))
824-
provided (set (mapcat deps/-provides (clojure.set/union inputs required-cljs required-js)))
825-
unprovided (clojure.set/difference requires provided)]
826-
(when (seq unprovided)
827-
(ana/warning :unprovided @env/*compiler* {:unprovided (sort unprovided)}))
825+
(into (set (mapcat deps/-requires required-cljs)) requires))]
828826
(cons
829827
(javascript-file nil (io/resource "goog/base.js") ["goog"] nil)
830828
(deps/dependency-order
831829
(concat
832830
(map
833-
(fn [{:keys [foreign url file provides requires] :as js-map}]
834-
(let [url (or url (io/resource file))]
835-
(merge
836-
(javascript-file foreign url provides requires)
837-
js-map)))
831+
(fn [{:keys [type foreign url file provides requires] :as js-map}]
832+
;; ignore :seed inputs, only for REPL - David
833+
(if (not= :seed type)
834+
(let [url (or url (io/resource file))]
835+
(merge
836+
(javascript-file foreign url provides requires)
837+
js-map))
838+
js-map))
838839
required-js)
839840
(when (-> @env/*compiler* :options :emit-constants)
840841
[(constants-javascript-file opts)])

src/main/clojure/cljs/repl.cljc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,12 @@
191191
sources (binding [ana/*analyze-deps* false]
192192
(cljsc/add-dependencies
193193
(merge (env->opts repl-env) opts)
194-
{:requires [(name ns)]
195-
:type :seed
196-
:url (:uri (cljsc/source-for-namespace ns env/*compiler*))}))
197-
opts' (cljsc/handle-js-modules opts sources env/*compiler* false)
194+
{:requires [(name ns)] :type :seed}))
198195
deps (->> sources
199196
(remove (comp #{["goog"]} :provides))
200197
(remove (comp #{:seed} :type))
201198
(map #(select-keys % [:provides :url])))]
199+
(cljsc/handle-js-modules opts sources env/*compiler* false)
202200
(if (:output-dir opts)
203201
;; REPLs that read from :output-dir just need to add deps,
204202
;; environment will handle actual loading - David

0 commit comments

Comments
 (0)