summaryrefslogtreecommitdiff
path: root/project.clj
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-10-06 18:04:31 +0800
committereltrac <hi@eltr.ac>2026-10-06 18:41:19 +0800
commitfd654982376da9d913c4867f70aade62a75abe01 (patch)
tree2e97947091cba885a1321625035cf6e73700bf30 /project.clj
parent4030d4d921fed3e9abea28268fe499fbaedb5dfc (diff)
dev: hot reloading
- add start/stop/restart/watch functions in 'user namespace (dev profile) - add lein alias `dev` that starts file watcher and REPL - every time source code is changed, `lein dev` reloads modified namespaces and restarts system - add `lein dev` to Contributors' Guide
Diffstat (limited to 'project.clj')
-rw-r--r--project.clj35
1 files changed, 8 insertions, 27 deletions
diff --git a/project.clj b/project.clj
index 60b0b01..fa2d666 100644
--- a/project.clj
+++ b/project.clj
@@ -19,39 +19,20 @@
[com.taoensso/timbre "6.8.0"]
[clj-rss "0.4.0"]]
:managed-dependencies [[org.clojure/tools.reader "1.6.0"]
- [org.ow2.asm/asm "9.8"]]
+ [org.ow2.asm/asm "9.8"]]
:profiles {:uberjar {:aot :all}
:test {:dependencies [[ring/ring-mock "0.6.2"]]}
- :cljsbuild {:dependencies [[org.clojure/clojurescript "1.11.132"]]}}
+ :dev {:source-paths ["dev"]
+ :repl-options {:init-ns user
+ :init (do (start) (watch))}
+ :dependencies [[io.github.tonsky/clj-reload "1.0.0"]
+ [com.nextjournal/beholder "1.0.3"]]}}
+ :aliases {"dev" ["with-profile" "+dev" "repl"]}
:main ^:skip-aot weepinbell.core
;; plugins
:plugins [[lein-ancient "0.6.15"]
- [lein-ring "0.12.6"]
;; latest commits of cloverage were "co-authored" by Claude
;; we'll keep it on this version for now
[lein-cloverage "1.2.2"]
- [dev.weavejester/lein-cljfmt "0.16.5"]
- ;; for frontend
- [lein-cljsbuild "1.1.8"]]
- :ring {:handler weepinbell.handler/app}
- :cljsbuild
- {:builds
- {:dev
- {:source-paths ["src-fe"]
- :compiler
- {:main bellsprout.core
- :output-to "resources/public/js/main.js"
- :output-dir "resources/public/js/out"
- :asset-path "js/out"
- :optimizations :none
- :source-map true
- :target :browser}}
- :prod
- {:source-paths ["src-fe"]
- :compiler
- {:main bellsprout.core
- :output-to "resources/public/js/main.js"
- :output-dir "target/cljsbuild"
- :optimizations :advanced
- :pretty-print false}}}})
+ [dev.weavejester/lein-cljfmt "0.16.5"]])