Registry / devops / esbuild-obfuscator-plugin

esbuild-obfuscator-plugin

JSON →
library0.0.5jsnpmunverified

A plugin for esbuild that integrates JavaScript code obfuscation into the build pipeline. Version 0.0.5, actively developed with no regular release cadence. Differentiates by providing simple configuration via esbuild plugins, supporting various obfuscation options like control flow flattening and string encoding. Primarily used for protecting frontend code. Ships TypeScript types.

npm install esbuild-obfuscator-plugin
INSTALL
IMPORT
SIG · ESBUILD-OBFUSCATOR
E
esbuild-obfuscator-plugin
devopsjavascriptv0.0.5
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 'esbuild-obfuscator-plugin'
const obfuscatorPlugin = require('esbuild-obfuscator-plugin')
Package is ESM-only. CommonJS require will fail.
obfuscatorPlugin
import obfuscatorPlugin from 'esbuild-obfuscator-plugin'
import { obfuscatorPlugin } from 'esbuild-obfuscator-plugin'
The package exports a default function, not a named export.
ObfuscatorOptions
import type { ObfuscatorOptions } from 'esbuild-obfuscator-plugin'
Type import for TypeScript users; runtime import is not needed.

Bundles a JavaScript file with esbuild and obfuscates the output using control flow flattening and base64 string array encoding.

import obfuscatorPlugin from 'esbuild-obfuscator-plugin'; import esbuild from 'esbuild'; await esbuild.build({ entryPoints: ['src/index.js'], bundle: true, outfile: 'dist/bundle.js', plugins: [obfuscatorPlugin({ controlFlowFlattening: true, stringArrayEncoding: ['base64'] })], });
Debug
Known issues
breakingPlugin only works with esbuild's build API, not transform API.
fix
Use esbuild.build() instead of esbuild.transform().
affects: >=0.0.0
gotchaObfuscation can significantly increase bundle size and degrade runtime performance.
fix
Test obfuscation on realistic builds and consider performance impact.
affects: >=0.0.0
gotchaSource maps become inaccurate after obfuscation.
fix
Set sourcemap: false in esbuild config if source maps are not needed.
affects: >=0.0.0
breakingPlugin is ESM-only; CommonJS require() throws an error.
fix
Use import syntax or dynamic import().
affects: >=0.0.0
deprecatedOptions like `seed` and `options` are deprecated in favor of top-level fields.
fix
Pass obfuscation options directly as shown in the quickstart.
affects: 0.0.4
Errors
Common errors & fixes
const obfuscatorPlugin = require('esbuild-obfuscator-plugin');
Package is ESM-only, not compatible with CommonJS require.
fix
Use dynamic import: import obfuscatorPlugin from 'esbuild-obfuscator-plugin';
Error: The obfuscator plugin must be used with esbuild.build(), not esbuild.transform().
Plugin is designed for build API only.
fix
Use esbuild.build() with the plugin in the plugins array.
TypeError: obfuscatorPlugin is not a function
Default import used incorrectly as a named import.
fix
Ensure import is default: import obfuscatorPlugin from 'esbuild-obfuscator-plugin';
Upgrade
Version history
0.0.5latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency; the plugin requires esbuild to function.
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
esbuild-obfuscator-plugin — npm install esbuild-obfuscator-plugin · libregistry