---
title: "@farmfe/plugin-strip"
locale: "en"
version: "1.x"
canonicalUrl: "https://farmfe.org/docs/1.x/plugins/official-plugins/strip"
publicationStatus: "prerelease"
---

<a id="farmfeplugin-strip"></a>
# @farmfe/plugin-strip


🍣 A Farm rust plugin to remove ` debugger ` statements and functions like ` assert.equal ` and ` console.log ` from your code.


<a id="requirements"></a>
## Requirements


This plugin requires an [LTS](<https://github.com/nodejs/Release>) Node version (v18.0.0+) and Farm v1.0.0+.


<a id="installation"></a>
## Installation


**npm**

```javascript
npm install @farmfe/plugin-strip
```


**yarn**

```javascript
yarn add @farmfe/plugin-strip
```


**pnpm**

```javascript
pnpm add @farmfe/plugin-strip
```



<a id="usage"></a>
## Usage


Create a ` farm.config.js ` [configuration file](<https://www.farmfe.org/docs/config/configuring-farm>) and import the plugin:


```js
import { defineConfig } from '@farmfe/core';
import strip from '@farmfe/plugin-strip';

export default defineConfig({
  // ...
  plugins: [
    [
      strip({
        // plugin options
        functions:[ 'console.*', 'assert.*' ],
        labels: ['unittest']
      })
    ]
  ],
  // ...
});
```


<a id="options"></a>
## Options


<a id="include"></a>
### ` 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.


<a id="exclude"></a>
### ` 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*.


<a id="debugger"></a>
### ` debugger `


Type: ` Boolean `  

Default: ` true `  

Example: ` debugger: false, `


If ` true ` instructs the plugin to remove debugger statements.


<a id="functions"></a>
### ` 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.*


<a id="labels"></a>
### ` labels `


Type: ` Array[...String] `  

Default: ` [] `  

Example: ` labels: ['unittest'], `


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


<a id="sourcemap"></a>
### ` 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.
