🍣 A Rollup plugin to remove debugger
statements and functions like assert.equal
and console.log
from your code.
This plugin requires an LTS Node version (v8.0.0+) and Rollup v1.20.0+.
Using npm:
npm install @rollup/plugin-strip --save-dev
Create a rollup.config.js
configuration file and import the plugin:
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 or the API.
Type: String | RegExp | Array[...String|RegExp]
Default: ['**/*.js']
Example: include: '**/*.(mjs|js)',
A pattern, or array of patterns, which specify the files in the build the plugin should operate on.
Type: String | RegExp | Array[...String|RegExp]
Default: []
Example: exlude: 'tests/**/*',
A pattern, or array of patterns, which specify the files in the build the plugin should ignore.
Type: Boolean
Default: true
Example: debugger: false,
If true
instructs the plugin to remove debugger statements.
Type: Array[...String]
Default: [ 'console.*', 'assert.*' ]
Example: functions: [ 'console.log', 'MyClass.Test' ],
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.
Type: Array[...String]
Default: []
Example: labels: ['unittest'],
Specifies the labeled blocks or statements that the plugin will target and remove.
Note: the ':' is implied and should not be specified in the config.
Type: Boolean
Default: true
Example: sourceMap: false,
If true
, instructs the plugin to update source maps accordingly after removing configured targets from the bundle.