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
Back to google/closure-compiler

Open-source alternatives to Closure Compiler

30 open-source projects similar to google/closure-compiler, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Closure Compiler alternative.

  • google/closure-compiler-jsgoogle avatar

    google/closure-compiler-js

    1,834View on GitHub↗

    Closure Compiler is a JavaScript build utility designed to transform, optimize, and validate source code for production environments. It functions as a minifier and transpiler, converting modern ECMAScript syntax into older, widely compatible versions to ensure reliable execution across diverse browsers. The tool distinguishes itself through a multi-pass optimization pipeline that performs complex refactoring, such as constant folding, function inlining, and variable renaming. It utilizes a static type inference engine to detect potential runtime errors and enforce type safety without requiri

    JavaScript
    View on GitHub↗1,834
  • rolldown/rolldownrolldown avatar

    rolldown/rolldown

    13,797View on GitHub↗

    Rolldown is a high-performance JavaScript and TypeScript module bundler written in Rust. It functions as a fast module compiler that implements a Rollup-compatible API to ensure compatibility with existing workflows and plugins while specializing in ECMAScript Module formats. The project distinguishes itself by using a Rust-based core engine and lazy compilation to reduce the time spent resolving and transforming source code. It focuses on minimizing final delivery sizes through static analysis and tree-shaking to remove unused code. The toolset covers a broad range of build capabilities, in

    Rust
    View on GitHub↗13,797
  • 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

AI search

Explore more awesome repositories

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

