fly-babel

Babel plugin for Fly

Usage no npm install needed!

<script type="module">
  import flyBabel from 'https://cdn.skypack.dev/fly-babel';
</script>

README

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