JS libraries
PnPm is nice package manager. redaxios is great for web fetches.
Web Dev frameworks
- Solid - Declarative, efficient, and flexible JavaScript library for building user interfaces. (Code) (Website Code) (Awesome) (HN)
- San - Flexible JavaScript component framework.
- hapi - Rich framework for building applications and services.
- Koa - Smaller, more expressive, and more robust foundation for web applications and APIs. (Code) (koa-ts)
- Umi - Pluggable enterprise-level react application framework.
- Vue.js - Progressive JavaScript Framework.
- Mithril - Modern client-side JavaScript framework for building Single Page Applications. (HN)
- Neutrino dev
- Alpine.js - Rugged, minimal framework for composing JavaScript behavior in your markup. (Awesome Alpine) (HN) (Web) (Docs)
- After.js - Next.js-like framework for server-rendered React apps built with React Router 4.
- Torus - Event-driven model-view UI framework for the web, focused on being tiny, efficient, and free of dependencies. (Web)
- Hyperapp - Tiny framework for building web interfaces. (Web) (HN) (Hyperawesome)
- Hyperapp FX - Effects for use with Hyperapp.
- Phenomic - Modular website compiler (React, Webpack, Reason and whatever you want).
- Halfmoon - Front-end framework with a built-in dark mode and full customizability using CSS variables; great for building dashboards and tools. (Docs)
- Sinuous - Low-level UI library with a tiny footprint. (Docs)
- Overture - Powerful JS library for building really slick web applications, with performance at, or surpassing, native apps.
- Lucia - Tiny library for tiny web apps. (Docs)
- Ractive.js - Next-generation DOM manipulation.
- JSX Lite - Write components once, run everywhere. Compiles to Vue, React, Solid, Liquid, more.
- Perlite - Hyperactiv + lit-html + extensions. Simple and declarative way to create rich client-side widgets designed with server-side apps in mind.
- Democrat - Library that mimic the API of React (Components, hooks, Context...) but instead of producing DOM mutation it produces a state tree.
- Raj - Elm Architecture for JavaScript.
- Reframe - New kind of web framework.
- observablehq/stdlib - Observable standard library.
- Choo - Sturdy 4kb frontend framework. (Web)
- Typera - Type-safe routes for Express and Koa.
- Frourio - Fast and type-safe full stack framework, for TypeScript. (Web)
- Svelto - Modular front end framework for modern browsers, with battery included: 100+ widgets and tools.
- modular - Collection of tools and guidance to enable UI development at scale. (Tweet)
- Turbo - Speed of a single-page web application without having to write any JavaScript. (Web)
- Fre - Tiny Coroutine framework with Fiber.
- Glimmer - Fast and light-weight UI components for the web. (Code)
- Glimmer VM - Flexible, low-level rendering pipeline for building a "live" DOM from Handlebars templates that can subsequently be updated cheaply when data changes.
- frint - Modular JavaScript framework for building scalable and reactive applications.
- Next.js - Framework for server-rendered or statically-exported React apps.
- Nano Router - Framework agnostic minimalistic router with a focus on named routes.
- tiny-request-router - Fast, generic and type safe router (match request method and path).
- Synergy - Tiny runtime library for building web user interfaces. (HN)
- dflex - JavaScript Project to Manipulate DOM Elements.
- morphdom - Fast and lightweight DOM diffing/patching (no virtual DOM needed).
- Forgo - Ultra-light UI runtime. Makes it super easy to create modern web apps using JSX (like React).
- Whats Up - Front-end framework based on ideas of streams and fractals.
- Boost - Collection of type-safe cross-platform packages for building robust server-side and client-side systems.
- Nostalgie - Opinionated, full-stack, runtime-agnostic framework for building web apps and web pages using react. (Web)
- Lumino - Library for building interactive web applications.
- Skruv - No-dependency, no-build, small JS framework. (Code) (HN)
- jQuery - Fast, small, and feature-rich JavaScript library. (Web)
- neo.mjs - Create blazing fast multithreaded Web Apps.
- presta - Hyper minimal framework for the modern web. (Web)
- Haptic - Reactive web rendering in TSX with no virtual DOM, no compilers, and no magic.
- Astro - Build faster websites with less client-side JavaScript. (Web) (HN) (Look at Building with Astro) (Play) (Tweet)
- Logux Client - New way to connect client and server. Instead of sending HTTP requests, it synchronizes log of operations between client, server, and other clients. (Examples)
- CalDOM - Agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM. (Web)
- Trimmings - Zero-configuration JavaScript library that adds a layer of smooth and fast in-page interaction to your web pages.
- Piral - Easily build a next generation portal application using microfrontends. (Code)
- Qiankun - Implementation of Micro Frontends, which based on single-spa. It aims to make it easier and painless to build a production-ready microfront-end architecture system. (Web)
- Drayman - Server-side component framework.
- yeet - Teeny-weeny front end framework.
- Xeact - Revolutionary Femtoframework For High Efficiency JavaScript Development. (Article)
- $mol - Fastest reactive micro-modular compact flexible lazy ui web framework.
- Reflex - Functional reactive UI library.
- Gestalt - Modern opinionated and batteries-included NodeJS framework for building web sites and apps.
- Logux Core - New way to connect client and server. Instead of sending HTTP requests (e.g., AJAX and GraphQL) it synchronizes log of operations between client, server, and other clients.
- set-dom - Lightweight DOM diffing with plain old HTML.
- Ralix - Micro framework for building and organizing your front-end.
- rawth - Pure functional isomorphic router based on streams.
- Corset - Declarative data bindings, bring your own backend. (Web)
- hdot - Zero-dependency, buildless, terse, and type-safe way to write HTML in JavaScript.
- SurveyJS - JavaScript Survey and Form Library. (Web)
- Helmet - Help secure Express apps with various HTTP headers.
- Reactif - Fast 5kB reactive & elegant functional library for rapidly building modern UIs on the web.
- Swup - Complete, flexible, extensible and easy to use page transition library for your static web.
- Taxi - Library for adding AJAX navigation and beautiful transitions to your website.
- Tornis - Helps you watch and respond to changes in your browser's viewport.
Animation
- Anime.js - JavaScript animation engine.
- popmotion - Functional, reactive animation library.
- impress.js - Presentation framework based on the power of CSS3 transforms and transitions.
- Pts - Library for visualization and creative-coding. (Web)
- lax.js - Simple & lightweight (<4kb gzipped) vanilla JavaScript library to create smooth & beautiful animations when you scroll.
- Flipping - Library (and collection of adapters) for implementing FLIP transitions.
- Ola - Smooth animation library for interpolating numbers.
- react-spring - Spring physics based React animation library.
- FAT - Web's fastest and most lightweight animation tool.
- React Easy Flip - Lightweight React library for smooth FLIP animations.
- AOS - Animate on scroll library.
- flubber - Tools for smoother shape animations.
- tatween - JavaScript library providing a block-based animation API.
CLI
- mri - Quickly scan for CLI flags and arguments.
- qoa - Minimal interactive command-line prompts.
- sade - Smooth (CLI) Operator.
- yargs-parser - Mighty option parser used by yargs.
- boxen-cli - Create boxes in the terminal.
- command-line-args - Mature, feature-complete library to parse command-line options.
- Prompts - Lightweight, beautiful and user-friendly interactive prompts.
- minimist - Parse argument options.
- Inquirer.js - Collection of common interactive command line user interfaces.
- Handle-CLI-Error - Error handler for CLI applications.
ML
- mind - Neural network library built in JavaScript.
Test
- Unexpected - Extensible BDD assertion toolkit. (Docs)
- Fishery - Library for setting up JavaScript objects as test data.
- pentf - Parallel end-to-end test framework.
- test-flat - Test framework extension to support resources teardown and cleanup in flat tests.
- zora - Lightest, yet Fastest JavaScript test runner for nodejs and browsers.
- Vest - Declarative Validation Testing.
- uvu - Extremely fast and lightweight test runner for Node.js and the browser.
- Spearmint - Testing, simplified. An inclusive, accessibility-first GUI for generating clean, semantic JavaScript tests in only a few clicks of (or keystrokes) of a button. (Web)
- StrykerJS - Mutation testing for JavaScript and friends. (Web)
- xv - Simple, fast and small test runner.
- Peeky - Test framework for the curious minds. (Web)
- gremlins.js - Monkey testing library for web apps and Node.js.
- JSVerify - Property-based checking. Like QuickCheck.
- brittle - TAP test runner built for modern times.
- fake-timers - Fake setTimeout and friends (collectively known as "timers"). Useful in your JavaScript tests.
- esmock - Provides native ESM import mocking for unit tests.
Graphics
- Lumen 2D - 2D javascript renderer using web workers.
- Blurry - Simulating depth of field with particles on a shader.
- Window.js - Open-source JavaScript runtime for desktop graphics programming. (HN)
- glsl-tone-map - Collection of tone mapping functions available both as ES modules strings and as GLSL files for use with glslify.
State management
- Mutik - Tiny (495B) immutable state management library based on Immer.
- Overmind - Frictionless state management. (Docs) (HN)
- Storeon - Tiny event-based Redux-like state manager for React and Preact.
- Overstated - React state management library that's delightful to use, without sacrificing performance or scalability.
- Effector - Reactive state manager. (Awesome) (Docs) (effector-storage) (Пишем фичу в проекте с EffectorJS) (The best part of Effector) (Playground) (Playground Code)
- Akita - State Management Tailored-Made for JS Applications.
- Observable Store - Provides a simple way to manage state in Angular, React, Vue.js and other front-end applications.
- Cerebral - Declarative state and side effects management solution for popular JavaScript frameworks.
- Hooksy - State management solution based on react hooks.
- React Easy State - Simple React state management. Made with ❤️ and ES6 Proxies.
- wana - Easy observable state for React.
- Recoil - Experimental set of utilities for state management with React. (Web) (Video) (Reddit) (Rewriting from scratch) (Recoilize - Recoil developer tool)
- State Designer - JavaScript and TypeScript library for managing the state of a user interface.
- Fluxible - Pluggable container for universal flux applications.
- Logux State - Tiny state manager with CRDT, cross-tab, and Logux support.
- Statery - Surprise-Free State Management. Designed for React with functional components.
API bindings
DB
- sql.js - SQLite compiled to JavaScript. Allows you to create a relational database and query it entirely in the browser. (Docs) (HN)
- SQigiL - Postgres SQL template string for Javascript.
- Postgrest JS - Isomorphic JavaScript client for PostgREST.
- Connect PG Simple - Simple, minimal PostgreSQL session store for Express/Connect.
- SyncedDB - Makes it easy to write offline-first applications with realtime syncing and server side persistence.
- Dexie.js - Minimalistic IndexedDB Wrapper. (Docs)
- Keyv - Simple key-value storage with support for multiple backends.
- Dexie.js - Minimalistic Wrapper for IndexedDB. (Web)
- lowdb - Simple to use local JSON database.
- PicoDB - Tiny in-memory database (MongoDB like) that stores JSON documents.
- level-web-stream - Read from an abstract-level database using Web Streams.
- iron-store - In-memory, signed and encrypted JavaScript store.
- Keyv - Simple key-value storage with support for multiple backends.
- Quickgres - Native-JS PostgreSQL client library.
- invert-kv - Invert the key/value of an object.
- HashQL - Access DB from UI.
- heapify - Fastest JavaScript priority queue out there. Zero dependencies.
- Databricks SQL Driver for NodeJS
React
- state-machines-in-react - Small React, xstate and Framer Motion demo.
Math
- Eigen.js - Port of the Eigen C++ linear algebra library.
Crypto
- Elliptic - Fast Elliptic Curve Cryptography in plain JS.
- TweetNaCl.js - Port of TweetNaCl cryptographic library to JavaScript.
- Tiny WebCrypto - Tiny isomorphic WebCrypto object, it just gives you the native one the current platform provides.
- hypercore-crypto - Crypto primitives used in hypercore, extracted into a separate module.
Other
- micro github - Tiny microservice that makes adding authentication with GitHub to your application easy.
- pico.js - Face detection library in 200 lines of JavaScript.
- mdxc - Use React Components within Markdown.
- ReLaXeD - Create PDF documents using web technologies. (Examples)
- Dragula - Drag and drop so simple it hurts.
- Hammer.js - Multi-touch gestures.
- emittery - Simple and modern async event emitter.
- Xstate - State machines and statecharts for the modern web. (State Machines Workshop) (Tweet)
- XState Helpers - Collection of helpers for XState with React.
- xstate-component-tree - Build a tree of UI components based on your state chart.
- virtual-scroller - Maps a provided set of JavaScript objects onto DOM nodes, and renders only the DOM nodes that are currently visible, leaving the rest "virtualized".
- jSPDF - Client-side JavaScript PDF generation for everyone.
- ForgJS - JavaScript lightweight object validator.
- faker.js - Generate massive amounts of realistic fake data in Node.js and the browser.
- arg - Simple argument parsing.
- fbt - JavaScript Internationalization Framework.
- fuzzysearch - Tiny and blazing-fast fuzzy search in JavaScript.
- normalizr - Normalizes nested JSON according to a schema.
- FBJS - Collection of utility libraries used by other Facebook JS projects.
- Uppy - Next open source file uploader for web browsers. (Web)
- ScrollReveal - Animate elements as they scroll into view.
- Shiny - Add shiny reflections to text, backgrounds, and borders on devices that support the DeviceMotion event.
- Hotkey Behavior - Trigger a action on element when keyboard hotkey is pressed.
- Bili - Makes it easier to bundle JavaScript libraries.
- Memoizee - Complete memoize/cache solution for JavaScript.
- Immer - Create the next immutable state by mutating the current one.
- FlexSearch - Web's fastest and most memory-flexible full-text search library with zero dependencies.
- cofx - Node and javascript library that helps developers describe side-effects as data in a declarative, flexible API.
- Mercury Parser - Extracts the bits that humans care about from any URL you give it.
- Refract - Harness the power of reactive programming to supercharge your components.
- MemJS - Memcache client for node using the binary protocol and SASL authentication.
- memfs - In-memory filesystem with Node's API.
- Accounts - Fullstack authentication and accounts-management for GraphQL and REST.
- Cleave.js - Format input text content when you are typing...
- Unistore - Tiny 350b centralized state container with component bindings for Preact & React.
- Ramda - Practical functional library for JavaScript programmers.
- fromfrom - JS library written in TS to transform sequences of data from format to another.
- Editor.js - Block-styled editor with clean JSON output.
- ijk - Transforms arrays into virtual DOM trees.
- Cleave.js - Format input text content when you are typing.
- Oboe.js - Streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes.
- Choices.js - Vanilla JS customisable select box/text input plugin.
- Shepherd - Guide your users through a tour of your app.
- object-cull - Create a copy of an object with just the bits you actually need.
- Sigma - JavaScript library dedicated to graph drawing.
- interact.js - JavaScript drag and drop, resizing and multi-touch gestures with inertia and snapping for modern browsers.
- flru - Tiny (215B) and fast Least Recently Used (LRU) cache.
- Yup - Dead simple Object schema validation.
- Lerna - Tool for managing JavaScript projects with multiple packages.
- WikiJs - Wikipedia Interface for Node.js.
- virtual-audio-graph - Library for declaratively manipulating the Web Audio API.
- deep-object-diff - Deep diffs two objects, including nested structures of arrays and objects, and returns the difference.
- Snarkdown - Snarky 1kb Markdown parser written in JavaScript.
- Terser - JavaScript parser, mangler, optimizer and beautifier toolkit for ES6+.
- AppAuthJS - JavaScript client SDK for communicating with OAuth 2.0 and OpenID Connect providers.
- expr-eval - Mathematical expression evaluator in JavaScript.
- robust-predicates - Fast robust predicates for computational geometry in JavaScript.
- Sanctuary - JavaScript functional programming library inspired by Haskell and PureScript.
- modali - Delightful modal dialog component for React, built from the ground up to support React Hooks.
- Tweakpane - Compact GUI for fine-tuning parameters and monitoring value changes.
- crocks - Collection of well known Algebraic Data Types for your utter enjoyment.
- Just - Library of zero-dependency npm modules that do just do one thing.
- nanoid - Tiny (139 bytes), secure, URL-friendly, unique string ID generator for JavaScript.
- debug - Tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers.
- roughViz.js - Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.
- Mitt - Tiny 200 byte functional event emitter / pubsub.
- RequireJS - File and module loader for JavaScript.
- Zero - 3D graphics rendering pipeline. Implemented in JavaScript. Run in a terminal.
- xstate-viz - Visualize state charts.
- htmr - Simple and lightweight (< 2kB) HTML string to React element conversion library.
- react-jsx-parser - React component which can parse JSX and output rendered React Components.
- Static Land - Specification for common algebraic structures in JavaScript based on Fantasy Land.
- sorted-queue - Sorted queue, based on an array-backed binary heap.
- polendina - Non-UI browser testing for JavaScript libraries from the command-line.
- agadoo - Check whether a package is tree-shakeable.
- Fielder - React form library which adapts to change.
- lemonad - Functional programming library for JavaScript. An experiment in elegant JS.
- Mockttp - Lets you quickly & reliably test HTTP requests & responses in JavaScript, in both Node and browsers.
- Flowy - Minimal javascript library to create flowcharts.
- d3-dag - Layout algorithms for visualizing directed acyclic graphs.
- renature - Physics-based animation library for React focused on modeling natural world forces.
- Morphism - Do not repeat anymore your objects transformations.
- Tonic - Stable, Minimal, Auditable, Build-Tool-Free, Low Profile Component Framework.
- Quiet.js - Transmit data with sound using Web Audio -- Javascript binding for libquiet.
- Bindery - Library for designing printable books with HTML and CSS.
- Wretch - Tiny wrapper built around fetch with an intuitive syntax.
- Virt.js - Free collection of useful standard devices, that can be used to power various engine that makes use of the exposed interfaces.
- Path-to-RegExp - Turn a path string such as /user/:name into a regular expression.
- Bacon.js - Functional reactive programming library for TypeScript and JavaScript.
- GGEditor - Visual graph editor based on G6 and React.
- Arbor - Graph visualization library using web workers and jQuery. (Web)
- fsm-as-promised - Finite state machine library using ES6 promises.
- x-spreadsheet - Web-based JavaScript(canvas)spreadsheet.
- IsoCity - Isometric city builder in JavaScript.
- car - Simple 2d car physics with JavaScript. (HN)
- Picomatch - Blazing fast and accurate glob matcher written in JavaScript.
- react-isomorphic-data - Easily fetch data in your React components, with similar APIs to react-apollo.
- klona - Tiny (228B) and fast utility to "deep clone" Objects, Arrays, Dates, RegExps, and more.
- ScrollMagic - JavaScript library for magical scroll interactions.
- GoJS - JavaScript and TypeScript library for building interactive diagrams and graphs.
- Rete - JavaScript framework for visual programming and creating node editor. (HN)
- Pre3d - JavaScript 3d rendering engine.
- dancer.js - High-level audio API, designed to make sweet visualizations.
- model-viewer - Easily display interactive 3D models on the web and in AR.
- Spars - General toolkit for creating interactive web experiences.
- NeuroJS - JavaScript deep learning and reinforcement learning library.
- Hareactive - Purely functional reactive programming library.
- Mirage JS - Client-side server to develop, test and prototype your JavaScript app.
- dfa - State machine compiler with regular expression style syntax.
- Jtree - Tree Notation TypeScript/Javascript library.
- Hydra - Livecoding networked visuals in the browser.
- p-queue - Promise queue with concurrency control.
- gsheets - Get public Google Sheets as plain JavaScript/JSON.
- alga-ts - Algebraic graphs implementation in TypeScript.
- Chart.js - Simple HTML5 Charts using the <canvas> tag. (Awesome)
- on-change - Watch an object or array for changes.
- clean-set - Deep assignment alternative to the object spread operator and Object.assign.
- Search Query Syntax Parser
- Uppload - Better JavaScript image uploader with 30+ plugins.
- pino - Super fast, all natural JSON logger.
- Orbit - Composable data framework for ambitious web applications.
- panzoom - Universal pan and zoom library (DOM, SVG, Custom).
- intl-tel-input - JavaScript plugin for entering and validating international telephone numbers.
- three.js - JavaScript 3D library.
- shortid - Short id generator. Url-friendly. Non-predictable. Cluster-compatible.
- styx - Derives a control flow graph from a JavaScript AST.
- Crossfilter - JavaScript library for exploring large multivariate datasets in the browser.
- SiriWave - Apple Siri wave-form replicated in a JS library.
- Shades - Lodash-inspired lens-like library for Javascript.
- mxGraph - Fully client side JavaScript diagramming library.
- cacache - Node.js library for managing local key and content address caches.
- enhanced-resolve - Offers an async require.resolve function. It's highly configurable.
- notevil - Evalulate javascript like the built-in javascript eval() method but safely.
- react-digraph - Library for creating directed graph editors.
- bent - Functional JS HTTP client (Node.js & Fetch) w/ async await.
- CLUI - Collection of JavaScript libraries for building command-line interfaces with context-aware autocomplete. (Article) (HN)
- cosha - Colorful shadows for your images.
- Rambda - Faster and smaller alternative to Ramda.
- MathJax - Open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all modern browsers. (Web) (HN)
- Litepicker - Date range picker - lightweight, no dependencies.
- core-js - Modular standard library for JavaScript.
- timeago.js - Nano library (less than 2 kb) used to format datetime with *** time ago statement. eg: '3 hours ago'.
- Serialize JavaScript - Serialize JavaScript to a superset of JSON that includes regular expressions, dates and functions.
- Tippy.js - Tooltip, popover, dropdown, and menu library.
- howler.js - JavaScript audio library for the modern web.
- date-fns - Modern JavaScript date utility library.
- Midi - Convert MIDI into Tone.js-friendly JSON.
- face-api.js - JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js.
- Spotlight - Search widget for your web API.
- Fuse - Lightweight fuzzy-search, in JavaScript.
- Xterm.js - Terminal for the web. (Web) (HN)
- Change Case - Convert strings between camelCase, PascalCase, Capital Case, snake_case and more.
- ChronoGraph - Reactive, graph-based, computation engine.
- Sprotty - Diagramming framework for the web.
- prerender.js - Loads pages quickly on any browser.
- on-finished - Execute a callback when a request closes, finishes, or errors.
- ColorFns - Modern JavaScript color utilities library.
- grapheme-splitter - JavaScript library that breaks strings into their individual user-perceived characters.
- Web Animations - JavaScript implementation of the Web Animations API.
- p-limit - Run multiple promise-returning & async functions with limited concurrency.
- Highcharts JS - JavaScript charting library based on SVG.
- μPlot - Small, fast chart for time series, lines, areas, ohlc & bars.
- Baobab - JavaScript & TypeScript persistent and optionally immutable data tree with cursors.
- emoji-regex - Regular expression to match all Emoji-only symbols as per the Unicode Standard.
- MerkleTree.js - Construct Merkle Trees and verify proofs in JavaScript.
- Snabbdom - Virtual DOM library with focus on simplicity, modularity, powerful features and performance.
- Thwack - Tiny modern data fetching solution.
- Regenerate - Generate JavaScript-compatible regular expressions based on a given set of Unicode symbols or code points.
- Crank.js - Write JSX-driven components with functions, promises and generators. (Article) (Reddit) (HN)
- redaxios - Axios API, as an 800 byte Fetch wrapper.
- Math.js - Extensive math library for JavaScript and Node.js.
- pixelmatch - Smallest, simplest and fastest JavaScript pixel-level image comparison library.
- quilt - Loosely related set of packages for JavaScript / TypeScript projects at Shopify.
- jsondiffpatch - Diff & patch JavaScript objects.
- RVal - Minimalistic transparent reactive programming library.
- orbit-controls - Generic controls for orbiting a target in 3D.
- estree-walker - Traverse an ESTree-compliant AST.
- Jitsi Meet API library - Can use Jitsi Meet API to create Jitsi Meet video conferences with a custom GUI.
- isomer - Simple isometric graphics library for HTML5 canvas.
- Schema to Yup schema
- Mordred - Source data from anywhere, for Next.js, Nuxt.js, Eleventy and many more.
- ASScroll - Hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll.
- Gallery - Light, responsive, and performant JavaScript gallery.
- Logux Server - Build own Logux server or make proxy between WebSocket and HTTP backend on any language.
- @expo/results - Efficient, standards-compliant library for representing results of successful or failed operations.
- Emojibase - Collection of lightweight, up-to-date, pre-generated, specification compliant, localized emoji JSON datasets, regex patterns, and more.
- serve-favicon - Node.js middleware for serving a favicon.
- download - Download and extract files.
- color2k - Color parsing and manipulation lib served in 2kB or less.
- Sandstorm - Open source platform for self-hosting web apps. (Code)
- transformation-matrix - JS isomorphic 2D affine transformations written in ES6 syntax.
- Muuri - JavaScript layout engine that allows you to build all kinds of layouts and make them responsive, sortable, filterable, draggable and/or animated.
- Split - Unopinionated utilities for resizeable split views.
- Parallax Engine - Reacts to the orientation of a smart device.
- fastq - Fast, in memory work queue.
- ac-colors - Reactive JavaScript color library that can freely convert color formats.
- sonic-boom - Extremely fast utf8 only stream implementation.
- Rough Notation - Small JavaScript library to create and animate annotations on a web page. (HN)
- SqueakJS - Squeak VM for the Web and Node.js. (Web)
- fit-textarea - Automatically expand a <textarea> to fit its content, in a few bytes.
- NanoPop - Ultra Tiny, Opinionated Positioning Engine. (Web)
- Angelfire - Lets you quickly build right-click-enabled context menus and drop-down menus for any element on your webpage.
- csv-parser - Streaming csv parser inspired by binary-csv that aims to be faster than everyone else.
- updeep - Easily update nested frozen objects and arrays in a declarative and immutable manner.
- Hull.js - JavaScript library that builds concave hull by set of points.
- StegCloak - Hide secrets with invisible characters in plain text securely using passwords.
- p-min-delay - Delay a promise a minimum amount of time.
- match-when - Pattern matching for modern JavaScript.
- NumJs - Like NumPy, in JavaScript.
- spect - Reactive aspect-oriented web-framework.
- js-cid - CID implementation in JavaScript.
- js-ipld-block - Implementation of the Block data structure in JavaScript.
- wildcard-api - Functions as API.
- bpmn-js - BPMN 2.0 rendering toolkit and web modeler.
- fit-curve - JavaScript implementation of Philip J. Schneider's "Algorithm for Automatically Fitting Digitized Curves" from the book "Graphics Gems".
- clean-deep - Remove falsy, empty or nullable values from objects.
- regular-table - Regular <table> library, for async and virtual data models.
- Stimulus - Modest JavaScript framework for the HTML you already have. (Web) (Awesome)
- bigpicture.js - Library that allows infinite panning and infinite zooming in HTML pages. (Web)
- Tragopan - Minimal dependency-free pan/zoom library. (HN)
- Deakins - Small Canvas 2D Camera.
- Turbolinks - Makes navigating your web application faster.
- CindyJS - Framework to create interactive (mathematical) content for the web. (Web) (HN)
- axios - Promise based HTTP client for the browser and nodeJS.
- astray - Walk an AST without being led astray.
- vnopts - Validate and normalize options.
- canvas confetti - On-demand confetti gun. (Docs)
- Graphlib - JavaScript library that provides data structures for undirected and directed multi-graphs along with algorithms that can be used with them.
- Dagre - JavaScript library that makes it easy to lay out directed graphs on the client-side.
- ecsy - Highly experimental Entity Component System framework implemented in javascript, aiming to be lightweight, easy to use and with good performance. (Docs)
- Object Visualizer - Visualize the JSON object to the DOM. (HN)
- Reach Schema - Functional schema-driven JavaScript object validation library.
- @cycle/callbags - Set of commonly used stream operators implemented as callbags with Typescript and ES modules.
- umbrella - Broadly scoped ecosystem & mono-repository of ~135 TypeScript projects for functional, data driven development.
- HTM - JSX-like syntax in plain JavaScript - no transpiler necessary.
- NativeScript - Framework for building native iOS and Android apps using JavaScript and CSS.
- schema-dts - JSON-LD TypeScript types for Schema.org vocabulary.
- flatpickr - JS date time picker.
- superjson - Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
- lazy-collections - Collection of fast and lazy operations.
- Perfect Arrows - Set of functions for drawing perfect arrows between points and shapes.
- Autocomplete.js - Fast and full-featured autocomplete library.
- urlcat - URL builder library for JavaScript. (Docs)
- Diagram Maker - Library to display an interactive editor for any graph-like data. (Docs) (HN)
- js-coroutines - 60fps with JavaScript Coroutines for idle processing and animation.
- Transducist - Ergonomic JavaScript/TypeScript transducers for beginners and experts.
- decimal.js - Arbitrary-precision Decimal type for JavaScript.
- Constant-Time JavaScript - Constant-time algorithms written in TypeScript.
- SheetJS - Spreadsheet Data Toolkit. Read, edit, and export spreadsheets. Works in web browsers and servers. (Web)
- Z - Pattern Matching for JavaScript. (Web)
- Graphology - Robust & multipurpose Graph object for JavaScript & TypeScript. (Docs)
- weak-napi - Make weak references to JavaScript Objects.
- nestie - Tiny (211B) and fast utility to expand a flattened object.
- Mock.js - Simulation data generator.
- Detect features - Detect and report browser and hardware features.
- JSZip - Create, read and edit .zip files with JavaScript.
- Classnames - Simple javascript utility for conditionally joining classNames together.
- cx - Concatenate your classes (with shortcuts).
- Defer - Tiny, type-safe, JavaScript-native defer implementation.
- freshie - Fresh take on building universal applications with support for pluggable frontends and backends.
- Luckysheet - Online spreadsheet like excel that is powerful, simple to configure, and completely open source. (Docs)
- noUiSlider - Lightweight JavaScript range slider.
- QRCode.js - Cross-browser QRCode generator for JavaScript. (Web)
- HyperScript - Create HyperText with JavaScript, on client or server. (Web) (HN)
- hyperscript-helpers - Terse syntax for hyperscript.
- EnlighterJS - Open source syntax highlighter written in pure javascript.
- eslisp - S-expression syntax for JavaScript, with Lisp-like hygienic macros. Minimal core, maximally customisable.
- Smoldash - Tiny lodash alternative built for the modern web.
- TypewriterJS - Simple yet powerful native javascript plugin for a cool typewriter effect.
- sse.js - Flexible Server Side Events source for JavaScript.
- Arkit - Visualises JavaScript, TypeScript and Flow codebases as meaningful and committable architecture diagrams. (Web)
- jsii - Allows code in any language to naturally interact with JavaScript classes.
- proxy-memoize - Intuitive magical memoization library with Proxy and WeakMap. (Tweet)
- CosmJS - Modular library consisting of multiple packages to power web experiences.
- Arwes - Futuristic Sci-Fi and Cyberpunk Graphical User Interface Framework for Web Apps. (Web)
- psl (Public Suffix List) - JavaScript domain name parser based on the Public Suffix List.
- invariant-packages - Packages for working with invariant(condition, message) assertions.
- evt - EventEmitter's typesafe replacement.
- webscan - Browser-based network scanner & local-IP detection.
- Pill - Add dynamic content loading to static sites with only 1 KiB of JS.
- fast-deep-equal - Fastest deep equal with ES6 Map, Set and Typed arrays support.
- preview-card - Customizable social media preview image.
- egjs-flicking - Easy-to-use and performant infinite carousel.
- SSE-Z - Slim, easy-to-use wrapper around EventSource.
- DefinitelyExported - Community-defined export maps for popular npm packages.
- jsdiff - JavaScript text differencing implementation.
- HyperFormula - Open source, spreadsheet-like calculation engine.
- fast-json-stringify - Significantly faster than JSON.stringify() for small payloads.
- isbot - JavaScript module that detects bots/crawlers/spiders via the user agent.
- Valtio - Makes proxy-state simple for React and Vanilla. (Demo) (How Valtio Proxy State Works)
- pica - High quality image resize in browser.
- Planton - Database-agnostic task scheduler.
- mime-types - JavaScript content-type utility.
- match-sorter - Simple, expected, and deterministic best-match sorting of an array in JavaScript.
- Fetch Event Source - Better API for making Event Source requests, with all the features of fetch().
- rafz - Coordinate requestAnimationFrame calls across your app and/or libraries.
- p-state - Inspect the state of a promise.
- v86 - x86 virtualization in JavaScript, running in your browser and NodeJS. (Web)
- Notyf - Minimalistic, responsive, vanilla JavaScript library to show toast notifications.
- Moveable - Draggable, Resizable, Scalable, Rotatable, Warpable, Pinchable, Groupable, Snappable.
- Execa - Process execution for humans.
- quick-lru - Simple “Least Recently Used” (LRU) cache.
- Deepdash - Tree traversal library written in Underscore/Lodash fashion. (Docs)
- Nano Delay - Tiny (25 bytes) Promise wrapper around setTimeout.
- ES Module Lexer - Low-overhead lexer dedicated to ES module parsing for fast analysis.
- keez - Frictionless hotkey handling for browsers.
- Zet - Set() as it should be.
- Ketting - Hypermedia client for JavaScript.
- yocto-queue - Tiny queue data structure.
- Nano JSX - Lightweight 1kB JSX library. (Web)
- Effects.js - Algebraic effects in javascript with scoped handlers, multishot delimited continuations, stack safety and do notation.
- flatten-js - JavaScript library for 2d geometry.
- is-retry-allowed - Check whether a request can be retried based on the error.code.
- backfill - JavaScript caching library for reducing build time.
- S-Libs - Collection of libraries for any of JS, RxJS, or Angular.
- watchpack - Wrapper library for directory and file watching.
- async-tag - Resolves template literals tag values before applying a generic tag.
- serialize-error - Serialize/deserialize an error into a plain object.
- errorstacks - Tiny library to parse error stack traces.
- Ape-ECS - Entity-Component-System library for JavaScript.
- rrule.js - JavaScript library for working with recurrence rules for calendar dates as defined in the iCalendar RFC and more. (Demo)
- scroller - Super-tiny library for your scrollytelling needs.
- Isomorphic DOMPurify - Makes it possible to use DOMPurify on server and client in the same way.
- navaid - Navigation aid (aka, router) for the browser in 850 bytes.
- glob-to-regexp - Convert a glob to a regular expression.
- cmap - Interactive visualization library for concept map.
- lezer-tree - Incremental GLR parser intended for use in an editor or similar system.
- matchit - Quickly parse & match URLs.
- acorn - Tiny, fast JavaScript parser, written completely in JavaScript.
- jsesc - Given some data, jsesc returns the shortest possible stringified & ASCII-safe representation of that data.
- fastjson - Single-tweet, standards-compliant, high-performance JSON stack.
- grfn - Tiny (~400B) utility that executes a dependency graph of async functions as concurrently as possible.
- Nunjucks - Powerful templating engine with inheritance, asynchronous control, and more. (Web)
- Behavior3JS - Structures and algorithms that assist you in the task of creating intelligent agents for your game or application.
- qs - Querystring parser with nesting support.
- Exifer - Small module that read JPEG/TIFF meta-data.
- jsVideoUrlParser - JavaScript parser to extract information like provider, channel, id, start time from YouTube, Vimeo, Dailymotion, Twitch,... urls.
- TypeDI - Dependency injection tool for TypeScript and JavaScript.
- ibridge - Tiny, promise based, type safe library for easy, bidirectional and secure iframe communication.
- Monio - Async-capable IO monad for JS.
- Total.js - Excellent and stable server-side Node.js framework, client-side library for creating web applications with more than 230 UI components for free.
- memoize-one - Memoization library which only remembers the latest invocation.
- pjson - JSON stream parser for Go.
- InternMap - Map and Set with automatic key interning.
- geometry-processing-js - Fast, general-purpose framework for geometry processing on the web.
- Iterplus - Best of Rust/Haskell/Python iterators in JavaScript.
- SmolScroll - Tiny, flexible scroll listener with React support.
- Observable parser
- Robot - Functional, immutable Finite State Machine library. (Docs)
- Enmap - Enhanced Map structure with additional utility methods.
- Honeycomb - Create hex grids easily, in node or the browser.
- chunkify - Split an iterable into evenly sized chunks.
- wobble - Tiny spring physics micro-library that models a damped harmonic oscillator.
- tmp-cache - Least-recently-used cache in 35 lines of code.
- static-eval - Evaluate statically-analyzable expressions.
- Sparse Octree - Sparse, pointer-based octree data structure.
- Signature Pad - JavaScript library for drawing smooth signatures.
- dom-to-image-retina - dom-to-image but generates high-resolution images.
- loglevel - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods.
- Perfect Freehand - Draw perfect freehand lines. (Demo)
- Alo - Full-fledged state management. (Docs)
- Form-Data - Library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
- conf - Simple config handling for your app or module.
- gifenc - Fast and lightweight pure-JavaScript GIF encoder.
- tldts - Blazing Fast URL Parsing.
- Barba.js - Easy-to-use library that helps you create fluid and smooth transitions between your website's pages.
- Shuffle.js - Categorize, sort, and filter a responsive grid of items. (Web)
- stdlib - Standard library for JavaScript and Node.js. (Web)
- gensync - Allows users to use generators in order to write common functions that can be both sync or async.
- monet.js - Monadic types library for JavaScript.
- VivaGraph - Graph drawing library for JavaScript.
- Crochet - Small engine for story-driven games.
- diary - Zero-dependency, fast logging library for both Node and Browser.
- tinydate - Tiny reusable date formatter.
- FingerprintJS - Browser fingerprinting library with the highest accuracy and stability.
- Antiutils - TypeScript/JavaScript utilities for those who don't like utilities.
- linked-list - Minimalistic linked lists.
- msgpack-javascript - JavaScript implementation of MessagePack, an efficient binary serilization format.
- Tagify - Lightweight, efficient Tags input component.
- betterator - Better sync and async iterator API.
- XState Catalogue - Professionally designed, interactive state machines. (Web)
- Combine-Promises - Like Promise.all(array) but with an object instead of an array.
- async-retry - Retrying made simple, easy, and async.
- party.js - JavaScript library to brighten up your user's site experience with visual effects.
- Scule - String case utils.
- Nano Events - Simple and tiny event emitter library for JavaScript.
- stoplight/yaml - Useful functions when working with YAML.
- Safe Await - Safely use async/await without all the try catch blocks.
- Casbin.js - Authorization library that supports access control models like ACL, RBAC, ABAC in Frontend JavaScript.
- tidy.js - Tidy up your data with JavaScript, inspired by dplyr and the tidyverse.
- keypather - Get, set, or delete deep object values using keypath strings (supports immutable operations) and more.
- Veramo - JavaScript Framework for Verifiable Data. (Web)
- it - Utility modules to make dealing with async iterators easier.
- DiceBear - Avatar library for designers and developers. (Web)
- JParticles - Concise, lightweight, and efficient Canvas library for building some cool particle effects. (Web)
- Arquero - Query processing and transformation of array-backed data tables.
- TypeIt - Most versatile JavaScript animated typing utility on the planet. (Web)
- ASON - Data oriented algorithm designed for compact and speedy storage of AssemblyScript objects in a binary format.
- refractor - Lightweight, robust, elegant virtual syntax highlighting using Prism.
- Expounder - Library for explaining things in HTML.
- timidity - Play MIDI files in the browser w/ Web Audio, WebAssembly, and libtimidity.
- buffer - Buffer module from node.js, for the browser.
- pixi-graph - Graph visualization library using PIXI.js and Graphology.
- xache - Auto expiring, max sizable cache.
- ndarray - Modular multidimensional arrays for JavaScript.
- LUME AutoLayout - Apple’s Auto Layout for JavaScript. (HN)
- Zoomtastic - Tiny image zoomer for web.
- Patronum - Effector operators library delivering modularity and convenience.
- Cabin - Best JavaScript and Node.js logging service and logging npm package.
- Normalized Cache - Cache for storing normalized data.
- itty router - Router, designed for Express.js-like routing within Cloudflare Workers (or anywhere else).
- vLitejs - Fast and lightweight JavaScript library for customizing video and audio player.
- async-broadcaster - Observable alternative using async iterators.
- Hover Effect - JavaScript library to draw and animate images on hover.
- Js Search - Efficient, client-side search library for JavaScript and JSON objects.
- js-worker-search - Full text client-side search based on js-search but with added web-worker support for better performance.
- domino - Server-side DOM implementation based on Mozilla's dom.js.
- Momoa JSON - JSON parser, tokenizer, traverser, and printer.
- js-confetti - JS Confetti library that supports emojis.
- quetie - Cutest and tiniest queue/deque implementation.
- p-map - Map over promises concurrently.
- jsBezier - Bezier curve helper functions for JavaScript.
- hydrate-text - Tiny library for dynamic text hydrating with variables.
- JS Image Carver - Content-aware image resizer and object remover based on Seam Carving algorithm.
- Acorn-JSX - Alternative, faster React.js JSX parser.
- Tempura - Light, crispy, and delicious template engine.
- async-cache-dedupe - Async cache with dedupe support.
- DOM to Image - Generates an image from a DOM node using HTML5 canvas.
- Dinero.js - Create, calculate, and format money safely in JavaScript and TypeScript.
- proxied-worker - Tiny utility to asynchronously drive a namespace exposed through a Worker.
- FZF for JavaScript - Do fuzzy matching using FZF algorithm in JavaScript. (Web)
- ganja.js - Geometric Algebra for JavaScript.
- TextKit - Framework for creating Textual Graphics.
- spacers - JS library that supports multiple spacers for controlling padding/margin, linking functionality & much more.
- CCapture.js - Library to capture canvas-based animations.
- All Origins - Pull contents from any page via API (as JSON/P or raw) and avoid Same-origin policy problems.
- Univrse.js - Universal schema for data serialization, signing and encryption. (Web)
- mississippi - Collection of useful stream utility modules for writing better code using streams.
- TinyEvents - Tiny event utility library.
- lightGallery - Lightweight, modular, JavaScript image and video lightbox gallery plugin. Available for React.js, Vue.js, Angular, and TypeScript. (Web)
- Cropper.js - JavaScript image cropper. (Web)
- JavaScript Cookie - Simple, lightweight JavaScript API for handling cookies.
- Bisect - Bisect your async job into two steps, first perform work in background and then commit the work.
- AG Grid - Best JavaScript Data Table for building Enterprise Applications. (Web)
- events-to-async - Treat EventEmitter-like object using Async/Await and Async Iterator.
- gfxrlz - Modern-styled, low-level graphics API for the web.
- PCUI Graph - JavaScript library for creating node-based graphs.
- Detect It - Detect if a device is mouseOnly, touchOnly, or hybrid, and if the primary input is mouse or touch. (Web)
- zen-observable - Implementation of Observables for JavaScript.
- has-pkg - Check if a package is installed locally.
- js-lru - Fast, simple & universal Least Recently Used (LRU) map for JavaScript.
- vscode-uri - URI implementation that is used in VS Code and its extensions.
- Dotto.x - Tiny state manager for React, Svelte, and vanilla JS.
- calendarize - Tiny (202B) utility to generate calendar views.
- pdfAnnotate - JavaScript library for creating annotations in PDF documents.
- Consola - Elegant Console Logger for Node.js and Browser.
- ohmyfetch - Better fetch API. Works on node, browser and workers.
- Tingle.js - Vanilla modal plugin, no dependencies and easy-to-use.
- Borsh JS - TypeScript/JavaScript implementation of Binary Object Representation Serializer for Hashing.
- set-value - Set nested properties on an object using dot-notation.
- parquet.js - Fully asynchronous, pure JavaScript implementation of the Parquet file format.
- jlottie - Small-footprint lottie player in JavaScript.
- cosmiconfig - Find and load configuration from a package.json property, rc file, or CommonJS module.
- Tocca.js - Super lightweight script ( ~1kB ) to detect via Javascript events like 'tap' 'longtap' 'dbltap' 'swipeup' 'swipedown' 'swipeleft' 'swiperight' on any kind of device.
- fast-base64 - Fastest base64 on the web, with Wasm + SIMD.
- Nano Colors - Tiny and fast Node.js library for formatting terminal text with ANSI colors. (Template) (HN) (Chalk maintainer's thoughts) (Tweet)
- picocolors - 2x times faster than nanocolors and use 2x less space in node_modules. (Tweet)
- yoctocolors - Smallest and fastest command-line coloring package on the internet. Trust me.
- Fractional Indexing - Technique to create an ordering that can be used for Real time Editing of Ordered Sequences.
- Atrament - Small JS library for beautiful drawing and handwriting on the HTML Canvas. (Web)
- clipboardy - Access the system clipboard (copy/paste).
- paintvec - JavaScript 2D vector math library.
- Audio Recorder Polyfill - MediaRecorder polyfill to record audio in Edge and Safari.
- IPO - Easing library allowing to describe complex easings in JSON.
- JSXGraph - Dynamic Mathematics with JavaScript (Web) (HN)
- Vector Graph - Generate high-quality geometry and vector graphs with HTML.
- TweenTime - JavaScript timeline.
- Micromodal.js - Tiny JavaScript library for creating accessible modal dialogs. (Docs)
- Postal.js - JavaScript pub/sub library supporting advanced subscription features, and several helpful add-ons.
- slugo - Smallest possible slug utility for Node.js and Browser.
- Dry - Superset of the Liquid templating language, with first-class support for advanced inheritance features, and more.
- Bloom-Filters - JS implementation of probabilistic data structures: Bloom Filter (and its derived), HyperLogLog, Count-Min Sketch, Top-K and MinHash.
- Session Resume - Annotate fields to be persisted on navigation away from the current page.
- Atropos - Lightweight, free and open-source JavaScript library to create stunning touch-friendly 3D parallax hover effects. (Web)
- Graph Dracula - JavaScript Graph Library.
- date-io - Abstraction over common JavaScript date management libraries.
- sdf-csg - Generate meshes from signed distance functions and constructive solid geometry operations.
- littlefoot - Lightweight JavaScript library that creates exceptional footnotes. (Web)
- tzdb - Simplified, grouped and always up to date list of time zones, with major cities.
- Lazyframe - Dependency-free library for lazyloading iframes.
- msgpack-lite - Fast Pure JavaScript MessagePack Encoder and Decoder.
- medium-zoom - JavaScript library for zooming images like Medium. (Web)
- PureImage - Pure JS implementation of an image drawing and encoding api, based on HTML Canvas.
- vanilla-hamburger - Animated hamburger menu icons for modern web apps. (Web)
- editable.js - JavaScript API that defines a friendly and browser-consistent content editable interface.
- Fireworks.js - Simple fireworks library.
- module-error - Create errors with code and cause properties.
- InfiniteGrid - Module used to arrange card elements including content infinitely on a grid layout. (Web)
- Okiba - Sharp collection of tools for front-end development, created with performance in mind.
- FastPriorityQueue.js - Fast heap-based priority queue in JavaScript.
- Autobee - Multiwriter Hyperbee comprised of multiple input Hyperbees using Autobase and Hypercore 10.
- std-env - Detect current JavaScript environment.
- Nova Text Tools - Swiss Army knife for text manipulation and selection.
- Ninja Keys - Keyboard shortcuts interface for your website. Working with static HTML, Vanilla JS, Vue, React, Svelte.
- remoteStorage.js - JavaScript library for storing user data locally in the browser, as well as connecting to remoteStorage servers and syncing data across devices and applications. (Docs)
- JS Data Structures
- Oby - Tiny Observable implementation. (Tweet)
- trkl - Reactive JavaScript programming in less than half a kilobyte.
- Microdiff - Fast, zero dependency object and array comparison library. (HN) (Article)
- lfi - Lazy functional iteration library supporting sync, async, and concurrent iteration.
- Speed Highlight JS - Light, fast, and easy to use, dependencies free javascript syntax highlighter.
- Proload - Searches for and loads your tool's JavaScript configuration files.
- Sticksy.js - Zero-dependency JavaScript library that sticks your elements to the top until they reaching the bottom.
- Async Tasks Runner - Super tiny (< 1kb gzipped), side-effect free, tree shakable, zero dependencies, and fully typed Tasks Runner.
- ULID JS - Universally Unique Lexicographically Sortable Identifier.
- Avsc - Avro for JavaScript.
- msgpackr - Ultra-fast MessagePack implementation with extension for record and structural cloning.
- Lib0 - Monorepo of isomorphic utility functions.
- node-stdlib-browser - Node standard library for browser.
- parse-json - Parse JSON with more helpful errors.
- cuid - Collision-resistant ids optimized for horizontal scaling and performance.
- Spacing JS - JavaScript utility for measuring the spacing between elements on webpage.
- co-share - JavaScript library for easily building shared applications such as chats and games. (Tweet)
- bellboy - Highly performant JavaScript data stream ETL engine.
- fnv-plus - JavaScript FNV-1a Hash Algorithm (up to 1024 bit) implementation.
- remote-web-streams - Web streams that work across web workers and iframes.
- web-streams-adapter - Adapters for converting between different implementations of WHATWG Streams.
- pan-zoom - Panning and zooming events for any target.
- bind-event-listener - Utility to make binding and (especially) unbinding DOM events easier.
- Chrono - Natural language date parser in JavaScript.
- CAF - Cancelable Async Flows.
- queue-microtask - Fast, tiny
queueMicrotask
shim for modern engines. - Cerbero - Simple js library that gives you the ability to track everything your users are doing on your web page.
- Two.js - Renderer agnostic two-dimensional drawing api for the web. (Docs)
- markup-it - JavaScript library to parse and serialize markup content (Markdown and HTML).
- h3-js - JavaScript version of H3, a hexagon-based geospatial indexing system.
- Floating UI - JavaScript positioning library for tooltips, popovers, dropdowns, and more. (Web) (Twitter)
- flow-field - Library for generating flow fields.
- taki - Take a snapshot of any website.
- Zooming - Image zoom that makes sense.
- Moo - Highly-optimized tokenizer/lexer generator. Use it to tokenize your strings, before parsing 'em with a parser.
- deeplinks.js - Simple deep links to any selection of text on your website.
- piecemeal - Send your data piecemeal.
- stacktrace.js - Generate, parse, and enhance JavaScript stack traces in all web browsers.
- double.js - Double-double arithmetic in JavaScript. A floating point expansion with 31 accurate decimal digits.
- dotparser - Parser of GraphViz dot file format.
- bitECS - Functional, minimal, data-oriented, ultra-high performance ECS library written using JavaScript TypedArrays.
- ocean.js - JavaScript library to privately & securely publish, exchange, and consume data.
- diagram-js - Toolbox for displaying and modifying diagrams on the web.
- Swear - Flexible promise handling with JavaScript.
- OpenSeadragon - Open-source, web-based viewer for zoomable images, implemented in pure JavaScript. (Web)
- Atomically - Read and write files atomically and reliably.
- point-in-polygon - Determine if a point is inside of a polygon.
- Eruda - Console for Mobile Browsers. (Web)
- fast-redact - Serializes an object with JSON.stringify, censoring any data at paths specified.
- fast-safe-stringify - Safe and fast serialization alternative to JSON.stringify.
- createContent - Cross browser utility to create HTML or SVG runtime content.
- templite - Lightweight templating in 150 bytes.
- ml-matrix - Matrix manipulation and computation library.
- env-paths - Get paths for storing things like data, config, cache, etc.
- Draggabilly - Make elements draggable.
- flattie - Tiny (203B) and fast utility to flatten an object with customizable glue.
- Zoomist - JavaScript library for zooming image.
- canvas-capture - Record the canvas as an image, mp4 video, or GIF from the browser.
- hardtack - Ultra-light library for working with cookies in JavaScript.
- Eta - Embedded JS template engine for Node, Deno, and the browser. Lighweight, fast, and pluggable. Written in TypeScript. (Web)
- Vanta JS - Animated 3D backgrounds for your website. (Web) (HN)
- standardized-audio-context - Cross-browser wrapper for the Web Audio API which aims to closely follow the standard.
- worker-timers - Replacement for setInterval() and setTimeout() which works in unfocused windows.
- Swiper - Most modern mobile touch slider with hardware accelerated transitions. (Web)
- flat - Flatten/unflatten nested JavaScript objects.
- AMQP Node
- Drawflow - Create data flows easily and quickly.
- find-up - Find a file or directory by walking up parent directories.
- Stretchy - Form element autosizing, the way it should be. (Code)
- it-pipe - Utility to "pipe" async iterables together.
- Polyglot.js - Give your JavaScript the ability to speak many languages.
- merge-images - Easily compose images together without messing around with canvas.
- Faker - Generate massive amounts of fake data in the browser and node.js.
- FxJS - Functional Extensions for JavaScript.
- dequal - Tiny utility to check for deep equality.
- bin-wrapper - Binary wrapper that makes your programs seamlessly available as local dependencies.
- base2048 - Binary encoding optimized for transmitting data through Twitter.
- sube - Subscribe to any reactive source.
- hm-def - Runtime type checking for JS with Hindley Milner signatures.
- cRonstrue - JavaScript library that converts CRON expressions into human readable descriptions.
- Hyperactiv - Super tiny reactive library.
- JsonHilo.js - Fast lossless JSON parse event streaming, in JavaScript.
- most - Ultra-high performance reactive programming.
- expandify - Simple express.js tool to evaluate expressions in HTML templates.
- remark-shiki - Highlight code blocks in markdown with shiki.
- better-eval - Alternative to 'eval' in JavaScript that is customizable and safer.
- resolve.exports - Tiny (737b), correct, general-purpose, and configurable
"exports"
resolver without file-system reliance. - Peggy - Parser generator for JavaScript. (Web)
- zip.js - JavaScript library to zip and unzip files in the browser and Deno.
- Data-oriented Serialization for SoA/AoS - Serialization library for data-oriented design structures.
- node-ffmpeg-installer - Platform independent binary installer of FFmpeg for node projects.
- Smoothie Charts - Small charting library designed for live streaming data.
- tar-stream - Streaming tar parser and generator.
- tar-fs - fs bindings for tar-stream.
- get-stream - Get a stream as a string, buffer, or array.
- pump - Pipe streams together and close all of them if one of them closes.
- TogetherJS - Service for your website that makes it surprisingly easy to collaborate in real-time.
- emoji-translate - Translate text to emoji.
- peer-cdn - Lightweight library providing peer to peer CDN functionality.
- magic-string - Manipulate strings like a wizard.
- fdir - Fastest directory crawler & globbing library for NodeJS. Crawls 1m files in < 1s.
- HLS.js - JavaScript library that plays HLS in browsers with support for MSE.
- rec.la - Loopback domain and SSL certs.
- to-json-schema - Converts JS objects to JSON Schema.
- vercel/fetch - Opinionated
fetch
(with retrying and DNS caching) optimized for use inside microservices. - KeyboardJS - JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
- Koder - QR/bar code scanner for the Browser.
- cors-bypass - Bypass the browsers CORS restrictions, without needing to setup a server-side proxy.
- rehype-raw - Plugin to parse the tree (and raw nodes) again, keeping positional info okay.
- micromatch - Highly optimized wildcard and glob matching library.
- BufferBackedObject - Buffer-backed objects in JavaScript.
- curtains.js - Lightweight vanilla WebGL JavaScript library that turns HTML DOM elements into interactive textured planes.
- Martinez-Rueda - Martinez-Rueda polygon clipping algorithm, does boolean operation on polygons.
- actor - Library for managing concurrent effects using generators.
- fast-json - Lightning fast on the fly JSON parser.
- noble-hashes - Audited & minimal JS implementation of SHA2, SHA3, RIPEMD, BLAKE2/3, HMAC, HKDF, PBKDF2 & Scrypt.
- sweetalert2 - Beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies.
- openapi-client-axios - JavaScript client library for consuming OpenAPI-enabled APIs with axios.
- Alias HQ - End-to-end solution for configuring, refactoring, maintaining and using path aliases.
- record-cache - Cache optimized for record like things like host:port or domain.names.
- UAParser.js - JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint.
- p-lazy - Create a lazy promise that defers execution until it's awaited or when .then() or .catch() is called.
- priority-queue - Performant heap-based priority queue implementation in JS.
- Tiny-Swiper - JavaScript Carousel powered by wonderful plugins with native-like experience.
- ga-lite - Smaller, cacheable subset of Google Analytics JS client.
- lru-cache - Cache object that deletes the least-recently-used items.
- XRegExp - Extended JavaScript regular expressions.
- JSON Schema Faker - Use JSON Schema along with fake generators to provide consistent and meaningful fake data for your system.
- observable-prerender - Pre-render Observable notebooks for automation.
- Browser-FS-Access - File System Access API with legacy fallback in the browser.
- js-libp2p-floodsub - Also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming.
- js-libp2p-tcp - JavaScript implementation of the TCP module that libp2p uses that implements the interface-transport spec.
- Title - Service for capitalizing your title properly.
- vercel-toast - Framework-agnostic vercel design's toast component.
- color-convert - Plain color conversion functions in JavaScript.
- Aurora.js - JavaScript audio decoding framework.
- kappa-core - Minimal peer-to-peer database, based on kappa architecture.
- Parcel's source-map - Fast source map manipulation, generation and consumption library written in Rust and Node.js.
- imagesLoaded - JavaScript is all like "You images done yet or what?". (Web)
- long.js - Long class for representing a 64-bit two's-complement integer value.
- fast-jwt - Fast JSON Web Token implementation.
- string-width - Get the visual width of a string - the number of columns required to display it.
- apexcharts.js - Interactive JavaScript Charts built on SVG.
- letMeScroll - Scroll made easy.
- Flowed - Fast and reliable flow engine for orchestration and more uses in Node.js, Deno and the browser.
- Zipson - JSON parse and stringify with compression.
- text-field-edit - Insert text in a <textarea> and <input> (including Undo in most browsers).
- Jump.js - Modern smooth scrolling library.
- ringbuf.js - Wait-free thread-safe single-consumer single-producer ring buffer using SharedArrayBuffer.
- Env - Utility for verifying that environment variables are present in Node.js and Deno.
- devtools-detect - Detect if DevTools is open and its orientation.
- clb - Small, utility function that builds a class list based on a simple API.
- Compatto - Tiny and fast string compression library.
- LemonadeJS - Micro (6Kb) reactive, with a two-way data binding, no dependencies, JavaScript library that aims to be as close to JavaScript Vanilla as possible.
- undom - Minimally viable DOM Document implementation.
- element-in-view - Check if an element is in viewport.
- remark-directive - Remark plugin to support directives.
- ffmpeg.js - Provides FFmpeg builds ported to JavaScript using Emscripten project.
- Jison - API for creating parsers in JavaScript.
- primitive-geometry - Geometries for 3D rendering, including normals, UVs and cell indices (faces).
- many-level - Share an abstract-level database over the network or other kind of stream.
- local-storage-proxy - Work with window.localStorage as if it were an object.
- write-pkg - Write a package.json file.
- KDBush - Fast static index for 2D points.
- X6 - JavaScript diagramming library that uses SVG and HTML for rendering.
- globby - User-friendly glob matching.
- TreeModel - Manipulate and traverse tree-like structures in JavaScript.
- fast-json-stable-stringify - Deterministic JSON.stringify.
- loopbench - Benchmark your event loop.
- Isomorphic Layout Composer (ILC) - Layout service that composes a web page from fragment services. It supports client/server-based page composition.
- esx - High throughput React Server Side Rendering.
- modern-async - Modern JavaScript tooling library for asynchronous operations using async/await, promises and async generators.
- BSL - Body scroll locking that just works with everything.
- flatqueue - Very fast and simple JavaScript priority queue.
- Hasha - Hashing made simple. Get the hash of a buffer/string/stream/file.
- json-tree - JS library that creates an HTML navigable tree from JSON object.
- Easy Dates - Super lightweight library for working with dates.
- multistream - Stream that emits multiple other streams one after another.
- unified-language-server - Create a language server based on unified ecosystems.
- ESQuery - ECMAScript AST query library.
- Prexit - Graceful way to shutdown / handle process exit.
- Codsen JS packages
- Word Cloud Layout - Create word clouds in JavaScript.
- encoding.js - Convert or detect character encoding in JavaScript.
- Sugar High - Super lightweight JSX syntax highlighter, around 1KB after minified and gzipped.
- jsperf.dev - Monorepo collection of JavaScript performance libraries.
- flatstr - Flattens the underlying C structures of a concatenated JavaScript string.
- ipaddr.js - IPv6 and IPv4 address manipulation library.
- DataGridXL - Excel-like Experience for Web Apps. (Web) (HN)
- rope-sequence - Persistent sequence data structure.
- Wild Wild Path - Object property paths with wildcards and regexps.
- get-dep-tree - Get a dependency tree for a package.
- debugging-stream - Debug streams, by adding latency etc.
- Simple Statistics - JavaScript implementation of descriptive, regression, and inference statistics.
- Simple Linear Regression
- Diff Match Patch - High-performance library in multiple languages that manipulates plain text.
- Nitro - Build and deploy universal JavaScript servers.
- Channel - Go-like channels for JavaScript.
- big-json - Stream based implementation of JSON.parse and JSON.stringify.
- FPO - FP library for JavaScript. Supports named-argument style methods.
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support.
- pocket.io - Minimalistic version of socket.io that weights about 1K instead of 60K.
- escape-goat - Escape a string for use in HTML or the inverse.
- Template Parts - Implementation of the Template Parts proposal.
- Iterators - Standard library iterator utilities.
- MojiScript - Async-first, opinionated, and functional library.
- destr - Faster, secure and convenient alternative for JSON.parse.
- ensdomains/ui - Reusable functions and components for the ENS apps.
- Golden Layout - Multi window layout manager for web apps.
- nano-memoize - Faster than fast, smaller than micro ... nano-memoizer.
- YAML - JavaScript parser and stringifier for YAML.
- JW Player - Solution for seamless video playback across browsers and media types.
- dgrid - Lightweight, mobile-ready, data-driven, modular grid widget designed for use with dstore. (Web)
- SimpleBar - Custom scrollbars vanilla JavaScript library with native scroll, done simple, lightweight, easy to use and cross-browser.
- PEG.js - Parser generator for JavaScript.
- Yjs Protocols - Binary encoding protocols for syncing, awareness, and history information.
- radix3 - Lightweight and fast router for JavaScript based on Radix Tree.
- tinyqueue - Smallest and simplest binary heap priority queue in JavaScript.
- protomux - Multiplex multiple message oriented protocols over a stream.
- exifr - Fastest and most versatile JS EXIF reading library.
- libhoney - Node.js module for sending events to Honeycomb, a service for debugging your software in production.
- ejs - Embedded JavaScript templates.
- Delaunator - Incredibly fast JavaScript library for Delaunay triangulation of 2D points.
- unist-util-select - Utility to select unist nodes with CSS-like selectors.
- Locomotive Scroll - Detection of elements in view port & smooth scrolling with parallax effects. (Code)
- LiquidJS - Simple, expressive and safe template engine. (Web)
- Piling.js - General framework and library for exploring thousands of small multiples. (Web)
- Draggable - Get complete control over drag and drop behavior.
- Cuberto Mouse Follower - Powerful JS library to create amazing and smooth effects for the mouse cursor on your website.
- delegate-it - Lightweight event delegation.
- ip-address - Library for validating and manipulating IPv4 and IPv6 addresses in JavaScript.
- minimatch - Minimal matching utility.
- Scroller - Fast, light-weight, and dependency-free content scroller.
- Rambdax - Extended version of Rambda.
- env-schema - Validate your env variable using Ajv and dotenv.
- minipass - Minimal implementation of a PassThrough stream.
- compile-json-stringify - Compile a JSON.stringify() function with type hints for maximum performance.
- hanabi - Highlight any code, in a colorful way.
- set-cookie-parser - Parse HTTP set-cookie headers in JavaScript.
- el-transition - Apply Enter/Leave transitions.
- webreflection/json-watch - Proxy based alternative to json-watch module.
- AST Query - Simple JavaScript AST modification library.
- Handlebars.js - Minimal templating on steroids.
- collect.js - Convenient and dependency free wrapper for working with arrays and objects.
- typeson.js - Preserves types over JSON, BSON or socket.io.
- json2html - JavaScript library that uses js templates to render JSON objects into HTML.
- json2csv - Converts JSON into CSV with column titles and proper line endings.
- GLightbox - Pure JavaScript lightbox with mobile support. It can handle images, videos with autoplay, inline content and iframes.
- Twig.js - JS implementation of the Twig Templating Language.
- Atomic Agents - Spatial Agent-based Modeling in JavaScript.
- is-online - Check if the internet connection is up.
- wild-wild-utils - Functional utilities using object property paths with wildcards and regexps.
- pattern-match-2d.js - Algorithm for fast 2D pattern-matching with wildcards.
- reachable-url - Given an URL, it resolves as fast as possible, performing a GET without downloading the body.
- urllib - Request HTTP(s) URLs in a complex world.
- Bertin.js - JavaScript library for visualizing geospatial data and make thematic maps for the web.
- EDTF.js - Extended Date Time Format (ISO 8601-2 / EDTF) Parser for JavaScript.
- neodrag - Lightweight multi-framework libraries for draggability on the web.
- object-hash - Generate hashes from JS objects in node and the browser.
- Proxly - Proxy any list of objects or functions to a single entity.
- nanoutils - Tiniest FP-friendly JavaScript utils library.
- Slidy - Simple, configurable, nested & reusable sliding action script with templates, animations, easings & some useful plugins.
- cloneable-readable - Clone a Readable stream, safely.
- ASTq - Abstract Syntax Tree (AST) Query Engine. (HN)
- virtual-scroll - Low-level library to create custom scroll behaviors.
- lazyfill - Polyfills on demand.
- retry - Abstraction for exponential and custom retry strategies for failed operations.
- JointJS - Flexible JavaScript library for building interactive SVG-based diagrams and visual applications.
- Toposort - Topologically sort directed acyclic graphs (such as dependency lists) in JS.
- Pool - Like Promise.all but you can specify how many concurrent tasks you want at once.
- Chokidar - Minimal and efficient cross-platform file watching library.
- ky-universal - Use Ky in both Node.js and browsers.
- 90's Cursor Effects - Old-school cursor effects for your browser built with modern JavaScript.
- Spacetime - Lightweight JS timezone library.
- ELK - ELK's layout algorithms for JavaScript.
- multiaddr - JavaScript implementation of multiaddr.
- file-type - Detect the file type of a Buffer/Uint8Array/ArrayBuffer.
- rdflib.js - Linked Data API for JavaScript.
- array-keyed-map - JS data structure, like Map, but the keys are arrays.
- OpenTelemetry JavaScript - OpenTelemetry instrumentation for JavaScript modules.
- OpenTelemetry API for JavaScript
- Prolly Trees - Implementation of peer-to-peer search trees (probabalistic b-trees trees) as used in dolt and noms.
- abcjs - JavaScript library for rendering standard music notation in a browser.
- object-sizeof - Get size of a JavaScript object.
- fmu - Collection of JS module utilities written in Rust.
- Constrain - Responsive, animated figures in JavaScript/HTML canvases.
- probe-image-size - Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD, ICO.
- nkeys.js - Public-key signature system based on Ed25519 for the NATS ecosystem system for JavaScript.
- p-timeout - Timeout a promise after a specified amount of time.
- safe-json-value - JSON serialization should never fail.
- Config Array - Glob-based configuration array utility.
- p-cancelable - Create a promise that can be canceled.
- neat-csv - Fast CSV parser.
- xdg-app-paths - Determine (XDG-compatible) paths for storing application files (cache, config, data, etc).
- evemin - Modern and blazing fast event emitter.
- Buffer for Array - Bridging the gap between buffers and typed arrays.
- joycon - Find and load config files with joy.
- SAT.js - Simple JavaScript library for performing 2D collision detection.
Links
- NPM - Node package manager registry.
- Awesome WebAudio
- Awesome XState
- Moiva.io - Measure and compare JavaScript libraries side by side. (Code)
- Scarf - Installation analytics for your npm package. (Code)
- npmrank - Computes various graph metrics for npm dependencies.
- UNPKG - Fast, global content delivery network for everything on npm. (Code)
- JSPM - ES Module Package Manager and CDN. (GitHub)
- JSPM Generator - JSPM Import Map Generator.
- UNPKG Search - Search Engine for Unpkg Packages.
- bundlejs - Quick npm package size checker. (Code)
- Dependency cruiser - Validate and visualise dependencies. With your rules. JavaScript. TypeScript.
- You don't (may not) need Lodash/Underscore - List of JavaScript methods which you can use natively + ESLint Plugin.
- libnpmpublish - Node.js library for programmatically publishing and unpublishing npm packages.
- pacote - Fetches package manifests and tarballs from the npm registry.
- Dual Publish - Publish JS project as dual ES modules and CommonJS package to npm.
- Clean Publish - Removing configuration files and fields in package.json before publishing to npm.
- semantic-release - Fully automated version management and package publishing.
- install-pkg - Install package programmatically. Detect package managers automatically (npm, yarn and pnpm).
- npm-search - Failure resilient npm registry to Algolia index replication process.
- stable-hash - Stable JS value hash.
- npm-registry-fetch - Node.js library that implements a fetch-like API for accessing npm registry APIs consistently.
- Depp - Check your npm modules for unused and duplicate dependencies fast.
- Ask HN: How do you (security) audit external software using NPM packages? (2021)
- npm install is curl (2021) (Lobsters)
- ES Modules Are Terrible (HN)
- npq - Safely* install packages with npm/yarn by auditing them as part of your install process.
- njt - Quick navigation tool for npm packages. (Code)
- fixpack - package.json file scrubber for the truly insane.
- tiny-module-compiler - Compile, archive, unpack, and load compiled modules leveraging v8 cached data.
- ims - Install My Stuff - an opinionated npm module installer.
- can-npm-publish - Command line tool that check to see if npm publish is possible.
- prebuildify - Create and package prebuilds for native modules.
- npm-stat - Download statistics for NPM packages. (Code)
- Packemon - Build and prepare packages for npm distribution using standardized configurations and practices. (Docs)
- Top 1000 most depended-upon npm packages
- pkg-size - Measure the size of your npm package distribution.
- NPM Packages - The Right way - Demonstrate how to build NPM packages the right way.
- EsBuild Visualizer - Visualize and analyze your esbuild bundle to see which modules are taking up space.
- npmcli/template-oss - Template package for npm CLI team development.
- Taze - Modern cli tool that keeps your deps fresh.
- bundt - Simple bundler for your delicious modules.
- Taskr - Fast, concurrency-focused task automation tool.
- esm-utils - Utilities you'll need when migrating to ESModule.
- gen-esm-wrapper - Generate ESM wrapper files for CommonJS modules.
- Prettier plugin sort imports - Prettier plugin to sort import declarations by provided Regular Expression order.
- pn - Wrapper over the pnpm CLI written in Rust.
- Private NPM Registry for Enterprise
- Awesome JavaScript Network - List of network layer resources written pure JS.
- Pure ESM package (Tweet)
- bundle-phobia-cli - CLI for the node BundlePhobia Service. Find the cost of adding a npm package to your bundle.
- npm-check - Check for outdated, incorrect, and unused dependencies.
- lurantis - HTTP server that bundles and serves packages from NPM; "bundler as a service."
- Socket - Secure your JavaScript supply chain. (HN) (Tweet)
- all-the-package-names - List of all the public package names on npm.
- find-entry-points - Find the entry points in a set of JavaScript files.
- actual-malware - npm package to upload your private ssh keys to a pastebin. (HN)
- What NPM Should Do Today To Stop A New Colors Attack Tomorrow (2022) (Lobsters)
- only-allow - Force a specific package manager to be used on a project.
- Keymaster - Simple micro-library for defining and dispatching keyboard shortcuts in web applications.
- sdc-check - Easy-to-use tool to inform you about potential risks in your project dependencies list.
- What are Weak Links in the npm Supply Chain? (2021)
- qpind - Install dependecies quick & programmatically.
- narn - CLI that detects whether your current npm package is using npm, yarn, or pnpm.
- knitwork - Utilities to generate JavaScript code.
- JSDoc - API documentation generator for JavaScript. (Web)
- Shimport - Use JavaScript modules in all browsers, including dynamic imports.
- Import maps - How to control the behavior of JavaScript imports.
- npx ci - Run npm ci using the appropriate Node package manager (npm, yarn, pnpm).
- bug-versions - Collect all bug versions on npm package.
- npm-multi-publish - Publish npm package to multiple registries.
- Four Eras of JavaScript Frameworks (2022) (HN)
- JS Framework Benchmark - Simple benchmark for several JS frameworks.
- Nice form libraries (work with JSON)
- package-size - Get the bundle size of an npm package.
- publint - Lint packaging errors. Ensure compatibility across environments. (Code)
- updates - Flexible npm dependency update tool.
- parse-imports - Blazing fast ES module imports parser.
- sigstore-js - Code-signing for npm packages.
- source-map-diff - Compare source maps with cli and web output.
- npminstall - Make
npm install
fast and easy.