IMHO :foreign-libs do too many things these days and its not clear what to 
use when or how. This feature is alpha so I expect that everything will be 
sorted out properly in the future. I fully expect the "flaws" to be 
addressed.

:foreign-libs used to refer to "foreign JS" that was not processed in any 
way and just got prepended which was a great solution at the time and had a 
gigantic impact overall. It has some scaling issues but overall it works 
well.

The biggest flaw I saw was related to mixing :foreign-libs and :npm-deps. 
One library may be using cljsjs.react (aka foreign lib) while a newer one 
maybe using "react" via :npm-deps. This would lead to a situation where you 
had 2 React instances in your page. Since everything also happens at the 
classpath level there was no proper way to "configure" it besides 
moving/deleting your node_modules folder which I think is pretty odd. 
Again: this will probably be fixed.

I didn't like some of the decisions that were made and decided to build 
something on my own to address the issues I saw in my own code/project. 
YMMV.

> The CLJS file is using JS and the JS file is using CLJS. 100% full 
interop.

This is my goal and I'm close to achieving it.

Cheers,
/thomas

PS: Someone started some boot related work started recently:
https://github.com/jgdavey/boot-shadow-cljs

PPS: I wrote some posts about my motivations and the implementation details 
in case you are interested.
https://code.thheller.com/blog/shadow-cljs/2017/09/15/js-dependencies-the-problem.html
https://code.thheller.com/blog/shadow-cljs/2017/09/15/js-dependencies-going-forward.html
https://code.thheller.com/blog/shadow-cljs/2017/11/10/js-dependencies-in-practice.html

-- 
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