Babel plugin for Taskr.
$ npm install --save-dev @taskr/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 * (task) {
yield task.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 * (task) {
yield task.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 * (task) {
yield task.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', {...}]
//=> ]
//=> }
}
Any issues or questions can be sent to the Taskr monorepo.
Please be sure to specify that you are using @taskr/babel.
MIT © Luke Edwards