Awesome JavaScript 
A collection of awesome browser-side JavaScript libraries, resources and shiny things.
Package Managers
Host the JavaScript libraries and provide tools for fetching and packaging them.
- npm - npm is the package manager for JavaScript.
- Bower - A package manager for the web.
- component - Client package management for building better web applications.
- spm - Brand new static package manager.
- jam - A package manager using a browser-focused and RequireJS compatible repository.
- jspm - Frictionless browser package management.
- Ender - The no-library library.
- volo - Create front end projects from templates, add dependencies, and automate the resulting projects.
- Duo - Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless.
- yarn - Fast, reliable, and secure dependency management.
- pnpm - Fast, disk space efficient package manager.
- bun - Bun is a fast JavaScript all-in-one toolkit.
Component Management
- Bit - Create, find and reuse components (React, Angular, Node etc.) across applications.
Loaders
Module or loading system for JavaScript.
- RequireJS - A file and module loader for JavaScript.
- browserify - Browser-side require() the node.js way.
- SeaJS - A Module Loader for the Web.
- HeadJS - The only script in your HEAD.
- lazyload - Tiny, dependency-free async JavaScript and CSS loader.
- script.js - Asynchronous JavaScript loader and dependency manager.
- systemjs - AMD, CJS & ES6 spec-compliant module loader.
- LodJS - Module loader based on AMD.
- ESL - Module loader browser first, support lazy define and AMD.
- modulejs - Lightweight JavaScript module system.
Transpilers
Software that converts the modern JavaScript syntax into the older JavaScript syntax.
- SWC - Extensible Rust-based platform for compilation.
Bundlers
- webpack - Packs CommonJs/AMD modules for the browser.
- Rollup - Next-generation ES6 module bundler.
- Brunch - Fast front-end web app build tool with simple declarative config.
- Parcel - Blazing fast, zero configuration web application bundler.
- Microbundle - Zero-configuration bundler for tiny modules.
- FuseBox - A bundler that does it right
- Snowpack - A lightning-fast frontend build tool, designed for the modern web.
- bundle - A quick online npm package size checker.
- Vite - Next Generation Frontend Tooling.
Minimizers
- Terser - parser, mangler and compressor toolkit for ES6+
- Uglify - parser / mangler / compressor / beautifier toolkit
Type Checkers
- TypeScript - A typed superset of JavaScript that compiles to plain JavaScript.
- Flow.js - A static type checker for JavaScript from Facebook.
- Hegel - A static type checker for JavaScript with a bias on type inference an strong type system.
- TypL - the JavaScript Type Linter with a bias on type inference.
- Hindley Milner Definitions - runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures.
- Zod - TypeScript-first schema validation with built-in static type inference.
- Yup - JavaScript schema builder and validator.
Testing Frameworks
Frameworks
- mocha - Simple, flexible, fun JavaScript test framework for node.js & the browser.
- jasmine - DOM-less simple JavaScript testing framework.
- qunit - An easy-to-use JavaScript Unit Testing framework.
- jest - Painless JavaScript Unit Testing.
- prova - Node & Browser test runner based on Tape and Browserify
- DalekJS - Automated cross browser functional testing with JavaScript
- Protractor - Protractor is an end-to-end test framework for AngularJS applications.
- tape - Tap-producing test harness for node and browsers.
- TestCafe - Automated browser testing for the modern web development stack.
- ava - 🚀 Futuristic JavaScript test runner
- Cypress - Complete end-to-end testing framework for anything that runs in a browser and beyond.
- WebdriverI/O - Next-gen browser and mobile automation test framework for Node.js
- Suites - A unit-testing framework for backends working with inversion of control and dependency injection
Assertion
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- Enzyme - Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
- react testing library - Simple and complete React DOM testing utilities that encourage good testing practices.
- Sinon.JS - Test spies, stubs, and mocks for JavaScript.
- expect.js - Minimalistic BDD-style assertions for Node.JS and the browser.
- proxyquire - Stub nodejs's require.
- Supertest - A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest
- Pocket Mocker - In-browser visual network mocking tool, supports fetch/XHR interception.
- interface-forge - Graceful, type-safe mock-data generation for TypeScript, with factories and Faker integration.
Coverage
- istanbul - Yet another JS code coverage tool.
- blanket - A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs.
- JSCover - JSCover is a tool that measures code coverage for JavaScript programs.
Runner
- phantomjs - Scriptable Headless WebKit.
- slimerjs - A PhantomJS-like tool running Gecko.
- casperjs - Navigation scripting & testing utility for PhantomJS and SlimerJS.
- zombie - Insanely fast, full-stack, headless browser testing using node.js.
- totoro - A simple and stable cross-browser testing tool.
- karma - Spectacular Test Runner for JavaScript.
- nightwatch - UI automated testing framework based on node.js and selenium webdriver.
- intern - A next-generation code testing stack for JavaScript.
- puppeteer - Headless Chrome Node.js API by official Google Chrome team.
- webdriverio - Next-gen WebDriver test automation framework for Node.js.
- taiko - A Node.js library with a simple API to automate Chromium based browsers.
- Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API.
- prettier - Prettier is an opinionated code formatter.
- JSHint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code.
- jscs - JavaScript Code Style checker.
- jsfmt - For formatting, searching, and rewriting JavaScript.
- jsinspect - Detect copy-pasted and structurally similar code.
- buddy.js - Magic number detection for JavaScript.
- ESLint - A fully pluggable tool for identifying and reporting on patterns in JavaScript.
- JSLint - High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language.
- JavaScript Standard Style - Opinionated, no-configuration style guide, style checker, and formatter
- Pre-evaluate code at buildtime - Pre-evaluate your front end javascript code at build-time
- JS-Beautifier - Npm cli and library to format JS code.
- husky - Prevents bad git commit, git push and more.
- Rev-dep - Trace imports, identify circular dependencies, find unused code, clean node modules — all from a blazing-fast CLI.
- fallow - Finds dead code, duplication, circular dependencies, and complexity hotspots in JavaScript and TypeScript projects.
MVC Frameworks and Libraries
- angular.js - HTML enhanced for web apps. (deprecated)
- angular - Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
- aurelia - A JavaScript client framework for mobile, desktop and web.
- backbone - Give your JS App some Backbone with Models, Views, Collections, and Events.
- ember.js - A JavaScript framework for creating ambitious web applications.
- meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-javascript web framework.
- ractive - Next-generation DOM manipulation.
- vue - Intuitive, fast & composable MVVM for building interactive interfaces.
- svelte - Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
- knockout - Knockout makes it easier to create rich, responsive UIs with JavaScript.
- spine - Lightweight MVC library for building JavaScript applications.
- espresso.js - A minimal JavaScript library for crafting user interfaces.
- canjs - Can do JS, better, faster, easier.
- react - A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM.
- hyperapp - 1kb JavaScript library for building frontend applications.
- preact - Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
- nativescript - Build truly native cross-platform iOS and Android apps with JavaScript.
- react-native - A framework for building native apps with React.
- riot - React-like library, but with very small size.
- thorax - Strengthening your Backbone.
- chaplin - An architecture for JavaScript applications using the Backbone.js library.
- marionette - A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.
- ripple - A tiny foundation for building reactive views.
- rivets - Lightweight and powerful data binding + templating solution.
- derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
- way.js - Simple, lightweight, persistent two-way databinding.
- mithril.js - Mithril is a client-side MVC framework (Light-weight, Robust, Fast).
- jsblocks - jsblocks is better MV-ish framework.
- feathers - A minimalist real-time JavaScript framework for tomorrow's apps.
- Keo - Functional stateless React components with Shadow DOM support.
- atvjs - Blazing fast Apple TV application development using pure JavaScript.
- Alpine.js - offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost.
- inferno - 🔥 An extremely fast, React-like JavaScript library for building modern user interfaces.
- FoalTS - Elegant and all-inclusive Node.JS framework for building web applications (TypeScript).
- Lucia - 3kb library for tiny web apps.
- Adonis - The Node.js Framework highly focused on developer ergonomics, stability and confidence.
- GrapesJS - Free and Open source Web Builder Framework. Next generation tool for building templates without coding.
- Rete.js - A modular framework for visual programming allows to create node based editor in browser.
- litegraph.js - A graph node engine and editor similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D.
- Drawflow - This allow you to create data flows easily and quickly.
- Blockly - A library that adds a visual code editor to web and mobile apps by Google.
- Million - <1kb compiler-focused virtual DOM. It's fast!
- Whatsup - A frontend framework for chillout-mode development 🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system.
- Remult - A CRUD framework for full-stack TypeScript.
- sprae - Reactive HTML attributes with no build step, signals-based, with a CSP-safe build.
Node-Powered CMS Frameworks
- KeystoneJS - powerful CMS and web app framework.
- Reaction Commerce - reactive CMS, real-time architecture and design.
- Ghost - simple, powerful publishing platform.
- Apostrophe - CMS with content editing and essential services.
- We.js - framework for real time apps, sites or blogs.
- Hatch.js - CMS platform with social features.
- [Taracot