Created
August 15, 2017 14:42
-
-
Save gtrak/9e39720b957c5240b02b45391c402d54 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gary@gary-macbook:~/dev$ lein new expo expotest | |
Retrieving expo/lein-template/0.17.1/lein-template-0.17.1.pom from clojars | |
Retrieving expo/lein-template/0.17.1/lein-template-0.17.1.jar from clojars | |
Generating fresh Expo project. | |
README.md contains instructions to get you started. | |
If you have any questions, you can ask us on Expo slack #clojurescript channel. https://slack.expo.io/ | |
gary@gary-macbook:~/dev$ cd expotest/ | |
gary@gary-macbook:~/dev/expotest$ cat project.clj | |
(defproject expotest "0.1.0-SNAPSHOT" | |
:description "FIXME: write description" | |
:url "http://example.com/FIXME" | |
:license {:name "Eclipse Public License" | |
:url "http://www.eclipse.org/legal/epl-v10.html"} | |
:dependencies [[org.clojure/clojure "1.9.0-alpha16"] | |
[org.clojure/clojurescript "1.9.542"] | |
[org.clojure/core.async "0.3.442"] | |
[reagent "0.6.1" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]] | |
[re-frame "0.9.3"] | |
[react-native-externs "0.0.2-SNAPSHOT"]] | |
:plugins [[lein-cljsbuild "1.1.4"] | |
[lein-figwheel "0.5.10"]] | |
:clean-targets ["target/" "main.js"] | |
:aliases {"figwheel" ["run" "-m" "user" "--figwheel"] | |
"externs" ["do" "clean" | |
["run" "-m" "externs"]] | |
"rebuild-modules" ["run" "-m" "user" "--rebuild-modules"] | |
"prod-build" ^{:doc "Recompile code with prod profile."} | |
["externs" | |
["with-profile" "prod" "cljsbuild" "once" "main"]]} | |
:profiles {:dev {:dependencies [[figwheel-sidecar "0.5.10"] | |
[com.cemerick/piggieback "0.2.1"]] | |
:source-paths ["src" "env/dev"] | |
:cljsbuild {:builds [{:id "main" | |
:source-paths ["src" "env/dev"] | |
:figwheel true | |
:compiler {:output-to "target/not-used.js" | |
:main "env.main" | |
:output-dir "target" | |
:optimizations :none}}]} | |
:repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}} | |
:prod {:cljsbuild {:builds [{:id "main" | |
:source-paths ["src" "env/prod"] | |
:compiler {:output-to "main.js" | |
:main "env.main" | |
:output-dir "target" | |
:static-fns true | |
:externs ["js/externs.js"] | |
:parallel-build true | |
:optimize-constants true | |
:optimizations :advanced | |
:closure-defines {"goog.DEBUG" false}}}]}}}) | |
gary@gary-macbook:~/dev/expotest$ cat build.boot | |
(set-env! | |
:source-paths #{"src" "env/dev"} | |
:dependencies '[[ajchemist/boot-figwheel "0.5.4-6" :scope "test"] ;; latest release | |
[org.clojure/tools.nrepl "0.2.12" :scope "test"] | |
[com.cemerick/piggieback "0.2.1" :scope "test"] | |
[figwheel-sidecar "0.5.4-7" :scope "test"] | |
[react-native-externs "0.0.2-SNAPSHOT" :scope "test"] | |
[org.clojure/clojure "1.9.0-alpha16"] | |
[org.clojure/clojurescript "1.9.542"] | |
[org.clojure/core.async "0.3.442"] | |
[reagent "0.6.1" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]] | |
[re-frame "0.9.3"]]) | |
(require | |
'[boot-figwheel :refer [figwheel cljs-repl]] | |
'[cljs.build.api :as b] | |
'[user :as user] | |
'[externs :as externs]) | |
(require 'boot.repl) | |
(swap! boot.repl/*default-middleware* | |
conj 'cemerick.piggieback/wrap-cljs-repl) | |
(deftask dev | |
"boot dev, then input (cljs-repl)" | |
[] | |
(user/prepare) | |
(comp | |
(figwheel | |
:build-ids ["main"] | |
:all-builds [{:id "main" | |
:source-paths ["src" "env/dev"] | |
:figwheel true | |
:compiler {:output-to "not-used.js" | |
:main "env.main" | |
:optimizations :none | |
:output-dir "."}}] | |
:figwheel-options {:open-file-command "emacsclient" | |
:validate-config false}) | |
(repl))) | |
(deftask prod | |
[] | |
(externs/-main) | |
(println "Start to compile clojurescript ...") | |
(let [start (System/nanoTime)] | |
(b/build ["src" "env/prod"] | |
{:output-to "main.js" | |
:main "env.main" | |
:output-dir "target" | |
:static-fns true | |
:externs ["js/externs.js"] | |
:parallel-build true | |
:optimize-constants true | |
:optimizations :advanced | |
:closure-defines {"goog.DEBUG" false}}) | |
(println "... done. Elapsed" (/ (- (System/nanoTime) start) 1e9) "seconds"))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment