|
1032 | 1032 | (emit-wrap env (emits target " = " val))) |
1033 | 1033 |
|
1034 | 1034 | (defn load-libs |
1035 | | - [libs seen reloads] |
| 1035 | + [libs seen reloads deps] |
1036 | 1036 | (let [loaded-libs (munge 'cljs.core.*loaded-libs*) |
1037 | 1037 | loaded-libs-temp (munge (gensym 'cljs.core.*loaded-libs*))] |
1038 | 1038 | (when (-> libs meta :reload-all) |
1039 | 1039 | (emitln "if(!COMPILED) " loaded-libs-temp " = " loaded-libs " || cljs.core.set();") |
1040 | 1040 | (emitln "if(!COMPILED) " loaded-libs " = cljs.core.set();")) |
1041 | | - (doseq [lib (remove (set (vals seen)) (distinct (vals libs)))] |
| 1041 | + (doseq [lib (remove (set (vals seen)) (filter #(get libs %) deps))] |
1042 | 1042 | (cond |
1043 | 1043 | #?@(:clj |
1044 | 1044 | [(ana/foreign-dep? lib) |
|
1068 | 1068 | (emitln "if(!COMPILED) " loaded-libs " = cljs.core.into(" loaded-libs-temp ", " loaded-libs ");")))) |
1069 | 1069 |
|
1070 | 1070 | (defmethod emit* :ns* |
1071 | | - [{:keys [name requires uses require-macros reloads env]}] |
1072 | | - (load-libs requires nil (:require reloads)) |
1073 | | - (load-libs uses requires (:use reloads))) |
| 1071 | + [{:keys [name requires uses require-macros reloads env deps]}] |
| 1072 | + (load-libs requires nil (:require reloads) deps) |
| 1073 | + (load-libs uses requires (:use reloads) deps)) |
1074 | 1074 |
|
1075 | 1075 | (defmethod emit* :ns |
1076 | | - [{:keys [name requires uses require-macros reloads env]}] |
| 1076 | + [{:keys [name requires uses require-macros reloads env deps]}] |
1077 | 1077 | (emitln "goog.provide('" (munge name) "');") |
1078 | 1078 | (when-not (= name 'cljs.core) |
1079 | 1079 | (emitln "goog.require('cljs.core');") |
1080 | 1080 | (when (-> @env/*compiler* :options :emit-constants) |
1081 | 1081 | (emitln "goog.require('" (munge ana/constants-ns-sym) "');"))) |
1082 | | - (load-libs requires nil (:require reloads)) |
1083 | | - (load-libs uses requires (:use reloads))) |
| 1082 | + (load-libs requires nil (:require reloads) deps) |
| 1083 | + (load-libs uses requires (:use reloads) deps)) |
1084 | 1084 |
|
1085 | 1085 | (defmethod emit* :deftype* |
1086 | 1086 | [{:keys [t fields pmasks body protocols]}] |
|
0 commit comments