Babel plugin for Fly.
npm install --save-dev fly-babel
All Babel options can be found here.
Note: For most cases, you only to think about
presets,plugins,sourceMaps,minified,comments, and/orbabelrc.
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.
exports.scripts = function * (fly) {
yield fly.source('src/**/*.js')
.babel({
presets: ['es2015']
})
.target('dist/js')
}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')
}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', {...}]
//=> ]
//=> }
}MIT © FlyJS