Skip to documentation

package

@stackline/uglify-js 1.0.6 — installation and API

UglifyJS 2-compatible JavaScript minification with a synchronous API and legacy command-line options

Install @stackline/uglify-js

npm install @stackline/[email protected]

Package version: 1.0.6. Metadata verified: 2026-11-12. This is separate from the framework version and demonstration runtime.

Node.js requirement
{"node": "^20.19.0 || ^22.12.0 || >=24"}
Accepted peer dependencies (declared ranges)
{}

Tested environments are described in the versioned README and linked source checks. A declared peer range is not evidence that every version in it was tested.

Versioned reference

This reference comes from the published @stackline/[email protected] README. Its upstream attribution and license remain with the source. Benchmark and security statements describe the cited tests and advisories, not a guarantee for every application.

@stackline/uglify-js

UglifyJS 2-compatible JavaScript minification with a synchronous API and legacy command-line options.

Documentation | npm | Issues | Repository

Current package version: 1.0.6


Why this package?

This maintained compatibility fork of @sheetjs/[email protected] preserves the UglifyJS 2 parser, compressor, mangler, synchronous API, and legacy command-line options.

Version 1.0.0 fixed a hashbang/preamble ordering bug: an input beginning with #!/usr/bin/env node keeps that interpreter line first when a build or license preamble is supplied. This follows upstream issue #1332, reproduced against the published SheetJS fork. The SheetJS fork's forced semicolons and source-map serialization compatibility are retained.

File-pattern matching also escapes literal regular-expression characters correctly. In the file-based API, a basename containing a pipe or POSIX backslash no longer selects unrelated files or produces an invalid regular expression. The existing * and ? wildcard behavior is retained.

Source maps use the synchronous source-map-js API; the original Browserify transformer is included with its MIT attribution. Modern Yargs loads asynchronously only at CLI startup. minify, parsing, and the other library APIs remain synchronous.

Compatibility

Item Value
Package @stackline/[email protected]
Supported Node.js ^20.19.0 || ^22.12.0 || >=24
Module entry tools/node.js (CommonJS)
Runtime dependencies 3 direct dependencies; optional Acorn parser
CLI uglifyjs

The optional --acorn parser is installed by default and parses the ES5 input accepted by this compatibility release. This package retains UglifyJS 2 syntax and options; it does not add a modern JavaScript compressor.

Installation

npm install --save-dev @stackline/uglify-js

Usage

const UglifyJS = require('@stackline/uglify-js');
const result = UglifyJS.minify('function twice(n) { return n * 2; }', {
  fromString: true
});
console.log(result.code);

The uglifyjs executable retains legacy build syntax:

uglifyjs input.js --support-ie8 -m \
  --source-map output.js.map --preamble '/* Build */' -o output.js

Security

This compatibility line retains the UglifyJS 2 language surface. File-pattern matching escapes literal regular-expression characters; supplied code is parsed and transformed by the legacy compressor.

API Surface

The full historical options and API reference are preserved in README.upstream.md. The compatibility notes above describe changes in the maintained package.

Local Development

Clone the repository and run the following commands from its root:

npm ci
npm test

The suite checks the API, command-line options, source maps, property extraction, and Browserify transformer. Browserify output is exercised in a JavaScript VM; this does not establish compatibility with every browser or bundler.

Release Checklist

  1. Update the package version, lockfile, generated version fields, and changelog together.
  2. Run the development checks above and audit both npm audit and npm audit --omit=dev.
  3. Use the GitHub publish workflow with its Prod environment to publish the exact CI tarball.
  4. Verify public npm bytes, package identity, provenance, and the immutable GitHub release evidence.

License

BSD-2-Clause. Original copyright notices and upstream attribution are retained.

See UPSTREAM.md for the exact source artifact and THIRD_PARTY_NOTICES.md for bundled helper attribution.

Dependency maintenance for this release is documented in DEPENDENCY_UPDATES.md.

Credits and original authors

Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.

Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.