A Vite/Rollup plugin for JavaScript obfuscation using javascript-obfuscator
npm install rollup-obfuscator-pluginbash
npm install rollup-obfuscator-plugin --save-dev
`
Usage
$3
`javascript
// vite.config.js
import { defineConfig } from "vite";
import obfuscator from "rollup-obfuscator-plugin";
export default defineConfig({
plugins: [
obfuscator({
compact: true,
controlFlowFlattening: true,
}),
],
});
`
$3
`javascript
// rollup.config.js
import obfuscator from "rollup-obfuscator-plugin";
export default {
input: "src/index.js",
output: {
file: "dist/bundle.js",
format: "cjs",
},
plugins: [
obfuscator({
compact: true,
controlFlowFlattening: true,
}),
],
};
`
Configuration
The plugin accepts all options from javascript-obfuscator.
$3
`javascript
obfuscator({
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 0.75,
deadCodeInjection: true,
deadCodeInjectionThreshold: 0.4,
stringArray: true,
stringArrayThreshold: 0.75,
stringArrayEncoding: ["base64"],
});
`
$3
`javascript
obfuscator({
sourceMap: true,
sourceMapMode: "separate", // or 'inline'
});
``