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