This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
hi @alandipert, I saw inject
task you created(https://github.com/tailrecursion/hoplon.io/blob/master/build.boot#L40). Maybe you can extract it into separate library? This way it can be used from perun too. I think it would be pretty useful. Just an idea
Adding the following to my boot-reloaded app causes an error:
(let [history (History.)]
(events/listen history EventType.NAVIGATE
(fn [e] (js/console.log "hmm"))))
Error being: Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
Okay it's initialising History object that does it 😕
@martinklepsch: thanks for the pointers - I'm a bit confused where I should put -vvv, it's the boot repl -c
then (start-repl) which is causing me that error, not the running the server repl.
@martinklepsch: ah, actually I've found it thanks to your comment - you're right, boot show -d
showed me kioo was bringing in its own piggyback - thanks so much for your help, that makes complete sense
I'm guess that running things in a pod doesn't exclude the system deps that are coming in (because that's how java classloaders work), so you have to be careful in your build.boot deps list
one remaining question I have is whether there's a boot equivalent of lein's exclusions feature
that way, I can bring in kioo but exclude its piggyback dependency
@malcolmsparks: boot's :dependencies
syntax is the same as leiningens' -- you can do [kioo "1.2.3" :exclusions [com.cemerick/piggyback]]
there is also a global :exclusions
key in the env that will apply this to all dependencies
@malcolmsparks: Pods help isolating dependencies. If you look at the sources of the cljs-repl task a new pod (=isolated clojure runtime) is created with all required dependencies. If the user however decides to pin one of these deps themselves they are used as specified by the user. (https://github.com/adzerk-oss/boot-cljs-repl/blob/master/src/adzerk/boot_cljs_repl.clj#L18)
In the case of kioo I think its cljx that brings in piggieback. I’ve previously had confusing experiences with leiningen’s scoping of development dependencies but can’t find a related ticket right now.
@malcolmsparks: would be interesting to see the output of boot show -d
for your project
@malcolmsparks: oh and re -vvv
that’s an option to boot itself so just pass it like boot -vvv repl -c
(means verbose level 3 which is maximum iirc)
@micha: what caused the container to be gone before removal was triggered?
makes sense
I’m starting to think it would make sense to completely split the client side code from the backend and just provide an api via websockets that can be used to show warnings/errors etc