Fork me on GitHub
#boot
<
2017-02-21
>
grounded_sage03:02:45

Is there a boot ninja that I could pay to get some mentoring on a few things?

richiardiandrea04:02:30

How much ninja 😀 ?

richiardiandrea04:02:03

@grounded_sage ^ what do you need to accomplish?

grounded_sage05:02:59

@richiardiandrea Just more ninja than me! haha. I'm having an issue with having page routes that has sub routes reloading in the browser. Meaning I have to restart boot to see changes. Super Painful. Secondly it's likely helping me figure out how to develop a solution to develop atomic styles in a way that reloads and has less cruft. Probably less boot related than the reloading issue I have.

grounded_sage05:02:08

I'm wanting to implement something similar to https://github.com/rtsao/styletron for the atomic styles but a more clojureish. Current solution uses macros which seems to mean using variables is out of the question or just I need to learn more macro stuff. This is something I would like to have a tight integration to work seamlessly with Garden which might involve cross discussions with @noprompt. I have got some other mentors however they have less experience with Boot and some of the libraries I am using. So decided I am probably better finding a mentor with specific skillsets and knowledge.

richiardiandrea06:02:55

@grounded_sage I can help you with the issue I think, about the style project, it looks very interesting but I don't think I have the bandwidth for that 🙂

richiardiandrea06:02:24

let's move to private

qqq13:02:00

I'm having the following problem: I'm serving via boot-serve. However, when I hit reload in dirac, my *.cljs source mapped files are NOT reloading. So when I make an edit from cljs-v1 to cljs-v2, what I get is: js-v2 is compiled js-v2 is served however, dirac continues to source map[ to cljs-v1, even when I hit alt-R the only way to fix this is to tell chrome to clear it's cache (however this is tedious) yes, I already went to dev tools -> networking -> diable cache but somehow the *.cljs files are not being re-requested

qqq13:02:24

does pandeiro.boot-http/serve cache *.cljs files?

bhagany13:02:23

I'm pretty sure it doesn't

qqq13:02:31

weird thing: I'm no longer having caching problems

qqq13:02:57

but I don't know what I did to fix it -- I just read a bunch of docs about boot-http, then I read a bunch of threads about chrome canary -- and I didn't do anything -- and now I no longer have stale caching issues

pandeiro16:02:20

power of the mind

lwhorton16:02:15

curious, can anyone point me to an example of using clojure.spec with boot? i’m currently trying to wire-in clojure.test to invoke clojure.spec test/check… but it just doesn’t seem like the right way

lwhorton16:02:19

and I can’t find much material on how to actually use clojure.spec when you want to do instrumentation / generative testing, other than the example-based “hey its all in one file / on a repl look how easy it is”

lwhorton17:02:34

would be nice for someone to lay out pros/cons of flat files, versus separate /src /test files with a tool like boot that does some tdd setup, or how to actually configure spec in dev vs prod setups… but I can’t find anything like this with my googlefoo

juhoteperi17:02:05

Would need complete rewrite & the result wouldn't be compatible with any existing code

richiardiandrea17:02:11

@flyboarder people are moving that way, however, a boot port is tough given all the JVM-related things it contains

flyboarder17:02:00

Yeah, I just the inception that could be used, like clj boot building cljs boot

richiardiandrea17:02:16

there could be a lumo task at some point maybe

richiardiandrea17:02:39

but I don't think that is the big win we are looking for

flyboarder17:02:22

Not quite, ideally I could call boot from the cmd and not care if it's the clj/cljs version installed

richiardiandrea17:02:52

yeah that's the dream 😄

juhoteperi17:02:38

For some maybe. I'd rather uninstall Node than Java.

richiardiandrea17:02:43

ideally you would use Java for long running tasks and node for short running tasks/scripting

richiardiandrea17:02:07

using the same tool of course, you can basically do that already now

richiardiandrea17:02:12

using different tools

flyboarder17:02:25

@juhoteperi as an Infrastructure tech before a developer, I would never make end users install java

flyboarder17:02:39

Worst management and user experience ever

micha17:02:43

i run node in docker because of the experience i've had installing that

micha17:02:52

it's almost as bad as ruby in that way

micha17:02:02

java is relatively sane to install on a machine

micha17:02:08

compared to nodejs

micha17:02:34

imho maven is way more sane than npm

micha17:02:03

and maven doesn't run arbitrary code on my machine when it downloads a jar

flyboarder17:02:41

Yeah but the problem comes when your IT team gets tickets saying "Java needs and update" from a few hundred users because the company can't afford a real deployment solution, so you have to either script it or touch every client machine

juhoteperi17:02:56

@flyboarder Are end users developers or non-developers?

flyboarder17:02:14

Non developers, usually non-tech savvy users

juhoteperi17:02:18

Usually end users use the websites and developers create software using Java which serves the web app

micha17:02:19

at least updating java doesn't break your code

micha17:02:23

updating node who knows

flyboarder17:02:19

@juhoteperi I think the difference is when you software is a server, that's fine and Java is great, it's when you need to run on the client that it's kinda bad

juhoteperi17:02:51

Sure, I wouldn't create desktop apps using Java, but then, is anyone even creating those anymore

micha17:02:18

hopefully one day you can make desktop apps using something like docker

flyboarder17:02:55

RancherOS is a step in that direction

flyboarder17:02:27

@juhoteperi agreed, move everything to the web!

richiardiandrea18:02:29

back to tooling, what if we had a way to materialize clojurescript functions that shell out

richiardiandrea18:02:35

kind of like conch

richiardiandrea18:02:06

but with also a way to read options, so at the repl I would do (doc npm), and I see the options

richiardiandrea18:02:32

and then (npm {:install ... }) shells out

richiardiandrea18:02:27

where does bash takes info about parameter completion?

richiardiandrea18:02:43

ok bash-completion...uhm

richiardiandrea18:02:17

if there was a way to see all the params to shell commands, that data could be use to generate cljs functions

richiardiandrea20:02:41

@juhoteperi where you able to trigger a shutdown of a server on boot/cleanup eventually?

richiardiandrea20:02:03

@juhoteperi ok don't worry I found it in boot-reload