Hey, had a bit of time thinking about things.
"deps.cljs" seems like a band aid to be honest, it might be better than without but I imagine we run into all sorts of issues in the future. In my projects I use CodeMirror quite frequently with a handcrafted (sort of incomplete) externs.js. To get everything working on the page I need to include the externs.js into my build and then load the codemirror.js (+ all modes and css) manually in the HTML, before my optimized CLJS. What happens if another CLJS library uses a different CodeMirror version than mine? Say v3 vs v4? The externs are not compatible (well almost), but I basically cannot use that library without running into issues. I thought we might exploit the maven/leiningen ecosystem. Say someone released a [someone/codemirror-4.7.1], another library could still depend on 4.1.1 but maven will resolve that for us. The artifact itself could include a library.edn that describes it to the compiler (externs, preamble, provides, requires, variants, ...). We'd just need a way to tell the cljs compiler to include "library" codemirror with variants html-mode, css-mode and others so the can emit the correct preamble and include the externs in the optimization. Not sure how the library.edn would look but we should be able to figure this out. Of course that would require that someone takes to time to update and release javascript packages as a jar. But David is already doing that with [com.facebook/react "0.11.2"], maybe github+clojars is already a good enough platform to handle this. Just my 2 cents, /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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
