Baobab - JavaScript persistent and optionally immutable data tree with cursors
Mnemonist - Curated collection of data structures for the JavaScript language
TaffyDB - JavaScript library that provides powerful in-memory database capabilities to both browser and server applications
WatermelonDB - Next-gen database for powerful React and React Native apps that scales to 10,000s of records and remains fast
RxDB - A realtime Database for the Web
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically
AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL)
lowdb - lowdb is a small local JSON database powered by Lodash (supports Node, Electron and the browser)
TypeORM - ORM that can run in NodeJS, Browser, Cordova, PhoneGap, Ionic, React Native, NativeScript, Expo, and Electron platforms and can be used with TypeScript and JavaScript
orange-orm - The ultimate ORM for Node and Typescript
drizzle-orm - Headless TypeScript ORM with a head. Runs on Node, Bun and Deno. Lives on the Edge and yes, it's a JavaScript ORM too
Malloy - experimental language for describing data relationships and transformations.
jazz - toolkit for sync-based apps.
LokiJS - The super fast in-memory javascript document oriented database.
event-reduce - An algorithm to optimize database queries that run multiple times
client-side-databases - An implementation of the exact same app in Firestore, AWS Datastore, PouchDB, RxDB and WatermelonDB
z - native pattern matching for javascript
Pampy.js - Pattern Matching for JavaScript
Superstruct - A simple and composable way to validate data in Javascript.
fast-copy - A blazing fast deep object copier
collect.js - Convenient and dependency free wrapper for working with arrays and objects
fast-deep-equal - The fastest deep equality check with Date, RegExp and ES6 Map, Set and typed arrays support
klona - A tiny (366B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more!
comparejs - comparejs implements JavaScript's comparison operators the way you would expect them to be
yup - Dead simple Object schema validation
typanion - Static and runtime type assertion library with no dependencies
joi - The most powerful data validation library for JS
mingo - MongoDB query language for in-memory objects
rfdc - Really Fast Deep Clone
yjs - Shared data types for building collaborative software. Yjs is a CRDT implementation that exposes its internal data structure as shared types. Shared types are common data types like Map or Array with superpowers: changes are automatically distributed to other peers and merged without merge conflicts.
itsy-bitsy-data-structures - All the things you didn't know you wanted to know about data structures
binary-decision-diagram - A library to create, minimize and optimize binary decision diagrams
zet - Zet is an extension of ES6 Set and comes with all its functionality included with extra set logic. The API is similar to how sets work in Python
itiriri - A library built for ES6 iteration protocol.
itiriri-async - A library for asynchronous iteration.
graphology - A robust & multipurpose Graph object for JavaScript & TypeScript
file-type - Detect the file type of a Buffer/Uint8Array/ArrayBuffer
validator.js - String validation
voca - The ultimate JavaScript string library
common-tags - Useful template literal tags for dealing with strings in ES2015+
matcher - Simple wildcard matching
picomatch - Blazing fast and accurate glob matcher written in JavaScript.
micromatch - Highly optimized wildcard and glob matching library.
jsdiff - A javascript text differencing implementation.
magic-regexp - A compiled-away, type-safe, readable RegExp alternative
RxJS 5 - A reactive programming library for JavaScript
most - Ultra-high performance reactive programming
Bluebird - full featured promise library with unmatched performance
async - Async utilities for node and the browser
Aigle - ideal promise library which is faster and more efficient than other libraries
async-retry - Retrying made simple, easy and async
bluebird - full featured promise library with unmatched performance
CAF - Cancelable Async Flows
asynquence - Asynchronous flow control (promises, generators, observables, CSP, etc)
greenlet - Move an async function into its own thread
Fluture - Fantasy Land compliant (monadic) alternative to Promises
q - A promise library for JavaScript
promise-utils - Lodash-like, dependency-free utilities for native ES6 promises
promise-fun - Promise packages, patterns, chat, and tutorials
mitt - Tiny 200 byte functional event emitter / pubsub
vegemite - Pub/Sub state manager
xstate - State machines and statecharts for the modern web.
broadcast-channel - BroadcastChannel to send data between different browser-tabs or nodejs-processes 📡 + LeaderElection over the channels
unload - Run a piece of code when the javascript process stops. Works in all environments (browsers, nodejs..)
Comlink - Comlink makes WebWorkers enjoyable. Comlink is a tiny library (1.1kB), that removes the mental barrier of thinking about postMessage and hides the fact that you are working with workers
Clooney - Clooney is an actor library for the web. Use workers without thinking about workers
web-worker - Consistent Web Workers in browser and Node
workerize - Run a module in a Web Worker
workerize-loader - Automatically move a module into a Web Worker (Webpack loader)
workly - A really simple way to move a function or class to a web worker
threads.js - Make web workers & worker threads as simple as a function call
workerpool - Offload tasks to a pool of workers on node.js and in the browser
comlink - Comlink makes WebWorkers enjoyable.
main-thread-scheduling - Fast and consistently responsive apps using a single function call
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.
updeep - Easily update nested frozen objects and arrays in a declarative and immutable manner
immutability-helper - mutate a copy of data without changing the original source
seamless-immutable - Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objects
Immer - Create the next immutable state by mutating the current one
partial.lenses - Partial lenses is a comprehensive, high-performance optics library for JavaScript
freezer - A tree data structure that emits events on updates, even if the modification is triggered by one of the leaves, making it easier to think in a reactive way.
lrt - Scheduler for long-running tasks inside browsers and Node.JS
gulp - A toolkit to automate & enhance your workflow
grunt - The JavaScript Task Runner
luxon - A library for working with dates and times in JS
momentjs - A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates
You-Dont-Need-Momentjs - List of date-fns or native functions which you can use to replace moment.js + ESLint Plugin
date-fns - Modern JavaScript date utility library
Day.js - Day.js 2KB immutable date library alternative to Moment.js with the same modern API
fecha - Lightweight and simple JS date formatting and parsing
spacetime - A lightweight javascript timezone library
timezone - Full-blown timezone aware date math and formatting for JavaScript
chrono - A natural language date parser in Javascript
duration-fns - Functions for working with durations.
tock - A javscript timer/countdown clock.
tesseract.js - Pure Javascript OCR for more than 100 Languages
require-all - An easy way to require all files within a directory
require.all - Easy way to require()
all your modules within a directory.
umbrella - Mono-repository of ~50 TypeScript/ES6 projects for modern web development
Just - A library of dependency-free utilities that do just do one thing
licia - Useful utility collection with zero dependencies
nanoid - A tiny (108 bytes), secure, URL-friendly, unique string ID generator for JavaScript
awesome-tiny-js - A collection of tiny JS libraries (under 2 kB) to put your bundle on a diet
stdlib - Standard library for JavaScript and Node.js.
core-js - Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2024: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL. You can load only required features or use it without global namespace pollution.
path-to-regexp - Turn a path string such as /user/:name
into a regular expression
lodash - A modern JavaScript utility library delivering modularity, performance & extras.
neverthrow - Type-Safe Errors for JS & TypeScript
gpu.js - GPU Accelerated JavaScript
benchmark.js - A benchmarking library. As used on jsPerf.com.
Functional-Light JavaScript - Pragmatic, balanced FP in JavaScript
Fantasy Land - Specification for interoperability of common algebraic structures in JavaScript
ramda - Practical functional Javascript
ramda-fantasy - Fantasy-Land compatible types for easy integration with Ramda.js
learn-ramda - Learn ramda, the interactive way
rambda - Faster and smaller alternative to Ramda
1-liners - Functional tools that couldn’t be simpler
fasy - FP iterators that are both eager and asynchronous
pipep - Functional, composable, immutable & curried promise sequences with abstract resolution
fp-ts - Functional programming in TypeScript
You-Dont-Need-Loops - Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent
prelude-ts - Functional programming, immutable collections and FP constructs for typescript and javascript
futil-js - F(unctional) util(ities). Resistance is futile.
superjson - Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
normalizr - Normalizes nested JSON according to a schema
ForgJs - lightweight object validator
json-schema - JSON Schema Validation, Annotation, and Bundling. Supports Draft 04, 06, 07, 2019-09, 2020-12, OpenAPI 3.0, and OpenAPI 3.1
deep-diff - Javascript utility for calculating deep difference, capturing changes, and applying changes across objects
deep-object-diff - Javascript utility for calculating deep difference, capturing changes, and applying changes across objects
json-query - Retrieves values from JSON objects for data binding
jsonpath - Query and manipulate JavaScript objects with JSONPath expressions
jsonata - JSONata query and transformation language
JSONPath Plus - A fork of JSONPath
DefiantJS - DefiantJS enables you to perform lightning-fast searches on JSON using XPath expressions (no node support)
json-q - Retrieves values from JSON objects (and JavaScript objects) by css-selector-like query
Faker.js - generate massive amounts of fake data in Node.js and the browser
sinon - Test spies, stubs and mocks for JavaScript
Polly.js - Record, Replay, and Stub HTTP Interactions
jest - Delightful JavaScript Testing
jest-cheat-sheet - Jest cheat sheet
jest-preview - Debug your Jest tests. Effortlessly.
tape - tap-producing test harness for node and browsers
jasmine - Simple JavaScript testing framework for browsers and node.js
jasmine-dom - Custom Jasmine matchers to test the state of the DOM
karma - Spectacular Test Runner for JavaScript
karmatic - Easy automatic (headless) browser testing. Powered by Karma, Webpack & Jasmine
ava - JavaScript test runner
fetch-mock - Mock http requests made using fetch
nanospy - Spy and mock methods in tests with great TypeScript support
tinyspy - minimal fork of nanospy, with more features
gremlins.js - Monkey testing library for web apps and Node.js
vitest - Next generation testing framework powered by Vite.
msw - Seamless REST/GraphQL API mocking library for browser and Node.js.
@mswjs/data - Data modeling and relation library for testing JavaScript applications.
@mswjs/interceptors - Low-level HTTP/HTTPS/XHR/fetch request interception library.
ab-testing - AB Testing framework (for JavaScript and React)
kepler.gl - visual exploration of large-scale geolocation data sets
d3 - Bring data to life with SVG, Canvas and HTML
state-machine-cat - write beautiful state charts
psl - JavaScript domain name parser based on the Public Suffix List
ipaddr.js - IP address manipulation library in JavaScript
vcr.js - VCR for javascript. Record XMLHttpRequest calls and saves them using localStorage or files if using Nodejs.
got - Human-friendly and powerful HTTP request library for Node.js
ky - Tiny and elegant HTTP client based on the browser Fetch API
Rendertron - A Headless Chrome rendering solution
fetch-retry - Wrapper around fetch
with sensible retrying defaults
fetch-retry - Extend any fetch library with retry functionality
cross-fetch - Universal WHATWG Fetch API for Node, Browsers and React Native
unfetch - Bare minimum fetch polyfill in 500 bytes
upfetch - advanced fetch client builder with standard schema validation, automatic response parsing, smart defaults and more. Designed to make data fetching type-safe and developer-friendly while keeping the familiar fetch API.
whatwg-fetch - A window.fetch JavaScript polyfill. Doesn't work under Node.js environments. It's meant for web browsers only.
redaxios - The Axios API, as an 800 byte Fetch wrapper
query-string - Parse and stringify URL query strings
axios - Promise based HTTP client for the browser and node.js
superagent - Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features
node-fetch - A light-weight module that brings the Fetch API to Node.js
simple-websocket - Simple, EventEmitter API for WebSockets in the browser
websocket-as-promised - A Promise-based API for WebSockets
graphql-js - A reference implementation of GraphQL for JavaScript
graphql.js - A Simple and Isomorphic GraphQL Client for JavaScript
graphpack - A minimalistic zero-config GraphQL server
dataloader - DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching
dataloader-warehouse - Enables DataLoader for GraphQL subscriptions
graphql-lodash - Data manipulation for GraphQL queries with lodash syntax
graphql-faker - Mock or extend your GraphQL API with faked data. No coding required
graphql-type-json - JSON scalar type for GraphQL.js
graphql-request - Minimal GraphQL client supporting Node and browsers for scripts or simple apps
nexus - Code-First, Type-Safe, GraphQL Schema Construction
graphql-armor - The missing GraphQL security security layer for Apollo GraphQL and Yoga / Envelop servers
graphql-query-complexity - GraphQL query complexity analysis and validation for graphql-js
urql - The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.
envelop - lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.
graffle - Simple GraphQL Client for JavaScript. Minimal. Extensible. Type Safe. Runs everywhere.
howler.js - Javascript audio library for the modern web
three.js - JavaScript 3D Library.
editly - Slick, declarative command line video editing
chroma.js - JavaScript library for all kinds of color manipulations
color-fns - Modern JavaScript color utilities library
plotly.js - Open-source JavaScript charting library behind Plotly and Dash
node-histogram - Provides a histogram data structure from PNG, JPEG or GIF files using canvas. This library works in nodejs and in any canvas supporting browser
javascript-algorithms - Algorithms and data structures implemented in JavaScript with explanations and links to further readings
The Algorithms - JavaScript - Algorithms and Data Structures implemented in JavaScript for beginners, following best practices.
lago - Data Structures and Algorithms library in JavaScript
shoal - autonomous agents + genetic algorithms
brain.js - Neural networks in JavaScript
synaptic - architecture-free neural network library for node.js and the browser
ml5-library - Friendly machine learning for the web
carrot - Evolutionary Neural Networks in JavaScript
transformers.js - State-of-the-art Machine Learning for the web. Run Transformers directly in your browser, with no need for a server!
Vercel AI SDK - Build AI-powered applications with Node, React, Svelte, Vue, and Solid
compromise - modest natural-language processing
fuzzyset.js - A fuzzy string set for javascript
text-summarization - Automagically generates summaries from html or text
flexsearch - Next-Generation full text search library for Browser and Node.js
lyra - Fast, in-memory, typo-tolerant, full-text search engine written in TypeScript. #browser, #node, #typescript
TypeChat - library that makes it easy to build natural language interfaces using types.
TheoremJS - A Math library for computation in JavaScript
numjs - Like NumPy, in JavaScript
math-toolbox - Lightweight and modular math toolbox
sylvester - vector, matrix, and geometry library for JavaScript, that runs in the browser and on the server
mathjs - An extensive math library for JavaScript and Node.js
PDFKit - A JavaScript PDF generation library for Node and the browser
pdf-lib - Create and modify PDF documents in any JavaScript environment
Showdown - A bidirectional Markdown to HTML to Markdown converter written in Javascript
Marked - A markdown parser and compiler. Built for speed.
markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
snarkdown - A snarky 1kb Markdown parser written in JavaScript
PapaParse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input
sheetjs - SheetJS Community Edition -- Spreadsheet Data Toolkit
exceljs - Excel Workbook Manager
flexsearch - Next-Generation full text search library for Browser and Node.js
Fuse - Lightweight fuzzy-search, in JavaScript for Browser and Node.js
minisearch - Tiny and powerful JavaScript full-text search engine for browser and Node
simple-peer - Simple WebRTC video, voice, and data channels
simple-videochat-webrtc - By using simple-peer, this web app connects video chat between two clients
decentralized-video-chat - Zipcall.io - Peer to peer browser video calling platform with unmatched video quality and latency
multiparty-meeting - Multiparty web-meetings using mediasoup and WebRTC
mediasoup - Cutting Edge WebRTC Video Conferencing
PeerJS - Simple peer-to-peer with WebRTC.
phaser - Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server
readability - A standalone version of the readability lib
jsdom - A JavaScript implementation of various web standards, for use with Node.js
happy-dom - JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML. The goal of Happy DOM is to emulate enough of a web browser to be useful for testing, scraping web sites and server-side rendering.
pug - robust, elegant, feature rich template engine for Node.js
handlebars.js - Handlebars provides the power necessary to let you build semantic templates effectively with no frustration
inferno - An extremely fast, React-like JavaScript library for building modern user interfaces
liquidjs - A simple, expressive, safe and Shopify compatible template engine in pure JavaScript
liquid - Node.js port of the Liquid template engine
nunjucks - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
marko - A declarative, HTML-based language that makes building web apps fun
hogan.js - A compiler for the Mustache templating language
mustache.js - Minimal templating with {{mustaches}} in JavaScript
hbs - Express view engine wrapper for Handlebars
YouTube.js - A wrapper around YouTube's internal API — reverse engineering InnerTube
google-this - A simple yet powerful module to retrieve organic search results and much more from Google
Rome - an experimental JavaScript toolchain. It includes a compiler, linter, formatter, bundler, testing framework and more
Cycle.js - A functional and reactive JavaScript framework for predictable code
biome - A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP
rollup - Next-generation ES module bundler
turbo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turbopack and Turborepo.
Speedy Web Compiler - SWC can be used for both compilation and bundling. For compilation, it takes JavaScript / TypeScript files using modern JavaScript features and outputs valid code that is supported by all major browsers.
the-super-tiny-compiler - Possibly the smallest compiler ever
nx - Smart, Fast and Extensible Build System
Rspack - The fast Rust-based web bundler with webpack-compatible API.
esbuild - An extremely fast bundler for the web
Jscrambler - JavaScript protection technology for Web and Mobile Applications. Its main purpose is to enable JavaScript applications to become self-defensive and resilient to tampering and reverse engineering.
UglifyJS - JavaScript parser / mangler / compressor / beautifier toolkit
terser - JavaScript parser, mangler and compressor toolkit for ES6+
javascript-obfuscator - A powerful obfuscator for JavaScript and Node.js
pino - super fast, all natural json logger
project-guidelines - A set of best practices for JavaScript projects
snowpack - The fast, simple dev environment for modern web apps
projectz - Stop wasting time maintaining your project's readme and package files
readme - Automatically generate a beautiful best-practice README file based on the contents of your repository
effector - The state manager
mrm - Codemods for your project config files
lerna - A tool for managing JavaScript projects with multiple packages
clean-code-javascript - Clean Code concepts adapted for JavaScript
typescript-vs-flowtype - Differences between Flowtype and TypeScript
standard - JavaScript Style Guide, with linter & automatic code fixer
js-beautify - Beautifier for javascript
docz - It has never been so easy to document your things!
documentation - documentation for modern JavaScript
meld - AOP for JS with before, around, on, afterReturning, afterThrowing, after advice, and pointcuts
nodejs-cli-apps-best-practices - The largest Node.js CLI Apps best practices list
DefinitelyTyped - The repository for high quality TypeScript type definitions
bolt - Super-powered JavaScript project management
tsyringe - Lightweight dependency injection container for JavaScript/TypeScript
husky - Git hooks made easy
simple-git-hooks - A simple git hooks manager for small projects
xo - JavaScript linter with great defaults
prettier - opinionated code formatter
babel-handbook - A guided handbook on how to use Babel and how to create plugins for Babel
debug - A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
hygen - The simple, fast, and scalable code generator that lives in your project.
kyt - Starting a new JS app? Build, test and run advanced apps with kyt
generator - Rails-inspired generator system that provides scaffolding for your apps
madge - Create graphs from your CommonJS, AMD or ES6 module dependencies
jscodeshift - A JavaScript codemod toolkit
memlab - A framework for finding JavaScript memory leaks and analyzing heap snapshots
ESLint - Find and fix problems in your JavaScript code.
dependency-cruiser - Validate and visualize dependencies. Your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.
volta - JS Toolchains as Code
Oxc - A collection of JavaScript tools written in Rust. Oxc is building a parser, linter, formatter, transformer, minifier, resolver written in Rust.
pnpm - Fast, disk space efficient package manager
semantic-release - Fully automated version management and package publishing
release-it - Automate versioning and package publishing
yarn-completion - Bash completion for Yarn
verdaccio - A lightweight Node.js private proxy registry
interview-questions-in-javascript - A mostly reasonable collection of technical software development interview questions solved in Javascript
javascript-questions - A long list of (advanced) JavaScript questions, and their explanations
problem-solving-javascript - Crack you JS interviews ⚡ Collection of most common JS Interview questions with Unit Tests
30 seconds of code - Curated collection of useful Javascript snippets that you can understand in 30 seconds or less.
Awesome FP JS - A curated list of awesome functional programming stuff in js
The JavaScript Developer's Reading List
awesome-javascript - A collection of awesome browser-side JavaScript libraries, resources and shiny things
useful-javascript-libraries - Collection of Javascript libraries
jstips - This is about useful JS tips
33 concepts every JavaScript developer should know
js-bits - JavaScript concepts with code
modern-js-cheatsheet - Cheatsheet for the JavaScript knowledge you will frequently encounter in modern projects
wtfjs - A list of funny and tricky JavaScript examples
awesome-javascript-learning - A tiny list limited to the best JavaScript Learning Resources
JavaScript Stack from Scratch - Step-by-step tutorial to build a modern JavaScript stack
javascript-testing-best-practices - Comprehensive and exhaustive JavaScript & Node.js testing best practices
functions-and-scope-in-javascript - Examples of functions and scope (closure) in JavaScript
channels - A collection of useful YouTube channels for javascript developers and web designers
javascript-enlightenment - JavaScript (ES2015+) Enlightenment Book
design-patterns-JS - All the 23 (GoF) design patterns implemented in Javascript
javascript-patterns - A collection of javascript algorithms, patterns, and techniques
typeofnan-javascript-quizzes - JavaScript quiz questions and explanations
javascript-tips-and-tidbits - A continuously-evolving compendium of javascript tips based on common areas of confusion or misunderstanding
es6features - Overview of ECMAScript 6 features
You-Dont-Need-Lodash-Underscore - List of JavaScript methods which you can use natively + ESLint Plugin
1loc - What's your favorite JavaScript single LOC (line of code)
array-explorer - A resource to help figure out what JavaScript array method would be best to use at any given time