This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-18
Channels
- # boot (42)
- # cider (26)
- # cljs-dev (6)
- # cljsrn (6)
- # clojure (119)
- # clojure-berlin (3)
- # clojure-dev (2)
- # clojure-nl (1)
- # clojure-russia (38)
- # clojure-spec (1)
- # clojurescript (44)
- # component (3)
- # cursive (1)
- # data-science (2)
- # datomic (19)
- # dirac (60)
- # emacs (12)
- # figwheel (2)
- # hoplon (13)
- # iot (4)
- # keechma (2)
- # klipse (38)
- # leiningen (5)
- # luminus (1)
- # lumo (1)
- # off-topic (6)
- # om (2)
- # om-next (4)
- # onyx (21)
- # perun (79)
- # reagent (32)
- # untangled (39)
- # vim (36)
- # yada (1)
A question I posted in the component channel but also has relevance here. Anyone gone through this issue?
Has anyone had success using component with cljs and reagent? I can render correctly on load. However, every time I make a code change and the cljs code is reloaded, it seems the html head and body are wiped clean. Iām using boot with boot-cljs and boot-reload
sure, I stole it from here https://clojurescript.org/guides/project-templates
I have a single file in my source tree that escapes the notice of watch. Changes to any other files are detected, but only the first change to this file is detected. is there some kind of cache that needs to be cleaned?
@qqq tenzing has a +dirac
option which you could take a look at.
@pepe just deployed Tenzing 0.4.2 with the properly pinned boot-devtools, sorry for the delay š
@martinklepsch : OMG, dirac debugging is amazing
I'm using
This is almost working for me, except objects are displayed as JS objects instead of CLJ objects.
I built an app using the template, with
-a +reagent -a +dirac
but the problem I get into is:
boot repl -c
(start-repl)
==> Can't change/establish root binding of: *cljs-repl-env* with set
when I view in browser, and I trigger an exception, I can see the source code fine; I also get stack traces
however, although
1 appears as 1, 2 appears as 2
stuff like [1 2 3] or {:foo :bar} appears as JS objects instead of CLJS objects
so I'm missing some last step.
Anyone know what's going on?@qqq You need cljs-devtools for inspecting Cljs objects (so +devtools
)
Is it safe to use pods from the build.boot file outside of tasks? Im looking to make a "corporate dependency" that won't interfere with the project dependencies
@juhoteperi : yeah, that definitely confused me for the following reason: (1) dirac claims itself to be a FORK of devtools (2) dirac says it doesn't want any other middleware involved so I interpolated that to mean "well, I don't want devtools + fork of devtools on at same time"
Dirac is Chrome DevTools fork, not Cljs-devtools fork
@flyboarder can you elaborate? not clear to me what you want to do.
yeah that would be available from the boot.user namespace
that should be ok right, havnt tried yet
I want to make sure I dont create circular dependencies between my utility libraries, by isolating the environments
i don't entirely understand, but i have used the pod functions, outside of a pod env, no prob.
have you run pods outside of tasks?
I assume it will work, I'll play with it later tonight i think
@flyboarder totally safe you can make pods at repl etc
i.e. in fns where i need the capabilities of the pod namespace, but i have not created a pod. i believe every boot task is already in a default pod. not sure what you mean by "available from the boot.user namespace". maybe because i'm not really an expert. š
@alandipert awesome thanks!
@mobileink from the repl would have been a better way to say what I intended, luckily alan got it š
"run pods outside of tasks". maybe you're doin sth fancier than i've done. to me, when i'm running boot, everything is "inside a task". are you taliking about e.g. app code that wants to use boot stuff? which could hapoen wven if you're using e g. leiningen?
no im looking to make a package that every developer will have in their profile.boot
@flyboarder I might look at your boot tasks for node.js very soon š finally our node.js project is starting
excellent! i would like to start on making it live-reload compatible instead of restarting the server each time, but that requires a shim I believe
I think the main issue I see is to handle the many many files in node_modules
. By live reload you mean in case you add a dep ?
I mean for development, when rebuilding cljs -> js
there are 2 cases to handle, when the server related cljs code changes and when the client cljs code changes
the server related code will always need a restart the client code can be reloaded same way boot-reload does it except without the java server we should be able to include that as part of the server compilation via a shim
Ah you want to exclude Java from the equation..I mean I thought you could get away now with two repls and two cljs compileer/reload running
Of course your solution sounds fasder
I guess we could just use boot-reload and include the java server, but that seems needless to run another server to serve client files, would probably work for now tho
since the alternative doesnt exist yet š