Fork me on GitHub
#juxt
<
2019-04-01
>
conan09:04:50

Anybody know which command is used for building clojurescript in edge?

dominicm10:04:52

clojure -A:build/once:build

conan13:04:50

similarly, do you know the command for running a dev build of clojurescript? figwheel is fine, or a one-off

dominicm13:04:51

When you do (go) at the REPL, it will be started.

conan14:04:16

hmm. do you know where it compiles to? i don't seem to have a compiled file in my project

conan14:04:39

actually never mind, i can just read what (go)does and figure out what i need

dominicm14:04:22

it compiles to target/dev, but that shouldn't really matter.

dominicm14:04:30

it's all configured in config.edn.

dominicm14:04:37

@conan why do you need to know?

conan14:04:04

I don't have anything showing up in my target/dev, so my app can't serve the js in development

conan14:04:24

Here's a much better question: how do I spin up the repl from Cursive?

conan14:04:05

There seems to be more to it than simple aliases in deps.edn, so i'm not sure how to get cursive to run all the right stuff

dominicm14:04:09

no, you just use the aliases dev,dev/build,build and then type (dev) and then (go) at the repl.

dominicm14:04:59

after (go) your css/js will be built.

conan14:04:25

maybe you have a good suggestion here. i'd like to use mount for its faster development workflow and to avoid explicit config, but the only way i can find of getting the cljs to build seems to be to keep integrant in the project. how would you bridge this gap?

jonpither14:04:02

How does mount give a faster workflow? Curious.

conan14:04:21

ah, when you save a file it automatically reloads any components it contains (and the dep tree if necessary)

conan14:04:35

avoids having to run (reset) all the time

dominicm14:04:37

Integrant is one of the few opinions of edge, so mount is not something I have any ideas on supporting.

conan14:04:48

given how many times i save a file and reload it each day, it's a big difference!

conan14:04:06

yeah it's not really a question of support, they're just libraries right?

conan14:04:06

just wondering how you'd go about kicking off the cljs stuff without integrant. it must wrap something that does it, but i'm just not familiar with what the "something that does it" is

conan14:04:21

should be easy to stick the same thing in a mount component

dominicm14:04:35

Edge has deep integration with integrant, it provides some of the backbone for making the automatic development work.

dominicm14:04:10

In vim you can aucmd BufWrite * :Eval (reset), can't cursive do something like that?

conan14:04:24

what does this do?

dominicm14:04:35

On write, it will do (reset)

conan14:04:36

i'll investigate. ideally it will work without developer intervention, i don't want IDE customisation to be necessary for the project to work

dominicm14:04:50

that's your workflow, not a general one. This is a place I would advocate for developer customization.

conan17:04:34

i like developer customisation for things that are personal, but not for things that are shared

conan17:04:15

with reloading edited namespaces, i can't think of a time when you wouldn't want that, so it feels like a shared concern

conan17:04:09

kind of like how the reloaded workflow isn't a general workflow, but it's so useful that realistically everybody's going to want it - so we put it in scm for everyone to use

dominicm18:04:53

Reload on change is very editor specific.

conan14:04:12

ok, so best to keep it all in place, maybe make an integrant component that kicks off mount?