30 open-source projects similar to mozilla/source-map, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Source Map alternative.
magic-string is a low-level JavaScript library designed for compilers and bundlers to perform source code transformations. It serves as a string transformation utility and source map manipulation library that allows for modifying text while automatically tracking character offsets. The library enables the modification of source code strings through insertions, replacements, and removals without losing the relationship to original source positions. It specifically provides mechanisms to generate mapping files that link transformed output text back to original source file coordinates. Capabili
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
The browserify-handbook is a comprehensive documentation guide for Browserify, a CommonJS module bundler and JavaScript build tool. It explains how to compile Node.js style modules into single JavaScript files for execution within web browsers. The guide covers the generation of universal module definition bundles that function across Node, AMD, and browser environments. It also details the use of browser-compatible polyfills for Node.js built-in modules to ensure cross-platform compatibility. The manual describes capabilities for source code transformation, frontend build automation, and we
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
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
Rspack is a high-performance web bundler written in Rust that packages JavaScript and TypeScript for web applications. It functions as an incremental build engine and a tree-shaking asset optimizer designed to reduce build times and minimize final bundle sizes for web delivery. The project is built for compatibility with the webpack ecosystem, implementing a compatible API that allows existing plugins and configurations to work without modification. This enables the integration of community loaders and plugins while leveraging a Rust-based compilation engine. The tool covers a broad range of
Flux is a Kubernetes GitOps delivery tool used to automate application deployments by synchronizing cluster state with configurations stored in Git, OCI, or Helm repositories. It functions as a set of controllers that monitor desired state in external sources and continuously reconcile the live cluster to match those definitions. The system distinguishes itself through a multi-cluster management plane that coordinates application delivery across fleets of remote clusters from a central hub. It provides a dedicated mechanism for automated image updates, which scans container registries for new
stacktrace.js is a JavaScript library designed for generating and parsing detailed function call stacks from error objects across different web browsers. It functions as a stack trace parser and error instrumentation utility that captures execution flow and error traces. The project differentiates itself through its ability to resolve source maps, translating minified JavaScript stack traces back to original source lines. It also includes a remote error reporter for transmitting processed exception data and stack traces to a centralized server for analysis. The library covers broad capabilit
clean-css is a Node.js CSS optimizer that functions as a minifier, bundler, and source map generator. It reduces stylesheet file sizes by removing whitespace and comments while optimizing colors and units to improve page load times. The tool features a plugin-driven pipeline that allows for custom optimization transformations and the preservation of specific code fragments via marker-based exclusions. It includes browser compatibility targeting to ensure optimized styles remain functional across specified browser versions. The project provides capabilities for bundling multiple stylesheets i
React DevTools is a set of web browser developer tools integrated into Chrome and Firefox. It functions as a component inspector and UI debugger designed to visualize the component hierarchy and analyze the runtime behavior of React applications. The project includes a performance profiler used to detect unnecessary component re-renders and improve rendering efficiency. It also provides utilities for mapping virtual component trees to the physical DOM and linking rendered UI elements directly to their corresponding source code files and line numbers. The toolset covers component hierarchy vi
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
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
nyc is a JavaScript code coverage tool and command-line interface that instruments source files to track the execution of lines, branches, and functions during test runs. It acts as a wrapper for Node.js test runners, intercepting the module loading process to collect coverage data. The tool functions as a coverage data merger and build gating tool, allowing users to combine results from multiple independent test runs or child processes into a single unified report. It can automatically fail the build process if code coverage percentages fall below defined minimum thresholds. The project sup
Clean-CSS is a Node.js CSS optimizer and minifier designed to reduce stylesheet file sizes and improve web performance. It functions as a CSS post-processor that removes unnecessary whitespace, comments, and redundant properties from stylesheets. The project utilizes an abstract syntax tree for parsing and a multi-pass optimization pipeline to restructure rules and simplify properties. It features a plugin interface for custom style transformations and provides compatibility-aware minification to ensure styles remain functional across specific legacy browser versions. Additional capabilities
ts-node is a TypeScript execution engine and just-in-time transpiler for Node.js. It enables the direct execution of TypeScript files by converting them to JavaScript on the fly, removing the requirement for a manual pre-compilation build step. It also provides a TypeScript read-eval-print loop for evaluating expressions and testing code snippets in real time. The project integrates with the Node.js module system as a loader hook to resolve and load files using native import syntax. It features a pluggable compiler interface that allows the use of external transpilers to accelerate execution
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
Connect-assets is a Node.js asset pipeline and frontend build tool designed to manage the compilation, minification, and serving of scripts and stylesheets. It functions as a static asset bundler that resolves dependency graphs to concatenate source files into optimized bundles, reducing the number of network requests required for page delivery. The tool distinguishes itself by integrating directly into the development lifecycle through middleware that intercepts HTTP requests to compile and serve assets on demand. For production environments, it provides a command-line interface to precompil
TeaVM is a Java bytecode transpiler and browser-based JVM runtime that converts compiled Java class files into JavaScript or WebAssembly. It functions as a compiler and build pipeline tool that enables applications written in various JVM languages to execute natively within a web browser. The project distinguishes itself by transforming bytecode directly into optimized web formats without requiring the original source code. It includes a WebAssembly bytecode compiler for high-performance execution and a specialized emulation system to handle asynchronous multithreading within the single-threa
ts-jest is a TypeScript compilation tool and transformer that enables the Jest testing framework to execute tests written in TypeScript. It functions as a bridge that transpiles typed source code into executable JavaScript while maintaining the necessary integration for test runner execution. The project distinguishes itself by providing on-the-fly type diagnostics and pre-test type validation to identify structural errors before the execution phase. It includes a source map handler that links compiled JavaScript output back to the original TypeScript source lines to ensure accurate error sta
Less.js is a CSS preprocessor and compilation engine that transforms a dynamic stylesheet language into standard CSS for web browser rendering. It functions as a tool to compile extended styling syntax, providing variables, mixins, and functions to create maintainable stylesheets. The project includes a source map generator that creates mapping files to link compiled CSS output back to the original source code for debugging. It allows for the integration of custom plugins and functions to automate the generation of final stylesheets within a build process. The engine supports the compilation
Recast is a JavaScript AST parser and printer designed for automated code refactoring. It converts source code into abstract syntax trees that can be modified and then printed back into source code. The project focuses on formatting-preserving transformations, storing original whitespace and indentation metadata within syntax tree nodes to reconstruct code without losing its original layout. It also generates character-level source maps to maintain precise correspondences between original input and transformed output. The toolkit includes utilities for syntax tree manipulation using a visito
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
This project is a command-line tool and build toolchain used to bootstrap React web applications. It serves as a project bootstrapper and single-page application scaffold, providing a pre-configured development environment, folder structure, and build pipeline. The toolchain integrates a frontend development server with live reloading and error overlays to accelerate the iterative coding process. It handles production asset bundling by minifying code and generating hashed assets for deployment, and it includes a configuration suite for generating the service workers and web manifests required
Metro is a JavaScript bundler designed for React Native environments. It functions as a system for resolving dependencies, transforming source code, and packaging JavaScript and assets into bundles for execution. The project includes a development bundler server that hosts assets via HTTP and provides hot module replacement. It features a module resolver that handles platform-specific file extensions and a source code transformer that converts code into tree structures for optimization and minification. The toolset covers programmatic bundle generation, source map creation, and file system c
Browserify is a build utility that enables the use of CommonJS module patterns within client-side JavaScript applications. It functions as a dependency manager and module bundler, tracing recursive import calls to package multiple source files and their dependencies into a single, optimized file for execution in web browser environments. The project distinguishes itself by providing a comprehensive compatibility layer that allows server-side code to run in the browser. It achieves this by injecting environment shims and replacing system-level globals with browser-compatible equivalents. Throu
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
Stylus is a CSS preprocessor that transforms a dynamic language into standard CSS. It utilizes a compilation workflow to enable the use of variables, nesting, and arithmetic, which are then rendered into stylesheets for use in frontend asset pipelines. The project is distinguished by a flexible syntax that allows for indentation-based styling, meaning curly braces, colons, and semicolons can be omitted. It further differentiates itself through a JavaScript-driven plugin pipeline and the ability to extend the native syntax with custom JavaScript functions for complex logic. Its capability sur
This project is a CommonJS module bundler and resolver designed to combine interdependent JavaScript files into a single script for execution in web browsers. It functions as a Node.js JavaScript bundler that emulates server-side core modules and resolves dependencies to ensure compatibility between server-side logic and browser environments. The system features an extensible bundling pipeline and a browser-side module resolver. It provides a plugin architecture for transforming source code and a source map generator to correlate bundled output back to original files for debugging. The proje
art-template is a JavaScript template engine and server-side rendering engine. It functions as an abstract syntax tree compiler that translates template source code into executable JavaScript to generate HTML or text output. The engine includes a template inheritance system that allows the definition of base layouts and reusable content blocks. It also provides a template debugging tool that maps syntax and runtime errors to exact line numbers within the source files.
ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i