Fly plugin for Babel
JavaScript
Latest commit 0a31337 Oct 21, 2016 @lukeed lukeed use spaces within readme
Permalink
Failed to load latest commit information.
test rework tests; add preload+preset test Oct 21, 2016
.editorconfig
.gitignore Babel for Fly Jul 6, 2015
.travis.yml
index.js (preload) ensure adv entries not lost Oct 21, 2016
license update readme & license Oct 21, 2016
package.json
readme.md

readme.md

fly-babel

Babel plugin for Fly.

Install

npm install --save-dev fly-babel

API

.babel(options)

All Babel options can be found here.

Note: For most cases, you only to think about presets, plugins, sourceMaps, minified, comments, and/or babelrc.

options.preload

Type: boolean
Default: false

Automatically loads all babel-related plugins & presets from package.json. Will also auto-configure Babel to use these packages. See the example for more.

Usage

Basic

exports.default = function * () {
  yield this.source('src/**/*.js')
    .babel({
      presets: ['es2015']
    })
    .target('dist/js')
}

Source Maps

You can create source maps for each file.

Passing true will create an external .map file. You may also use 'inline' or 'both'. Please see the Babel options for more information.

exports.default = function * () {
  yield this.source('src/**/*.js')
    .babel({
      presets: ['es2015'],
      sourceMaps: true //=> external; also 'inline' or 'both'
    })
    .target('dist/js')
}

Preloading

For the especially lazy, you may "preload" all babel-related presets and plugins defined within your package.json. This spares you the need to define your presets and plugins values manually.

Note: If you require a complex configuration, you need to define that manually. While other plugins & presets will continue to "preload", your manual definitions will not be lost.

exports.default = function * () {
  yield this.source('src/**/*.js')
    .babel({
      preload: true,
      plugins: [
        // complex plugin definition:
        ['transform-async-to-module-method', {
          'module': 'bluebird',
          'method': 'coroutine'
        }]
      ]
    })
    .target('dist');
  //=> after preloading:
  //=>   {
  //=>     presets: ['es2015'],
  //=>     plugins: [
  //=>       'transform-class-properties',
  //=>       ['transform-async-to-module-method', {...}]
  //=>     ]
  //=>   }
}

License

MIT © FlyJS