-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.clj
147 lines (122 loc) · 7.05 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
(defproject webtorrent-cljs "0.1.0"
:description "Clojurescript wrapper for webtorrent"
:url "https://github.com/cvillecsteele/webtorrent-cljs"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.9.36" :scope "provided"]
[com.cognitect/transit-clj "0.8.285"]
[org.clojure/core.async "0.2.382"]]
:plugins [[lein-cljsbuild "1.1.3"]
[lein-environ "1.0.3"]]
:min-lein-version "2.6.1"
:source-paths ["src/cljs"]
:test-paths ["test/clj"]
:clean-targets ^{:protect false} [:target-path :compile-path "resources/public/js"]
:uberjar-name "webtorrent-cljs.jar"
;; nREPL by default starts in the :main namespace, we want to start in `user`
;; because that's where our development helper functions like (run) and
;; (browser-repl) live.
:repl-options {:init-ns user}
:cljsbuild {:builds
[{:id "app"
:source-paths ["src/cljs"]
:figwheel true
;; Alternatively, you can configure a function to run every time figwheel reloads.
;; :figwheel {:on-jsload "webtorrent-cljs.core/on-figwheel-reload"}
:compiler {:main webtorrent-cljs.core
:asset-path "js/compiled/out"
:output-to "resources/public/js/compiled/webtorrent_cljs.js"
:output-dir "resources/public/js/compiled/out"
:source-map-timestamp true
:externs ["resources/externs/webtorrent.js" "resources/externs/buffer.js"]
:foreign-libs [{:file "resources/foreign-libs/webtorrent.min.js"
:file-min "resources/foreign-libs/webtorrent.min.js"
:provides ["webtorrent"]}
{:file "resources/foreign-libs/buffer.js"
:file-min "resources/foreign-libs/buffer.js"
:provides ["buffer"]}]
}}
{:id "test"
:source-paths ["src/cljs" "test/cljs"]
:compiler {:output-to "resources/public/js/compiled/testable.js"
:main webtorrent-cljs.test-runner
:optimizations :none
:externs ["resources/externs/webtorrent.js" "resources/externs/buffer.js"]
:foreign-libs [{:file "resources/foreign-libs/webtorrent.min.js"
:file-min "resources/foreign-libs/webtorrent.min.js"
:provides ["webtorrent"]}
{:file "resources/foreign-libs/buffer.js"
:file-min "resources/foreign-libs/buffer.js"
:provides ["buffer"]}]
}}
{:id "min"
:source-paths ["src/cljs"]
:jar true
:compiler {:main webtorrent-cljs.core
:output-to "resources/public/js/compiled/webtorrent_cljs.js"
:output-dir "target"
:source-map-timestamp true
:optimizations :advanced
:pretty-print false
:externs ["resources/externs/webtorrent.js" "resources/externs/buffer.js"]
:foreign-libs [{:file "resources/foreign-libs/webtorrent.min.js"
:file-min "resources/foreign-libs/webtorrent.min.js"
:provides ["webtorrent"]}
{:file "resources/foreign-libs/buffer.js"
:file-min "resources/foreign-libs/buffer.js"
:provides ["buffer"]}]
}}]}
;; When running figwheel from nREPL, figwheel will read this configuration
;; stanza, but it will read it without passing through leiningen's profile
;; merging. So don't put a :figwheel section under the :dev profile, it will
;; not be picked up, instead configure figwheel here on the top level.
:figwheel {;; :http-server-root "public" ;; serve static assets from resources/public/
;; :server-port 3449 ;; default
;; :server-ip "127.0.0.1" ;; default
:css-dirs ["resources/public/css"] ;; watch and update CSS
;; Instead of booting a separate server on its own port, we embed
;; the server ring handler inside figwheel's http-kit server, so
;; assets and API endpoints can all be accessed on the same host
;; and port. If you prefer a separate server process then take this
;; out and start the server with `lein run`.
:ring-handler user/http-handler
;; Start an nREPL server into the running figwheel process. We
;; don't do this, instead we do the opposite, running figwheel from
;; an nREPL process, see
;; https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl
;; :nrepl-port 7888
;; 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"
:server-logfile "log/figwheel.log"}
:doo {:build "test"}
:profiles {:dev
{:dependencies [[figwheel "0.5.4-2"]
[figwheel-sidecar "0.5.4-2"]
[com.cemerick/piggieback "0.2.1"]
[org.clojure/tools.nrepl "0.2.12"]
[lein-doo "0.1.6"]
[ring "1.4.0"]
[ring/ring-defaults "0.2.0"]
[bk/ring-gzip "0.1.1"]
[ring.middleware.logger "0.5.0"]
[compojure "1.5.0"]
[environ "1.0.3"]]
:plugins [[lein-figwheel "0.5.4-2"]
[lein-doo "0.1.6"]]
;; Use `lein run` if you just want to start a HTTP server, without figwheel
:main webtorrent-cljs.server
:source-paths ["dev" "src/clj"]
:repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}
:uberjar
{:source-paths ^:replace ["src/clj"]
:prep-tasks ["compile" ["cljsbuild" "once" "min"]]
:hooks []
:omit-source true
:aot :all}})