Registry / devops / esmangle

esmangle

JSON →
library1.0.1jsnpmunverified

ESMangle is an ECMAScript code mangler/minifier that operates on Mozilla Parser API AST. Version 1.0.1 (final release, 2012) is stable but deprecated; no new releases in over a decade, superseded by tools like UglifyJS and Terser. It provides functions `mangle`, `optimize`, and CLI command `esmangle`. Key differentiator: AST-based mangling using a resolution algorithm derived from bytecode compiler iv/lv5/railgun. Requires complementary AST tools `esprima` (parse) and `escodegen` (generate). Not maintained; security and compatibility risks.

npm install esmangle
INSTALL
IMPORT
SIG · ESMANGLE
E
esmangle
devopsjavascriptv1.0.1
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.

mangle
import { mangle } from 'esmangle'
const mangle = require('esmangle').mangle
ESM-style import works with bundlers supporting named exports from CJS modules.
optimize
import { optimize } from 'esmangle'
const optimize = require('esmangle/optimize')
Common destructuring or named import preferred; no subpath exports.
default import (entire module)
import esmangle from 'esmangle'
const esmangle = require('esmangle')
Default import works if using a bundler that assigns `module.exports` object; Node require also works.

Parses code with esprima, runs esmangle optimize and mangle, then generates minified output with escodegen.

import { parse } from 'esprima'; import { mangle, optimize } from 'esmangle'; import { generate } from 'escodegen'; const code = 'function add(a, b) { return a + b; }'; const ast = parse(code); const optimized = optimize(ast, null); const mangled = mangle(optimized); const result = generate(mangled, { format: { renumber: true, hexadecimal: true, escapeless: true, compact: true, semicolons: false, parentheses: false } }); console.log(result); // Example output: 'function add(a,b){return a+b}' but with mangled names like n,o
Debug
Known issues
deprecatedesmangle is unmaintained since 2012 and superseded by Terser and UglifyJS.
fix
Migrate to Terser or UglifyJS for modern JavaScript minification.
affects: >=0.1.0
gotchaesmangle only mangles AST; it does not parse or generate code. Requires esprima and escodegen as separate dependencies.
fix
Install esprima and escodegen alongside esmangle.
affects: >=1.0.0
gotchaESM imports may fail in strict Node.js ESM environments as esmangle is a CJS-only package without named export mapping.
fix
Use require('esmangle') or a bundler that interops CJS exports.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'esprima'
esmangle requires esprima to parse code but does not list it as a dependency.
fix
npm install esprima
Cannot find module 'escodegen'
esmangle requires escodegen to generate code but does not list it as a dependency.
fix
npm install escodegen
esmangle.mangle is not a function
Incorrect import path or missing export; esmangle exports mangle as named export.
fix
Use const { mangle } = require('esmangle'); or import { mangle } from 'esmangle';
Upgrade
Version history
1.0.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
4 hits · last 30 days
node
4
Resources
esmangle — npm install esmangle · libregistry