Skip to content

Commit 57c8a75

Browse files
author
dnolen
committed
add :preloads to the list of compiler options
1 parent c27cb99 commit 57c8a75

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/clojure/cljs/closure.clj

+7-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@
169169
:optimize-constants :output-dir :output-to :output-wrapper :parallel-build :preamble
170170
:pretty-print :print-input-delimiter :pseudo-names :recompile-dependents :source-map
171171
:source-map-inline :source-map-timestamp :static-fns :target :verbose :warnings
172-
:emit-constants :ups-externs :ups-foreign-libs :ups-libs :warning-handlers})
172+
:emit-constants :ups-externs :ups-foreign-libs :ups-libs :warning-handlers :preloads})
173173

174174
(def string->charset
175175
{"iso-8859-1" StandardCharsets/ISO_8859_1
@@ -1362,6 +1362,11 @@
13621362

13631363
(declare foreign-deps-str add-header add-source-map-link)
13641364

1365+
(defn preloads [syms]
1366+
(letfn [(preload-str [sym]
1367+
(str "document.write('<script>goog.require(\"" (comp/munge sym) "\");</script>');\n"))]
1368+
(map preload-str syms)))
1369+
13651370
(defn output-main-file [opts]
13661371
(let [asset-path (or (:asset-path opts)
13671372
(util/output-directory opts))
@@ -1385,6 +1390,7 @@
13851390
"if(typeof goog == \"undefined\") document.write('<script src=\"" asset-path "/goog/base.js\"></script>');\n"
13861391
"document.write('<script src=\"" asset-path "/cljs_deps.js\"></script>');\n"
13871392
"document.write('<script>if (typeof goog == \"undefined\") console.warn(\"ClojureScript could not load :main, did you forget to specify :asset-path?\");</script>');\n"
1393+
(apply str (preloads (:preloads opts)))
13881394
"document.write('<script>goog.require(\"" (comp/munge (:main opts))"\");</script>');\n")))))
13891395

13901396
(defn output-modules

0 commit comments

Comments
 (0)