30 open-source projects similar to esm-dev/esm.sh, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Esm.sh alternative.
Snowpack is an ESM-powered frontend build tool and development server that serves native ES modules directly to the browser. By eliminating the bundling process during development, it enables nearly instant server startup and unbundled frontend development. The project features a framework-aware hot module reload system that preserves component state during updates, with specific Fast Refresh integration for React, Preact, Svelte, and Vue. It also acts as a modern web transpiler, automatically converting TypeScript, JSX, and CSS Modules into browser-compatible code without requiring manual co
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
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
Deno is a high-performance runtime for JavaScript and TypeScript that prioritizes security and developer productivity. Built on the V8 engine, it provides a secure execution environment that enforces a default-deny security model, requiring explicit user authorization for access to system resources like the file system, network, and environment variables. The runtime natively supports modern web-standard APIs, ensuring consistent behavior and portability across different environments. What distinguishes Deno is its integrated approach to the software development lifecycle. It bundles essentia
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,
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
This project is a comprehensive UI toolkit that provides a declarative, reactive framework for building modular web interfaces. It centers on a component-based architecture that maps application state to rendered elements, utilizing a twelve-point flexbox grid system and nested containers to manage complex layouts. The library ensures consistent behavior across large-scale applications by providing centralized configuration for component defaults, themes, and global design tokens. What distinguishes this framework is its deep integration of Material Design principles alongside a highly flexib
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
Harp is a zero-configuration static web server and asset compiler that transforms templates and stylesheets into browser-ready assets during web requests. It functions as an on-the-fly compiler and template engine orchestrator, converting files such as Markdown, Jade, Sass, and CoffeeScript into standard HTML, CSS, and JavaScript without requiring a manual build step. The system eliminates complex build scripts by using a filesystem-driven route mapping and extension-based resolution to match files to specific compilation engines. It utilizes memory-based caching to store processed assets and
This project is a runtime utility designed to execute TypeScript files directly, removing the need for manual build steps or complex configuration. It functions as an execution engine that processes source code in memory, enabling rapid iteration during development. The tool distinguishes itself by integrating directly with the module resolution system to handle path aliases and reconcile differences between legacy and modern module formats. By intercepting the import process, it ensures consistent execution across diverse project structures and dependency types. Beyond direct execution, the
JSBin is a collaborative JavaScript playground and online frontend sandbox for writing, executing, and debugging web code. It provides a real-time code editor and an integrated environment that instantly renders HTML, CSS, and JavaScript with a live preview. The platform is designed for live coding demonstrations and pair programming, featuring a broadcasting environment that transmits keystrokes and code changes to other users instantly. It supports real-time synchronization for multiple developers through shared live sessions and includes a transpilation tool to convert alternative programm
Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen
Snowpack is an ESM frontend build tool and unbundled development server. It functions as a JavaScript asset transformer that serves unbundled JavaScript and stylesheets directly to the browser using native ES modules. The tool utilizes a plugin-based build pipeline to allow for the integration of third-party plugins and custom processing steps. This architecture enables an ESM development workflow where source code is streamed to the browser without a full project bundling step. It covers frontend asset management and build automation, converting source code into browser-ready assets. This i
threads.js is a JavaScript worker thread library and asynchronous task orchestrator designed to offload CPU-intensive tasks to background threads. It functions as a cross-platform worker pool and a TypeScript worker runner that automatically transpiles and executes TypeScript files within separate threads. The project distinguishes itself by providing a unified worker API that allows for cross-platform execution across different JavaScript environments. It includes a specialized worker data serialization tool to pass complex class instances and binary data between threads, and supports inlini
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
Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability
Napajs is an embeddable JavaScript engine and multi-threaded runtime designed to be integrated directly into other software applications as a component. It serves as a parallel computation framework that allows JavaScript code to execute across multiple threads, bypassing the standard single-threaded event loop limitation to handle CPU-intensive tasks. The runtime is distinguished by its ability to load and execute modules from the NPM ecosystem and its pluggable execution environment. This architecture allows for custom implementations of memory allocation, system logging, and performance me
Fresh is a server-side web framework for the Deno runtime designed for building websites with native TypeScript support. It functions as a zero-JavaScript server-side renderer that sends only HTML to the browser by default to eliminate client-side runtime overhead. The framework implements an islands architecture, which delivers static HTML and selectively activates JavaScript only for specific interactive components. It utilizes a file-system based router that automatically maps directory structures and filenames to URL patterns without requiring a central configuration file. The platform c
react-syntax-highlighter is a component for rendering source code with syntax highlighting in React applications. It acts as a wrapper for the PrismJS and Highlight.js engines to provide formatted code display and language-specific colors. The project provides a customizable code block renderer that supports custom DOM injection, line numbering, and inline styling. It allows users to replace default HTML tags with custom React components to control how code is injected into the document object model. The library covers code presentation management through visual themes and line numbering. It
Prepack is a build-time code evaluator and JavaScript bundle optimizer. It functions as a static analysis compiler that pre-evaluates static code and precalculates function results and global assignments during the build phase to accelerate startup times and reduce bundle size. The project specifically targets JSX optimization by processing syntax and node serialization to improve user interface rendering efficiency. It utilizes a partial evaluation engine and static execution analysis to replace runtime computations with precalculated constants. The tool covers a range of capabilities inclu
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Greenlet is a multi-threaded asynchronous executor and web worker task runner. It serves as an execution wrapper that offloads heavy computation to background workers to maintain user interface responsiveness and prevent the main execution thread from blocking. The project includes a transferable object handler designed to move large data buffers between threads. This mechanism avoids the overhead of memory copying to optimize data transfer. The library covers the management of web workers, facilitating asynchronous task isolation and main thread offloading.
npm-check-updates is a command line utility and programmatic module used to check for newer versions of npm packages and update project manifest files. It functions as a registry client and semantic version manager that upgrades package constraints to the latest releases. The tool distinguishes itself by including supply chain security features, such as a release cooldown period and package ownership tracking, to prevent the adoption of unstable or malicious new releases. It also provides a programmatic API for integrating dependency checks and upgrades directly into custom scripts. Broad ca
Pako is a pure JavaScript compression library that ports the C zlib library to JavaScript, providing deflate and gzip compression and decompression capabilities. It runs in both browser and Node.js environments by using typed arrays and universal JavaScript, avoiding platform-specific APIs for cross-platform compatibility. The library handles data through bitwise operations for Huffman coding and LZ77 matching, and automatically encodes string inputs to UTF-8 before compression while decoding them back on decompression. It supports streaming chunk-based processing, allowing incremental data h
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,
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
PyInstaller is a cross-platform binary packager and application freezer that bundles Python scripts and their dependencies into standalone executables. It allows programs to be distributed and run on target operating systems without requiring a local installation of the Python interpreter. The tool functions as a standalone executable bundler, packaging the application with all necessary modules and libraries into a single file or folder. It includes integration for digital binary signing to satisfy operating system security requirements for distributed software. The system utilizes static a
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Lucide is a collection of consistent, scalable vector icons designed as a reusable component library for web and mobile interfaces. It provides a standardized set of visual symbols that support dynamic styling, programmatic manipulation, and accessibility features, ensuring that icons remain perceivable and usable across diverse development environments. The library distinguishes itself through a framework-agnostic architecture that defines icons as raw coordinate data, allowing for consistent rendering across various platforms. It supports tree-shakable module exports and bundle size optimiz