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.