On Tue, Dec 30, 2014 at 5:38 PM, Thomas Heller <[email protected]> wrote:
> I believe most of it is due to the fact that everything has to go through 
> cljs.closure/build. Since everything build related is hidden behind that 
> function, CLJS has to do quite a lot instead of just worrying about compiling 
> CLJS->JS. Recently a cljs.build.api namespace was added to allow querying the 
> internal state, but it is still impossible to hook into the actual build 
> process which you simply need for some features. Which is why I decided to 
> not use cljs.closure at all.

I don't see how this is true in general. The Node.js REPL hooks into
the functions that cljs.closure/build uses without going through it.

> There is a definite need for multiple build tools since build targets 
> sometimes differ significantly (Node.JS vs Browser). Yet cljs.closure is 
> sprinkled with a bit of everything, trying to do everything. I fear that this 
> will hurt in the long run. I already see several things "bleeding" into other 
> namespaces cause of decisions made there (eg. the reliance on files).

Supporting both Node.js and the Browser has been a goal since the
initial release. There's nothing new going on here except more &
better.

As to the reliance on files this is directly result of the desire to
improve start time performance of REPLs and cold builds. I don't see
any better solutions when performance and sharing analysis information
across runs/processes is the goal.

> I believe it would be beneficial to split up cljs.closure/build but I'm not 
> even sure about that since technically certain targets (Node.JS) don't even 
> need the whole Closure Compiler at all.

I think it would better to invest in cljs.build.api.

> I'm not sure there is a problem at all since so far I was able to do anything 
> I wanted in shadow-build without too much hassle. Just feels off seeing 
> basically duplicate work by either David or me.

Agreed that I would rather see people put shareable work into
ClojureScript itself.

> Should we try to refactor the build process overall? Or am I imagining things?

Refactoring means needless churn. At this point it's preferable to do
things incrementally behind feature flags. Again I also don't see why
much of this work can't be done via patches to cljs.build.api.

David

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to