Skip to content

Commit 2f72892

Browse files
committed
Migrated to clj-reload and duti
1 parent 86d8204 commit 2f72892

File tree

4 files changed

+24
-46
lines changed

4 files changed

+24
-46
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ web/*.js
2727
web/out
2828
web/target-cljs
2929
.rebl
30-
.shadow-cljs
30+
.shadow-cljs
31+
.clj-kondo

deps.edn

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
:dev {
2727
:extra-paths ["dev"]
2828
:extra-deps {
29-
org.clojure/tools.namespace {:mvn/version "1.3.0"}
29+
io.github.tonsky/clj-reload {:mvn/version "0.4.3"}
30+
io.github.tonsky/duti {:git/sha "78bbf61953b9a685d02ff8cc63d04e4e8da81eb9"}
3031
}
3132
}
3233

dev/data_readers.clj

Lines changed: 0 additions & 1 deletion
This file was deleted.

dev/user.clj

Lines changed: 20 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,31 @@
11
(ns user
22
(:require
3-
[clojure.core.server :as server]
4-
[clojure.java.io :as io]
5-
[clojure.test :as t]
6-
[clojure.tools.namespace.repl :as ns]))
3+
[clj-reload.core :as reload]
4+
[duti.core :as duti]))
75

8-
(ns/set-refresh-dirs "src" "bench" "test" #_"bench_datomic" #_"test_datomic")
6+
(reload/init
7+
{:dirs ["src" "bench" "test" #_"bench_datomic" #_"test_datomic"]
8+
:no-reload '#{user}})
99

10-
(defn reload []
10+
(defn reload [& [opts]]
1111
(set! *warn-on-reflection* true)
12-
(let [res (ns/refresh)]
13-
(if (instance? Throwable res)
14-
(do
15-
(.printStackTrace ^Throwable res)
16-
(throw res))
17-
res)))
18-
19-
(def lock
20-
(Object.))
21-
22-
(defn position []
23-
(let [trace (->> (Thread/currentThread)
24-
(.getStackTrace)
25-
(seq))
26-
el ^StackTraceElement (nth trace 4)]
27-
(str "[" (clojure.lang.Compiler/demunge (.getClassName el)) " " (.getFileName el) ":" (.getLineNumber el) "]")))
28-
29-
(defn p [form]
30-
`(let [t# (System/currentTimeMillis)
31-
res# ~form]
32-
(locking lock
33-
(println (str "#p" (position) " " '~form " => (" (- (System/currentTimeMillis) t#) " ms) " res#)))
34-
res#))
12+
(let [res (reload/reload opts)
13+
cnt (count (:loaded res))]
14+
(str "Reloaded " cnt " namespace" (when (not= 1 cnt) "s"))))
3515

3616
(defn -main [& args]
37-
;; setup repl
3817
(let [args (apply array-map args)
39-
port (or
40-
(some-> (get args "--port") parse-long)
41-
(+ 1024 (rand-int 64512)))
42-
file (io/file ".repl-port")]
43-
(println "Started Server Socket REPL on port" port)
44-
(spit file port)
45-
(.deleteOnExit file)
46-
(server/start-server
47-
{:name "repl"
48-
:port port
49-
:accept 'clojure.core.server/repl
50-
:server-daemon false})))
18+
;; starting app
19+
_ (set! *warn-on-reflection* true)
20+
_ (require 'datascript.test)
21+
;; starting socket repl
22+
port (some-> (get args "--port") parse-long)
23+
_ (duti/start-socket-repl {:port port})]))
5124

5225
(defn test-all []
5326
(reload)
54-
(t/run-all-tests #"datascript\..*"))
27+
(duti/test #"datascript\.test\..*"))
28+
29+
(defn -test-main [_]
30+
(reload {:only #"datascript\.test\..*"})
31+
(duti/test-exit #"datascript\.test\..*"))

0 commit comments

Comments
 (0)