-
Notifications
You must be signed in to change notification settings - Fork 0
/
shadow-cljs.edn
53 lines (48 loc) · 1.65 KB
/
shadow-cljs.edn
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
{:nrepl
{:port 8777}
:dev-http
{8280
{:root "public"
:push-state/headers {"content-type" "text/html; charset=utf-8"}}}
;; "Cross-Origin-Opener-Policy" "same-origin"
;; "Cross-Origin-Embedder-Policy" "credentialless" #_"require-corp"}}}
:deps {:aliases [:cljs]}
:build-defaults
{:build-hooks [(shadow-git-inject.core/hook)]}
:builds
{:server {:target :node-script
:output-to "devserver.js"
:main todosync.server/main!
:release {:output-to "build/server.js"}}
:repl ; <- just for getting a stable connection for repling, optional
{:target :browser
:output-dir "public"
:asset-path "/"
:js-options {:devtools {:enabled false}}
:modules {:repl {:entries [todosync.core]
:web-worker true}}}
:sw
{:target :browser
:output-dir "public"
:asset-path "/"
:js-options {:devtools {:enabled false}}
:release {:output-dir "build/public"}
:modules {:sw {:entries [cljs-thread.sw]
:web-worker true}}}
:core
{:target :browser
:output-dir "public" ; <- necessary because sw.js must be in root, but output-dir doesn't work per module
:asset-path "/"
:release {:output-dir "build/public"}
:js-options {:devtools {:enabled false}
:resolve {"highlight.js" {:target :npm :require "highlight.js/lib/core"}
"lowlight" {:target :npm :require "lowlight/lib/core"}}}
:modules
{:shared {:entries []}
:screen
{:init-fn todosync.screen/init!
:depends-on #{:shared}}
:core
{:init-fn todosync.core/init!
:depends-on #{:shared}
:web-worker true}}}}}