broccoli filter for es6 modules


Transpile modules authored in ES6 to other module types.

npm install --save broccoli-es6-module-filter
var filterES6Modules = require('broccoli-es6-module-filter');
var pickFiles = require('broccoli-static-compiler');
module.exports = function (broccoli) {
  // say we're creating a third-party component, we'd house our 
  // source code in './lib' 
  var tree = broccoli.makeTree('lib');
  // create a CJS version 
  var cjsTree = filterES6Modules(pickFiles(tree, {
    srcDir: '/',
    destDir: '/cjs'
  // and AMD 
  var amdTree = filterES6Modules(pickFiles(tree, {
    srcDir: '/',
    destDir: '/amd'
  }), {
    moduleType: 'amd'
  return [cjsTree, amdTree];

And then from the command line:

$ broccoli build output
  • moduleType - amd or cjs
  • anonymous - for amd output, whether or not to name your modules.
  • packageName - for named-amd output, prepends packageName/ to your module names
  • main - for named-amd output, which file is the main entry point of your module that will be returned with require(['your-package'])
  • every other option supported by the transpiler