I am using StealJS for almost two years now for a number of projects. IMHO its the best option to work with ES6 (especially that you can debug in browser against the original ES6 source code), but also it supports other formats (CommonJS, AMD) and can load other stuff (like CSS, LESS/SASS, CoffeeScript, etc).
StealJS is a fork of SystemJS and has all its features, and also is a bundler.
Glad that finally it reached the 1.0 milestone!
> Furthermore, supporting many module formats is unlikely a perk for any dev team
Here are two real usecases for a multi-format loader:
- What about an existing project, that can be already in one format, and team decides to switch to a different one?
- Also, bower component formats could be different from yours.
Yesterday I read this article and felt myself out of the modern development stream, like "stuck in early 2000 with script and link tags". I use RequireJS a lot, but haven't heard about css/less and template loaders before (yes, you can import a LESS file into a module with one line as a dependency).
StealJS optimizes caching and resource requests. It uses "two pass bundling algorithm" to combine dependencies/modules into bundles in the most effective way (watch the 1st 4minute video in the article about it). If you heard about WebPack, you know what a module bundler is. StealJS does even more in this direction.
It was designed to support a "modlet" workflow (watch the 2nd 6 minute video about this).
Works well for progressively or statically loaded sites.
Another major difference from other module loaders (like RequireJS) is that StealJS can import modules from any format (AMD, CommonJS, ES6) and import to any format.