@taskr/babel
Version:
Babel plugin for Taskr
97 lines (70 loc) • 2.59 kB
Markdown
> Babel plugin for [Taskr](https://github.com/lukeed/taskr).
```
$ npm install --save-dev @taskr/babel
```
All Babel options can be found [here](http://babeljs.io/docs/usage/options/).
> **Note:** For most cases, you only to think about `presets`, `plugins`, `sourceMaps`, `minified`, `comments`, and/or `babelrc`.
Type: `boolean`<br>
Default: `false`
Automatically loads all babel-related plugins & presets from `package.json`. Will also auto-configure Babel to use these packages. See the [example](
```js
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](http://babeljs.io/docs/usage/options/) for more information.
```js
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](http://babeljs.io/docs/plugins/#pluginpresets-options), you need to define that manually. While other plugins & presets will continue to "preload", your manual definitions will not be lost.
```js
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](https://github.com/lukeed/taskr/issues/new).
Please be sure to specify that you are using `@taskr/babel`.
MIT © [Luke Edwards](https://lukeed.com)