@farmfe/plugin-strip
đŖ A Farm rust plugin to remove debugger
statements and functions like assert.equal
and console.log
from your code.
Requirementsâ
This plugin requires an LTS Node version (v18.0.0+) and Farm v1.0.0+.
Installationâ
- npm
- yarn
- pnpm
npm install @farmfe/plugin-strip
yarn add @farmfe/plugin-strip
pnpm add @farmfe/plugin-strip
Usageâ
Create a farm.config.js
configuration file and import the plugin:
import { defineConfig } from '@farmfe/core';
import strip from '@farmfe/plugin-strip';
export default defineConfig({
// ...
plugins: [
[
strip({
// plugin options
functions:[ 'console.*', 'assert.*' ],
labels: ['unittest']
})
]
],
// ...
});
Optionsâ
include
â
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.
exclude
â
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.
debugger
â
Type: Boolean
Default: true
Example: debugger: false,
If true
instructs the plugin to remove debugger statements.
functions
â
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.
labels
â
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.
sourceMap
â
Type: Boolean
Default: true
Example: sourceMap: false,
If true
, instructs the plugin to update source maps accordingly after removing configured targets from the bundle.