oakmac / cuttle

User Interface for the ClojureScript Compiler
MIT License
315 stars 11 forks source link

Figwheel integration #53

Open shaunlebron opened 9 years ago

shaunlebron commented 9 years ago

Figwheel is a big deal in cljs right now, which hot-loads compiled code into the running app when files change. I don't think it would be difficult to add a button to start figwheel. Figwheel already broadcasts warnings (and errors?) to the browser window, so I think having this as an option would complement the tool well.

To simplify integration, we could blank out the build statuses in the UI while fighweel is running. Something like "see figwheel window in your running app for build results"

CASandmann commented 9 years ago

I the app should probably only come with necessary features by default. People probably don't want to download more stuff than they have to (especially since we already require multiple dependencies). Maybe the installer could have an optional checkbox to include this functionality? Or maybe it could be accessible as a "plugin" downloadable from somewhere?

shaunlebron commented 9 years ago

Figwheel is just a lein dependency downloaded automatically for projects that include it in project.clj. So there won't be any extra download incurred if we want to support it. Meaning, I'm only proposing to show a button that will launch lein figwheel command if it is detected in the project.clj. Good points about maintaining a minimal set of features though.

People I talked to at the conj were using it, and I think its workflow is what developers are wanting to move towards. It is the LiveReload of cljs, and is especially useful for Om apps. I think that's worth adding a button.

atroche commented 9 years ago

This is the only thing stopping me from using Cuttle right now =)

comamitc commented 9 years ago

I should be able to knock this out.

atroche commented 9 years ago

godspeed!

shaunlebron commented 9 years ago

There are some design decisions to make here. Some ideas:

CASandmann commented 9 years ago

Nice ideas Shaun, though I think it would look and feel better if we could interact with the REPL directly through Cuttle (all cljs-related stuff in one place rather than windows all over the place). I guess it probably wouldn't be worth it if Atom/Node doesn't already have some kind of text interaction pane... there's gotta be one of those, right?

comamitc commented 9 years ago

Would be easy if we could find some way to pipe stdin/stdout to the console... as a first step. I'm gonna remove myself from this one until we have some consensus around implementation.

ivanreese commented 9 years ago

+1 I would love to see these two projects come together.

madbonkey commented 7 years ago

@shaunlebron Regarding the design decisions above:

Just my two cents ✌️

Edit: Just saw that all the comments are from 2015 – if this is not an active project any more, ignore my comment ;)

shaunlebron commented 7 years ago

@madbonkey cljs/tool is my latest attempt at a compiler tool that will be a lot easier to maintain than Cuttle. The cljs figwheel command works well. Still early stuff.