Registry / devops / rollup-plugin-javascript-confuser

rollup-plugin-javascript-confuser

JSON →
library1.0.3jsnpmunverified

Rollup and Vite plugin for js-confuser, providing JavaScript obfuscation with configurable options like debugProtection, string encryption, and control flow flattening. Current version 1.0.3 requires js-confuser ^2.0.0 as a peer dependency. It offers fine-grained include/exclude filtering and is designed for both Rollup and Vite builds. Forked from vite-plugin-javascript-obfuscator, it focuses on ease of integration and flexibility in obfuscation strategies, targeting production builds for code protection.

npm install rollup-plugin-javascript-confuser
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-JAVA
R
rollup-plugin-javascript-confuser
devopsjavascriptv1.0.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
✓ import obfuscatorPlugin from 'rollup-plugin-javascript-confuser'
✗ const obfuscatorPlugin = require('rollup-plugin-javascript-confuser')
ESM-only package; CommonJS require will fail. Use import syntax in Rollup config or ESM-compatible environment.
obfuscatorPlugin
✓ import obfuscatorPlugin from 'rollup-plugin-javascript-confuser'
✗ import { obfuscatorPlugin } from 'rollup-plugin-javascript-confuser'
The package exports a single default function, not a named export.
type ObfuscatorOptions
✓ import type { ObfuscatorOptions } from 'js-confuser'
✗ import { ObfuscatorOptions } from 'rollup-plugin-javascript-confuser'
TypeScript types for options come from js-confuser, not this plugin.

Shows basic integration of rollup-plugin-javascript-confuser into a Rollup config with include/exclude filters and js-confuser options.

// rollup.config.mjs import obfuscatorPlugin from 'rollup-plugin-javascript-confuser'; export default { input: 'src/index.js', output: { dir: 'output', format: 'cjs' }, plugins: [ obfuscatorPlugin({ include: ['src/**/*.js'], exclude: [/node_modules/], options: { debugProtection: true, stringEncoding: true, controlFlowFlattening: 0.75 } }) ] };
Debug
Known issues
gotchaThe plugin expects js-confuser options under the 'options' key, not top-level.
fix
Wrap obfuscation options inside an 'options' object: obfuscatorPlugin({ options: { yourOptions } })
affects: >=1.0.0
gotchaInclude and exclude patterns are evaluated against the file path relative to project root, not the resolved absolute path.
fix
Use relative patterns like 'src/**/*.js' or absolute patterns starting with '/' for project root.
affects: >=1.0.0
breakingVersion 1.x requires js-confuser ^2.0.0 as a peer dependency; earlier js-confuser versions are incompatible.
fix
npm install js-confuser@^2.0.0
affects: >=1.0.0
gotchaThe plugin does not support CommonJS require; it must be imported with ESM import syntax.
fix
Use import or dynamic import in an ESM context. If using require, consider using dynamic import().
affects: >=1.0.0
gotchaThe 'debugger' option is separate from js-confuser options; it only enables logging of matched/excluded files.
fix
Set debugger: true in the plugin config, not inside the options object.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: obfuscatorPlugin is not a function
Attempting to use require on an ESM-only package, or importing incorrectly.
fix
Use import obfuscatorPlugin from 'rollup-plugin-javascript-confuser' in an ESM context.
Error: Cannot find module 'js-confuser'
js-confuser peer dependency is not installed.
fix
Run 'npm install js-confuser' to install the peer dependency.
Invalid options: unknown option 'debugProtection' at top level
Options are not wrapped inside the 'options' object.
fix
Change plugin config to: obfuscatorPlugin({ options: { debugProtection: true } })
AssertionError [ERR_ASSERTION]: include must be Array|String|RegExp|Function
include or exclude is set to an unsupported type (e.g., boolean).
fix
Ensure include/exclude are arrays, strings, regexps, or functions.
Upgrade
Version history
1.0.3latest on npm
Audit
Dependencies
js-confuserrequiredCore obfuscation library; must be installed alongside this plugin.
Agent activity
4 hits · last 30 days
node
4
Resources
rollup-plugin-javascript-confuser — npm install rollup-plugin-javascript-confuser · libregistry