Find more with AI search
  • 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
  • swc-project/swcswc-project avatar

    swc-project/swc

    33,909View on GitHub↗

    This project is a high-performance compiler written in Rust that transpiles TypeScript and ECMAScript into compatible JavaScript code. It functions as a TypeScript transpiler, a JavaScript minifier, and a JavaScript bundler. The system distinguishes itself through a WebAssembly plugin host that allows the execution of custom transformation rules without modifying the core binary. It also provides specialized compilation for React source code to improve runtime performance and reduce execution overhead. The broader capability surface includes source-to-source compilation, type annotation stri

    Rustbabelcompilerecmascript
    View on GitHub↗33,909
  • 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
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    View on GitHub↗5,147
  • rollup/pluginsrollup avatar

    rollup/plugins

    3,750View on GitHub↗

    This is a collection of official extensions for the Rollup bundling process. These plugins serve as module transformers, resolution managers, and bundle optimizers designed to modify how JavaScript modules are processed, resolved, and optimized. The suite provides specialized capabilities for modern web transpilation, converting TypeScript, JSX, Flow, and GraphQL into compatible JavaScript. It distinguishes itself through extensive non-JavaScript asset integration, allowing the import of JSON, YAML, CSV, and image files as JavaScript modules or data URIs, and providing support for bundling We

    JavaScriptpluginsrolluprollup-plugins
    View on GitHub↗3,750
  • petehunt/webpack-howtopetehunt avatar

    petehunt/webpack-howto

    10,010View on GitHub↗

    This project is a Webpack build guide and a reference for implementing a JavaScript module bundler. It serves as a frontend build pipeline designed to resolve dependencies, package source files, and optimize assets for web browsers. The guide focuses on asset optimization and performance strategies. This includes implementing code splitting for asynchronous module loading, extracting shared dependencies to improve browser caching, and generating multiple entrypoints to reduce initial download sizes. The project covers a broad range of build-time capabilities, including modern JavaScript tran

    JavaScript
    View on GitHub↗10,010
  • google/closure-librarygoogle avatar

    google/closure-library

    4,896View on GitHub↗

    Closure Library is a JavaScript standard library and utility toolset designed for building large-scale web applications. It provides a collection of core utility modules and standardized APIs to simplify complex application logic and state management. The project is built as a modular framework using a namespace-based module system to prevent global scope pollution. It is specifically designed for use with the Closure Compiler to enable aggressive dead-code elimination and minification, reducing the final delivery size in production. To ensure reliability in large projects, the library utiliz

    JavaScript
    View on GitHub↗4,896
  • rollup/rolluprollup avatar

    rollup/rollup

    26,288View on GitHub↗

    Rollup is an ES module bundler and JavaScript module transpiler. It functions as a build tool that combines JavaScript modules into optimized files and converts modern JavaScript and JSX into various output formats for different runtime environments. The project is distinguished by its static-analysis tree shaking engine, which removes unused code and dead exports to minimize bundle size. It also acts as a code splitting orchestrator, partitioning modules into separate chunks to optimize network requests and load times. The tool provides a hook-based plugin system for extending build logic,

    JavaScript
    View on GitHub↗26,288
  • farm-fe/farmfarm-fe avatar

    farm-fe/farm

    5,580View on GitHub↗

    Farm is a Rust-based web build tool and development server that compiles JavaScript, TypeScript, CSS, HTML, and static assets into optimized bundles. It uses a module-graph-based bundling approach with persistent module-level caching, enabling near-instant builds and sub-20ms hot module replacement during development. The tool processes assets based on file extensions, handling CSS, Sass, Less, PostCSS, HTML, and images as first-class modules without requiring JavaScript transformation. Farm distinguishes itself through its Vite-compatible plugin system, accepting Vite, Rollup, and Unplugin p

    Rustbuild-toolbundlercompiler
    View on GitHub↗5,580
  • es-shims/es5-shimes-shims avatar

    es-shims/es5-shim

    7,086View on GitHub↗

    es5-shim is an ECMAScript 5 polyfill library and standard library shim. It serves as a JavaScript compatibility layer that adds missing ES5 standard library methods and language features to legacy JavaScript engines. The project functions by implementing the ECMAScript 5 specification for non-compliant engines to ensure consistent behavior and prevent runtime errors. It provides a bridge for older browser environments, allowing modern JavaScript code to execute in legacy environments. The library covers cross-browser API standardization and polyfill management. It specifically handles the em

    JavaScriptecmascriptes5javascript
    View on GitHub↗7,086
  • scala-js/scala-jsscala-js avatar

    scala-js/scala-js

    4,701View on GitHub↗

    Scala.js is a compiler and cross-platform language toolchain that transforms Scala source code into JavaScript or WebAssembly. It functions as a statically typed tool for the JavaScript ecosystem, enabling the development of applications for web browsers and Node.js environments. The project serves as a JavaScript interop framework, allowing the creation of type-safe facades and bindings to interact with external libraries and global objects. It provides mechanisms for both static and dynamic JavaScript invocation, including the generation of TypeScript bindings and the ability to export inte

    Scala
    View on GitHub↗4,701
  • jaredpalmer/backpackjaredpalmer avatar

    jaredpalmer/backpack

    4,405View on GitHub↗

    Backpack is a Node.js build system designed for transpiling, bundling, and automating the development workflow. It functions as a JavaScript asset bundler that packages source files and dependencies into optimized output for production deployment. The system integrates a transpilation process to convert modern code into versions compatible with various environments and browsers. It provides an automated development workflow that watches for file changes to trigger automatic reloads and builds. The build pipeline supports configuration-driven customization, environment-specific targets, and i

    JavaScriptbabelbuildes6
    View on GitHub↗4,405
  • detekt/detektdetekt avatar

    detekt/detekt

    6,977View on GitHub↗

    Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as a code smell detector and static scanner designed to identify potential bugs, design flaws, and violations of coding standards without executing the program. The tool differentiates itself through the use of issue baselining, which allows users to create a snapshot of existing legacy code issues to filter out old violations and focus on preventing new regressions. It further supports extensibility via a plugin-based system that allows for the integration of custom rule sets a

    Kotlin
    View on GitHub↗6,977
  • facebook/prepackfacebook avatar

    facebook/prepack

    14,118View on GitHub↗

    Prepack is a build-time transformation tool and static analysis engine designed to optimize JavaScript source code. By executing code during the build process, it evaluates program logic and state to precompute results, effectively simplifying complex operations before the application is deployed. The tool functions as a bundle optimizer that integrates into existing development pipelines to refine application logic. It employs abstract interpretation and symbolic execution to track program behavior across various paths, allowing it to perform constant folding, eliminate unreachable code, and

    JavaScript
    View on GitHub↗14,118
  • google/traceur-compilergoogle avatar

    google/traceur-compiler

    8,164View on GitHub↗

    Traceur is a JavaScript syntax transpiler that transforms modern and next-generation language features into compatible versions for older runtime environments. It functions as a compiler that translates proposed language standards and upcoming syntax into current versions to maintain cross-engine compatibility. The project operates as an asynchronous code transformer, converting async functions and generators into promise-based state machines. It includes a functional tail-call optimizer that wraps recursive functions in trampolines to prevent stack overflows and an ECMAScript polyfill engine

    JavaScript
    View on GitHub↗8,164
  • nolanlawson/optimize-jsnolanlawson avatar

    nolanlawson/optimize-js

    3,734View on GitHub↗

    Optimize-js is a JavaScript parsing optimizer designed to reduce the time browsers spend pre-parsing scripts to improve initial execution speed. It transforms source code to minimize the overhead associated with browser parsing. The project implements a technique that wraps function calls in parentheses to bypass initial pre-parsing and reduce double-parsing overhead. To maintain the utility of the transformed code, it includes a source map generator that links the optimized output back to the original source. The toolset also includes performance benchmarking capabilities to measure the exa

    JavaScript
    View on GitHub↗3,734
  • analysis-tools-dev/static-analysisanalysis-tools-dev avatar

    analysis-tools-dev/static-analysis

    14,389View on GitHub↗

    This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma

    Rustanalysisawesome-listcode-quality
    View on GitHub↗14,389
  • semgrep/semgrepsemgrep avatar

    semgrep/semgrep

    15,603View on GitHub↗

    Semgrep is a static analysis security testing tool designed to identify vulnerabilities and logic errors by matching source code against declarative patterns. It functions as an automated scanner that integrates into development workflows to detect insecure code patterns and enforce coding standards before deployment. The engine utilizes a language-agnostic intermediate representation and a modular parser architecture to normalize diverse programming languages into a unified format. This allows for consistent rule execution across different codebases, enabling users to perform custom structur

    OCamlcgojava
    View on GitHub↗15,603
  • alibaba/p3calibaba avatar

    alibaba/p3c

    30,827View on GitHub↗

    p3c is a Java static analysis tool and code quality linter designed to enforce professional coding guidelines and quality standards. It utilizes a set of custom rules based on the PMD engine to scan source code for style violations, performance bottlenecks, and potential bugs. The project is distributed as an IDE linting plugin that provides real-time feedback and warnings during development. It also includes functionality for pre-commit code quality gates, allowing modified files to be scanned and blocked if they violate defined rules before being committed to version control. The analysis

    Kotlin
    View on GitHub↗30,827
  • checkstyle/checkstylecheckstyle avatar

    checkstyle/checkstyle

    8,867View on GitHub↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    View on GitHub↗8,867
  • sverweij/dependency-cruisersverweij avatar

    sverweij/dependency-cruiser

    6,804View on GitHub↗

    Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static analysis tool for mapping, visualizing, and validating module relationships within a codebase without requiring code execution. The project is distinguished by its ability to enforce architectural boundaries through a rule-based system. It detects circular dependencies, identifies orphan modules and dead code, and validates dependency constraints using allowed and forbidden relationship rules. It also provides quantitative stability analysis by calculating afferent and efferen

    JavaScript
    View on GitHub↗6,804
  • ansible/ansible-lintansible avatar

    ansible/ansible-lint

    3,876View on GitHub↗

    ansible-lint is a static code analysis tool and linter designed to identify syntax errors and best practice violations within Ansible playbooks and roles. It functions as a quality gate for automation pipelines, scanning configuration files and scripts without executing the code to ensure reliability and consistency. The project distinguishes itself by acting as an automated code formatter that can correct identified linting issues and reformat files to meet community standards. It also serves as a dependency manager, automatically detecting and installing required roles and collections from

    Pythonansibleansible-dev-toolsansible-lint
    View on GitHub↗3,876
  • mishoo/uglifyjs2mishoo avatar

    mishoo/UglifyJS2

    13,392View on GitHub↗

    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 a

    JavaScript
    View on GitHub↗13,392
  • gregberge/loadable-componentsgregberge avatar

    gregberge/loadable-components

    7,802View on GitHub↗

    loadable-components is a React code splitting library and client-side bundle optimizer. It functions as a dynamic component loader that splits application code into smaller chunks to reduce initial bundle size and improve page load performance. The project manages the delivery of JavaScript assets through asynchronous component loading, ensuring that code chunks are fetched on demand. It utilizes a dynamic import wrapper and promise-based resolution to handle the transition from pending states to rendered components. The library provides infrastructure for server-side rendering integration,

    JavaScriptcode-splittingdynamic-importreact
    View on GitHub↗7,802
  • facebook/regeneratorfacebook avatar

    facebook/regenerator

    3,827View on GitHub↗

    Regenerator is a JavaScript generator transpiler and build-time code processor. It converts ECMAScript generator functions and asynchronous iteration into ES5 compatible state machines to ensure modern control flow works in legacy runtimes. The project functions as an ES5 compatibility transformer that rewrites advanced asynchronous patterns into standard JavaScript. It includes a runtime polyfill helper library to manage the iteration protocol and coordinate state transitions for the transpiled code. The tool provides capabilities for language transformation and asynchronous workflow polyfi

    JavaScript
    View on GitHub↗3,827
  • typescript-eslint/typescript-eslinttypescript-eslint avatar

    typescript-eslint/typescript-eslint

    16,103View on GitHub↗

    This project is a static analysis framework and linting engine designed to inspect TypeScript codebases. It functions as a plugin suite that enables standard linting workflows to parse source code into abstract syntax trees, allowing for the automated enforcement of coding standards and the identification of potential bugs through a modular, rule-based visitor pattern. The engine distinguishes itself by integrating directly with the TypeScript compiler to perform type-aware analysis. By accessing compiler type information, it can identify complex errors and unsafe patterns that standard synta

    TypeScripteslinteslint-plugineslintplugin
    View on GitHub↗16,103
  • oxc-project/oxcoxc-project avatar

    oxc-project/oxc

    21,675View on GitHub↗

    Oxc is a high-performance toolchain designed for the analysis, linting, formatting, and transformation of JavaScript and TypeScript codebases. It functions as a comprehensive static analysis engine and compiler-based utility, providing the infrastructure necessary to parse source code into high-performance abstract syntax trees and map complex module dependency graphs across entire projects. The project distinguishes itself through its use of multi-core parallel processing to maximize throughput during intensive tasks like linting and minification. It offers deep, type-aware static analysis t

    Rustcompilerjavascriptlinter
    View on GitHub↗21,675