Skip to content

Latest commit

 

History

History

strip

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@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.

Meta

CONTRIBUTING

LICENSE (MIT)