diff --git a/libs/deps-template/resources/io/github/kit_clj/kit/gitignore b/libs/deps-template/resources/io/github/kit_clj/kit/gitignore index ec15fe6..573ce5c 100644 --- a/libs/deps-template/resources/io/github/kit_clj/kit/gitignore +++ b/libs/deps-template/resources/io/github/kit_clj/kit/gitignore @@ -18,3 +18,4 @@ modules/ .clj-kondo/.cache/ .calva/output-window/ .lsp/.cache/ +resources/public/js/ diff --git a/libs/kit-generator/test/resources/modules/kit/cljs/assets/build.clj b/libs/kit-generator/test/resources/modules/kit/cljs/assets/build.clj index 9570b17..5471781 100644 --- a/libs/kit-generator/test/resources/modules/kit/cljs/assets/build.clj +++ b/libs/kit-generator/test/resources/modules/kit/cljs/assets/build.clj @@ -2,6 +2,7 @@ (:require [clojure.tools.build.api :as b] [clojure.string :as string] [clojure.java.shell :refer [sh]] + [babashka.fs :refer [copy-tree]] [deps-deploy.deps-deploy :as deploy] [kit.generator.io :as io])) @@ -29,10 +30,12 @@ :target-dir class-dir})) (defn build-cljs [_] - (println "npx shadow-cljs release app...") - (let [{:keys [exit] :as s} (sh "npx" "shadow-cljs" "release" "app")] + (println "npx shadow-cljs release app-prod...") + (let [{:keys [exit] :as s} (sh "npx" "shadow-cljs" "release" "app-prod")] (when-not (zero? exit) - (throw (ex-info "could not compile cljs" s))))) + (throw (ex-info "could not compile cljs" s))) + (b/delete {:path "target/classes/public/js"}) + (copy-tree "target/classes/cljsbuild/public" "target/classes/public"))) (defn uber [_] (b/compile-clj {:basis basis diff --git a/libs/kit-generator/test/resources/modules/kit/cljs/assets/shadow-cljs.edn b/libs/kit-generator/test/resources/modules/kit/cljs/assets/shadow-cljs.edn index 483186b..0326520 100644 --- a/libs/kit-generator/test/resources/modules/kit/cljs/assets/shadow-cljs.edn +++ b/libs/kit-generator/test/resources/modules/kit/cljs/assets/shadow-cljs.edn @@ -5,7 +5,11 @@ [reagent "2.0.1"] [cljs-ajax "0.8.4"]] :builds {:app {:target :browser - :output-dir "target/classes/cljsbuild/public/js" + :output-dir "resources/public/js" :asset-path "/js" :modules {:app {:entries [<>.core]}} - :devtools {:after-load <>.core/mount-root}}}} + :devtools {:after-load <>.core/mount-root}} + :app-prod {:target :browser + :output-dir "target/classes/cljsbuild/public/js" + :asset-path "/js" + :modules {:app {:entries [<>.core]}}}}} diff --git a/libs/kit-generator/test/resources/modules/kit/cljs/config.edn b/libs/kit-generator/test/resources/modules/kit/cljs/config.edn index 6c6b39a..ed18994 100644 --- a/libs/kit-generator/test/resources/modules/kit/cljs/config.edn +++ b/libs/kit-generator/test/resources/modules/kit/cljs/config.edn @@ -23,16 +23,19 @@ {:type :clj :path "build.clj" :action :append-requires - :value ["[clojure.java.shell :refer [sh]]"]} + :value ["[clojure.java.shell :refer [sh]]" + "[babashka.fs :refer [copy-tree]]"]} {:type :clj :path "build.clj" :action :append-build-task :value (defn build-cljs [] - (println "npx shadow-cljs release app...") + (println "npx shadow-cljs release app-prod...") (let [{:keys [exit] - :as s} (sh "npx" "shadow-cljs" "release" "app")] + :as s} (sh "npx" "shadow-cljs" "release" "app-prod")] (when-not (zero? exit) - (throw (ex-info "could not compile cljs" s)))))} + (throw (ex-info "could not compile cljs" s))) + (b/delete {:path "target/classes/public/js"}) + (copy-tree "target/classes/cljsbuild/public" "target/classes/public")))} {:type :clj :path "build.clj" :action :append-build-task-call