ClojureScript has put immense focus on building bridges to the current JavaScript ecosystem in 2017. Stemming from the work started in the 2015 Google Summer of Code project, ClojureScript is not only aware of popular JavaScript module formats, but can now integrate seamlessly with popular package managers that host them.
This pushes ClojureScript’s interoperability with the host even further, at last enabling sophisticated optimizations such as dead-code elimination and cross-module code motion across JavaScript sources. What’s more, it allows current ClojureScript libraries to adopt this newly introduced support in a way that guarantees a backwards compatible transition path from the previous foreign integration model.
Code splitting support for ClojureScript applications has also been revamped, with added first class support, which accounts for great improvements in developer experience by letting the ClojureScript compiler perform the hard work of computing the split points across namespaces.
This talk is an insider’s perspective on why these new features are a stepping stone in ClojureScript’s history, and how teams can fully utilize ClojureScript’s pragmatic approach to simplicity to build advanced applications by leveraging a project that is arguably ahead of most JavaScript tooling and best practices.