@farmfe/plugin-strip
v0.0.6
Published
🍣 A Farm rust plugin to remove `debugger` statements and functions like `assert.equal` and `console.log` from your code.
Downloads
5,094
Readme
@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+.
Install
Using npm:
npm i @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-darwin-arm64';
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.