Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thoqbk/awesome-nodejs
Delightful Node.js packages and resources. Crawl and sort daily by AwesomelsBot
https://github.com/thoqbk/awesome-nodejs
List: awesome-nodejs
Last synced: 23 days ago
JSON representation
Delightful Node.js packages and resources. Crawl and sort daily by AwesomelsBot
- Host: GitHub
- URL: https://github.com/thoqbk/awesome-nodejs
- Owner: thoqbk
- Created: 2018-11-14T14:55:10.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-14T15:08:24.000Z (about 6 years ago)
- Last Synced: 2024-11-20T19:02:28.128Z (about 1 month ago)
- Size: 20.5 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- ultimate-awesome - awesome-nodejs - Delightful Node.js packages and resources. Crawl and sort daily by AwesomelsBot. (Programming Language Lists / JavaScript Lists)
README
# awesome-nodejs
Crawl and sort daily by AwesomelsBot. Source: [awesome-nodejs](https://github.com/sindresorhus/awesome-nodejs)
### Contents
- [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](#node.js-management)
- [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)
- [Tutorials](#tutorials)
- [Articles](#articles)
- [Cheatsheets](#cheatsheets)
## Mad science
* [webtorrent](https://github.com/feross/webtorrent) - Streaming torrent client for the web - ★ 18079
* [js-xlsx](https://github.com/sheetjs/js-xlsx) - SheetJS Community Edition -- Spreadsheet Parser and Writer - ★ 13094
* [brain.js](https://github.com/BrainJS/brain.js) - Neural networks in JavaScript - ★ 6413
* [NodeOS](https://github.com/NodeOS/NodeOS) - Lightweight operating system using Node.js as userspace - ★ 5701
* [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client for node.js - ★ 4955
* [cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (network) library for visualisation and analysis - ★ 4860
* [pdfkit](https://github.com/devongovett/pdfkit) - A JavaScript PDF generation library for Node and the browser - ★ 4336
* [turf](https://github.com/Turfjs/turf) - A modular geospatial engine written in JavaScript - ★ 3987
* [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) - A pure JavaScript implementation of git for node and browsers! - ★ 3447
* [js-git](https://github.com/creationix/js-git) - A JavaScript implementation of Git. - ★ 3446
* [bitcoinjs-lib](https://github.com/bitcoinjs/bitcoinjs-lib) - A javascript Bitcoin library for node.js and browsers. - ★ 3125
* [js-ipfs](https://github.com/ipfs/js-ipfs) - IPFS implementation in JavaScript - ★ 3099
* [bitcore](https://github.com/bitpay/bitcore) - A full stack for bitcoin and blockchain-based applications - ★ 2942
* [peercast](https://github.com/mafintosh/peercast) - torrent-stream + chromecast - ★ 401
* [webcat](https://github.com/mafintosh/webcat) - Mad science p2p pipe across the web using webrtc that uses your Github private/public key for authentication and a signalhub for discovery - ★ 381
* [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine - ★ 305
* [peerwiki](https://github.com/mafintosh/peerwiki) - all of wikipedia on bittorrent - ★ 285
* [zapsnap](https://github.com/twobucks/seedshot) - Temporary peer to peer screenshot sharing from your browser. - ★ 176
## Command-line apps
* [standard](https://github.com/feross/standard) - JavaScript Style Guide, with linter & automatic code fixer - ★ 19655
* [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots - ★ 8453
* [http-server](https://github.com/indexzero/http-server) - a simple zero-configuration command-line http server - ★ 7629
* [localtunnel](https://github.com/localtunnel/localtunnel) - expose yourself - ★ 7593
* [cash](https://github.com/dthree/cash) - Cross-platform Linux commands in ES6 - ★ 7567
* [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for terminal - ★ 7074
* [fkill-cli](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform. - ★ 5420
* [taskbook](https://github.com/klauscfhq/taskbook) - Tasks, boards & notes for the command-line habitat - ★ 5204
* [xo](https://github.com/xojs/xo) - JavaScript happiness style linter - ★ 4139
* [np](https://github.com/sindresorhus/np) - A better `npm publish` - ★ 3490
* [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal. - ★ 3425
* [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping using speedtest.net from the CLI - ★ 3034
* [vtop](https://github.com/MrRio/vtop) - Wow such top. So stats. More better than regular top. - ★ 3011
* [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing - ★ 2798
* [live-server](https://github.com/tapio/live-server) - A simple development http server with live reload capability. - ★ 2422
* [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which of your dependencies are slowing you down - ★ 2263
* [themer](https://github.com/mjswensen/themer) - themer takes a set of colors and generates themes for your apps (editors, terminals, wallpapers, and more). - ★ 1704
* [trash](https://github.com/sindresorhus/trash) - Move files and directories to the trash - ★ 1634
* [emoj](https://github.com/sindresorhus/emoj) - Find relevant emoji from text on the command-line - ★ 1557
* [trymodule](https://github.com/VictorBjelkholm/trymodule) - It's never been easier to try nodejs modules! - ★ 1021
* [auto-install](https://github.com/siddharthkp/auto-install) - Install dependencies as you code - ★ 958
* [svg-term-cli](https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG and CSS - ★ 884
* [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for programming source code. - ★ 855
* [david](https://github.com/alanshaw/david) - Node.js module that tells you when your package npm dependencies are out of date. - ★ 846
* [license-checker](https://github.com/davglass/license-checker) - Check NPM package licenses - ★ 741
* [atmo](https://github.com/Raathigesh/Atmo) - Mock data for your prototypes and demos. Remote deployments to Zeit now. - ★ 726
* [wallpaper](https://github.com/sindresorhus/wallpaper) - Manage the desktop wallpaper - ★ 552
* [torrent](https://github.com/maxogden/torrent) - download torrents with node from the CLI - ★ 523
* [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up - ★ 435
* [dark-mode](https://github.com/sindresorhus/dark-mode) - Control the macOS dark mode from the command-line - ★ 380
* [pjs](https://github.com/danielstjules/pjs) - Pipeable javascript. Quickly filter, map, and reduce from the terminal - ★ 345
* [itunes-remote](https://github.com/mischah/itunes-remote) - Control iTunes via CLI - ★ 345
* [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address - very fast! - ★ 341
* [browser-run](https://github.com/juliangruber/browser-run) - The easiest way of running code in a browser environment - ★ 324
* [is-up](https://github.com/sindresorhus/is-up) - Check whether a website is up or down - ★ 297
* [discharge](https://github.com/brandonweiss/discharge) - A simple, easy way to deploy static websites to Amazon S3. - ★ 294
* [node-bcat](https://github.com/kessler/node-bcat) - A pipe to browser utility - ★ 275
* [pen](https://github.com/noraesae/pen) - We need a better Markdown previewer. - ★ 256
* [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Access the system clipboard (copy/paste) - ★ 231
* [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory - ★ 231
* [normit](https://github.com/pawurb/normit) - Translations with speech synthesis in your terminal as a node package - ★ 193
* [cpy](https://github.com/sindresorhus/cpy) - Copy files - ★ 189
* [iponmap](https://github.com/nogizhopaboroda/iponmap) - commandline IP location finder - ★ 175
* [dev-time-cli](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - ★ 156
* [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Simple CLI for diff2html library - ★ 154
* [wifi-password-cli](https://github.com/kevva/wifi-password-cli) - Get current wifi password - ★ 141
* [Jsome](https://github.com/Javascipt/Jsome) - Make your JSON look AWESOME - ★ 139
* [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page, Yarn page, or GitHub repo of a package - ★ 135
* [brightness-cli](https://github.com/kevva/brightness-cli) - Change the screen brightness - ★ 130
* [tmpin](https://github.com/sindresorhus/tmpin) - Add stdin support to any CLI app that accepts file input - ★ 109
* [subdownloader](https://github.com/beatfreaker/subdownloader) - Painless subtitle downloader - ★ 99
* [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the given or current directory repo - ★ 98
* [lessmd](https://github.com/linuxenko/lessmd) - Minimal marked based unix terminal document viewer/pager with many features like markdown to terminal translation, file change watching and more. - ★ 93
* [empty-trash](https://github.com/sindresorhus/empty-trash) - Empty the trash - ★ 90
* [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm - ★ 81
* [cash-cli](https://github.com/xxczaki/cash-cli) - Convert Currency Rates using your terminal! - ★ 66
* [mobicon-cli](https://github.com/samverschueren/mobicon-cli) - Mobile icon generator - ★ 57
* [mobisplash-cli](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator - ★ 32
## Functional programming
* [immutable-js](https://github.com/facebook/immutable-js) - Immutable persistent data collections for Javascript which increase efficiency and simplicity. - ★ 25610
* [ramda](https://github.com/ramda/ramda) - Practical functional Javascript - ★ 14475
* [lazy.js](https://github.com/dtao/lazy.js) - Like Underscore, but lazier - ★ 5401
* [kefir](https://github.com/kefirjs/kefir) - A Reactive Programming library for JavaScript - ★ 1489
* [mout](https://github.com/mout/mout) - Modular JavaScript Utilities - ★ 1037
## HTTP
* [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client for the browser and node.js - ★ 50970
* [request](https://github.com/request/request) - 🏊🏾 Simplified HTTP request client. - ★ 21094
* [superagent](https://github.com/visionmedia/superagent) - Ajax with less suck - (and node.js HTTP client to match) - ★ 13523
* [node-http-proxy](https://github.com/nodejitsu/node-http-proxy) - A full-featured http proxy for node.js - ★ 9453
* [got](https://github.com/sindresorhus/got) - Simplified HTTP requests - ★ 4412
* [got](https://github.com/sindresorhus/got) - Simplified HTTP requests - ★ 4412
* [node-fetch](https://github.com/bitinn/node-fetch) - A light-weight module that brings window.fetch to Node.js - ★ 3573
* [download](https://github.com/kevva/download) - Download and extract files - ★ 768
* [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities - ★ 325
* [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. - ★ 171
* [gotql](https://github.com/khaosdoctor/gotql) - GraphQL query utility for serverside apps - ★ 166
* [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support - ★ 152
* [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API - ★ 125
* [flashheart](https://github.com/bbc/flashheart) - A fully-featured Node.js REST client built for ease-of-use and resilience - ★ 88
## Debugging / Profiling
* [node-inspector](https://github.com/node-inspector/node-inspector) - Node.js debugger based on Blink Developer Tools - ★ 12295
* [ndb](https://github.com/GoogleChromeLabs/ndb) - ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools - ★ 8436
* [debug](https://github.com/visionmedia/debug) - A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers - ★ 6923
* [iron-node](https://github.com/s-a/iron-node) - Debug Node.js code with Chrome Developer Tools. - ★ 2371
* [leakage](https://github.com/andywer/leakage) - Memory leak testing for node. - ★ 1300
* [0x](https://github.com/davidmarkclements/0x) - single-command flamegraph profiling - ★ 1153
* [why-is-node-running](https://github.com/mafintosh/why-is-node-running) - Node is running but you don't know why? why-is-node-running is here to help you. - ★ 818
* [llnode](https://github.com/nodejs/llnode) - An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps. - ★ 592
* [locus](https://github.com/alidavut/locus) - Locus is a debugging module for node.js - ★ 255
* [njsTrace](https://github.com/valyouw/njstrace) - A Node.js tracing and instrumentation utility - ★ 231
* [stackman](https://github.com/watson/stackman) - He is like Batman, but for Node.js stack traces - ★ 173
* [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals (when the debugger does not help) - ★ 99
* [node-vstream](https://github.com/joyent/node-vstream) - instrumented streams - ★ 54
## Logging
* [winston](https://github.com/winstonjs/winston) - A logger for just about everything. - ★ 11879
* [signale](https://github.com/klauscfhq/signale) - Hackable console logger - ★ 6756
* [pino](https://github.com/pinojs/pino) - super fast, all natural json logger - ★ 3262
* [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories - ★ 506
* [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable - ★ 30
## Command-line utilities
* [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - ★ 10582
* [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands for Node.js - ★ 8718
* [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - A collection of common interactive command line user interfaces. - ★ 8564
* [blessed](https://github.com/chjj/blessed) - A high-level terminal interface library for node.js. - ★ 7846
* [ink](https://github.com/vadimdemedes/ink) - React for interactive command-line apps - ★ 6445
* [yargs](https://github.com/yargs/yargs) - yargs the modern, pirate-themed successor to optimist. - ★ 5397
* [bit](https://github.com/teambit/bit) - Easily share code between projects with your team. - ★ 4579
* [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner - ★ 3972
* [cross-env](https://github.com/kentcdodds/cross-env) - Cross platform setting of environment scripts - ★ 3137
* [oclif](https://github.com/oclif/oclif) - Node.js Open CLI Framework. Built with by Heroku. - ★ 2767
* [node-progress](https://github.com/tj/node-progress) - Flexible ascii progress bar for nodejs - ★ 2013
* [listr](https://github.com/samverschueren/listr) - Terminal task list - ★ 1830
* [meow](https://github.com/sindresorhus/meow) - CLI app helper - ★ 1552
* [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app - ★ 1086
* [omelette](https://github.com/f/omelette) - Omelette is a simple, template based autocompletion tool for Node projects with super easy API. (For Bash, Zsh and Fish) - ★ 771
* [node-drawille](https://github.com/madbence/node-drawille) - Drawing in terminal with unicode braille characters - ★ 763
* [log-update](https://github.com/sindresorhus/log-update) - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc. - ★ 523
* [insight](https://github.com/yeoman/insight) - Node.js module to help you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics - ★ 437
* [boxen](https://github.com/sindresorhus/boxen) - Create boxes in the terminal - ★ 421
* [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels - ★ 361
* [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy fonts for the console - ★ 361
* [terminal-image](https://github.com/sindresorhus/terminal-image) - Display images in the terminal - ★ 356
* [conf](https://github.com/sindresorhus/conf) - Simple config handling for your app or module - ★ 318
* [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. - ★ 315
* [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output - ★ 315
* [figures](https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks - ★ 296
* [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ - ★ 279
* [node-multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable spinners for concurrent tasks in Node.js CLI programs - ★ 226
* [chart](https://github.com/jstrace/chart) - Ansi charts for nodejs - ★ 221
* [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail - ★ 220
* [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal - ★ 219
* [get-stdin](https://github.com/sindresorhus/get-stdin) - Get stdin as a string or buffer - ★ 186
* [cliffy](https://github.com/drew-y/cliffy) - NodeJS Framework for Interactive CLIs - ★ 161
* [terminal-link](https://github.com/sindresorhus/terminal-link) - Create clickable links in the terminal - ★ 130
* [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values - ★ 120
* [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it - ★ 108
* [term-size](https://github.com/sindresorhus/term-size) - Reliably get the terminal window size - ★ 76
* [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions - ★ 63
* [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run - ★ 54
* [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor - ★ 50
* [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal - ★ 32
* [cli-table3](https://github.com/cli-table/cli-table3) - Pretty unicode tables for the command line - ★ 18
* [cli-columns](https://github.com/shannonmoeller/cli-columns) - Columnated lists for the CLI. Unicode and ANSI safe. - ★ 14
## Build tools
* [webpack](https://github.com/webpack/webpack) - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders," modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff. - ★ 45168
* [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero configuration web application bundler - ★ 27943
* [rollup](https://github.com/rollup/rollup) - Next-generation ES module bundler - ★ 14090
* [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable - ★ 11879
* [brunch](https://github.com/brunch/brunch) - Fast front-end web app build tool with simple declarative config, seamless incremental compilation for rapid development, an opinionated pipeline and workflow, and core support for source maps. - ★ 6530
* [fuse-box](https://github.com/fuse-box/fuse-box) - A blazing fast js bundler/loader with a comprehensive API - ★ 3554
* [broccoli](https://github.com/broccolijs/broccoli) - Browser compilation library – an asset pipeline for applications that run in the browser - ★ 3150
* [start](https://github.com/deepsweet/start) - Functional task runner for Node.js - ★ 445
* [ygor](https://github.com/shannonmoeller/ygor) - Task toolkit. For when `npm run` isn't enough and everything else is too much. - ★ 58
## Hardware
* [johnny-five](https://github.com/rwaldron/johnny-five) - JavaScript Robotics and IoT programming framework, developed at Bocoup. - ★ 9896
* [node-serialport](https://github.com/voodootikigod/node-serialport) - Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them! - ★ 3651
* [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection with Node.js - ★ 741
* [node-usb](https://github.com/nonolith/node-usb) - Improved USB library for Node.js - ★ 727
* [pigpio](https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification and interrupt handling with Node.js on the Raspberry Pi - ★ 383
* [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access with Node.js - ★ 148
* [GPS.js](https://github.com/infusion/GPS.js) - A NMEA parser and GPS utility library - ★ 72
* [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access with Node.js - ★ 42
## Templating
* [pug](https://github.com/pugjs/pug) - Pug – robust, elegant, feature rich template engine for Node.js - ★ 17464
* [handlebars.js](https://github.com/wycats/handlebars.js) - ★ 13883
* [marko](https://github.com/marko-js/marko) - A friendly (and fast!) UI library from eBay that makes building web apps fun - ★ 7598
* [nunjucks](https://github.com/mozilla/nunjucks) - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired) - ★ 5631
* [ejs](https://github.com/mde/ejs) - Embedded JavaScript templates -- - ★ 2953
## Web frameworks
* [next.js](https://github.com/zeit/next.js) - The React Framework - ★ 31425
* [nuxt.js](https://github.com/nuxt/nuxt.js) - The Vue.js Developers Framework - ★ 16228
* [nest](https://github.com/nestjs/nest) - A progressive Node.js framework for building efficient and scalable server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) heavily inspired by Angular - ★ 10043
* [fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework, for Node.js - ★ 8628
* [micro](https://github.com/zeit/micro) - Asynchronous HTTP microservices - ★ 7611
* [thinkjs](https://github.com/thinkjs/thinkjs) - Use full ES2015+ features to develop Node.js applications, Support TypeScript. - ★ 4622
* [seneca](https://github.com/senecajs/seneca) - A microservices toolkit for Node.js. - ★ 3189
* [actionhero](https://github.com/actionhero/actionhero) - actionhero.js is a multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks - ★ 1926
* [awesome-meteor](https://github.com/Urigo/awesome-meteor) - A curated, community driven list of awesome Meteor packages, libraries, resources and shiny things - ★ 1287
* [type-graphql](https://github.com/19majkel94/type-graphql) - Create GraphQL schema and resolvers with TypeScript, using classes and decorators! - ★ 796
* [hemera](https://github.com/hemerajs/hemera) - Writing reliable & fault-tolerant microservices in Node.js - ★ 591
* [zeronode](https://github.com/sfast/zeronode) - Zeronode - minimal building block for NodeJS microservices - ★ 69
## Documentation
* [documentation](https://github.com/documentationjs/documentation) - documentation for modern JavaScript - ★ 4132
* [esdoc](https://github.com/esdoc/esdoc) - ESDoc - Good Documentation for JavaScript - ★ 2240
## Filesystem
* [node-fs-extra](https://github.com/jprichardson/node-fs-extra) - Node.js: extra methods for the fs object like copy(), remove(), mkdirs() - ★ 4963
* [chokidar](https://github.com/paulmillr/chokidar) - A neat wrapper around node.js fs.watch / fs.watchFile / fsevents. - ★ 4708
* [rimraf](https://github.com/isaacs/rimraf) - A `rm -rf` util for nodejs - ★ 2829
* [del](https://github.com/sindresorhus/del) - Delete files and directories - ★ 876
* [node-graceful-fs](https://github.com/isaacs/node-graceful-fs) - fs with incremental backoff on EMFILE - ★ 788
* [globby](https://github.com/sindresorhus/globby) - User-friendly glob matching - ★ 758
* [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Better file system API for Node.js - ★ 431
* [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed - Think `mkdir -p` - ★ 323
* [cpy](https://github.com/sindresorhus/cpy) - Copy files - ★ 189
* [filenamify](https://github.com/sindresorhus/filenamify) - Convert a string to a valid safe filename - ★ 183
* [find-up](https://github.com/sindresorhus/find-up) - Find a file or directory by walking up parent directories - ★ 174
* [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system - ★ 131
* [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file - ★ 122
* [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically - ★ 109
* [move-file](https://github.com/sindresorhus/move-file) - Move a file - Even works across devices - ★ 103
* [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of a Node.js project or npm package - ★ 78
* [node-proper-lockfile](https://github.com/IndigoUnited/node-proper-lockfile) - An inter-process and inter-machine lockfile utility that works on a local or network file system. - ★ 57
* [istextorbinary](https://github.com/bevry/istextorbinary) - Determines if a buffer is comprised of text or binary - ★ 45
* [fs-write-stream-atomic](https://github.com/npm/fs-write-stream-atomic) - Like `fs.createWriteStream(...)`, but atomic. - ★ 43
* [lnfs](https://github.com/kevva/lnfs) - Safely force create symlinks - ★ 9
## Control flow
* [async](https://github.com/caolan/async) - Async utilities for node and the browser - ★ 24879
* [bluebird](https://github.com/petkaantonov/bluebird) - Bluebird is a full featured promise library with unmatched performance. - ★ 17527
* [rxjs](https://github.com/ReactiveX/RxJS) - A reactive programming library for JavaScript - ★ 15738
* [highland](https://github.com/caolan/highland) - High-level streams library for Node.js and the browser - ★ 3036
* [js-csp](https://github.com/ubolonton/js-csp) - CSP channels for Javascript (like Clojurescript's core.async, or Go) - ★ 2168
* [promise-fun](https://github.com/sindresorhus/promise-fun) - Promise packages, patterns, chat, and tutorials - ★ 2045
* [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function - ★ 1062
* [zen-observable](https://github.com/zenparsing/zen-observable) - An Implementation of Observables for Javascript - ★ 457
* [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently - ★ 310
* [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time - ★ 276
* [awesome-observables](https://github.com/sindresorhus/awesome-observables) - Awesome Observable related stuff - An Observable is a collection that arrives over time. - ★ 239
* [awesome-observables](https://github.com/sindresorhus/awesome-observables) - Awesome Observable related stuff - An Observable is a collection that arrives over time. - ★ 239
* [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator (async forEach) - ★ 104
* [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions. Includes cache expire and prefetch. - ★ 37
* [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a function - ★ 18
## Streams
* [through2](https://github.com/rvagg/through2) - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise - ★ 1453
* [readable-stream](https://github.com/nodejs/readable-stream) - Node-core streams for userland - ★ 667
* [node-byline](https://github.com/jahewson/node-byline) - Line-by-line Stream reader for node.js - ★ 264
* [pumpify](https://github.com/mafintosh/pumpify) - Combine an array of streams into a single duplex stream using pump and duplexify - ★ 147
* [multistream](https://github.com/feross/multistream) - A stream that emits multiple other streams one after another (streams2) - ★ 146
* [duplexify](https://github.com/mafintosh/duplexify) - Turn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input - ★ 138
* [get-stream](https://github.com/sindresorhus/get-stream) - Get a stream as a string, buffer, or array - ★ 131
* [from2](https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, with an API lifted from "from" and "through2" - ★ 98
* [into-stream](https://github.com/sindresorhus/into-stream) - Convert a string/promise/array/iterable/buffer/typedarray/arraybuffer/object into a stream - ★ 76
* [stream-combiner2](https://github.com/substack/stream-combiner2) - ★ 71
* [binary-split](https://github.com/maxogden/binary-split) - a fast newline (or any delimiter) splitter stream - like require('split') but specific for binary data - ★ 61
* [through2-concurrent](https://github.com/almost/through2-concurrent) - Simple Node.JS stream (streams2) Transform that runs the transform functions concurrently (with a set max concurrency) - ★ 60
* [peek-stream](https://github.com/mafintosh/peek-stream) - Transform stream that lets you peek the first line before deciding how to parse it - ★ 42
* [first-chunk-stream](https://github.com/sindresorhus/first-chunk-stream) - Transform the first chunk in a stream - ★ 19
* [pad-stream](https://github.com/sindresorhus/pad-stream) - Pad each line in a stream - ★ 5
## Real-time
* [socket.io](https://github.com/socketio/socket.io) - Realtime application framework (Node.JS server) - ★ 44232
* [uWebSockets](https://github.com/uWebSockets/uWebSockets) - Tiny WebSockets - ★ 9753
* [socketcluster](https://github.com/SocketCluster/socketcluster) - Highly scalable realtime framework - ★ 4977
* [faye](https://github.com/faye/faye) - Simple pub/sub messaging for the web - ★ 4152
* [primus](https://github.com/primus/primus) - Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in. - ★ 3728
* [MQTT.js](https://github.com/mqttjs/MQTT.js) - The MQTT client for Node.js and the browser - ★ 3722
* [aedes](https://github.com/mcollina/aedes) - Barebone MQTT broker that can run on any stream server, the node way - ★ 336
* [deepstream.io-client-js](https://github.com/deepstreamIO/deepstream.io-client-js) - The Browser / Node.js Client for deepstream.io - ★ 223
* [rpc-websockets](https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript - ★ 131
* [kalm.js](https://github.com/kalm/kalm.js) - The socket manager - ★ 63
## Image
* [sharp](https://github.com/lovell/sharp) - High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP and TIFF images. Uses the libvips library. - ★ 9778
* [jimp](https://github.com/oliver-moran/jimp) - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies. - ★ 7145
* [gm](https://github.com/aheckmann/gm) - GraphicsMagick for node - ★ 5338
* [lwip](https://github.com/EyalAr/lwip) - Light Weight Image Processor for NodeJS - ★ 2157
* [pica](https://github.com/nodeca/pica) - Resize image in browser with high quality and high speed - ★ 1419
* [probe-image-size](https://github.com/nodeca/probe-image-size) - Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD. - ★ 202
* [image-type](https://github.com/sindresorhus/image-type) - Detect the image type of a Buffer/Uint8Array - ★ 152
## Text
* [i18next](https://github.com/i18next/i18next) - i18next: learn once - translate everywhere - ★ 3683
* [i18n-node](https://github.com/mashpie/i18n-node) - Lightweight simple translation module for node.js / express.js with dynamic json storage. Uses common __('...') syntax in app and templates. - ★ 2206
* [iconv-lite](https://github.com/ashtuchkin/iconv-lite) - Convert character encodings in pure javascript. - ★ 1848
* [he](https://github.com/mathiasbynens/he) - A robust HTML entity encoder/decoder written in JavaScript. - ★ 1738
* [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching - ★ 411
* [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) - Escape RegExp special characters - ★ 270
* [camelcase](https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar - ★ 260
* [babelfish](https://github.com/nodeca/babelfish) - human friendly i18n for javascript (node.js + browser) - ★ 194
* [detect-indent](https://github.com/sindresorhus/detect-indent) - Detect the indentation of code - ★ 120
* [strip-indent](https://github.com/sindresorhus/strip-indent) - Strip leading whitespace from each line in a string - ★ 77
* [execall](https://github.com/sindresorhus/execall) - Find multiple RegExp matches in a string - ★ 74
* [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 - ★ 58
* [indent-string](https://github.com/sindresorhus/indent-string) - Indent each line in a string - ★ 57
* [splice-string](https://github.com/sindresorhus/splice-string) - Remove or replace part of a string like Array#splice - ★ 13
* [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Replace all homoglyphs with base characters. Useful to detect similar strings. - ★ 13
## Number
* [round-to](https://github.com/sindresorhus/round-to) - Round a number to a specific number of decimal places: 1.234 → 1.2 - ★ 91
* [unique-random](https://github.com/sindresorhus/unique-random) - Generate random numbers that are consecutively unique - ★ 61
* [random-int](https://github.com/sindresorhus/random-int) - Generate a random integer - ★ 40
* [random-float](https://github.com/sindresorhus/random-float) - Generate a random float - ★ 18
## Math
* [mathjs](https://github.com/josdejong/mathjs) - An extensive math library for JavaScript and Node.js - ★ 7647
* [ndarray](https://github.com/scijs/ndarray) - Multidimensional arrays for JavaScript - ★ 805
* [algebra](https://github.com/fibo/algebra) - means completeness and balancing, from the Arabic word الجبر - ★ 66
* [multimath](https://github.com/nodeca/multimath) - WebAssembly wrapper to simplify fast math coding - ★ 31
* [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number - ★ 4
## Date
* [date-fns](https://github.com/date-fns/date-fns) - Modern JavaScript date utility library - ★ 14943
* [luxon](https://github.com/moment/luxon) - A library for working with dates and times in JS - ★ 7204
* [node-dateformat](https://github.com/felixge/node-dateformat) - A node.js package for Steven Levithan's excellent dateFormat() function. - ★ 914
* [node-cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting and timezone manipulations for dates - ★ 55
* [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone - ★ 5
## URL
* [speakingurl](https://github.com/pid/speakingurl) - Generate a slug – transliteration with a lot of options - ★ 967
* [url-pattern](https://github.com/snd/url-pattern) - easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings. - ★ 396
* [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL - ★ 308
* [linkify-it](https://github.com/markdown-it/linkify-it) - Links recognition library with full unicode support - ★ 248
* [humanize-url](https://github.com/sindresorhus/humanize-url) - Humanize a URL: → sindresorhus.com - ★ 171
* [embedza](https://github.com/nodeca/embedza) - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags. - ★ 37
* [url-unshort](https://github.com/nodeca/url-unshort) - Short links expander for node.js - ★ 33
## Data validation
* [joi](https://github.com/hapijs/joi) - Object schema validation - ★ 9795
* [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema Validator. Supports draft-04/06/07 - ★ 4529
* [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - A JSONSchema validator that uses code generation to be extremely fast - ★ 841
* [schema-inspector](https://github.com/Atinux/schema-inspector) - Schema-Inspector is an JSON API sanitisation and validation module. - ★ 453
* [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for JavaScript, Node and Express. - ★ 142
## Parsing
* [postcss](https://github.com/postcss/postcss) - Transforming styles with JS plugins - ★ 19653
* [markdown-it](https://github.com/markdown-it/markdown-it) - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed - ★ 6295
* [URI.js](https://github.com/medialize/URI.js) - Javascript URL mutation library - ★ 5513
* [x-ray](https://github.com/lapwinglabs/x-ray) - The next web scraper. See through the <html> noise. - ★ 4727
* [node-xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. - ★ 3436
* [js-yaml](https://github.com/nodeca/js-yaml) - JavaScript YAML parser and dumper. Very fast. - ★ 3372
* [jison](https://github.com/zaach/jison) - Bison in JavaScript. - ★ 3203
* [pegjs](https://github.com/pegjs/pegjs) - PEG.js: Parser generator for JavaScript - ★ 3007
* [nearley](https://github.com/Hardmath123/nearley) - Simple, fast, powerful parser toolkit for JavaScript. - ★ 1987
* [parse5](https://github.com/inikulin/parse5) - HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant. - ★ 1909
* [remark](https://github.com/wooorm/remark) - Markdown processor powered by plugins based on (and , ) - ★ 1805
* [JSONStream](https://github.com/dominictarr/JSONStream) - rawStream.pipe(JSONStream.parse()).pipe(streamOfObjects) - ★ 1592
* [chevrotain](https://github.com/SAP/chevrotain) - Parser Building Toolkit for JavaScript - ★ 883
* [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - The up-to-date and reliable Google's libphonenumber package for node.js. - ★ 574
* [csv-parser](https://github.com/mafintosh/csv-parser) - Streaming csv parser inspired by binary-csv that aims to be faster than everyone else - ★ 566
* [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON. Lets you use comments in your JSON files! - ★ 381
* [ref](https://github.com/TooTallNate/ref) - Turn Buffer instances into "pointers" - ★ 299
* [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Validate XML, Parse XML to JS/JSON and vise versa, or parse XML to Nimn rapidly without C/C++ based libraries and no callback - ★ 295
* [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Excel XLSX parser/generator written in JavaScript with Node.js and browser support, jQuery/d3-style method chaining, encryption, and a focus on keeping existing workbook features and styles in tact. - ★ 275
* [binary-extract](https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of json without parsing the whole thing - ★ 139
* [parse-json](https://github.com/sindresorhus/parse-json) - Parse JSON with more helpful errors - ★ 131
* [stylecow](https://github.com/stylecow/stylecow) - Modern CSS to all browsers - ★ 128
* [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS - ★ 83
* [neat-csv](https://github.com/sindresorhus/neat-csv) - Fast CSV parser - ★ 75
## Humanize
* [ms](https://github.com/rauchg/ms.js) - Tiny milisecond conversion utility - ★ 1674
* [pretty-error](https://github.com/AriaMinaei/pretty-error) - See node.js errors with less clutter - ★ 1190
* [pretty-bytes](https://github.com/sindresorhus/pretty-bytes) - Convert bytes to a human readable string: 1337 → 1.34 kB - ★ 412
* [pretty-ms](https://github.com/sindresorhus/pretty-ms) - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s` - ★ 347
* [node-readability](https://github.com/Tjatse/node-readability) - Scrape/Crawl article from any site automatically. Make any web page readable, no matter Chinese or English. - ★ 271
## Compression
* [pako](https://github.com/nodeca/pako) - high speed zlib port to javascript, works in browser & node.js - ★ 1911
* [node-archiver](https://github.com/archiverjs/node-archiver) - a streaming interface for archive generation - ★ 1395
* [yauzl](https://github.com/thejoshwolfe/yauzl) - yet another unzip library for node - ★ 342
* [decompress](https://github.com/kevva/decompress) - Extracting archives made easy - ★ 249
* [tar-stream](https://github.com/mafintosh/tar-stream) - tar-stream is a streaming tar parser and generator. - ★ 229
* [tar-fs](https://github.com/mafintosh/tar-fs) - fs bindings for tar-stream - ★ 224
* [yazl](https://github.com/thejoshwolfe/yazl) - yet another zip library for node - ★ 162
## Network
* [get-port](https://github.com/sindresorhus/get-port) - Get an available port - ★ 281
* [netcat](https://github.com/roccomuso/netcat) - Netcat client and server modules written in pure Javascript for Node.js. - ★ 217
* [getmac](https://github.com/bevry/getmac) - Get the mac address of the current machine you are on via Node.js - ★ 160
* [ipify](https://github.com/sindresorhus/ipify) - Get your public IP address - ★ 148
* [node-dhcp](https://github.com/infusion/node-dhcp) - A DHCP server and client written in pure JavaScript - ★ 129
## Database
* [mongoose](https://github.com/Automattic/mongoose) - MongoDB object modeling designed to work in an asynchronous environment. - ★ 17340
* [sequelize](https://github.com/sequelize/sequelize) - An easy-to-use multi SQL dialect ORM for Node.js - ★ 16506
* [mysql](https://github.com/mysqljs/mysql) - A pure node.js JavaScript Client implementing the MySql protocol. - ★ 13069
* [typeorm](https://github.com/typeorm/typeorm) - ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. - ★ 9151
* [lowdb](https://github.com/typicode/lowdb) - lowdb is a small local JSON database powered by Lodash (supports Node, Electron and the browser) - ★ 9075
* [nedb](https://github.com/louischatriot/nedb) - The JavaScript Database, for Node.js, nw.js, electron and the browser - ★ 9038
* [knex](https://github.com/tgriesser/knex) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - ★ 8191
* [node-mongodb-native](https://github.com/mongodb/node-mongodb-native) - Mongo DB Native NodeJS Driver - ★ 7429
* [node-postgres](https://github.com/brianc/node-postgres) - PostgreSQL client for node.js. - ★ 6690
* [bookshelf](https://github.com/bookshelf/bookshelf) - A simple Node.js ORM for PostgreSQL, MySQL and SQLite3 built on top of Knex.js - ★ 5224
* [ioredis](https://github.com/luin/ioredis) - A robust, performance-focused and full-featured Redis client for Node.js. - ★ 4972
* [waterline](https://github.com/balderdashy/waterline) - An adapter-based ORM for Node.js with support for mysql, mongo, postgres, nedb, redis, and more - ★ 4796
* [levelup](https://github.com/Level/levelup) - A node.js wrapper for abstract-leveldown compliant stores - ★ 3395
* [objection.js](https://github.com/Vincit/objection.js) - An SQL-friendly ORM for Node.js - ★ 3199
* [massive-js](https://github.com/robconery/massive-js) - A data mapper for Node.js and PostgreSQL. - ★ 2465
* [pg-promise](https://github.com/vitaly-t/pg-promise) - Promises/A+ interface for PostgreSQL - ★ 2004
* [keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends - ★ 716
* [couchnode](https://github.com/couchbase/couchnode) - Couchbase Node.js Client Library (Official) - ★ 386
* [openrecord](https://github.com/PhilWaldmann/openrecord) - Make ORMs great again! - ★ 321
* [couchdb-nano](https://github.com/apache/couchdb-nano) - Apache CouchDB Nano - ★ 226
* [aerospike-client-nodejs](https://github.com/aerospike/aerospike-client-nodejs) - Node.js client for the Aerospike database - ★ 153
* [finale](https://github.com/tommybananas/finale) - Create flexible REST endpoints and controllers from Sequelize models in your Express app - ★ 78
* [mongo-seeding](https://github.com/pkosiec/mongo-seeding) - The ultimate solution for populating your MongoDB database. - ★ 41
* [database-js](https://github.com/mlaanderson/database-js) - Common Database Interface for Node - ★ 18
## Testing
* [jest](https://github.com/facebook/jest) - Delightful JavaScript Testing. - ★ 21588
* [nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated testing and continuous integration framework based on Node.js and using the Webdriver protocol - ★ 8715
* [nock](https://github.com/pgte/nock) - HTTP server mocking and expectations library for Node.js - ★ 7137
* [sinon](https://github.com/sinonjs/sinon) - Test spies, stubs and mocks for JavaScript. - ★ 6587
* [testcafe](https://github.com/DevExpress/testcafe) - A Node.js tool to automate end-to-end web testing. - ★ 5679
* [tape](https://github.com/substack/tape) - tap-producing test harness for node and browsers - ★ 4802
* [webdriverio](https://github.com/webdriverio/webdriverio) - Next-gen WebDriver test automation framework for Node.js - ★ 4384
* [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. - ★ 4064
* [nyc](https://github.com/bcoe/nyc) - the Istanbul command line interface - ★ 3003
* [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy for resiliency testing and simulated network conditions - ★ 2534
* [power-assert](https://github.com/power-assert-js/power-assert) - Power Assert in JavaScript. Provides descriptive assertion messages through standard assert interface. No API is the best API. - ★ 2167
* [trevor](https://github.com/vdemedes/trevor) - Your own mini Travis CI to run tests locally - ★ 2085
* [loadtest](https://github.com/alexfernandez/loadtest) - Runs a load test on the selected URL. Easy to extend minimally for your own ends. - ★ 1421
* [node-tap](https://github.com/isaacs/node-tap) - Test Anything Protocol tools for node - ★ 1275
* [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration platform built with Node.js and Docker. - ★ 387
* [mochify.js](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, Headless Chrome and WebDriver - ★ 317
* [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js in local env. - ★ 163
* [navit](https://github.com/nodeca/navit) - Simple client testing from your scripts - ★ 44
* [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr - ★ 35
## Security
* [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix known vulnerabilities in open-source dependencies - ★ 1266
* [themis](https://github.com/cossacklabs/themis) - Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across ten platforms. - ★ 614
* [upash](https://github.com/simonepri/upash) - Unified API for password hashing algorithms - ★ 386
## Benchmarking
* [benchmark.js](https://github.com/bestiejs/benchmark.js) - A benchmarking library. As used on jsPerf.com. - ★ 3797
* [matcha](https://github.com/logicalparadox/matcha) - A caffeine driven, simplistic approach to benchmarking. - ★ 500
## Minifiers
* [UglifyJS2](https://github.com/mishoo/UglifyJS2) - JavaScript parser / mangler / compressor / beautifier toolkit - ★ 9468
* [minify](https://github.com/babel/babili) - An ES6+ aware minifier based on the Babel toolchain (beta) - ★ 3613
* [clean-css](https://github.com/jakubpawlowicz/clean-css) - Fast and efficient CSS optimizer for node.js and the Web - ★ 3063
* [imagemin](https://github.com/imagemin/imagemin) - Tense, nervous, minifying images? - ★ 2584
* [minimize](https://github.com/Swaagie/minimize) - Minimize HTML - ★ 139
## Authentication
* [passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication for Node.js. - ★ 14463
* [grant](https://github.com/simov/grant) - OAuth Middleware for Express, Koa and Hapi - ★ 1624
* [cloudrail-si-node-sdk](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API Library for: Cloud Storage, Social Log-In, Social Interaction, Payment, Email, SMS, POIs, Video & Messaging. Included services are Dropbox, Google Drive, OneDrive, OneDrive for Business, Box, Egnyte, PayPal, Stripe, Google Places, Foursquare, Yelp, YouTube, Vimeo, Twitch, Facebook Messenger, Telegram, Line, Viber, Facebook, GitHub, G… - ★ 249
## Authorization
* [casl](https://github.com/stalniy/casl) - CASL is an isomorphic authorization JavaScript library which restricts what resources a given user is allowed to access - ★ 851
* [node-casbin](https://github.com/casbin/node-casbin) - An authorization library that supports access control models like ACL, RBAC, ABAC in Node.js - ★ 192
* [nodemailer](https://github.com/andris9/Nodemailer) - Send e-mails with Node.JS – easy as cake! - ★ 10240
* [email-templates](https://github.com/niftylettuce/email-templates) - Create, preview, and send custom email templates for Node.js. Highly configurable and supports automatic inline CSS, stylesheets, embedded images and fonts, and much more! - ★ 2251
* [emailjs](https://github.com/eleith/emailjs) - html emails and attachments to any smtp server with nodejs - ★ 1688
## Job queues
* [kue](https://github.com/Automattic/kue) - Kue is a priority job queue backed by redis, built for node.js. - ★ 8050
* [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling for Node.js - ★ 4666
* [bull](https://github.com/OptimalBits/bull) - Premium Queue package for handling jobs and messages in NodeJS. - ★ 3981
* [bee-queue](https://github.com/bee-queue/bee-queue) - A simple, fast, robust job/task queue for Node.js, backed by Redis. - ★ 1152
* [rsmq](https://github.com/smrchy/rsmq) - Redis Simple Message Queue - ★ 895
* [node-resque](https://github.com/taskrabbit/node-resque) - It's Resque... For node! Background jobs using redis. - ★ 617
* [idoit](https://github.com/nodeca/idoit) - Redis-backed task queue engine with advanced task control and eventual consistency - ★ 30
## Node.js management
* [n](https://github.com/tj/n) - Node version management - ★ 10211
* [nvm-windows](https://github.com/coreybutler/nvm-windows) - A node.js version management utility for Windows. Ironically written in Go. - ★ 7309
* [nave](https://github.com/isaacs/nave) - ★ 1160
* [nodeenv](https://github.com/ekalinin/nodeenv) - Virtual environment for Node.js & integrator with virtualenv - ★ 955
## Natural language processing
* [natural](https://github.com/NaturalNode/natural) - general natural language facilities for node - ★ 8215
* [franc](https://github.com/wooorm/franc) - Natural language detection - ★ 2823
* [retext](https://github.com/wooorm/retext) - Natural language processor powered by plugins based on (and , ) - ★ 1625
* [leven](https://github.com/sindresorhus/leven) - Measure the difference between two strings with the fastest JS implementation of the Levenshtein distance algorithm - ★ 391
## Process management
* [pm2](https://github.com/Unitech/pm2) - Node.js Production Process Manager with a built-in Load Balancer. - ★ 27006
* [nodemon](https://github.com/remy/nodemon) - Monitor for any changes in your node.js application and automatically restart the server - perfect for development - ★ 16462
* [passenger](https://github.com/phusion/passenger) - A fast and robust web server and application server for Ruby, Python and Node.js - ★ 4234
* [node-supervisor](https://github.com/petruisfan/node-supervisor) - ★ 3490
* [node-windows](https://github.com/coreybutler/node-windows) - Windows support for Node.JS scripts (daemons, eventlog, UAC, etc). - ★ 1577
* [node-mac](https://github.com/coreybutler/node-mac) - Node utilities for Mac - ★ 428
* [node-linux](https://github.com/coreybutler/node-linux) - Create native background daemons on Linux systems. - ★ 345
## Automation
* [robotjs](https://github.com/octalmage/robotjs) - Node.js Desktop Automation. - ★ 7416
## AST
* [babel](https://github.com/babel/babel/tree/master/packages/babel-parser) - ★ 30482
* [acorn](https://github.com/ternjs/acorn) - A small, fast, JavaScript-based JavaScript parser - ★ 4078
## Static site generators
* [docsify](https://github.com/QingWei-Li/docsify) - A magical documentation site generator. - ★ 7924
* [assemble](https://github.com/assemble/assemble/) - Get the rocks out of your socks! Assemble makes you fast at creating code projects. Used by thousands of projects for rapid prototyping, themes, scaffolds, boilerplates, e-books, UI components, API documentation, blogs, building websites/static site generator, an alternative to Jekyll for gh-pages and more! Gulp- and grunt-friendly. - ★ 3601
* [wintersmith](https://github.com/jnordberg/wintersmith) - A flexible static site generator - ★ 3386
* [phenomic](https://github.com/phenomic/phenomic) - Modular website compiler (React, Webpack, Reason and whatever you want) - ★ 3110
* [docpad](https://github.com/docpad/docpad) - Empower your website frontends with layouts, meta-data, pre-processors (markdown, jade, coffeescript, etc.), partials, skeletons, file watching, querying, and an amazing plugin system. DocPad will streamline your web development process allowing you to craft powerful static sites quicker than ever before. - ★ 2979
## Content management systems
* [keystone](https://github.com/keystonejs/keystone) - Node.js CMS and web app framework - ★ 13606
* [strapi](https://github.com/strapi/strapi) - Node.js Content Management Framework (headless-CMS) to build powerful API with no effort. - ★ 9064
* [apostrophe](https://github.com/apostrophecms/apostrophe) - A CMS framework for Node.js that supports in-context editing, schema-driven content types, flexible widgets, and much more. Hint: start with the docs and use apostrophe-cli. - ★ 2410
* [tipe](https://github.com/tipeio/tipe) - Next Generation API-first CMS for developers. Generate an API-first CMS from a GraphQL schema with offline prototyping and an inline editor - ★ 1813
## Forum
* [NodeBB](https://github.com/NodeBB/NodeBB) - Node.js based forum software built for the modern web - ★ 9341
## Blogging
* [Ghost](https://github.com/tryghost/Ghost) - The platform for professional publishers - ★ 27926
* [hexo](https://github.com/hexojs/hexo) - A fast, simple & powerful blog framework, powered by Node.js. - ★ 24169
## Weird
* [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - ᕙ༼ຈل͜ຈ༽ᕗ - ★ 1632
* [cows](https://github.com/sindresorhus/cows) - ASCII cows - ★ 308
* [superb](https://github.com/sindresorhus/superb) - Get superb like words - ★ 303
* [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ” cat faces! - ★ 200
* [cat-names](https://github.com/sindresorhus/cat-names) - Get popular cat names - ★ 198
* [superheroes](https://github.com/sindresorhus/superheroes) - Get superhero names - ★ 188
* [dog-names](https://github.com/sindresorhus/dog-names) - Get popular dog names - ★ 88
* [supervillains](https://github.com/sindresorhus/supervillains) - Get supervillain names - ★ 85
* [nerds](https://github.com/SkyHacks/nerds) - The API after every nerd's heart... - ★ 61
## Serialization
* [protobuf.js](https://github.com/dcodeIO/protobuf.js) - Protocol Buffers for JavaScript (& TypeScript). - ★ 4989
* [node-snappy](https://github.com/kesla/node-snappy) - Nodejs bindings to Google's Snappy compression library - ★ 375
* [compactr.js](https://github.com/compactr/compactr.js) - Schema based serialization made easy - ★ 71
## Miscellaneous
* [electron](https://github.com/atom/electron) - Build cross-platform desktop apps with JavaScript, HTML, and CSS - ★ 66551
* [cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. - ★ 17850
* [faker.js](https://github.com/Marak/Faker.js) - generate massive amounts of realistic fake data in Node.js and the browser - ★ 16129
* [awesome-electron](https://github.com/sindresorhus/awesome-electron) - Useful resources for creating apps with Electron - ★ 15934
* [jsdom](https://github.com/tmpvar/jsdom) - A JavaScript implementation of the WHATWG DOM and HTML standards, for use with node.js - ★ 11069
* [dotenv](https://github.com/motdotla/dotenv) - Loads environment variables from .env for nodejs projects. - ★ 7358
* [hypernova](https://github.com/airbnb/hypernova) - A service for server-side rendering your JavaScript views - ★ 4757
* [nodegit](https://github.com/nodegit/nodegit) - Native Node bindings to Git. - ★ 3742
* [node-opencv](https://github.com/peterbraden/node-opencv) - OpenCV Bindings for node.js - ★ 3570
* [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server modules written in pure JavaScript for node.js - ★ 3238
* [awesome-npm](https://github.com/sindresorhus/awesome-npm) - Awesome npm resources and tips - ★ 3086
* [node-semver](https://github.com/npm/node-semver) - The semver parser for node (the one npm uses) - ★ 2474
* [ow](https://github.com/sindresorhus/ow) - Function argument validation for humans - ★ 2464
* [nodejs-guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js, and the start of an ongoing conversation on how we can improve the Node.js experience on Microsoft platforms. - ★ 1970
* [node-webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads - ★ 1903
* [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Flexible event driven crawler for node. - ★ 1809
* [execa](https://github.com/sindresorhus/execa) - A better `child_process` - ★ 1636
* [opn](https://github.com/sindresorhus/opn) - A better node-open. Opens stuff like websites, files, executables. Cross-platform. - ★ 1300
* [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer/Uint8Array - ★ 769
* [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter - ★ 745
* [is](https://github.com/sindresorhus/is) - Type check values: `is.string(' ') //=> true` - ★ 697
* [hasha](https://github.com/sindresorhus/hasha) - Hashing made simple. Get the hash of a buffer/string/stream/file. - ★ 635
* [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Node.js tool for easy binary deployment of C++ addons - ★ 580
* [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module - ★ 570
* [bottleneck](https://github.com/SGrondin/bottleneck) - Job scheduler and rate limiter, supports Clustering - ★ 517
* [clipboardy](https://github.com/sindresorhus/clipboardy) - Access the system clipboard (copy/paste) - ★ 514
* [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module - ★ 424
* [module-requests](https://github.com/sindresorhus/module-requests) - Need a JavaScript module or looking for ideas? Welcome - ★ 422
* [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 - ★ 404
* [dot-prop](https://github.com/sindresorhus/dot-prop) - Get, set, or delete a property from a nested object using a dot path - ★ 337
* [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - A curated list of awesome developer tools and libraries for writing and testing code that runs on Windows and Linux. - ★ 262
* [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily - ★ 151
* [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache - ★ 146
* [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale - ★ 134
* [onetime](https://github.com/sindresorhus/onetime) - Ensure a function is only called once - ★ 79
* [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string - ★ 68
* [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like require.resolve() but from a given path - ★ 66
* [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. Using only JS. No git binary required. - ★ 32
* [adit](https://github.com/markelog/adit) - SSH tunnels – in any way you want it - ★ 21
* [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path - ★ 11
* [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without unintended loss of data or going into an infinite loop due to circular references. - ★ 3
## Tutorials
* [nodebestpractices](https://github.com/i0natan/nodebestpractices) - The largest Node.JS best practices list (November 2018) - ★ 18414
* [stream-handbook](https://github.com/substack/stream-handbook) - how to write node programs with streams - ★ 12032
* [art-of-node](https://github.com/maxogden/art-of-node/#the-art-of-node) - a short introduction to node.js - ★ 7901
* [module-best-practices](https://github.com/mattdesl/module-best-practices) - some best practices for JS modules - ★ 1211
* [you-dont-know-node](https://github.com/azat-co/you-dont-know-node) - You Don't Know Node.js - ★ 960
## Articles
* [art-of-readme](https://github.com/noffle/art-of-readme) - Learn the art of writing quality READMEs. - ★ 4859
## Cheatsheets
* [cheatsheets](https://github.com/azat-co/cheatsheets/blob/master/express4) - ★ 940
* [stream-faqs](https://github.com/stephenplusplus/stream-faqs) - Let's learn these things together - ★ 161