Files
2025-07-18 23:13:11 +02:00

110 KiB

 













































is an open-source, cross-platform, JavaScript runtime for writing servers and command-line tools.


 
 
Contents
 
- Official (#official)
- Packages (#packages)
- **Mad science** (#mad-science)
- **Command-line apps** (#command-line-apps)
- **Functional programming** (#functional-programming)
- **HTTP** (#http)
- **Debugging / Profiling** (#debugging--profiling)
- **Logging** (#logging)
- **Command-line utilities** (#command-line-utilities)
- **Build tools** (#build-tools)
- **Hardware** (#hardware)
- **Templating** (#templating)
- **Web frameworks** (#web-frameworks)
- **Documentation** (#documentation)
- **Filesystem** (#filesystem)
- **Control flow** (#control-flow)
- **Streams** (#streams)
- **Real-time** (#real-time)
- **Image** (#image)
- **Text** (#text)
- **Number** (#number)
- **Math** (#math)
- **Date** (#date)
- **URL** (#url)
- **Data validation** (#data-validation)
- **Parsing** (#parsing)
- **Humanize** (#humanize)
- **Compression** (#compression)
- **Network** (#network)
- **Database** (#database)
- **Testing** (#testing)
- **Security** (#security)
- **Benchmarking** (#benchmarking)
- **Minifiers** (#minifiers)
- **Authentication** (#authentication)
- **Authorization** (#authorization)
- **Email** (#email)
- **Job queues** (#job-queues)
- **Node.js management** (#nodejs-management)
- **Cross-platform integration** (#cross-platform-integration)
- **Natural language processing** (#natural-language-processing)
- **Process management** (#process-management)
- **Automation** (#automation)
- **AST** (#ast)
- **Static site generators** (#static-site-generators)
- **Content management systems** (#content-management-systems)
- **Forum** (#forum)
- **Blogging** (#blogging)
- **Weird** (#weird)
- **Serialization** (#serialization)
- **Miscellaneous** (#miscellaneous)
- Package Manager (#package-manager)
- Resources (#resources)
- **Tutorials** (#tutorials)
- **Discovery** (#discovery)
- **Articles** (#articles)
- **Newsletters** (#newsletters)
- **Videos** (#videos)
- **Books** (#books)
- **Blogs** (#blogs)
- **Courses** (#courses)
- **Cheatsheets** (#cheatsheets)
- **Tools** (#tools)
- **Community** (#community)
- **Miscellaneous** (#miscellaneous-1)
- Related lists (#related-lists)
 
Official
 
- Website (https://nodejs.org)
- Documentation (https://nodejs.org/dist/latest/docs/api/)
- Repository (https://github.com/nodejs/node)
 
Packages
 
Mad science
 
- webtorrent (https://github.com/webtorrent/webtorrent) - Streaming torrent client for Node.js and the browser.
- peerflix (https://github.com/mafintosh/peerflix) - Streaming torrent client.
- ipfs (https://github.com/ipfs/helia) - Distributed file system that seeks to connect all computing devices with the same system of files.
- stackgl (https://github.com/stackgl) - Open software ecosystem for WebGL, built on top of browserify and npm.
- peerwiki (https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent.
- peercast (https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast.
- BitcoinJS (https://github.com/bitcoinjs/bitcoinjs-lib) - Clean, readable, proven Bitcoin library.
- Bitcore (https://github.com/bitpay/bitcore) - Pure and powerful Bitcoin library.
- PDFKit (https://github.com/foliojs/pdfkit) - PDF generation library.
- turf (https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine.
- webcat (https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.
- NodeOS (https://github.com/NodeOS/NodeOS) - The first operating system powered by npm.
- YodaOS (https://github.com/yodaos-project/yodaos) - AI operating system.
- Brain.js (https://github.com/BrainJS/brain.js) - Machine-learning framework.
- Pipcook (https://github.com/alibaba/pipcook) - Front-end algorithm framework to create a machine learning pipeline.
- Cytoscape.js (https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis.
- js-git (https://github.com/creationix/js-git) - JavaScript implementation of Git.
- xlsx (https://github.com/SheetJS/sheetjs) - Pure JS Excel spreadsheet reader and writer.
- isomorphic-git (https://github.com/isomorphic-git/isomorphic-git) - Pure JavaScript implementation of Git.
 
Command-line apps
 
- np (https://github.com/sindresorhus/np) - Better npm publish.
- npm-name (https://github.com/sindresorhus/npm-name) - Check a package name's availability on npm.
- gh-home (https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory.
- npm-home (https://github.com/sindresorhus/npm-home) - Open the npm page of a package.
- trash (https://github.com/sindresorhus/trash) - Safer alternative to rm.
- speed-test (https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping.
- pageres (https://github.com/sindresorhus/pageres) - Capture website screenshots.
- cpy (https://github.com/sindresorhus/cpy) - Copy files.
- vtop (https://github.com/MrRio/vtop) - More better top, with nice charts.
- empty-trash (https://github.com/sindresorhus/empty-trash) - Empty the trash.
- is-up (https://github.com/sindresorhus/is-up) - Check whether a website is up or down.
- is-online (https://github.com/sindresorhus/is-online) - Check if the internet connection is up.
- public-ip (https://github.com/sindresorhus/public-ip) - Get your public IP address.
- clipboard-cli (https://github.com/sindresorhus/clipboard-cli) - Copy & paste on the terminal.
- XO (https://github.com/xojs/xo) - Enforce strict code style using the JavaScript happiness style.
- ESLint (https://github.com/eslint/eslint) - The pluggable linting utility for JavaScript.
- David (https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date.
- http-server (https://github.com/http-party/http-server) - Simple, zero-config command-line HTTP server.
- Live Server (https://github.com/tapio/live-server) - Development HTTP-server with livereload capability.
- bcat (https://github.com/kessler/node-bcat) - Pipe command output to web browsers.
- normit (https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal.
- fkill (https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform.
- pjs (https://github.com/danielstjules/pjs) - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.
- license-checker (https://github.com/davglass/license-checker) - Check licenses of your app's dependencies.
- browser-run (https://github.com/juliangruber/browser-run) - Easily run code in a browser environment.
- tmpin (https://github.com/sindresorhus/tmpin) - Adds stdin support to any CLI app that accepts file input.
- wallpaper (https://github.com/sindresorhus/wallpaper) - Change the desktop wallpaper.
- pen (https://github.com/hatashiro/pen) - Live Markdown preview in the browser from your favorite editor.
- dark-mode (https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode.
- Jsome (https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation.
- mobicon (https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator.
- mobisplash (https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator.
- diff2html-cli (https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator.
- trymodule (https://github.com/victorb/trymodule) - Try out npm packages in the terminal.
- jscpd (https://github.com/kucherenko/jscpd) - Copy/paste detector for source code.
- atmo (https://github.com/Raathigesh/Atmo) - Server-side API mocking.
- auto-install (https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code.
- cost-of-modules (https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down.
- localtunnel (https://github.com/localtunnel/localtunnel) - Expose your localhost to the world.
- svg-term-cli (https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG.
- gtop (https://github.com/aksakalli/gtop) - System monitoring dashboard for the terminal.
- themer (https://github.com/themerdev/themer) - Generate themes for your editor, terminal, wallpaper, Slack, and more.
- carbon-now-cli (https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal.
- cash-cli (https://github.com/xxczaki/cash-cli) - Convert between 170 currencies.
- taskbook (https://github.com/klaussinani/taskbook) - Tasks, boards & notes for the command-line habitat.
- discharge (https://github.com/brandonweiss/discharge) - Easily deploy static websites to Amazon S3.
- npkill (https://github.com/voidcosmos/npkill) - Easily find and remove old and heavy node_modules folders.
 
Functional programming
 
- lodash (https://github.com/lodash/lodash) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
- immutable (https://github.com/immutable-js/immutable-js) - Immutable data collections.
- Ramda (https://github.com/ramda/ramda) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
- Mout (https://github.com/mout/mout) - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
- RxJS (https://github.com/reactivex/rxjs) - Functional reactive library for transforming, composing, and querying various kinds of data.
- Kefir.js (https://github.com/kefirjs/kefir) - Reactive library with focus on high performance and low memory usage.
 
HTTP
 
- got (https://github.com/sindresorhus/got) - Nicer interface to the built-in http module.
- undici (https://github.com/nodejs/undici) - High performance HTTP client written from scratch with zero dependencies.
- ky-universal (https://github.com/sindresorhus/ky-universal) - Universal HTTP client based on Fetch.
- node-fetch (https://github.com/node-fetch/node-fetch) - window.fetch for Node.js.
- axios (https://github.com/axios/axios) - Promise based HTTP client (works in the browser too).
- superagent (https://github.com/visionmedia/superagent) - HTTP request library.
- http-fake-backend (https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
- cacheable-request (https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support.
- gotql (https://github.com/khaosdoctor/gotql) - GraphQL request library built on got (https://github.com/sindresorhus/got).
- global-agent (https://github.com/gajus/global-agent) - Global HTTP/HTTPS proxy agent that is configurable using environment variables.
- smoke (https://github.com/sinedied/smoke) - File-based HTTP mock server with recording abilities.
- purest (https://github.com/simov/purest) - REST client.
 
Debugging / Profiling
 
- debug (https://github.com/debug-js/debug) - Tiny debugging utility.
- why-is-node-running (https://github.com/mafintosh/why-is-node-running) - Node.js is running but you don't know why?
- njsTrace (https://github.com/valyouw/njstrace) - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.
- vstream (https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams.
- stackman (https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies.
- locus (https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables.
- 0x (https://github.com/davidmarkclements/0x) - Flamegraph profiling.
- ctrace (https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals.
- leakage (https://github.com/andywer/leakage) - Write memory leak tests.
- llnode (https://github.com/nodejs/llnode) - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process.
- thetool (https://github.com/sfninja/thetool) - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format.
- swagger-stats (https://github.com/slanatech/swagger-stats) - Trace API calls and monitor API performance, health, and usage metrics.
- NiM (https://github.com/june07/nim) - Manages DevTools debugging workflow.
- dats (https://github.com/immobiliare/dats) - Minimalistic and zero-dependencies StatsD (https://github.com/statsd/statsd) client.
 
Logging
 
- pino (https://github.com/pinojs/pino) - Extremely fast logger inspired by Bunyan.
- winston (https://github.com/winstonjs/winston) - Multi-transport async logging library.
- console-log-level (https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes.
- storyboard (https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories.
- consola (https://github.com/unjs/consola) - Console logger.
 
Command-line utilities
 
- chalk (https://github.com/chalk/chalk) - Terminal string styling done right.
- meow (https://github.com/sindresorhus/meow) - CLI app helper.
- yargs (https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface.
- ora (https://github.com/sindresorhus/ora) - Elegant terminal spinner.
- get-stdin (https://github.com/sindresorhus/get-stdin) - Easier stdin.
- log-update (https://github.com/sindresorhus/log-update) - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
- Ink (https://github.com/vadimdemedes/ink) - React for interactive command-line apps.
- listr2 (https://github.com/listr2/listr2) - Terminal task list.
- conf (https://github.com/sindresorhus/conf) - Simple config handling for your app or module.
- ansi-escapes (https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal.
- log-symbols (https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels.
- figures (https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks.
- boxen (https://github.com/sindresorhus/boxen) - Create boxes in the terminal.
- terminal-link (https://github.com/sindresorhus/terminal-link) - Create clickable links in the terminal.
- terminal-image (https://github.com/sindresorhus/terminal-image) - Display images in the terminal.
- string-width (https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it.
- cli-truncate (https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal.
- blessed (https://github.com/chjj/blessed) - Curses-like library.
- Inquirer.js (https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt.
- yn (https://github.com/sindresorhus/yn) - Parse yes/no like values.
- cli-table3 (https://github.com/cli-table/cli-table3) - Pretty unicode tables.
- drawille (https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters.
- ascii-charts (https://github.com/jstrace/chart) - ASCII bar chart in the terminal.
- progress (https://github.com/visionmedia/node-progress) - Flexible ascii progress bar.
- insight (https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
- cli-cursor (https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor.
- cli-columns (https://github.com/shannonmoeller/cli-columns) - Columnated unicode and ansi-safe text lists.
- cfonts (https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console.
- multispinner (https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners.
- omelette (https://github.com/f/omelette) - Shell autocompletion helper.
- cross-env (https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform.
- shelljs (https://github.com/shelljs/shelljs) - Portable Unix shell commands.
- sudo-block (https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions.
- sparkly (https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇.
- Bit (https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories.
- gradient-string (https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output.
- oclif (https://github.com/oclif/oclif) - CLI framework complete with parser, automatic documentation, testing, and plugins.
- terminal-size (https://github.com/sindresorhus/terminal-size) - Reliably get the terminal window size.
- Cliffy (https://github.com/drew-y/cliffy) - Framework for interactive CLIs.
- zx (https://github.com/google/zx) - Write shell scripts JavaScript.
 
Build tools
 
- parcel (https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler.
- webpack (https://github.com/webpack/webpack) - Packs modules and assets for the browser.
- rollup (https://github.com/rollup/rollup) - Next-generation ES2015 module bundler.
- gulp (https://github.com/gulpjs/gulp) - Streaming and fast build system that favors code over config.
- Broccoli (https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
- Brunch (https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.
- FuseBox (https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.
- pkg (https://github.com/vercel/pkg) - Package your Node.js project into an executable.
- Vite (https://github.com/vitejs/vite) - Front-end build tool with hot module replacement and static asset bundling.
 
Hardware
 
- johnny-five (https://github.com/rwaldron/johnny-five) - Firmata based Arduino Framework.
- serialport (https://github.com/serialport/node-serialport) - Access serial ports for reading and writing.
- usb (https://github.com/node-usb/node-usb) - USB library.
- i2c-bus (https://github.com/fivdi/i2c-bus) - I2C serial bus access.
- onoff (https://github.com/fivdi/onoff) - GPIO access and interrupt detection.
- spi-device (https://github.com/fivdi/spi-device) - SPI serial bus access.
- pigpio (https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.
- gps (https://github.com/infusion/GPS.js) - NMEA parser for handling GPS receivers.
- modbus-serial (https://github.com/yaacov/node-modbus-serial) - A pure JavaScript implementation of MODBUS-RTU (serial and TCP).
 
Templating
 
- marko (https://github.com/marko-js/marko) - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.
- nunjucks (https://github.com/mozilla/nunjucks) - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).
- handlebars.js (https://github.com/handlebars-lang/handlebars.js) - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.
- EJS (https://github.com/mde/ejs) - Simple unopinionated templating language.
- Pug (https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml.
 
Web frameworks
 
- Fastify (https://github.com/fastify/fastify) - Fast and low overhead web framework.
- Next.js (https://github.com/vercel/next.js) - Minimalistic framework for server-rendered universal JavaScript web apps.
- Nuxt.js (https://github.com/nuxt/nuxt.js) - Minimalistic framework for server-rendered Vue.js apps.
- Hapi (https://github.com/hapijs/hapi) - Framework for building applications and services.
- Micro (https://github.com/vercel/micro) - Minimalistic microservice framework with an async approach.
- Koa (https://github.com/koajs/koa) - Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
- Express (https://github.com/expressjs/express) - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
- Feathers (https://github.com/feathersjs/feathers) - Microservice framework built in the spirit of Express.
- LoopBack (https://github.com/loopbackio/loopback-next) - Powerful framework for creating REST APIs and easily connecting to backend data sources.
- Meteor (https://github.com/meteor/meteor) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. (You might like awesome-meteor (https://github.com/Urigo/awesome-meteor))
- Restify (https://github.com/restify/node-restify) - Enables you to build correct REST web services.
- ThinkJS (https://github.com/thinkjs/thinkjs) - Framework with ES2015+ support, WebSockets, REST API.
- ActionHero (https://github.com/actionhero/actionhero) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.
- seneca (https://github.com/senecajs/seneca) - Toolkit for writing microservices.
- AdonisJs (https://github.com/adonisjs/core) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.
- Moleculer (https://github.com/moleculerjs/moleculer) - Fast & powerful microservices framework.
- Nest (https://github.com/nestjs/nest) - Angular-inspired framework for building efficient and scalable server-side apps.
- TypeGraphQL (https://github.com/MichalLytek/type-graphql) - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators.
- Tinyhttp (https://github.com/tinyhttp/tinyhttp) - Modern and fast Express-like web framework.
- Marble.js (https://github.com/marblejs/marble) - Functional reactive framework for building server-side apps, based on TypeScript and RxJS.
- Lad (https://github.com/ladjs/lad) - Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers.
- Ts.ED (https://github.com/tsedio/tsed) - Intuitive TypeScript framework for building server-side apps on top of Express.js or Koa.js.
- Hono (https://github.com/honojs/hono) - Small and fast web framework.
 
Documentation
 
- documentation.js (https://github.com/documentationjs/documentation) - API documentation generator with support for ES2015+ and flow annotation.
- Docco (https://github.com/jashkenas/docco) - Documentation generator which produces an HTML document that displays your comments intermingled with your code.
- JSDoc (https://github.com/jsdoc/jsdoc) - API documentation generator similar to JavaDoc or PHPDoc.
- Docusaurus (https://github.com/facebook/docusaurus) - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features.
 
Filesystem
 
- del (https://github.com/sindresorhus/del) - Delete files/folders using globs.
- globby (https://github.com/sindresorhus/globby) - Glob files with support for multiple patterns.
- chokidar (https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from fs.watch and fs.watchFile as well as using native fsevents on macOS.
- find-up (https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories.
- proper-lockfile (https://github.com/moxystudio/node-proper-lockfile) - Inter-process and inter-machine lockfile utility.
- load-json-file (https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file.
- write-json-file (https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically.
- fs-write-stream-atomic (https://github.com/npm/fs-write-stream-atomic) - Like fs.createWriteStream(), but atomic.
- filenamify (https://github.com/sindresorhus/filenamify) - Convert a string to a valid filename.
- istextorbinary (https://github.com/bevry/istextorbinary) - Check if a file is text or binary.
- fs-jetpack (https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use.
- fs-extra (https://github.com/jprichardson/node-fs-extra) - Extra methods for the fs module.
- pkg-dir (https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package.
- filehound (https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system.
- move-file (https://github.com/sindresorhus/move-file) - Move a file, even works across devices.
- tempy (https://github.com/sindresorhus/tempy) - Get a random temporary file or directory path.
 
Control flow
 
- Promises
- **pify** (https://github.com/sindresorhus/pify) - Promisify a callback-style function.
- **delay** (https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time.
- **promise-memoize** (https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch.
- **valvelet** (https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function.
- **p-map** (https://github.com/sindresorhus/p-map) - Map over promises concurrently.
- **More…** (https://github.com/sindresorhus/promise-fun)
- Observables
- **RxJS** (https://github.com/ReactiveX/RxJS) - Reactive programming.
- **observable-to-promise** (https://github.com/sindresorhus/observable-to-promise) - Convert an Observable to a Promise.
- **More…** (https://github.com/sindresorhus/awesome-observables)
- Streams
- **Highland.js** (https://github.com/caolan/highland) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
 
Streams
 
- get-stream (https://github.com/sindresorhus/get-stream) - Get a stream as a string or buffer.
- from2 (https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, inspired by through2.
- into-stream (https://github.com/sindresorhus/into-stream) - Convert a buffer/string/array/object into a stream.
- duplexify (https://github.com/mafintosh/duplexify) - Turn a writeable and readable stream into a single streams2 duplex stream.
- pumpify (https://github.com/mafintosh/pumpify) - Combine an array of streams into a single duplex stream.
- peek-stream (https://github.com/mafintosh/peek-stream) - Transform stream that lets you peek the first line before deciding how to parse it.
- binary-split (https://github.com/maxogden/binary-split) - Newline (or any delimiter) splitter stream.
- byline (https://github.com/jahewson/node-byline) - Super-simple line-by-line Stream reader.
- first-chunk-stream (https://github.com/sindresorhus/first-chunk-stream) - Transform the first chunk in a stream.
- pad-stream (https://github.com/sindresorhus/pad-stream) - Pad each line in a stream.
- multistream (https://github.com/feross/multistream) - Combine multiple streams into a single stream.
- readable-stream (https://github.com/nodejs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core.
- through2-concurrent (https://github.com/almost/through2-concurrent) - Transform object streams concurrently.
 
Real-time
 
- µWebSockets (https://github.com/uNetworking/uWebSockets) - Highly scalable WebSocket server & client library.
- Socket.io (https://github.com/socketio/socket.io) - Enables real-time bidirectional event-based communication.
- Faye (https://github.com/faye/faye) - Real-time client-server message bus, based on Bayeux protocol.
- SocketCluster (https://github.com/SocketCluster/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
- Primus (https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in.
- deepstream.io (https://github.com/deepstreamIO/deepstream.io-client-js) - Scalable real-time microservice framework.
- Kalm (https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework.
- MQTT.js (https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.
- rpc-websockets (https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets.
- Aedes (https://github.com/moscajs/aedes) - Barebone MQTT server that can run on any stream server.
 
Image
 
- sharp (https://github.com/lovell/sharp) - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
- image-type (https://github.com/sindresorhus/image-type) - Detect the type of an image.
- image-dimensions (https://github.com/sindresorhus/image-dimensions) - Get the dimensions of an image.
- lwip (https://github.com/EyalAr/lwip) - Lightweight image processor which does not require ImageMagick.
- pica (https://github.com/nodeca/pica) - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.
- jimp (https://github.com/oliver-moran/jimp) - Image processing in pure JavaScript.
- qrcode (https://github.com/soldair/node-qrcode) - QR code and bar code generator.
- ImageScript (https://github.com/matmen/ImageScript) - Image processing in JavaScript, utilizing WebAssembly for performance.
 
Text
 
- iconv-lite (https://github.com/ashtuchkin/iconv-lite) - Convert character encodings.
- string-length (https://github.com/sindresorhus/string-length) - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
- camelcase (https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- escape-string-regexp (https://github.com/sindresorhus/escape-string-regexp) - Escape RegExp special characters.
- splice-string (https://github.com/sindresorhus/splice-string) - Remove or replace part of a string like Array#splice.
- indent-string (https://github.com/sindresorhus/indent-string) - Indent each line in a string.
- strip-indent (https://github.com/sindresorhus/strip-indent) - Strip leading whitespace from every line in a string.
- detect-indent (https://github.com/sindresorhus/detect-indent) - Detect the indentation of code.
- he (https://github.com/mathiasbynens/he) - HTML entity encoder/decoder.
- i18n-node (https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage.
- babelfish (https://github.com/nodeca/babelfish) - i18n with very easy syntax for plurals.
- matcher (https://github.com/sindresorhus/matcher) - Simple wildcard matching.
- unhomoglyph (https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters.
- i18next (https://github.com/i18next/i18next) - Internationalization framework.
- nanoid (https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator.
- StegCloak (https://github.com/kurolabs/stegcloak) - Conceal secrets within strings, in plain sight.
 
Number
 
- random-int (https://github.com/sindresorhus/random-int) - Generate a random integer.
- random-float (https://github.com/sindresorhus/random-float) - Generate a random float.
- unique-random (https://github.com/sindresorhus/unique-random) - Generate random numbers that are consecutively unique.
- round-to (https://github.com/sindresorhus/round-to) - Round a number to a specific number of decimal places: 1.2341.2.
 
Math
 
- ndarray (https://github.com/scijs/ndarray) - Multidimensional arrays.
- mathjs (https://github.com/josdejong/mathjs) - An extensive math library.
- math-clamp (https://github.com/sindresorhus/math-clamp) - Clamp a number.
- algebra (https://github.com/fibo/algebra) - Algebraic structures.
- multimath (https://github.com/nodeca/multimath) - Core to create fast image math in WebAssembly and JS.
 
Date
 
- Luxon (https://github.com/moment/luxon) - Library for working with dates and times.
- date-fns (https://github.com/date-fns/date-fns) - Modern date utility.
- Day.js (https://github.com/iamkun/dayjs) - Immutable date library alternative to Moment.js.
- dateformat (https://github.com/felixge/node-dateformat) - Date formatting.
- tz-format (https://github.com/samverschueren/tz-format) - Format a date with timezone: 2015-11-30T10:40:35+01:00.
- cctz (https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates.
 
URL
 
- normalize-url (https://github.com/sindresorhus/normalize-url) - Normalize a URL.
- humanize-url (https://github.com/sindresorhus/humanize-url) - Humanize a URL: https://sindresorhus.com → sindresorhus.com.
- url-unshort (https://github.com/nodeca/url-unshort) - Expand shortened URLs.
- speakingurl (https://github.com/pid/speakingurl) - Generate a slug from a string with transliteration.
- linkify-it (https://github.com/markdown-it/linkify-it) - Link patterns detector with full unicode support.
- url-pattern (https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings.
- embedza (https://github.com/nodeca/embedza) - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.
 
Data validation
 
- joi (https://github.com/sideway/joi) - Object schema description language and validator for JavaScript objects.
- is-my-json-valid (https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast.
- property-validator (https://github.com/nettofarah/property-validator) - Easy property validation for Express.
- schema-inspector (https://github.com/schema-inspector/schema-inspector) - JSON API sanitization and validation.
- ajv (https://github.com/ajv-validator/ajv) - The fastest JSON Schema validator. Supports v5, v6 and v7 proposals.
- Superstruct (https://github.com/ianstormtaylor/superstruct) - Simple and composable way to validate data in JavaScript (and TypeScript).
- yup (https://github.com/jquense/yup) - Object schema validation.
- zod (https://github.com/colinhacks/zod) - TypeScript-first schema validation with static type inference.
 
Parsing
 
- remark (https://github.com/remarkjs/remark) - Markdown processor powered by plugins.
- markdown-it (https://github.com/markdown-it/markdown-it) - Markdown parser with 100% CommonMark support, extensions and syntax plugins.
- parse5 (https://github.com/inikulin/parse5) - Fast full-featured spec compliant HTML parser.
- @parcel/css (https://github.com/parcel-bundler/parcel-css) - A CSS parser, transformer, and minifier written in Rust.
- strip-json-comments (https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON.
- strip-css-comments (https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS.
- parse-json (https://github.com/sindresorhus/parse-json) - Parse JSON with more helpful errors.
- URI.js (https://github.com/medialize/URI.js) - URL mutation.
- JSONStream (https://github.com/dominictarr/JSONStream) - Streaming JSON.parse and stringify.
- neat-csv (https://github.com/sindresorhus/neat-csv) - Fast CSV parser. Callback interface for the above.
- csv-parser (https://github.com/mafintosh/csv-parser) - Streaming CSV parser that aims to be faster than everyone else.
- PEG.js (https://github.com/pegjs/pegjs) - Simple parser generator that produces fast parsers with excellent error reporting.
- x-ray (https://github.com/matthewmueller/x-ray) - Web scraping utility.
- nearley (https://github.com/kach/nearley) - Simple, fast, powerful parsing for JavaScript.
- binary-extract (https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of JSON without parsing the whole thing.
- Stylecow (https://github.com/stylecow/stylecow) - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
- js-yaml (https://github.com/nodeca/js-yaml) - Very fast YAML parser.
- xml2js (https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter.
- Jison (https://github.com/zaach/jison) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.
- google-libphonenumber (https://github.com/ruimarinho/google-libphonenumber) - Parse, format, store and validate phone numbers.
- ref (https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers.
- xlsx-populate (https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX.
- Chevrotain (https://github.com/Chevrotain/chevrotain) - Very fast and feature rich parser building toolkit for JavaScript.
- fast-xml-parser (https://github.com/NaturalIntelligence/fast-xml-parser) - Validate and parse XML.
 
Humanize
 
- pretty-bytes (https://github.com/sindresorhus/pretty-bytes) - Convert bytes to a human readable string: 13371.34 kB.
- pretty-ms (https://github.com/sindresorhus/pretty-ms) - Convert milliseconds to a human readable string: 133700000015d 11h 23m 20s.
- ms (https://github.com/vercel/ms) - Tiny millisecond conversion utility.
- pretty-error (https://github.com/AriaMinaei/pretty-error) - Errors with less clutter.
- read-art (https://github.com/Tjatse/node-readability) - Extract readable content from any page.
 
Compression
 
- yazl (https://github.com/thejoshwolfe/yazl) - Zip.
- yauzl (https://github.com/thejoshwolfe/yauzl) - Unzip.
- Archiver (https://github.com/archiverjs/node-archiver) - Streaming interface for archive generation, supporting ZIP and TAR.
- pako (https://github.com/nodeca/pako) - High speed zlib port to pure js (deflate, inflate, gzip).
- tar-stream (https://github.com/mafintosh/tar-stream) - Streaming tar parser and generator. Also see tar-fs (https://github.com/mafintosh/tar-fs).
 
Network
 
- get-port (https://github.com/sindresorhus/get-port) - Get an available port.
- ipify (https://github.com/sindresorhus/ipify) - Get your public IP address.
- getmac (https://github.com/bevry/getmac) - Get the computer MAC address.
- DHCP (https://github.com/infusion/node-dhcp) - DHCP client and server.
- netcat (https://github.com/roccomuso/netcat) - Netcat port in pure JS.
 
Database
 
- Drivers
- **PostgreSQL** (https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings.
- **Redis** (https://github.com/luin/ioredis) - Redis client.
- **LevelUP** (https://github.com/Level/levelup) - LevelDB.
- **MySQL** (https://github.com/mysqljs/mysql) - MySQL client.
- **couchdb-nano** (https://github.com/apache/couchdb-nano) - CouchDB client.
- **Aerospike** (https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client.
- **Couchbase** (https://github.com/couchbase/couchnode) - Couchbase client.
- **MongoDB** (https://github.com/mongodb/node-mongodb-native) - MongoDB driver.
- ODM / ORM
- **Sequelize** (https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more.
- **Bookshelf** (https://github.com/bookshelf/bookshelf) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
- **Mongoose** (https://github.com/Automattic/mongoose) - Elegant MongoDB object modeling.
- **Waterline** (https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
- **OpenRecord** (https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.
- **pg-promise** (https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises.
- **slonik** (https://github.com/gajus/slonik) - PostgreSQL client with strict types, detailed logging and assertions.
- **Objection.js** (https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex.
- **TypeORM** (https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more.
- **MikroORM** (https://github.com/mikro-orm/mikro-orm) - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.
- **Prisma** (https://github.com/prisma/prisma) - Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite.
- Drizzle ORM (https://github.com/drizzle-team/drizzle-orm) - TypeScript ORM that supports various databases such as PostgreSQL.
- Query builder
- **Knex** (https://github.com/knex/knex) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.
- Other
- **NeDB** (https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript.
- **Lowdb** (https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash.
- **Keyv** (https://github.com/jaredwray/keyv) - Simple key-value storage with support for multiple backends.
- **Finale** (https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models.
- **database-js** (https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection.
- **Mongo Seeding** (https://github.com/pkosiec/mongo-seeding) - Populate MongoDB databases with JavaScript and JSON files.
- **@databases** (https://github.com/ForbesLindesay/atdatabases) - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection.
- **pg-mem** (https://github.com/oguimbal/pg-mem) - In-memory PostgreSQL instance for your tests.
 
Testing
 
- AVA (https://github.com/avajs/ava) - Futuristic test runner.
- Mocha (https://github.com/mochajs/mocha) - Feature-rich test framework making asynchronous testing simple and fun.
- nyc (https://github.com/istanbuljs/nyc) - Code coverage tool built on istanbul that works with subprocesses.
- tap (https://github.com/tapjs/node-tap) - TAP test framework.
- tape (https://github.com/substack/tape) - TAP-producing test harness.
- power-assert (https://github.com/power-assert-js/power-assert) - Provides descriptive assertion messages through the standard assert interface.
- Mochify (https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver.
- trevor (https://github.com/vadimdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.
- loadtest (https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation.
- Sinon.JS (https://github.com/sinonjs/sinon) - Test spies, stubs and mocks.
- navit (https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting.
- Nock (https://github.com/nock/nock) - HTTP mocking and expectations.
- intern (https://github.com/theintern/intern) - Code testing stack.
- toxy (https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions.
- hook-std (https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr.
- testen (https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM.
- Nightwatch (https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver.
- WebdriverIO (https://github.com/webdriverio/webdriverio) - Automated testing based on the WebDriver protocol.
- Jest (https://github.com/facebook/jest) - Painless JavaScript testing.
- TestCafe (https://github.com/DevExpress/testcafe) - Automated browser testing.
- abstruse (https://github.com/bleenco/abstruse) - Continuous Integration server.
- CodeceptJS (https://github.com/codeceptjs/CodeceptJS) - End-to-end testing.
- Puppeteer (https://github.com/puppeteer/puppeteer) - Headless Chrome.
- Playwright (https://github.com/microsoft/playwright) - Headless Chromium, WebKit, and Firefox with a single API.
- nve (https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally.
- axe-core (https://github.com/dequelabs/axe-core) - Accessibility engine for automated Web UI testing.
- testcontainers-node (https://github.com/testcontainers/testcontainers-node) - Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
 
Security
 
- upash (https://github.com/simonepri/upash) - Unified API for all password hashing algorithms.
- themis (https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
- GuardRails (https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests.
- rate-limiter-flexible (https://github.com/animir/node-rate-limiter-flexible) - Brute-force and DDoS attack protection.
- crypto-hash (https://github.com/sindresorhus/crypto-hash) - Async non-blocking hashing.
- jose-simple (https://github.com/davesag/jose-simple) - Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.
 
Benchmarking
 
- Benchmark.js (https://github.com/bestiejs/benchmark.js) - Benchmarking library that supports high-resolution timers and returns statistically significant results.
 
Minifiers
 
- babel-minify (https://github.com/babel/minify) - ES2015+ aware minifier based on the Babel toolchain.
- UglifyJS2 (https://github.com/mishoo/UglifyJS) - JavaScript minifier.
- clean-css (https://github.com/clean-css/clean-css) - CSS minifier.
- minimize (https://github.com/Swaagie/minimize) - HTML minifier.
- imagemin (https://github.com/imagemin/imagemin) - Image minifier.
 
Authentication
 
- Passport (https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication.
- Grant (https://github.com/simov/grant) - OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more.
 
Authorization
 
- CASL (https://github.com/stalniy/casl) - Isomorphic authorization for UI and API.
- node-casbin (https://github.com/casbin/node-casbin) - Authorization library that supports access control models like ACL, RBAC and ABAC.
 
Email
 
- Nodemailer (https://github.com/nodemailer/nodemailer) - The fastest way to handle email.
- emailjs (https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server.
- email-templates (https://github.com/forwardemail/email-templates) - Create, preview, and send custom email templates.
- MJML (https://github.com/mjmlio/mjml) - Markup language designed to reduce the pain of creating responsive emails.
 
Job queues
 
- bull (https://github.com/OptimalBits/bull) - Persistent job and message queue.
- agenda (https://github.com/agenda/agenda) - MongoDB-backed job scheduling.
- idoit (https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control.
- node-resque (https://github.com/actionhero/node-resque) - Redis-backed job queue.
- rsmq (https://github.com/smrchy/rsmq) - Redis-backed message queue.
- bee-queue (https://github.com/bee-queue/bee-queue) - High-performance Redis-backed job queue.
- RedisSMQ (https://github.com/weyoss/redis-smq) - Simple high-performance Redis message queue with real-time monitoring.
- sqs-consumer (https://github.com/bbc/sqs-consumer) - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate.
- better-queue (https://github.com/diamondio/better-queue) - Simple and efficient job queue when you cannot use Redis.
- bullmq (https://github.com/taskforcesh/bullmq) - Persistent job and message queue.
- bree (https://github.com/breejs/bree) - Job task scheduler with worker threads, cron, date, and human syntax support.
- graphile-worker (https://github.com/graphile/worker) - High performance PostgreSQL job queue.
 
Node.js management
 
- n (https://github.com/tj/n) - Node.js version management.
- nave (https://github.com/isaacs/nave) - Virtual Environments for Node.js.
- nodeenv (https://github.com/ekalinin/nodeenv) - Node.js virtual environment compatible to Python's virtualenv.
- nvm for Windows (https://github.com/coreybutler/nvm-windows) - Version management for Windows.
- nodenv (https://github.com/nodenv/nodenv) - Version manager that is similar to Ruby's rbenv. It supports auto version switching.
- fnm (https://github.com/Schniz/fnm) - Cross-platform Node.js version manager built in Rust.
 
Cross-platform integration
 
- napi-rs (https://github.com/napi-rs/napi-rs) - Framework for building compiled Node.js add-ons in Rust via Node-API.
- Neon (https://github.com/neon-bindings/neon) - Rust bindings for writing safe and fast native Node.js modules.
- Edge.js (https://github.com/agracio/edge-js) - Run .NET and Node.js code in the same process on Windows, macOS, and Linux.
- DotNetJS (https://github.com/Elringus/DotNetJS) - Consume .NET libraries in Node.js using this .NET interoperability layer.
 
Natural language processing
 
- retext (https://github.com/retextjs/retext) - An extensible natural language system.
- franc (https://github.com/wooorm/franc) - Detect the language of text.
- leven (https://github.com/sindresorhus/leven) - Measure the difference between two strings using the Levenshtein distance algorithm.
- natural (https://github.com/NaturalNode/natural) - Natural language facility.
- nlp.js (https://github.com/axa-group/nlp.js) - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more.
 
Process management
 
- PM2 (https://github.com/Unitech/pm2) - Advanced Process Manager.
- nodemon (https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server.
- node-mac (https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app.
- node-linux (https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog.
- node-windows (https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer.
- supervisor (https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a *.js file changes.
- Phusion Passenger (https://github.com/phusion/passenger) - Friendly process manager that integrates directly into Nginx.
 
Automation
 
- robotjs (https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen.
- nut.js (https://github.com/nut-tree/nut.js) - Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest.
 
AST
 
- Acorn (https://github.com/acornjs/acorn) - Tiny, fast JavaScript parser.
- babel-parser (https://github.com/babel/babel/tree/master/packages/babel-parser) - JavaScript parser used in Babel.
 
Static site generators
 
- DocPad (https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem.
- docsify (https://github.com/docsifyjs/docsify) - Markdown documentation site generator with no statically built HTML files.
- Charge (https://github.com/brandonweiss/charge) - Opinionated, zero-config static site generator using JSX and MDX.
 
Content management systems
 
- KeystoneJS (https://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB.
- ApostropheCMS (https://github.com/apostrophecms/apostrophe) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.
- Strapi (https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs.
- Factor (https://github.com/FactorJS/factor) - Vue.js dashboard framework and headless CMS.
- AdminBro (https://github.com/SoftwareBrothers/adminjs) - Auto-generated admin panel with CRUD for all your resources.
- Graphweaver (https://github.com/exogee-technology/graphweaver) - CMS and headless GraphQL API.
 
Forum
 
- nodeBB (https://github.com/NodeBB/NodeBB) - Forum platform for the modern web.
 
Blogging
 
- Ghost (https://github.com/TryGhost/Ghost) - Simple, powerful publishing platform.
- Hexo (https://github.com/hexojs/hexo) - Fast, simple and powerful blogging framework.
 
Weird
 
- cows (https://github.com/sindresorhus/cows) - ASCII cows.
- superb (https://github.com/sindresorhus/superb) - Get superb like words.
- cat-names (https://github.com/sindresorhus/cat-names) - Get popular cat names.
- dog-names (https://github.com/sindresorhus/dog-names) - Get popular dog names.
- superheroes (https://github.com/sindresorhus/superheroes) - Get superhero names.
- supervillains (https://github.com/sindresorhus/supervillains) - Get supervillain names.
- cool-ascii-faces (https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces.
- cat-ascii-faces (https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”.
- nerds (https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
 
Serialization
 
- snappy (https://github.com/kesla/node-snappy) - Native bindings for Google's Snappy compression library.
- protobuf (https://github.com/protobufjs/protobuf.js) - Implementation of Protocol Buffers.
- compactr (https://github.com/compactr/compactr.js) - Implementation of the Compactr protocol.
 
Miscellaneous
 
- execa (https://github.com/sindresorhus/execa) - Better child_process.
- cheerio (https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
- open (https://github.com/sindresorhus/open) - Opens stuff like websites, files, executables.
- hasha (https://github.com/sindresorhus/hasha) - Hashing made simple. Get the hash of a buffer/string/stream/file.
- dot-prop (https://github.com/sindresorhus/dot-prop) - Get a property from a nested object using a dot path.
- onetime (https://github.com/sindresorhus/onetime) - Only run a function once.
- mem (https://github.com/sindresorhus/mem) - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
- strip-bom (https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
- os-locale (https://github.com/sindresorhus/os-locale) - Get the system locale.
- ssh2 (https://github.com/mscdex/ssh2) - SSH2 client and server module.
- adit (https://github.com/markelog/adit) - SSH tunneling made simple.
- file-type (https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer.
- Bottleneck (https://github.com/SGrondin/bottleneck) - Rate limiter that makes throttling easy.
- webworker-threads (https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads.
- clipboardy (https://github.com/sindresorhus/clipboardy) - Access the system clipboard (copy/paste).
- node-pre-gyp (https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries.
- opencv (https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library.
- dotenv (https://github.com/motdotla/dotenv) - Load environment variables from .env file.
- semver (https://github.com/npm/node-semver) - Semantic version parser.
- nodegit (https://github.com/nodegit/nodegit) - Native bindings to Git.
- json-strictify (https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop.
- jsdom (https://github.com/jsdom/jsdom) - JavaScript implementation of HTML and the DOM.
- @sindresorhus/is (https://github.com/sindresorhus/is) - Type check values.
- env-dot-prop (https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path.
- node-video-lib (https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming.
- basic-ftp (https://github.com/patrickjuchli/basic-ftp) - FTP/FTPS client.
- cashify (https://github.com/xxczaki/cashify) - Currency conversion.
- genepi (https://github.com/Geode-solutions/genepi) - Automatically generate a native Node.js addon from C++ code.
- husky (https://github.com/typicode/husky) - Create Git hook scripts.
- patch-package (https://github.com/ds300/patch-package) - Make and preserve fixes to npm dependencies.
- editly (https://github.com/mifi/editly) - Declarative video editing API.
- wild-wild-path (https://github.com/ehmicky/wild-wild-path) - Object property paths with wildcards and regexes.
- uint8array-extras (https://github.com/sindresorhus/uint8array-extras) - Useful utilities for working with Uint8Array and Buffer.
 
Package Manager
 
- npm (https://docs.npmjs.com/about-npm) - The default package manager.
- pnpm (https://pnpm.io) - Disk space efficient package manager.
- yarn (https://yarnpkg.com) - Alternative package manager.
- bun (https://bun.sh) - All-in-one toolkit for JavaScript and TypeScript apps.
 
Resources
 
Tutorials
 
- Node.js Best Practices (https://github.com/goldbergyoni/nodebestpractices) - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages.
- Nodeschool (https://github.com/nodeschool) - Learn Node.js with interactive lessons.
- The Art of Node (https://github.com/maxogden/art-of-node/#the-art-of-node) - An introduction to Node.js.
- module-best-practices (https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules.
- The Node Way (https://github.com/FredKSchott/the-node-way) - An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read.
- You Don't Know Node.js (https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript.
- Portable Node.js guide (https://github.com/ehmicky/cross-platform-node-guide) - Practical guide on how to write portable/cross-platform Node.js code.
- Build a real web app with no frameworks (https://frameworkless.js.org/course) - A set of video tutorials/livestreams to help you build and deploy a real, live web app using a handful of simple libraries and the core Node.js modules.
 
Discovery
 
- npms (https://npms.io) - Superb package search with deep analysis of package quality using a myriad of metrics (https://npms.io/about).
- npm addict (https://npmaddict.com) - Your daily injection of npm packages.
 
Articles
 
- Error Handling in Node.js (https://sematext.com/blog/node-js-error-handling/)
- Teach Yourself Node.js in 10 Steps (https://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps)
- Mastering the filesystem in Node.js (https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801)
- Semver: A Primer (https://nodesource.com/blog/semver-a-primer/)
- Semver: Tilde and Caret (https://nodesource.com/blog/semver-tilde-and-caret/)
- Why Asynchronous? (https://nodesource.com/blog/why-asynchronous/)
- Understanding the Node.js Event Loop (https://nodesource.com/blog/understanding-the-nodejs-event-loop/)
- Understanding Object Streams (https://nodesource.com/blog/understanding-object-streams/)
- Using Express to Quickly Build a GraphQL Server (https://snipcart.com/blog/graphql-nodejs-express-tutorial)
 
Newsletters
 
- Node Weekly (https://nodeweekly.com) - Weekly e-mail round-up of Node.js news and articles.
 
Videos
 
- Introduction to Node.js with Ryan Dahl (https://www.youtube.com/watch?v=jo_B4LTHi3I)
- Hands on with Node.js (https://learn.bevry.me/hands-on-with-node.js/preface)
- V8 Garbage Collector (https://v8.dev/blog/trash-talk) - Trash talk about the V8 garbage collector.
- 10 Things I Regret About Node.js by Ryan Dahl (https://www.youtube.com/watch?v=M3BM9TB-8yA) - Insightful talk by the creator of Node.js about some of its limitions.
- Mastering REST APIs in Node.js: Zero-To-Hero (https://www.manning.com/livevideo/mastering-rest-apis-in-nodejs) - Video course on how to make REST APIs using Node.js.
- Make a vanilla Node.js REST API (https://www.youtube.com/watch?v=_1xa8Bsho6A) - Building a REST API without using a framework like Express.
- Google I/O 2009 - V8: High Performance JavaScript Engine (https://www.youtube.com/watch?v=FrufJFBSoQY) - The basics of V8 architecture and how it optimizes JavaScript execution.
- Google I/O 2012 - Breaking the JavaScript Speed Limit with V8 (https://www.youtube.com/watch?v=UJPdhx5zTaw) - How V8 optimizes JavaScript execution.
- Google I/O 2013 - Accelerating Oz with V8: Follow the Yellow Brick Road to JavaScript Performance (https://www.youtube.com/watch?v=VhpdsjBUS3g) - How to detect app bottlenecks and optimize performance with V8 knowledge.
- Node.js Internal Architecture | Ignition, Turbofan, Libuv (https://www.youtube.com/watch?v=OCjvhCFFPTw) - How Node.js works internally, with a focus on V8 and libuv.
- Introduction to libuv: What's a Unicorn Velociraptor? (https://www.youtube.com/watch?v=_c51fcXRLGw) - libuv architecture, thread pool, and event loop, with its source code.
- libuv Cross platform asynchronous i/o (https://www.youtube.com/watch?v=kCJ3PFU8Ke8) - libuv architecture in detail, such as where it's actually using threads.
- You Don't Know Node - ForwardJS San Francisco (https://www.youtube.com/watch?v=oPo4EQmkjvY) - Explaining Node.js internals with quizzes about V8, libuv, event loop, module, stream, and cluster.
 
Books
 
- Node.js in Action (https://www.manning.com/books/node-js-in-action-second-edition)
- Node.js in Practice (https://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939)
- Mastering Node (https://visionmedia.github.io/masteringnode/)
- Node.js 8 the Right Way (https://pragprog.com/book/jwnode2/node-js-8-the-right-way/)
- Professional Node.js: Building JavaScript Based Scalable Software (https://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/)
- Secure Your Node.js Web Application (https://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856)
- Express in Action (https://www.manning.com/books/express-in-action)
- Practical Modern JavaScript (https://www.amazon.com/Practical-Modern-JavaScript-Dive-Future/dp/149194353X)
- Mastering Modular JavaScript (https://www.amazon.com/Mastering-Modular-JavaScript-Nicolas-Bevacqua/dp/1491955686/)
- Get Programming with Node.js (https://www.manning.com/books/get-programming-with-node-js)
- Node.js Cookbook (https://www.amazon.com/dp/1838558756)
- Node.js Design Patterns (https://www.nodejsdesignpatterns.com)
 
Blogs
 
- Node.js blog (https://nodejs.org/en/blog/)
- webapplog.com (https://webapplog.com/tag/node-js/) - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan.
 
Courses
 
- Learn to build apps and APIs with Node.js (https://learnnode.com/friend/AWESOME) - Video course by Wes Bos.
- Real Time Web with Node.js (https://www.pluralsight.com/courses/code-school-real-time-web-with-nodejs)
- Learn and Understand Node.js (https://www.udemy.com/course/understand-nodejs/)
- Node.js Full Stack Developer Course (https://kinsta.com/academy/course/node-js-full-stack-developer/)
 
Cheatsheets
 
- Express.js (https://github.com/azat-co/cheatsheets/tree/master/express4)
- Stream FAQs (https://github.com/stephenplusplus/stream-faqs) - Answering common questions about streams, covering pagination, events, and more.
- Strong Node.js (https://github.com/jesusprubio/strong-node) - Checklist for source code security analysis of a Node.js web service.
 
Tools
 
- OctoLinker (https://chrome.google.com/webstore/detail/octolinker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
- npm-hub (https://chrome.google.com/webstore/detail/npmhub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme.
- RunKit (https://runkit.com) - Embed a Node.js environment on any website.
- github-npm-stats (https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef) - Chrome extension that displays npm download stats on GitHub.
- npm semver calculator (https://semver.npmjs.com) - Visually explore what versions of a package a semver range matches.
- CodeSandbox (https://codesandbox.io/templates/node-http-server) - Online IDE and prototyping.
- Amplication (https://github.com/amplication/amplication) - Auto-generates fully functional apps.
- RunJS (https://runjs.app) - Desktop JavaScript playground.
 
Community
 
- Stack Overflow (https://stackoverflow.com/questions/tagged/node.js)
- Reddit (https://www.reddit.com/r/node)
- Twitter (https://twitter.com/nodejs)
- Hashnode (https://hashnode.com/n/nodejs)
- Discord (https://discord.com/invite/96WGtJt)
 
Miscellaneous
 
- nodebots (https://nodebots.io) - Robots powered by JavaScript.
- node-module-boilerplate (https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module.
- modern-node (https://github.com/sheerun/modern-node) - Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard.
- generator-nm (https://github.com/sindresorhus/generator-nm) - Scaffold out a node module.
- Microsoft Node.js Guidelines (https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
- Module Requests & Ideas (https://github.com/sindresorhus/project-ideas) - Request a JavaScript module you wish existed or get ideas for modules.
- v8-perf (https://github.com/thlorenz/v8-perf) - Notes and resources related to V8 and thus Node.js performance.
 
Related lists
 
- awesome-npm (https://github.com/sindresorhus/awesome-npm) - Resources and tips for using npm.
- awesome-cross-platform-nodejs (https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code.
 
nodejs Github: https://github.com/vndmtrx/awesome-nodejs