On Sun, Jul 30, 2017 at 4:01 PM, Leon Grapenthin <grapenthinl...@gmail.com>
wrote:

> Yes, it does make CLJSJS obsolete and the new method is to include Node
> modules from NPM.
>
>
This is not true and we should avoid disseminating such claims.


> CLJSJS was never the one true way, especially for production. It lacked
> deduplication of transitive dependencies that were not packed per CLJSJS
> and of course support for dependencies that where are not included in
> CLJSJS.
> It was nice to get started quickly, but in production one compiled its own
> bundle of js deps e. g. via webpack, and handwritten (or handcopypasted)
> externs.
>
> As a newcomer, you won't have to deal with all that in the future, which
> is one of the many benefits of this release.
>
> Nonetheless this new functionality will probably take an iteration or two
> until its stable.
>

Total elimination of externs is just a non-goal. In some cases you will
either need to engage with a JavaScript library maintainer to avoid
needlessly dynamic code or supply externs. For example React still needs
like 6 externs to work from node_modules under advanced compilation. This
could be avoided with a diplomatic PR.

Part of the rationale for this change is encourage ClojureScript developers
to engage more directly with the wider JavaScript ecosystem and push
library maintainers to make their libraries Closure compatible as the
changes are often trivial, especially for modern JS libraries written in
ES6.

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 clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to