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 esbuildObfuscator from 'esbuild-obfuscator'
✗ const esbuildObfuscator = require('esbuild-obfuscator')
The package is ESM-only and exports a default function. CJS require() will fail.
esbuildObfuscator
✓ import esbuildObfuscator from 'esbuild-obfuscator'
✗ import { esbuildObfuscator } from 'esbuild-obfuscator'
The package has a default export, not a named export. Named import results in undefined.
type Options
✓ import type { Options } from 'esbuild-obfuscator'
TypeScript users may need to import the Options type for plugin configuration. It is exported as a named type.
Shows how to use esbuild-obfuscator as an esbuild plugin with basic configuration options.
import esbuild from 'esbuild';
import esbuildObfuscator from 'esbuild-obfuscator';
await esbuild.build({
entryPoints: ['app.js'],
bundle: true,
outfile: 'out.js',
plugins: [
esbuildObfuscator({
compact: true,
controlFlowFlattening: true
})
]
});
Debug
Known issues
breakingPeer dependency esbuild ^0.24.0 is required; versions below 0.24.0 are unsupported and may cause runtime errors.fixUpgrade esbuild to ^0.24.0 or later.
affects: <0.24.0
gotchaThe plugin exports a default function, not named exports. Attempting to import as { esbuildObfuscator } will result in undefined.fixUse default import: import esbuildObfuscator from 'esbuild-obfuscator'.
affects: >=0.0.0
gotchaObfuscation can significantly increase bundle size and reduce performance. Use with caution in production builds.fixConsider using obfuscation only for release builds and test thoroughly.
affects: >=0.0.0
gotchaThe plugin does not handle source maps automatically; obfuscated output may break source map integrity.fixDisable source maps or process separately if needed.
affects: >=0.0.0
deprecatedNo known deprecations at this time.
Errors
Common errors & fixes
Error: Cannot find module 'esbuild-obfuscator'
Package not installed or not resolved correctly (e.g., using require in ESM context).
fixInstall the package: npm install esbuild-obfuscator. Ensure you are using import syntax in an ESM project.
TypeError: esbuildObfuscator is not a function
Named import used instead of default import (e.g., import { esbuildObfuscator } from 'esbuild-obfuscator').
fixUse default import: import esbuildObfuscator from 'esbuild-obfuscator'.
Error: The plugin "esbuild-obfuscator" is not compatible with this version of esbuild
esbuild version does not satisfy the peer dependency requirement (^0.24.0).
fixUpgrade esbuild to ^0.24.0 or later.
Audit
Dependencies
esbuildrequiredPeer dependency: requires esbuild ^0.24.0 to function as a plugin
javascript-obfuscatorrequiredRuntime dependency: core obfuscation engine used by the plugin