Howdy, I wrote a build library https://github.com/thheller/shadow-build which replaces cljs.closure and I'd like the see some of the stuff I did flow back into core cljs.
I wanted to start discussing some of the stuff I did since I feel the current situation is "bad" for ClojureScript in general and some of cljs.closure hurts cljs.analyzer/compiler which in turn hurts shadow-build. Pain Point 1) :optimizations :none vs any other Right now you have to have seperate HTML includes based on how you built your project. Anything but :none just includes one js file but :none has do 3 things. 1) include goog/base.js 2) include compiled/cljs.js (which is just the goog/deps.js basically) 3) goog.require whatever namespaces you want to use. That is not only totally confusing for newbies but also completely unnecessary. I solved this in shadow-build by shortcutting what closure optimize would do. Generate a file including goog/base.js, the goog deps definitions and then a bunch of goog.requires. For a sample experience: git clone https://github.com/thheller/todo-cljs.git cd todo-cljs lein run -m build/dev open public/index.html you may edit src/cljs/todo-cljs/app.cljs for auto recompiles while lein is running. see the generated public/assets/cljs/app.js or for advanced output do: lein run -m build/production In both cases the index.html does not care wether we are working with optimized output, it just works (with source maps too). IMHO this is a huge improvement over the current situation but I'm obviously biased. Cheers, /thomas -- 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 clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at http://groups.google.com/group/clojurescript.