Skip to content

Enhanced JavaScript Module Support

David Nolen edited this page Sep 10, 2015 · 10 revisions

Problem

There are many JavaScript module formats in the wild. The variety of formats present challenges for ClojureScript consumption as ClojureScript is designed to work with Google Closure Compiler. Maria Geller's Google Summer of Code work addressesed fundamental support issues by patching the Closure Compiler as well the ClojureScript compiler. This work allows JavaScript module formats to processed much like the way we process ClojureScript - into Google Closure namespaces. However challenges remain with respect to intuitive usage for the end user. These are some of the issues present today:

  • :module cannot be applied to :libs
  • :libs only supports files or directors, not library specs (maps)
  • :language-in & :language-out cannot be specified at module level
  • missing source mapping support

This page outlines some approaches to potential solutions.

Solutions

Support :module in :libs

Clone this wiki locally