Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/taskrjs/fly-babel
Fly plugin for Babel
https://github.com/taskrjs/fly-babel
babel fly
Last synced: about 2 hours ago
JSON representation
Fly plugin for Babel
- Host: GitHub
- URL: https://github.com/taskrjs/fly-babel
- Owner: taskrjs
- License: mit
- Created: 2015-06-30T14:50:16.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-05-10T03:18:49.000Z (over 3 years ago)
- Last Synced: 2024-11-02T05:38:30.768Z (5 days ago)
- Topics: babel, fly
- Language: JavaScript
- Homepage:
- Size: 124 KB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# fly-babel [![][travis-badge]][travis-link]
> [Babel](http://babeljs.io) plugin for Fly.
## Install
```
npm install --save-dev fly-babel
```## API
### .babel(options)
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`.
#### 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](#preloading) for more.
## Usage
#### Basic
```js
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](http://babeljs.io/docs/usage/options/) for more information.
```js
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](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 * (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](https://www.github.com/flyjs/fly)
[travis-link]: https://travis-ci.org/flyjs/fly-babel
[travis-badge]: http://img.shields.io/travis/flyjs/fly-babel.svg?style=flat-square