Fly plugin for Babel
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.editorconfig
.gitignore
.travis.yml
index.js
license
package.json
readme.md
yarn.lock

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.scripts = function * (fly) {
  yield fly.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.scripts = function * (fly) {
  yield fly.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.scripts = function * (fly) {
  yield fly.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