{"id":25308,"library":"esbuild-obfuscator","title":"esbuild-obfuscator","description":"esbuild-obfuscator is an esbuild plugin that integrates javascript-obfuscator to obfuscate JavaScript bundles during the build process. Version 0.0.7 is the latest stable release, with an active but early-stage development cadence. It provides a simple plugin interface compatible with esbuild 0.24.x, and ships TypeScript definitions. Unlike manual post-processing, it automates obfuscation within esbuild's pipeline, reducing build complexity. However, it is a thin wrapper with limited configuration options and no built-in source map handling.","status":"active","version":"0.0.7","language":"javascript","source_language":"en","source_url":"https://github.com/bstrobach/esbuild-obfuscator","tags":["javascript","esbuild","obfuscator","esbuild obfuscator","javascript obfuscator","obfuscation","typescript"],"install":[{"cmd":"npm install esbuild-obfuscator","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-obfuscator","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-obfuscator","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: requires esbuild ^0.24.0 to function as a plugin","package":"esbuild","optional":false},{"reason":"Runtime dependency: core obfuscation engine used by the plugin","package":"javascript-obfuscator","optional":false}],"imports":[{"note":"The package is ESM-only and exports a default function. CJS require() will fail.","wrong":"const esbuildObfuscator = require('esbuild-obfuscator')","symbol":"default","correct":"import esbuildObfuscator from 'esbuild-obfuscator'"},{"note":"The package has a default export, not a named export. Named import results in undefined.","wrong":"import { esbuildObfuscator } from 'esbuild-obfuscator'","symbol":"esbuildObfuscator","correct":"import esbuildObfuscator from 'esbuild-obfuscator'"},{"note":"TypeScript users may need to import the Options type for plugin configuration. It is exported as a named type.","wrong":"","symbol":"type Options","correct":"import type { Options } from 'esbuild-obfuscator'"}],"quickstart":{"code":"import esbuild from 'esbuild';\nimport esbuildObfuscator from 'esbuild-obfuscator';\n\nawait esbuild.build({\n  entryPoints: ['app.js'],\n  bundle: true,\n  outfile: 'out.js',\n  plugins: [\n    esbuildObfuscator({\n      compact: true,\n      controlFlowFlattening: true\n    })\n  ]\n});","lang":"typescript","description":"Shows how to use esbuild-obfuscator as an esbuild plugin with basic configuration options."},"warnings":[{"fix":"Upgrade esbuild to ^0.24.0 or later.","message":"Peer dependency esbuild ^0.24.0 is required; versions below 0.24.0 are unsupported and may cause runtime errors.","severity":"breaking","affected_versions":"<0.24.0"},{"fix":"Use default import: import esbuildObfuscator from 'esbuild-obfuscator'.","message":"The plugin exports a default function, not named exports. Attempting to import as { esbuildObfuscator } will result in undefined.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider using obfuscation only for release builds and test thoroughly.","message":"Obfuscation can significantly increase bundle size and reduce performance. Use with caution in production builds.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Disable source maps or process separately if needed.","message":"The plugin does not handle source maps automatically; obfuscated output may break source map integrity.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"","message":"No known deprecations at this time.","severity":"deprecated","affected_versions":""}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the package: npm install esbuild-obfuscator. Ensure you are using import syntax in an ESM project.","cause":"Package not installed or not resolved correctly (e.g., using require in ESM context).","error":"Error: Cannot find module 'esbuild-obfuscator'"},{"fix":"Use default import: import esbuildObfuscator from 'esbuild-obfuscator'.","cause":"Named import used instead of default import (e.g., import { esbuildObfuscator } from 'esbuild-obfuscator').","error":"TypeError: esbuildObfuscator is not a function"},{"fix":"Upgrade esbuild to ^0.24.0 or later.","cause":"esbuild version does not satisfy the peer dependency requirement (^0.24.0).","error":"Error: The plugin \"esbuild-obfuscator\" is not compatible with this version of esbuild"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}