@rollup/plugin-strip
Version:
Remove debugger statements and functions like assert.equal and console.log from your code
108 lines (70 loc) ⢠2.94 kB
Markdown
[npm]: https://img.shields.io/npm/v/@rollup/plugin-strip
[npm-url]: https://www.npmjs.com/package/@rollup/plugin-strip
[size]: https://packagephobia.now.sh/badge?p=@rollup/plugin-strip
[size-url]: https://packagephobia.now.sh/result?p=@rollup/plugin-strip
[![npm][npm]][npm-url]
[![size][size]][size-url]
[](https://liberamanifesto.com)
# @rollup/plugin-strip
š£ A Rollup plugin to remove `debugger` statements and functions like `assert.equal` and `console.log` from your code.
## Requirements
This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v14.0.0+) and Rollup v1.20.0+.
## Install
Using npm:
```console
npm install @rollup/plugin-strip --save-dev
```
## Usage
Create a `rollup.config.js` [configuration file](https://www.rollupjs.org/guide/en/#configuration-files) and import the plugin:
```js
import strip from '@rollup/plugin-strip';
export default {
input: 'src/index.js',
output: {
dir: 'output',
format: 'cjs'
},
plugins: [
strip({
labels: ['unittest']
})
]
};
```
Then call `rollup` either via the [CLI](https://www.rollupjs.org/guide/en/#command-line-reference) or the [API](https://www.rollupjs.org/guide/en/#javascript-api).
## Options
### `include`
Type: `String | RegExp | Array[...String|RegExp]`<br>
Default: `['**/*.js']`<br>
Example: `include: '**/*.(mjs|js)',`<br>
A pattern, or array of patterns, which specify the files in the build the plugin should operate on.
### `exclude`
Type: `String | RegExp | Array[...String|RegExp]`<br>
Default: `[]`<br>
Example: `exlude: 'tests/**/*',`<br>
A pattern, or array of patterns, which specify the files in the build the plugin should _ignore_.
### `debugger`
Type: `Boolean`<br>
Default: `true`<br>
Example: `debugger: false,`<br>
If `true` instructs the plugin to remove debugger statements.
### `functions`
Type: `Array[...String]`<br>
Default: `[ 'console.*', 'assert.*' ]`<br>
Example: `functions: [ 'console.log', 'MyClass.Test' ],`<br>
Specifies the functions that the plugin will target and remove.
_Note: specifying functions that are used at the begining of a chain, such as 'a().b().c()', will result in '(void 0).b().c()' which will generate an error at runtime._
### `labels`
Type: `Array[...String]`<br>
Default: `[]`<br>
Example: `labels: ['unittest'],`<br>
Specifies the [labeled blocks or statements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label) that the plugin will target and remove.
_Note: the '**:**' is implied and should not be specified in the config._
### `sourceMap`
Type: `Boolean`<br>
Default: `true`<br>
Example: `sourceMap: false,`<br>
If `true`, instructs the plugin to update source maps accordingly after removing configured targets from the bundle.
## Meta
[CONTRIBUTING](/.github/CONTRIBUTING.md)
[LICENSE (MIT)](/LICENSE)