forked from n2o/reveal-cljs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.clj
115 lines (92 loc) · 4.91 KB
/
project.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
(defproject reveal-cljs "0.1.27"
:description "A reveal.js wrapper in ClojureScript."
:url "https://github.com/n2o/reveal-cljs"
:license {:name "MIT"
:url "https://choosealicense.com/licenses/mit/"}
:min-lein-version "2.6.1"
:dependencies [[org.clojure/clojure "1.9.0"]
[org.clojure/clojurescript "1.9.946"]
[org.clojure/core.async "0.3.465" :exclusions [org.clojure/tools.reader]]
[hiccups "0.3.0"]]
:plugins [[lein-ancient "0.6.10"]
[lein-figwheel "0.5.13"]
[lein-cljsbuild "1.1.3" :exclusions [[org.clojure/clojure]]]
[lein-set-version "0.4.1"]]
:source-paths ["src"]
:clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
:cljsbuild {:builds
[{:id "dev"
:source-paths ["src"]
;; the presence of a :figwheel configuration here
;; will cause figwheel to inject the figwheel client
;; into your build
:figwheel {:on-jsload "reveal.core/on-js-reload"
;; :open-urls will pop open your application
;; in the default browser once Figwheel has
;; started and complied your application.
;; Comment this out once it no longer serves you.
:open-urls ["http://localhost:3449/index.html"]}
:compiler {:main reveal.core
:asset-path "js/compiled/out"
:output-to "resources/public/js/compiled/reveal_cljs.js"
:output-dir "resources/public/js/compiled/out"
:source-map-timestamp true
:parallel-build true
;; To console.log CLJS data-structures make sure you enable devtools in Chrome
;; https://github.com/binaryage/cljs-devtools
:preloads [devtools.preload]}}
;; This next build is an compressed minified build for
;; production. You can build this with:
;; lein cljsbuild once min
{:id "min"
:source-paths ["src"]
:compiler {:output-to "resources/public/js/compiled/reveal_cljs.js"
:main reveal.core
:optimizations :advanced
:pretty-print false}}]}
:figwheel {;; :http-server-root "public" ;; default and assumes "resources"
;; :server-port 3449 ;; default
;; :server-ip "127.0.0.1"
:css-dirs ["resources/public/css"] ;; watch and update CSS
;; Start an nREPL server into the running figwheel process
;; :nrepl-port 7888
;; Server Ring Handler (optional)
;; if you want to embed a ring handler into the figwheel http-kit
;; server, this is for simple ring servers, if this
;; doesn't work for you just run your own server :) (see lein-ring)
;; :ring-handler hello_world.server/handler
;; To be able to open files in your editor from the heads up display
;; you will need to put a script on your path.
;; that script will have to take a file path and a line number
;; ie. in ~/bin/myfile-opener
;; #! /bin/sh
;; emacsclient -n +$2 $1
;;
;; :open-file-command "myfile-opener"
;; if you are using emacsclient you can just use
;; :open-file-command "emacsclient"
;; if you want to disable the REPL
;; :repl false
;; to configure a different figwheel logfile path
;; :server-logfile "tmp/logs/figwheel-logfile.log"
}
;; setting up nREPL for Figwheel and ClojureScript dev
;; Please see:
;; https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl
:profiles {:dev {:dependencies [[binaryage/devtools "0.9.4"]
[figwheel-sidecar "0.5.13"]
[com.cemerick/piggieback "0.2.2"]]
;; need to add dev source path here to get user.clj loaded
:source-paths ["src" "dev"]
;; for CIDER
;; :plugins [[cider/cider-nrepl "0.12.0"]]
:repl-options {; for nREPL dev you really need to limit output
:init (set! *print-length* 50)
:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}}
;; Add java.xml.bind if JDK9 is used
:jvm-opts ~(let [version (System/getProperty "java.version")
[major _ _] (clojure.string/split version #"\.")]
(if (>= (Integer. major) 9)
["--add-modules" "java.xml.bind"]
[]))
)