awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mishoo avatar

mishoo/UglifyJS2

0
View on GitHub↗
13,392 stars·1,224 forks·JavaScript·19 viewslisperator.net/uglifyjs↗

UglifyJS2

UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions by converting source code into an abstract syntax tree to enable programmatic analysis and transformation, and it includes a dedicated generator for creating associated source maps.

The project optimizes web production builds by compressing script logic and removing unreachable code. It utilizes name mangling to shorten variable and property names and implements a beautifier to reconstruct compressed scripts into a human-readable layout.

The toolset covers broad capability areas including abstract syntax tree transformation, logic compression, and source map composition to link minified production code back to its original source.

Features

  • JavaScript Minification - Implements comprehensive JavaScript minification by removing whitespace and optimizing identifiers to reduce file size.
  • Build and Bundle Optimization - Optimizes web production builds by compressing script logic and removing unreachable code to reduce bundle size.
  • JavaScript Minifiers - Shrinks JavaScript files by removing whitespace and simplifying logic to reduce final bundle size.
  • Recursive Descent Parsers - Implements a recursive descent parser to translate JavaScript source text into a structured syntax tree.
  • Identifier Manglers - Replaces long variable and property identifiers with short sequences using a lookup table to reduce bundle size.
  • AST Transformation Tools - Provides utilities for parsing and transforming JavaScript code via Abstract Syntax Trees.
  • Source Map Generators - Provides utilities for creating source maps that link minified production code back to the original source files.
  • JavaScript Source Parsers - Converts raw JavaScript source code into a structured data format for analysis and logic redistribution.
  • Code Obfuscators - Obfuscates and shortens variable and property names to protect code and reduce the total file size.
  • Abstract Syntax Tree Parsers - Provides a parser that converts JavaScript source code into an abstract syntax tree for programmatic transformation.
  • Abstract Syntax Tree Tools - Provides utilities for parsing JavaScript source code into abstract syntax trees for programmatic transformation.
  • Internal Tree Representations - Implements internal hierarchical tree representations of JavaScript source code to enable programmatic analysis and structural modification.
  • Logic Compression - Analyzes and rewrites JavaScript code structures to remove redundant logic and shrink the final bundle size.
  • Code Beautifiers - Reconstructs minified or compressed scripts into a human-readable layout using consistent indentation and spacing.
  • Conditional Compilation - Replaces global constants with literal values to remove unreachable code blocks during minification.
  • Constant-Folding Optimizations - Performs constant-folding evaluation to replace expressions involving constants with their final computed values during compilation.
  • Property Name Manglers - Obfuscates object property names using custom rules and caches to maintain consistency across different files.
  • Variable Name Manglers - Shortens variable and function names to decrease the final bundle size while preserving original program logic.
  • Multi-Pass AST Traversals - Iteratively traverses the abstract syntax tree in multiple passes to simplify expressions and remove unreachable code.
  • Build and Transpilation Tools - JavaScript parser, minifier, and compressor.

Star history

Star history chart for mishoo/uglifyjs2Star history chart for mishoo/uglifyjs2

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does mishoo/uglifyjs2 do?

UglifyJS2 is a suite of tools designed for parsing, beautifying, mangling, and minifying JavaScript code. It functions by converting source code into an abstract syntax tree to enable programmatic analysis and transformation, and it includes a dedicated generator for creating associated source maps.

What are the main features of mishoo/uglifyjs2?

The main features of mishoo/uglifyjs2 are: JavaScript Minification, Build and Bundle Optimization, JavaScript Minifiers, Recursive Descent Parsers, Identifier Manglers, AST Transformation Tools, Source Map Generators, JavaScript Source Parsers.

Which projects share features with mishoo/uglifyjs2?

Projects with overlapping indexed features include: terser/terser — Terser is a JavaScript minifier and compressor designed to reduce file size through whitespace removal, symbol… mishoo/uglifyjs — UglifyJS is a tool for JavaScript code minification, AST manipulation, and source beautification. Its primary purpose… babel/minify — This project is an AST-based code optimizer and compressor for modern ECMAScript, JSX, and TypeScript source code. It… postcss/postcss — PostCSS is a CSS post-processor and abstract syntax tree transformation tool that parses stylesheets into a structured… thejameskyle/babel-handbook — This project is a comprehensive manual and educational resource focused on the Babel compiler. It serves as a… web-infra-dev/oxc — oxc is a high-performance JavaScript toolchain developed in Rust for parsing, transforming, and analyzing JavaScript…

Projects sharing features with UglifyJS2

These projects share indexed features with UglifyJS2. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • terser/terserterser avatar

    terser/terser

    9,299View on GitHub↗

    Terser is a JavaScript minifier and compressor designed to reduce file size through whitespace removal, symbol mangling, and logic optimization for ES6+. It functions as a toolkit for minification, a code mangler for shortening variable and property names, and a dead code eliminator that evaluates constant expressions to remove unreachable logic. The project operates as an AST toolkit that parses JavaScript source into SpiderMonkey AST format for structural analysis. It generates source maps to link compressed production code back to the original source, ensuring that minified bundles remain

    JavaScript
    View on GitHub↗9,299
  • mishoo/uglifyjsmishoo avatar

    mishoo/UglifyJS

    13,392View on GitHub↗

    UglifyJS is a tool for JavaScript code minification, AST manipulation, and source beautification. Its primary purpose is to reduce the file size of JavaScript source code by removing whitespace and shortening variable names to optimize frontend build assets. The project differentiates itself through its ability to programmatically analyze and transform code using abstract syntax trees. It performs constant folding analysis and conditional compilation to eliminate unreachable or redundant code, and it employs a multi-pass compression pipeline to maximize total file size reduction. The tool pr

    JavaScript
    View on GitHub↗13,392
  • babel/minifybabel avatar

    babel/minify

    4,376View on GitHub↗

    This project is an AST-based code optimizer and compressor for modern ECMAScript, JSX, and TypeScript source code. It functions as a JavaScript minifier that uses the Babel toolchain to reduce file size by removing unnecessary characters and whitespace while preserving program logic. The tool is distinguished by its ability to process experimental language proposals and transform modern syntax into browser-compatible versions. It provides specialized handling for React JSX transpilation and strips type annotations from TypeScript files to produce compressed production assets. The system cove

    JavaScript
    View on GitHub↗4,376
  • postcss/postcsspostcss avatar

    postcss/postcss

    28,968View on GitHub↗

    PostCSS is a CSS post-processor and abstract syntax tree transformation tool that parses stylesheets into a structured tree for programmatic analysis and modification. It functions as a plugin-driven pipeline where JavaScript plugins can modify, insert, or delete nodes to transform styles. The project provides a framework for building a custom plugin ecosystem to extend the CSS language with non-standard features such as loops, conditionals, and shorthand properties. It supports multi-syntax parsing through pluggable parsers and stringifiers, allowing it to process various style formats and c

    TypeScriptastcssframework
    View on GitHub↗28,968
  • Compare all 30 related projects→