|
1328 | 1328 | :relpaths {(util/path src)
|
1329 | 1329 | (util/ns->relpath (first (:provides opts)) (:ext opts))}})))))
|
1330 | 1330 |
|
1331 |
| -(defn module-for-entry [entry modules] |
1332 |
| - (->> modules |
1333 |
| - (filter |
1334 |
| - (fn [[module-name {:keys [entries]}]] |
1335 |
| - (some #{(-> entry munge str)} |
1336 |
| - (map #(-> % munge str) entries)))) |
1337 |
| - ffirst)) |
1338 |
| - |
1339 | 1331 | #?(:clj
|
1340 | 1332 | (defn emit-source [src dest ext opts]
|
1341 | 1333 | (with-open [out ^java.io.Writer (io/make-writer dest {})]
|
|
1387 | 1379 | :name ns-name}))
|
1388 | 1380 | (emit ast)
|
1389 | 1381 | (recur (rest forms) ns-name deps))))
|
1390 |
| - (do |
1391 |
| - (when-let [module (and (contains? (set (vals deps)) 'cljs.loader) |
1392 |
| - (module-for-entry ns-name (:modules opts)))] |
1393 |
| - (emit |
1394 |
| - (ana/analyze env `(cljs.loader/set-loaded! ~module) |
1395 |
| - nil opts))) |
1396 |
| - (let [sm-data (when *source-map-data* @*source-map-data*) |
1397 |
| - ret (merge |
1398 |
| - {:ns (or ns-name 'cljs.user) |
1399 |
| - :macros-ns (:macros-ns opts) |
1400 |
| - :provides [ns-name] |
1401 |
| - :requires (if (= ns-name 'cljs.core) |
1402 |
| - (set (vals deps)) |
1403 |
| - (cond-> (conj (set (vals deps)) 'cljs.core) |
1404 |
| - (get-in @env/*compiler* [:options :emit-constants]) |
1405 |
| - (conj ana/constants-ns-sym))) |
1406 |
| - :file dest |
1407 |
| - :out-file dest |
1408 |
| - :source-file src} |
1409 |
| - (when sm-data |
1410 |
| - {:source-map (:source-map sm-data)}))] |
1411 |
| - (when (and sm-data (= :none (:optimizations opts))) |
1412 |
| - (emit-source-map src dest sm-data |
1413 |
| - (merge opts {:ext ext :provides [ns-name]}))) |
1414 |
| - (let [path (.getPath (.toURL ^File dest))] |
1415 |
| - (swap! env/*compiler* assoc-in [::compiled-cljs path] ret)) |
1416 |
| - (let [{:keys [output-dir cache-analysis]} opts] |
1417 |
| - (when (and (true? cache-analysis) output-dir) |
1418 |
| - (ana/write-analysis-cache ns-name |
1419 |
| - (ana/cache-file src (ana/parse-ns src) output-dir :write) |
1420 |
| - src)) |
1421 |
| - ret))))))))))) |
| 1382 | + (let [sm-data (when *source-map-data* @*source-map-data*) |
| 1383 | + ret (merge |
| 1384 | + {:ns (or ns-name 'cljs.user) |
| 1385 | + :macros-ns (:macros-ns opts) |
| 1386 | + :provides [ns-name] |
| 1387 | + :requires (if (= ns-name 'cljs.core) |
| 1388 | + (set (vals deps)) |
| 1389 | + (cond-> (conj (set (vals deps)) 'cljs.core) |
| 1390 | + (get-in @env/*compiler* [:options :emit-constants]) |
| 1391 | + (conj ana/constants-ns-sym))) |
| 1392 | + :file dest |
| 1393 | + :out-file dest |
| 1394 | + :source-file src} |
| 1395 | + (when sm-data |
| 1396 | + {:source-map (:source-map sm-data)}))] |
| 1397 | + (when (and sm-data (= :none (:optimizations opts))) |
| 1398 | + (emit-source-map src dest sm-data |
| 1399 | + (merge opts {:ext ext :provides [ns-name]}))) |
| 1400 | + (let [path (.getPath (.toURL ^File dest))] |
| 1401 | + (swap! env/*compiler* assoc-in [::compiled-cljs path] ret)) |
| 1402 | + (let [{:keys [output-dir cache-analysis]} opts] |
| 1403 | + (when (and (true? cache-analysis) output-dir) |
| 1404 | + (ana/write-analysis-cache ns-name |
| 1405 | + (ana/cache-file src (ana/parse-ns src) output-dir :write) |
| 1406 | + src)) |
| 1407 | + ret)))))))))) |
1422 | 1408 |
|
1423 | 1409 | #?(:clj
|
1424 | 1410 | (defn compile-file*
|
|
0 commit comments