                   (and (= *clojurescript-version* cljs-ver)
                        (= build-affecting-options (form-build-affecting-options))))))))
 
+;; Represents code for which the JS is already loaded (but for which the analysis cache may not be)
+(defn- skip-load-js?
+  [name]
+  ('#{cljs.analyzer
+      cljs.compiler
+      cljs.env
+      cljs.reader
+      cljs.source-map
+      cljs.source-map.base64
+      cljs.source-map.base64-vlq
+      cljs.stacktrace
+      cljs.tagged-literals
+      cljs.tools.reader.impl.utils
+      cljs.tools.reader.reader-types
+      clojure.set
+      clojure.string
+      cognitect.transit} name))
+
 (defn- cached-callback-data
   [name path cache-prefix source source-modified raw-load]
   (let [cache-prefix (if (= :calculate-cache-prefix cache-prefix)

(defn- skip-load?
    [{:keys [name macros]}]
    (or
      (= name 'cljs.core)
      (= name 'cljs.env)
      (and (= name 'cljs.env.macros) macros)
      (and (= name 'cljs.analyzer.macros) macros)
      (and (= name 'cljs.compiler.macros) macros)

          "for" path))
      (when (and sourcemap-json name)
        (swap! st assoc-in [:source-maps name] (transit-json->cljs sourcemap-json)))
      (when-not (skip-load-js? name)
        (js/PLANCK_EVAL js-source path))
      (merge {:lang   :js
              :source ""}
        (when cache-json
