Registry / devops / rollup-plugin-javascript-obfuscator

rollup-plugin-javascript-obfuscator

JSON →
library1.0.4jsnpmunverified

A Rollup plugin that uses javascript-obfuscator to obfuscate bundled JavaScript code. Version 1.0.4 (latest) wraps javascript-obfuscator v4.x, allowing control over obfuscation options directly in the Rollup build pipeline. It supports source maps (inline or separate) and enables protection of emitted code with minimal setup. Differentiates by tightly integrating obfuscation within the bundle output, rather than requiring a separate post-build step.

npm install rollup-plugin-javascript-obfuscator
INSTALL
IMPORT
SIG · ROLLUP-PLUGIN-JAVA
R
rollup-plugin-javascript-obfuscator
devopsjavascriptv1.0.4
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

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

obfuscatorPlugin
import obfuscatorPlugin from 'rollup-plugin-javascript-obfuscator'
import { obfuscatorPlugin } from 'rollup-plugin-javascript-obfuscator'
Default export, not named. Use this for ESM.
obfuscatorPlugin (require)
const obfuscatorPlugin = require('rollup-plugin-javascript-obfuscator')
const { obfuscatorPlugin } = require('rollup-plugin-javascript-obfuscator')
For CommonJS environments like Node.js with CJS.
rollup
import { rollup } from 'rollup'
import rollup from 'rollup'
Rollup main export is named, not default.

Complete Rollup build pipeline with obfuscation plugin applied to ES module bundle.

import { rollup } from 'rollup'; import obfuscatorPlugin from 'rollup-plugin-javascript-obfuscator'; async function build() { const bundle = await rollup({ input: 'src/index.js', plugins: [ obfuscatorPlugin({ compact: true, controlFlowFlattening: false, stringArrayEncoding: ['base64'] }) ] }); await bundle.write({ file: 'dist/bundle.js', format: 'esm' }); } build().catch(console.error);
Debug
Known issues
gotchaObfuscation can significantly increase bundle size and reduce runtime performance
fix
Use obfuscator options judiciously; avoid high-complexity transforms like controlFlowFlattening if performance is critical
affects: >=0.0.0
breakingThe plugin expects javascript-obfuscator v4.x. Install it explicitly if not already present.
fix
npm install --save-dev javascript-obfuscator@^4.0.0
affects: >=1.0.0
deprecatedThe 'entry' option used in example README is deprecated in Rollup v2+
fix
Replace 'entry' with 'input'
affects: >=0.66.0
gotchaSource maps may not work correctly if obfuscation corrupts mappings
fix
Test with source map enabled; use inline source maps for simpler setup
affects: >=0.0.0
breakingThe package does not export TypeScript definitions
fix
Create a custom declaration file or use @ts-ignore
affects: >=1.0.0
Errors
Common errors & fixes
Error: Cannot find module 'javascript-obfuscator'
Missing peer dependency
fix
npm install --save-dev javascript-obfuscator
TypeError: obfuscatorPlugin is not a function
Incorrect import (named instead of default)
fix
Use default import: import obfuscatorPlugin from 'rollup-plugin-javascript-obfuscator'
Error: The 'entry' option is deprecated. Use 'input' instead.
Used deprecated Rollup option 'entry'
fix
Replace 'entry' with 'input' in your rollup configuration
Upgrade
Version history
1.0.4latest on npm
Audit
Dependencies
javascript-obfuscatorrequiredcore obfuscation engine, version >=4.0.0 is required
rollupoptionalpeer dependency, plugin runs in Rollup build lifecycle
Agent activity
6 hits · last 30 days
node
4
Resources
rollup-plugin-javascript-obfuscator — npm install rollup-plugin-javascript-obfuscator · libregistry