- jest unit testing, automatic mocking, parallel execution using workers discussion, discussion2
- VS Code Plugin live test running in editor
- intern complete JavaScript software testing system
- cypress $ future. innovative advanced automated testing framework
- wallaby $ realtime test runner with editor integration
- AVA futuristic test runner
- playwright Next evolution beyond Puppeteer
- crawlee web scraping and browser automation library mimics real browser fingerprints
- testcafe cross platform, cross browser automation without need of WebDriver
- appium test/automate iOS, Android, and Windows apps using the WebDriver protocol
- codecept scenario acceptance testing BDD
- stylelint Enforce best practices for stylesheets
- eslint Enforce best practices for JavaScript
- eslint-plugin-compat Add browser compatibility linting
- nyc improvements built on instanbul coverage tool
- chai BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- Sinon.js Standalone test spies, stubs and mocks for JavaScript
- WireMock advanced server side mocking
- MSW Mock Service Worker API mocking library for browser and Node.js.
- lodash General utility library performance focused with FP concepts
- callbag Tiny and fast reactive/iterable programming library. Callbags
- lazy Similar to lodash, but with all lazy evaluation
- stdlib Standard library for JavaScript and Node.js
- FPO Functional library using named arguments
- Immutable Fast immutable collection library
- Crio Immutable library compatible with other collection libraries
- Collections common data structures with idiomatic interfaces
- Collect.js array and object collection wrapper
- mnemonist JS data structures
- Mindex Fast javascript compound index
- Iterall Iterate over any collection
- Iterare iterate over collections performing efficient transformation pipelines
- P-Iteration iterate over promises using array functions
- Moize Fast memoize function
- MobX State management by transparently applying functional reactive programming (TFRP) Discussion MobX Redux - MobX vs Redux - Formidable article
- Redux State container
- Most ultra-high performance monadic reactive streams
- optika optics for JavaScript. Functional Programming
- ts-pattern Pattern Matching library for TypeScript with smart type inference
- construct-js declaritive library for creating byte level data structures
- structurae Fast data structures, Grid, BitField, Pool, Array
- FastBitSet Speed-optimized BitSet implementation
- Uint1Array bitfields in JS with TypeArray syntax
- indexed-bitfield Indexed bitfield that allows you to search for bits efficiently
- sparse-bitfield allocates a series of small buffers to support sparse bits without allocating a massive buffer
- Rbush high-performance JavaScript R-tree-based 2D spatial index for points and rectangles
- SystemJS Loader which supports all module formats and can load dynamically at runtime
- Lozad uses intersection observer to more efficiently load resources
- transducers-js Composable algorithmic transformations
- transducers.js Composable algorithmic transformations. Tranducers performance
- Sequency.js Lazy object streaming pipeline for JavaScript inspired by Kotlin
- RxJS Observables + Operators + Schedulers
- JS-interpreter sandboxed JavaScript interpreter in JS
- expressions-js simplified JavaScript expressions into executable functions
- zone.js JavaScript concept of thread local context
- nlp-compromise NLP JavaScript library
- core-js Polyfills of ES6+ for older JavaScript engines.
- cuid Collision-resistant ids optimized for horizontal scaling and performance
- ulid Universally Unique Lexicographically Sortable Identifier
- stamp-it Composable object factories
- MixWith Composable classes with mixins
- DOMPurify XSS sanitizer for HTML, MathML and SVG
- stacktrace.js Generate, parse, and enhance JavaScript stack traces in all web browsers
- hash-it Create hash for any JS object
- deePool JS object pool
- VocaJS JS String library
- broadcast-channel broadcast channel for New Browsers, Old Browsers, WebWorkers and NodeJs
- Swivel Communication channels across pages using service worker
- across-tables Communcation across cross origin pages
- Postal message bus library
- post-robot Posting across domains in browser pages
- post-me Communicate with web Workers and other Windows using a simple Promise based API
- Automerge JSON-like data structure that can be modified concurrently and merged again automatically.
- html-differ library to diff html changes
- htmldiff library to diff html changes
- jsDiff text diff library
- paste.js cross browser image pasting from clipboard
- pampy.js Pattern matching
- fast-copy A blazing fast deep object copier
- file-type detect file type
- simple-peer WebRTC video/voice and data channels
- axios Promise based HTTP client for the browser and node.js
- robust-websocket reconnecting websockets
- threads.js Make web workers & worker threads as simple as a function call
- Async Async utilities for node and the browser
- Promise-worker Communicate with a Web Worker using Promises
- Operative run code inline within a web worker
- thaw.js synthetic asynchronous processing
- posterus Composable async primitives (futures) with true cancelation, control over scheduling, and coroutines
- Task.js Distribute across workers for Node and Web
- greenlet run async function in a web worker
- workerize run a module in a web worker
- comlink auto proxy to web worker
- struct-fu Convert between JSON objects and binary buffer data according to a given field layout/structure declaration. Can handle bitfields.
- struct Creates a proxy view into a buffer based on a struct definition. No bitwise data
- typed-array-buffer-schema Schema based Object to Buffer converter
- corrode library for reading binary data
- lave Stringify serialize any JS object
- devalue serialize JSON with XSS safe escapes
- oboe.js Streaming approach to JSON. Similar to SAX
- Arquero library for query processing and transformation of array-backed data tables
- PapaParse CSV parser, streaming, worker thread
- Transit-js Fast serialization superset of JSON
- SJS Fast JSON stringify using schema
- jsan handles circular references with JSON
- flatted handle circular JSON
- MessagePack cross platform fast, small binary data serialization. Good drop in replacement for JSON. review article
- FlatBuffers cross platform fast serialization for networking and storage. review article
- chevrotain Fast parser DSL, no code generation. Performance comparison
- PEG.js Parser generator based on parsing expression grammar
- nearly.js can handle any grammar you can define in BNF (and more!) using Nearly algorithm
- Arcsecond Fantasy Land compliant javascript Parser Combinator library largely inspired by Haskell's Parsec. Introduction
- Ohm library and language for building parsers, interpreters, compilers, etc. Intro article
- Cheerio server side HTML and XML fast parser. Uses CSS Selector paradigm like jQuery. htmlparser2 as parsing engine
- jsdom HTML/XML parser and browser API's. Uses parse5 for HTML and saxes for XML
- xmldom JS XML DOM and internal parser.
- xpath XPath 1.0 works with jsdom, xmldom, slimdom
- fotoxpath XPath 3.1 works with jsdom, xmldom, slimdom
- saxes XML parser enforces well formed XML. slimdom-sax-parser provides a DOM built using saxes
- htmlparser2 very fast streaming HTML/XML NodeJS parser, but non-strict
- domino W3C DOM Level 4 HTML parser
- fast-xml-parser Validate XML, Parse XML to JS/JSON and vise versa. Uses regex as parser.
- js-yaml JS YAML parser/serializer
- JMESPath query language for JSON
- JSONata JSON query and transformation language
- is.js Data type and data format testing functions
- Validate.js declaritive validation of JavaScript objects
- SuperStruct composable JavaScript validation
- Luxon A modern browser version of Moment
- date-fns large collection of date functions
- xtype.js data validation for JavaScript
- VerbalExpressions Regular expressions in plain english
- XRegExp Extended regular expression support
- Rex Regex verbose API
- super-expressive build regular expressions in almost natural language
- ElasticLunr Lightweight full-text search engine in Javascript for browser search and offline search
- fuzzysort sublime like pattern matching
- fuse Lightweight fuzzy-search
- flexsearch fastest and most memory efficient full text search library
- brain.js library of Neural Networks written in JavaScript.
- LokiJS A fast, in-memory document-oriented datastore for node.js, browser and cordova
- RethinkDB realtime web pushes JSON to your apps status?
- localForage Local storage library for browsers IndexDB and WebSQL
- Dexie Local storage IndexDB wrapper library
- ClickHouse Extremely fast columnar DB discussion
- MonetDB columnar DB with native NodeJS support discussion
- RXDB Reactive Offline-first Database with Sync, Schema, Mongo-Query, Encryption, LevelDown
- knex.js SQL query builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift. DB2
- remoteStorage.js library for storing user data locally in the browser, as well as connecting to remoteStorage servers such as dropBox and Google Drive
- gun realtime, decentralized, offline-first, mutable graph database engine
- orbit-db Peer-to-Peer Databases for the Decentralized Web
- ipfs JavaScript implementation of the IPFS protocol
- prisma toolkit for PostgreSQL, MySQL, SQL Server, and SQLite. Very positive opinions
Flux, Redux, Behavior-Event-State-Tree, Model-View-Update, Model-View-Intent, Nested Dialogues
- Remix full stack web framework that lets you focus on the user interface
- Meteor Fast application development
- Cycle.js Functional reactive framework built around RxJS. Very small codebase. Differences Cycle, React, Elm, CycleJS Talk, good overview of functional and reactive concepts
- Apollo manages the flow of data between clients and backends. Based on GraphQL
- Relay manages the flow of data between clients and backends. Based on GraphQL
- JSON API Alternative to REST and GraphQL. Need to further assess implementations
- workbox JavaScript Libraries for Progressive Web Apps
- Plasmo Browser extension framework
- React Virtual DOM with one-way reactive data flow. Composition best practice - mixins and HOC - React with no configuration HN Discussion - Pure functional React - React Enlightenment
- Hooks and Streams article
- React compose utilities and high-order components
- React Virtualized view components which render only within viewport
- Electrode platform for building universal React/Node.js applications
- BluePrint common components for building web applications
- Vuejs Data-reactive components using plain JS objects Vue React Performance Comparison
- discussion1, discussion2
- Quasar cross platform UI library
- Inferno extremely fast virtual dom, React like API and design. As of 2016/05/26 this may be the fastest vdom implementation. HN discussion HN discussion on Mobile compared with React, Vue, Mithril, Cycle...
- FastDOM Eliminates layout thrashing by batching DOM measurement and mutation tasks
- Incremental-dom An in-place DOM diffing library vs virtual dom
- sinuous Light, fast, reactive UI library
- htm SX alternative using standard tagged templates, with compiler support
- lit-html An efficient, expressive, extensible HTML templating library for JavaScript
- zoid cross domain components. See additional cross domain libraries under krakenjs
- mikado webs fastest template library for building user interfaces
- solidjs declarative, efficient, and flexible JavaScript library for building user interfaces
Great article for reference when choosing a CSS libary
- Dragula Drag and drop library
- Draggable Drag and drop library from Shopify
- Muuri Drag Drop Filter and Sort Grid
- glide data grid canvas-based data grid, supporting millions of rows, rapid updating, and native scrolling.
- dropzone Drag and drop for file uploads
- quill Rich text editor
- medium editor ContentEditable API editor
- Slate Customizable rich text editor. discussion
- Segment small library animate SVG path strokes
- Emotion Next Generation CSS in JS. Article
- nano-css CSS in JS. 0.5kb performant modular library. 5th generation
- fela high-performant and framework-agnostic toolbelt to handle state-driven css in JavaScript.
- StyleTron CSS-in-JS engine built from the ground up for high-performance
- Bulma CSS designed with flexbox
- Tachyons Functional css for humans review
- Tailwind A utility-first CSS framework for rapid UI development.
- Spectre Lightweight, Responsive and Modern CSS Framework
- Push cross browser desktop notifications
- Cleave UI enforced field validations and formatted input
- Clusterize Tiny plugin to display large data sets easily
- Smart Table Scroll Build 1MM row tables with native scroll bars by reusing and yielding nodes
- palx color theme generator
- tinykeys key bindings
State of web animation, May 2016
- WebAnimations API Polyfill for upcoming standard Web Animations API
- VivaGraphJS fastest graph drawing javascript library
- StageXL StageXL is a fast and universal 2D rendering engine for HTML5
- three.js 3D Library. Canvas, SVG, CSS3D, WebGL
- TWGL Tiny WebGL helper library
- OSG.JS OpenSceneGraph WebGL
- Pixi.js 2d webGL renderer canvas fallback
- regl Functional WebGL
- phenomenon A fast 2kB low-level WebGL API
- gl-matrix Matrix and Vector library for High Performance WebGL
- react-three-fiber React and threejs
- Konva 2d canvas drawing animation library
- Paper.js Vector graphics on canvas
- SVG.js library for manipulating and animating SVG
- Anime.js animation library
- Popmotion animiation library using functional API
- Kute.js impressive performance animation library
- AnimXYZ composable CSS animation library
- mojs motion graphics library. Workflow with editing tools.
- Aframe 3D Web VR
- Matter.js 2D rigid body physics engine for the web
- Opentype.js Draw opentype and truetype fonts on canvas
- Jimp Image manipulation library
- Chroma.js Color manipulation library. Article
- D3 Library for document manipulation based on data
- dc.js interactive cross filtering on top of D3
- nvd3 charts built on top of D3
- Vis.js library with DataSet, Timeline, Network, Graph2d and Graph3d visualization types
- Chart.js animated charts using canvas
- Billboard.js re-usable, easy interface JavaScript chart library, based on D3 v4+
- Recharts React component charts
- jointJS diagramming library, SVG, interactive editing, path routing
- Dagre directed graph layout library. use view as D3, jointJS, cytoscape
- cola.js contraint based layout library.
- MathBox Presentation-quality WebGL math graphing
- OpenLayers high-performance, feature-packed library for all your mapping needs
- pdfmake client/server PDF JS library
- pts library for visualization and creative-coding
- video.js JS Browser video player
- plyr JS Browser video audio player
- howler.js Audio playback library. Web Audio, HTML 5 fallback
- tone.js Audio framework for making interactive music
- timbre.js Objective sound programming
- tonal.js Funtional music theory library
- flocking audio synthesizer library
- jsfx JavaScript sound effect generator
- standardized audio context cross-browser implementation of the AudioContext
- openmusic.gallery Music making, remixing, and collaborating tools for the web
- essentia.js music/audio signal analysis and processing for both real-time and offline use-cases
- Electron Web technologies as desktop applications Essential Electron
- NW.js Web technologies as desktop applications
- nodegui Native GUI using QT for Linux, OSX, Windows
- pkg Node.js project into an executable
- Hackathon Starter Starter skeleton framework for server application
- got Simplified HTTP requests
- undici replacement for nodeJS core http
- uWebSockets Highly scalable WebSocket server library
- deepstream.io a fast, secure and scalable websocket & tcp server for mobile, web & iot
- socket.io Realtime application framework
- fastify Fastify is a web framework with the least overhead and a powerful plugin architecture
- restify framework for server REST APIs
- FFI Foreign function interface. Call c functions from node
- piscina the node.js worker pool
- klyng Distributed computing
- EMS Shared memory parellelism for node
- micro.js Micro services library
- feathers minimalist real-time framework for rapid prototype development
- Nodal API services on node
- loopback Server API Framework.
- IBM API Connect UI management and API authoring on top of loopback
- Incheon Node game server
- Vorpal CLI command line framework
- Caporal CLI command line framework
- Enquirer Stylish, intuitive and user-friendly prompts
- Inquirer.js A collection of common interactive command line user interfaces
- Commander.js node.js command-line interfaces made easy
- Gluegun CLI Builder
- Yargs Advanced CLI argument parser
- shell.js Unix commands available for cross platform NodeJS
- event-stream EventStream is like functional programming meets IO
- fs-jetpack better filesystem API
- fdir fast file glob
- watchr Better file system watching for Node.js
- systeminformation hardware system information
- JavaPoly.js JVM in the browser
- doppio JVM in the browser
- Serverless AWS Lambda architecture
- Elasticsearch distributed real-time search and analytics capabilities
- Cheerp C++ to JavaScript compiler
- NeutralinoJS Develop web apps with native os functions
- Carlo Web rendering surface for Node applications
- Tauri Framework agnostic toolchain for building highly secure native apps that have tiny binaries and are very fast
- low.js Node.js with far lower system requirements for microcontroller boards based on the ESP32-WROVER module
- Wails Desktop apps using Go and web tech
- NativeScript Native mobile apps in JavaScript with low level access to system API's
- React Native Native UI's built on React
- Exponent Improved React Native
- UpUp Mobile first library for offline
- ZingTouch Gesture library
- Leaflet mobile-friendly interactive maps
- assemblyscript Limited TypeScript to WASM compiler
- wasmer High-Performance WebAssembly JIT interpreter
- Neon Rust abstraction layer for native Node.js modules
- Gpujs GPU Accelerated JavaScript
- lume Performance focused web rendering engine
- DGraph Scalable, Distributed, Low Latency Graph Database
- lighthouse progressive web app diagnostics
- HyperTerm modern terminal. Electron based
- Terminus modern terminal. Electron based
- Tesseract.js JS OCR
- skia-canvas Browser Canvas for Node.js
- BlueSky Decentralized web projects
- Fly.io Run your full stack apps and databases all over the world. No ops required.
- SurrealDb SQL-style query language, real-time queries with highly-efficient related data retrieval
- Frida Debugging through injecting JavaScript into native apps
- verso Low level debugging cross platform
- gdbgui browser-based frontend to gdb (gnu debugger)
- UIforETW Low level performance tracing on Windows
- ndb ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools
- reveal.js Interactive presentation framework
- impress.js presentation framework based on the power of CSS3 transforms and transitions
- npm-check Check for outdated, incorrect or unused dependencies
- cheerp C++ compiler to JavaScript
- gitsome Enhanced command line Git
- OpenRefine exploring and manipulating messy data
- Huginn Build agents that act on your behalf
- PMD source code analyzer
- licecap record animated gif windows/osx
- rollup.js next generation module bundler. tree-shaking
- Webpack Very configurable supporting large scale development
- Fuse-Box blazing fast js bundler/loader with a comprehensive API
- Broswerify Easiest to setup and use module builder
- GitKraken cross platform graphical Git management
- robotN Node interface to robotGo cross platform automation library
- nut-js Node Desktop automation library in typescript
- n8n workflow automation visual composition
- Webpack Bundle Analyzer bundle content as convenient interactive zoomable treemap
- Marky High performance timer for performance analysis
- Pencil UI prototype sketch tool
- apify-js web scrapper for high scale using puppeteer
- sharp high performance image scaling. fastest module to resize JPEG, PNG, WebP and TIFF images
- tad CSV data viewer
- mkcert make locally trusted development certificates
- jscodeshift JavaScript codemod toolkit
- gh-pages publish files to a 'gh-pages' branch
- volta toolchain manager for NodeJS development
- unplugin universal interace for build tool plugins
- motionity web-based motion graphics editor