@farmfe/plugin-strip
🍣 一个Farm Rust插件,用于从你的代码中移除debugger
语句和如assert.equal
、console.log
这样的函数。
要求
这个插件需要一个LTS Node版本(v18.0.0+)和Farm v1.0.0+。
安装
- npm
- yarn
- pnpm
npm install @farmfe/plugin-strip
yarn add @farmfe/plugin-strip
pnpm add @farmfe/plugin-strip
使用
创建一个farm.config.js
配置文件并导入插件:
import { defineConfig } from '@farmfe/core';
import strip from '@farmfe/plugin-strip';
export default defineConfig({
// ...
plugins: [
[
strip({
// 插件选项
functions:[ 'console.*', 'assert.*' ],
labels: ['unittest']
})
]
],
// ...
});
选项
include
类型: String | RegExp | Array[...String|RegExp]
默认值: ['**/*.js']
示例: include: '**/*.(mjs|js)',
指定插件应操作的构建中的文件的模式或模式数组。
exclude
类型: String | RegExp | Array[...String|RegExp]
默认值: []
示例: exlude: 'tests/**/*',
指定插件应_忽略_的构建中的文件的模式或模式数组。
debugger
类型: Boolean
默认值: true
示例: debugger: false,
如果为true
,指示插件移除debugger语句。
functions
类型: Array[...String]
默认值: [ 'console.*', 'assert.*' ]
示例: functions: [ 'console.log', 'MyClass.Test' ],
指定插件将目标定位和移除的函数。
注意:指定在链的开头使用的函数,如'a().b().c()',将导致'(void 0).b().c()',这在运行时会产生错误。
labels
类型: Array[...String]
默认值: []
示例: labels: ['unittest'],
指定插件将目标定位和移除的带标签的块或语句。
注意:':'是隐含的,不应在配置中指定。
sourceMap
类型: Boolean
默认值: true
示例: sourceMap: false,
如果为true
,指示插件在从捆绑包中移除配置的目标后相应地更新源映射。