Closed mfikes closed 9 years ago
I think for now, maintaining a set of path names already require
d and skipping if already processed would take care of this. Quick reading of Node.js require
semantics appears to involve similar logic (along with a require.cache
that can be manipulated by user code to invalidate cached entries.)
Guarding against reload results in:
2015-02-04 12:23:12.091 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/base.js
2015-02-04 12:23:12.101 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/deps.js
2015-02-04 12:23:12.130 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/ambly_repl_deps.js
2015-02-04 12:23:12.145 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/../cljs/core.js
2015-02-04 12:23:12.180 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/string/stringbuffer.js
2015-02-04 12:23:12.180 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/array/array.js
2015-02-04 12:23:12.181 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/asserts/asserts.js
2015-02-04 12:23:12.182 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/debug/error.js
2015-02-04 12:23:12.182 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/dom/nodetype.js
2015-02-04 12:23:12.182 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/string/string.js
2015-02-04 12:23:12.184 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/object/object.js
2015-02-04 12:23:12.285 Ambly Demo[3422:89726] Loading /Users/mfikes/Documents/Projects/ambly/Clojure/out/goog/../cljs/repl.js
Logging the set of
require
calls when firing up the REPL shows that some JavaScript files are being required multiple times (seecljs/core.js
andgoog/string/string.js
repeated for example):