Closed currentoor closed 7 years ago
Checking this today. One thing good for debugging, in case you want to help, is to launch boot with -v
or even -vv` .
I decided to be super verbose while developing this 😀
Ok asset-path
is one of those things that don't have particular meaning anymore give the way boot-cljs
compiles: we have potentially one .cljs.edn
file per build and I am going to deprecate the option as it can be specified there.
More info on this in the upcoming docs in boot-cljs
.
Pushed a version with the deprecated option:
https://clojars.org/powerlaces/boot-figreload
Some more explanation here: https://github.com/boot-clj/boot-figreload/commit/ea000aab35c6cae9f968e4bbeea4eca8e1d3c2c5
Let me know if you get it working!
@arichiardi so I used the -vv
flag and got this very verbose output.
https://gist.github.com/currentoor/45446c6d580414f2ee083fe6697d2d66
Unfortunately, I still get the same error.
Using the new version? 0.1.1-SNAPSHOT
has deprecated that option so you should try to put it in your .cljs.edn
files, see above for some context.
Hey so I did like you said.
{:require [arc.combined]
:init-fns [arc.combined/run]
:boot-reload {:on-jsload arc.combined/run}
:compiler-options {:asset-path "/combined.out"}}
(deftask dev
"Run a restartable system in the Repl"
[]
(comp
(environ :env dev-env)
(migrate)
(watch :verbose true)
(speak)
(system :sys #'dev-system :auto true :files ["systems.clj"
"api/handler.clj"
"csv.clj"
"pdf_kit.clj"
"search.clj"
"html/support.clj"
"html/shared.clj"
"html/report.clj"])
(reload ;:asset-path "/public"
:port 33887
:ws-host "localhost"
;; :on-jsload 'arc.combined/run
)
(sass)
(autoprefixer :files ["app.css"]
:exec-path "./node_modules/postcss-cli/bin/postcss"
:browsers "last 2 versions")
(sift :move {#"app.css" "public/app.css"})
(cljs-repl)
(cljs :source-map true
:optimizations :none
:ids #{"public/combined"}
:compiler-options {:devcards true
:optimizations :none
;; Note: This next option means you might not see
;; compile errors in certain situations until full
;; recompile. For example, deleting a function
;; referred to in another file will not raise an
;; error.
:recompile-dependents true
;; Set the following options to true to debug
;; performance of compilation.
:verbose false
:compiler-stats false
;; Allows compile time removal of debugging cljs.
:closure-defines {"goog.DEBUG" true}})))
But incremental builds still result in this
java.lang.AssertionError: Assert failed: The compiler options :asset-path cannot be nil. This might be a bug.
(:asset-path compile-opts)
at powerlaces.boot_figreload.messages$file_map_matches_QMARK_.invokeStatic(messages.clj:11)
at powerlaces.boot_figreload.messages$file_map_matches_QMARK_.invoke(messages.clj:9)
at clojure.core$partial$fn__4759.invoke(core.clj:2515)
at clojure.core$filter$fn__4812.invoke(core.clj:2708)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.LazySeq.first(LazySeq.java:71)
at clojure.lang.RT.first(RT.java:667)
at clojure.core$first__4339.invokeStatic(core.clj:55)
at clojure.core$first__4339.invoke(core.clj:55)
at powerlaces.boot_figreload.messages$assign_cljs_opts$fn__14515.invoke(messages.clj:24)
Found the problem in your log dump above. As it always happens, it's completely unrelated from what I wrote above (still something has been improved so thanks!). Fixing asap.
@currentoor Ok so it looks like your .cljs.edn
for some reason doesn't get any meta from boot-cljs
. Make sure you use the latest 2.0.0
there as well. In any case I sent a fix to clojars (0.1.1-SNAPSHOT
-> boot-figreload-0.1.1-20170521.230833-2
):
I recommend to do:
rm -Rv ~/.m2/repository/powerlaces/boot-figreload
For wiping up stuff first. If you still have the problem, attach another boot -vv dev
pretty please :smile:
@currentoor update on this one?
Closing this because it seems gone, feel free to reopen if necessary.
I'm invoking the reload task like so.
Initial compile seems to work fine, but incremental builds result in this stack trace.