English | 中文
![](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)JavaScript obfuscation
in Vite
projects.node_modules
.node_modules
split chunk.stringArray
is true
.
__vite__mapDeps
array).# Using npm
npm install vite-plugin-bundle-obfuscator -D
# Using pnpm
pnpm add vite-plugin-bundle-obfuscator -D
# Using yarn
yarn add vite-plugin-bundle-obfuscator -D
vite.config.js
Example:
import vitePluginBundleObfuscator from 'vite-plugin-bundle-obfuscator';
const defaultObfuscatorConfig = {
excludes: [],
enable: true,
log: true,
autoExcludeNodeModules: false,
threadPool: false,
options: {
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 1,
deadCodeInjection: false,
debugProtection: false,
debugProtectionInterval: 0,
disableConsoleOutput: false,
identifierNamesGenerator: 'hexadecimal',
log: false,
numbersToExpressions: false,
renameGlobals: false,
selfDefending: true,
simplify: true,
splitStrings: false,
stringArray: false,
stringArrayCallsTransform: false,
stringArrayCallsTransformThreshold: 0.5,
stringArrayEncoding: [],
stringArrayIndexShift: true,
stringArrayRotate: true,
stringArrayShuffle: true,
stringArrayWrappersCount: 1,
stringArrayWrappersChainedCalls: true,
stringArrayWrappersParametersMaxCount: 2,
stringArrayWrappersType: 'variable',
stringArrayThreshold: 0.75,
unicodeEscapeSequence: false,
}
};
export default {
plugins: [
// vitePluginBundleObfuscator()
vitePluginBundleObfuscator(defaultObfuscatorConfig)
]
};
Property Name | Description | Type | Default | Version |
---|---|---|---|---|
threadPool | Configuration for the thread pool. | boolean | ({ enable: true; size: number } | { enable: false }) | false | v1.2.0 |
apply | Apply the plugin only for serve or build, or on certain conditions. | 'serve' | 'build' | ((this: void, config: UserConfig, env: ConfigEnv) => boolean) | build | v1.1.0 |
autoExcludeNodeModules | Enable auto exclude node_modules. | boolean | false | v1.0.9 |
log | Show or hide log output. | boolean | true | v1.0.4 |
enable | Enable or disable the obfuscator. | boolean | true | v1.0.1 |
excludes | Bundle names to be excluded. Starting from v1.0.8, RegExp is supported. | (RegExp | string)[] | [] | v1.0.0 |
options | Options for the JavaScript obfuscator. | ObfuscatorOptions | defaultObfuscatorConfig | v1.0.0 |
MIT License Copyright (c) 2024-present, Zoffy