complugin-babel
Version:
complugin to compile bundles with the babel.
131 lines (103 loc) • 3.16 kB
Markdown
[npm]: https://img.shields.io/npm/v/complugin-babel
[npm-url]: https://www.npmjs.com/package/complugin-babel
[size]: https://packagephobia.now.sh/badge?p=complugin-babel
[size-url]: https://packagephobia.now.sh/result?p=complugin-babel
# complugin-babel
[![npm][npm]][npm-url]
[![size][size]][size-url]
🍣 Complugin to compile bundles with the [`babel`](https://www.babeljs.cn/).
## Install
```bash
npm install complugin-babel --save-dev
```
## Options
This plugin respects Babel [configuration files](https://babeljs.io/docs/en/configuration) by default and they are generally the best place to put your configuration.
You can also run Babel on the generated chunks instead of the input files. Even though this is slower, it is the only way to transpile Rollup's auto-generated wrapper code to lower compatibility targets than ES5, see [Running Babel on the generated code](#running-babel-on-the-generated-code) for details.
All options are as per the [Babel documentation](https://babeljs.io/docs/en/options), plus the following:
```ts
interface Options extends Omit<BabelOptions, 'wrapPluginVisitorMethod'> {
/**
* A minimatch pattern, or array of patterns,
* which specifies the files in the build the plugin should ignore.
*
* When relying on Babel configuration files you can only exclude additional files with this option,
* you cannot override what you have configured for Babel itself.
*
* @default [/\.(tsx?|jsx?|mjs)$/i]
*/
include?: (string | RegExp)[]
/**
* A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on.
* When relying on Babel configuration files you cannot include files already excluded there.
*/
exclude?: (string | RegExp)[]
/**
* Cache the transform results of Babel.
*
* @default true
*/
cache?: boolean
/**
* Use worker threads for parallel transformations.
* Enabling parallel mode is only recommended for large projects.
* @default false
*/
parallel?: boolean
}
```
## Usage
##### Vite
```ts
// vite.config.ts
import compluginBabel from 'complugin-babel'
export default {
plugins: [
compluginBabel.vite({
/* options */
})
]
}
```
##### Rollup
```ts
// rollup.config.js
import compluginBabel from 'complugin-babel'
export default {
plugins: [
compluginBabel.rollup({
/* options */
})
]
}
```
##### Webpack
```ts
// webpack.config.js
const compluginBabel = require('complugin-babel').default
module.exports = {
plugins: [
compluginBabel.webpack({
/* options */
})
]
}
```
##### esbuild
```ts
// esbuild.config.js
import _esbuild from 'esbuild'
import { proxyEsbuild } from 'complugin'
import compluginBabel from 'complugin-babel'
// Cannot be omitted
const esbuild = proxyEsbuild(_esbuild)
esbuild.build({
plugins: [
compluginBabel.esbuild({
/* options */
})
]
})
```
## Give a ⭐️ if this project helped you!
## License
[MIT](./LICENSE) License © 2022 xxXyh1908