practicalli

https://practicalli.github.io/ http://yt.vu/+practicalli (youtube)
euccastro 2020-06-29T03:20:50.147Z

for one thing, when loading this alias clojure.tools.namespace.repl/refresh (as invoked by e.g. integrant.repl/reset stops working:

:cause "Unable to resolve symbol: skip-wiki in this context"
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message "Syntax error compiling at (clojure/tools/deps/alpha/script/generate_manifest2.clj:9:1)."
   :data #:clojure.error{:phase :compile-syntax-check, :line 9, :column 1, :source "clojure/tools/deps/alpha/script/generate_manifest2.clj"}
   :at [clojure.lang.Compiler analyze "Compiler.java" 6808]}
  {:type java.lang.RuntimeException
   :message "Unable to resolve symbol: skip-wiki in this context"
   :at [clojure.lang.Util runtimeException "Util.java" 221]}]

euccastro 2020-06-29T03:21:51.147200Z

I'll try using clojure.tools.namespace.repl/disable-reload! in some namespaces

euccastro 2020-06-29T04:02:47.147400Z

this worked (tailored to my own needs, since I was having problems with figwheel-main too; for the sake of dep hotloading I guess just filtering out .gitlibs/* would work)

(apply clojure.tools.namespace.repl/set-refresh-dirs
       (for [root (clojure.java.classpath/classpath-directories)
             :when (and (or (str/starts-with? root "dev/")
                            (str/starts-with? root "src/"))
                        (not (str/includes? root "/cljs/"))
                        (not (str/ends-with? root "/cljs")))
             f (file-seq root)
             :when (.isDirectory f)]
         f))

practicalli-john 2020-06-29T10:22:55.147700Z

I would not use add-lib if using a component system like integrant, as integrant (or mount) would be used to manage reloading of the repl. Integrant will be around for a while and supported, add-lib is not.