/
config.edn
120 lines (88 loc) · 2.44 KB
/
config.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
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
{
:roll/repl {:port 3311}
;; Paths watching
:roll/paths
[
["src/clj"
"src/cljc"
,,, ;; add more paths as needed
;; reload clojure code
{:watch roll.paths/reload-clj
;; -or- a more aggresive reloading of REPL state
;; :watch roll.paths/refresh-clj
;; -or- load clojure files directly
;; :watch roll.paths/load-clj
:throttle 200}]
["config.edn"
;; reload changed config keys when this file changes
{:watch roll.core/reload
:throttle 200}]]
;; Webserver (for alternatives see below)
:roll/httpkit
{
:port 5000
;; :handler my.project/handler
;; -- default --
;; :port 5000
;; :handler #ig/ref :roll/handler
}
}
;; Other available components
;;
(comment
;; Ring handler
:roll/handler
{
;; :middleware my.project/middleware -or- [ring-middleware ...]
;; :not-found my.project/not-found-handler
;; :routes [["/some/route" my.project/handler]]
;; :sente #ig/ref :roll/sente
;; - or -
;; :handler my.project/handler
;; -- default --
;; :handler roll.handler/default-handler
;; :middleware roll.handler/default-middleware
}
;; Nginx Webserver (make sure to add nginx-clojure dependency)
:roll/nginx
{
:config "my-nginx.conf"
;; -or-
;; :port <port number>
;; :handler my.project/handler
;; -- default --
;; :port 5000
;; :handler #ig/ref :roll/handler
}
;; Aleph Webserver (make sure to add aleph & manifold dependency)
:roll/aleph
{
:port 5000
;; other opts similar to :roll/httpkit
,,,}
;; Websockets
:roll/sente
{
;; :handler my.project/event-msg-handler
;; :handshake-data-fn my.project/handshake-fn
;; :path "/chsk"
;;
;; Transit read/write handlers
;; :packer
;; {:write-handlers [datascript.transit/write-handlers ...]
;; :read-handlers [datascript.transit/read-handlers ...] }
;;
;; -- default --
;; :handler roll.sente/event-msg-handler
}
:roll/run ["<some shell command to run>" ,,,]
;; Frontend Reloading
;; make sure to include reload.js in your html page
;; https://raw.githubusercontent.com/dimovich/reload/master/release/reload.js
:roll/reload {:css ["resources/public/css" ,,,]
:page ["resources/public/jade" ,,,]}
;;
;; You can easily add your own config keys. Check Integrant docs at
;; https://github.com/weavejester/integrant
;;
)