Fork me on GitHub
#boot
<
2017-02-18
>
chooie01:02:36

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

lsenta02:02:19

Hi fellow boot'ers, do you have any recommendation of a clj+cljs library project?

lsenta02:02:02

That I could shamelessly copy. As a starting point for the boot build.

lsenta03:02:32

Fancy, thanks for the share @craigy

mobileink07:02:15

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?

qqq08:02:12

I'm having trouble setting up dirac.

qqq08:02:21

Does someone ahve a minimal build.boot I can just copy/paste and start from there?

martinklepsch08:02:18

@qqq tenzing has a +dirac option which you could take a look at.

martinklepsch08:02:47

@pepe just deployed Tenzing 0.4.2 with the properly pinned boot-devtools, sorry for the delay šŸ™‚

qqq09:02:03

@martinklepsch : OMG, dirac debugging is amazing

qqq09:02:11

cljs without dirac should be banned

qqq12:02:43

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?

juhoteperi19:02:07

@qqq You need cljs-devtools for inspecting Cljs objects (so +devtools)

flyboarder20:02:05

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

qqq20:02:10

@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"

juhoteperi20:02:46

Dirac is Chrome DevTools fork, not Cljs-devtools fork

mobileink21:02:18

@flyboarder can you elaborate? not clear to me what you want to do.

mobileink21:02:07

you mean using the pod namespace in fns?

flyboarder21:02:37

yeah that would be available from the boot.user namespace

flyboarder21:02:11

that should be ok right, havnt tried yet

flyboarder21:02:05

I want to make sure I dont create circular dependencies between my utility libraries, by isolating the environments

mobileink21:02:29

i don't entirely understand, but i have used the pod functions, outside of a pod env, no prob.

flyboarder21:02:52

have you run pods outside of tasks?

flyboarder21:02:09

I assume it will work, I'll play with it later tonight i think

alandipert21:02:06

@flyboarder totally safe you can make pods at repl etc

mobileink21:02:08

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. šŸ˜‰

flyboarder21:02:25

@alandipert awesome thanks!

flyboarder21:02:55

@mobileink from the repl would have been a better way to say what I intended, luckily alan got it šŸ˜›

mobileink21:02:48

"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?

flyboarder21:02:40

no im looking to make a package that every developer will have in their profile.boot

richiardiandrea21:02:54

@flyboarder I might look at your boot tasks for node.js very soon šŸ˜€ finally our node.js project is starting

flyboarder21:02:34

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

richiardiandrea22:02:05

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 ?

flyboarder22:02:40

I mean for development, when rebuilding cljs -> js

flyboarder22:02:27

there are 2 cases to handle, when the server related cljs code changes and when the client cljs code changes

flyboarder22:02:27

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

richiardiandrea22:02:34

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

richiardiandrea22:02:53

Of course your solution sounds fasder

flyboarder22:02:03

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

flyboarder22:02:30

since the alternative doesnt exist yet šŸ˜›