awesome-nodejs

zap Delightful Node.js packages and resources

GitHub

58k stars
2k watching
6k forks
last commit: 2 months ago
Linked from 17 awesome lists

awesomeawesome-listjavascriptlistnodenodejs

Official

Website
Documentation
Repository 107,108 1 day ago

Packages / Mad science

webtorrent 29,510 14 days ago Streaming torrent client for Node.js and the browser
peerflix 6,185 over 2 years ago Streaming torrent client
ipfs 916 10 days ago Distributed file system that seeks to connect all computing devices with the same system of files
stackgl Open software ecosystem for WebGL, built on top of browserify and npm
peerwiki 314 over 6 years ago All of Wikipedia on BitTorrent
peercast 515 over 6 years ago Stream a torrent video to Chromecast
BitcoinJS 5,672 11 days ago Clean, readable, proven Bitcoin library
Bitcore 4,849 15 days ago Pure and powerful Bitcoin library
PDFKit 9,849 15 days ago PDF generation library
turf 9,251 11 days ago Modular geospatial processing and analysis engine
webcat 444 about 4 years ago p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication
NodeOS 6,938 over 1 year ago The first operating system powered by npm
YodaOS 1,189 almost 5 years ago AI operating system
Brain.js 14,352 16 days ago Machine-learning framework
Pipcook 2,535 12 days ago Front-end algorithm framework to create a machine learning pipeline
Cytoscape.js 10,045 12 days ago Graph theory (a.k.a. network) modeling and analysis
js-git 3,830 almost 3 years ago JavaScript implementation of Git
xlsx 35,043 6 months ago Pure JS Excel spreadsheet reader and writer
isomorphic-git 7,449 3 months ago Pure JavaScript implementation of Git

Packages / Command-line apps

np 7,552 about 2 months ago Better
npm-name 168 8 months ago Check a package name's availability on npm
gh-home 191 3 months ago Open the GitHub page of the repo in the current directory
npm-home 198 3 months ago Open the npm page of a package
trash 2,573 3 months ago Safer alternative to
speed-test 3,905 almost 3 years ago Test your internet connection speed and ping
pageres 9,666 3 months ago Capture website screenshots
cpy 427 3 months ago Copy files
vtop 4,114 about 4 years ago More better top, with nice charts
empty-trash 131 almost 3 years ago Empty the trash
is-up 387 about 3 years ago Check whether a website is up or down
is-online 1,236 3 months ago Check if the internet connection is up
public-ip 1,019 3 months ago Get your public IP address
clipboard-cli 495 12 months ago Copy & paste on the terminal
XO 7,664 3 months ago Enforce strict code style using the JavaScript happiness style
ESLint 24,939 10 days ago The pluggable linting utility for JavaScript
David 969 almost 2 years ago Tells you when your package npm dependencies are out of date
http-server 13,587 13 days ago Simple, zero-config command-line HTTP server
Live Server 4,418 6 months ago Development HTTP-server with livereload capability
bcat 340 almost 2 years ago Pipe command output to web browsers
normit 240 over 7 years ago Google Translate with speech synthesis in your terminal
fkill 6,867 4 months ago Fabulously kill processes. Cross-platform
pjs 419 over 1 year ago Pipeable JavaScript. Quickly filter, map, and reduce from the terminal
license-checker 1,593 9 months ago Check licenses of your app's dependencies
browser-run 443 8 months ago Easily run code in a browser environment
tmpin 123 about 3 years ago Adds stdin support to any CLI app that accepts file input
wallpaper 1,045 3 months ago Change the desktop wallpaper
pen 326 about 4 years ago Live Markdown preview in the browser from your favorite editor
dark-mode 659 almost 3 years ago Toggle the macOS Dark Mode
Jsome 242 11 months ago Pretty prints JSON with configurable colors and indentation
mobicon 112 over 3 years ago Mobile app icon generator
mobisplash 71 over 7 years ago Mobile app splash screen generator
diff2html-cli 526 about 1 month ago Pretty git diff to HTML generator
trymodule 1,137 over 7 years ago Try out npm packages in the terminal
jscpd 4,671 13 days ago Copy/paste detector for source code
atmo 815 over 3 years ago Server-side API mocking
auto-install 1,198 over 3 years ago Auto installs dependencies as you code
lessmd Markdown in the terminal
cost-of-modules 2,839 about 1 year ago Find out which dependencies are slowing you down
localtunnel 18,954 7 months ago Expose your localhost to the world
svg-term-cli 3,522 5 months ago Share terminal sessions via SVG
gtop 9,695 6 months ago System monitoring dashboard for the terminal
themer 5,480 4 months ago Generate themes for your editor, terminal, wallpaper, Slack, and more
carbon-now-cli 5,767 19 days ago Beautiful images of your code — from right inside your terminal
cash-cli 231 over 1 year ago Convert between 170 currencies
taskbook 8,956 about 1 month ago Tasks, boards & notes for the command-line habitat
discharge 640 over 3 years ago Easily deploy static websites to Amazon S3
npkill 8,242 about 2 months ago Easily find and remove old and heavy node_modules folders

Packages / Functional programming

lodash 59,682 2 months ago Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js
immutable 32,934 18 days ago Immutable data collections
Ramda 23,775 about 2 months ago Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data
Mout 1,291 12 months ago 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 30,667 4 months ago Functional reactive library for transforming, composing, and querying various kinds of data
Kefir.js 1,873 4 months ago Reactive library with focus on high performance and low memory usage

Packages / HTTP

got 14,230 15 days ago Nicer interface to the built-in module
undici 6,095 10 days ago High performance HTTP client written from scratch with zero dependencies
ky-universal 670 about 1 year ago Universal HTTP client based on Fetch
node-fetch 8,762 about 2 months ago for Node.js
axios 105,438 1 day ago Promise based HTTP client (works in the browser too)
superagent 16,581 about 2 months ago HTTP request library
http-fake-backend 311 12 months ago Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes
cacheable-request Wrap native HTTP requests with RFC compliant cache support
gotql 408 8 months ago GraphQL request library built on
global-agent 361 2 months ago Global HTTP/HTTPS proxy agent that is configurable using environment variables
smoke 187 about 1 year ago File-based HTTP mock server with recording abilities
purest 553 9 months ago REST client

Packages / Debugging / Profiling

debug 11,122 about 1 month ago Tiny debugging utility
why-is-node-running 1,857 3 months ago Node.js is running but you don't know why?
njsTrace 365 8 months ago Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function
vstream 58 almost 3 years ago Instrumentable streams mix-ins to inspect a pipeline of streams
stackman 251 10 months ago Enhance an error stacktrace with code excerpts and other goodies
locus 305 about 3 years ago Starts a REPL at runtime that has access to all variables
0x 3,207 about 1 year ago Flamegraph profiling
ctrace 120 almost 5 years ago Well-formatted and improved trace system calls and signals
leakage 1,582 over 1 year ago Write memory leak tests
llnode 1,149 7 months ago Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process
thetool 221 almost 2 years ago Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format
swagger-stats 893 6 months ago Trace API calls and monitor API performance, health, and usage metrics
NiM 198 17 days ago Manages DevTools debugging workflow
dats 102 4 months ago Minimalistic and zero-dependencies client

Packages / Logging

pino 14,077 19 days ago Extremely fast logger inspired by Bunyan
winston 22,703 12 days ago Multi-transport async logging library
console-log-level 111 10 months ago The most simple logger imaginable with support for log levels and custom prefixes
storyboard 752 over 1 year ago End-to-end, hierarchical, real-time, colorful logs and stories
consola 6,010 10 days ago Console logger

Packages / Command-line utilities

chalk 21,874 2 months ago Terminal string styling done right
meow 3,533 7 months ago CLI app helper
yargs 11,062 11 days ago Command-line parser that automatically generates an elegant user-interface
ora 9,101 about 2 months ago Elegant terminal spinner
get-stdin 337 12 months ago Easier stdin
log-update 1,091 3 months ago Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc
Ink 26,468 13 days ago React for interactive command-line apps
listr2 508 15 days ago Terminal task list
conf 1,226 about 2 months ago Simple config handling for your app or module
ansi-escapes 486 5 months ago ANSI escape codes for manipulating the terminal
log-symbols 743 about 2 months ago Colored symbols for various log levels
figures 593 5 months ago Unicode symbols with Windows CMD fallbacks
boxen 1,531 2 months ago Create boxes in the terminal
terminal-link 617 over 1 year ago Create clickable links in the terminal
terminal-image 975 3 months ago Display images in the terminal
string-width 475 3 months ago Get the visual width of a string - the number of columns required to display it
cli-truncate 85 12 months ago Truncate a string to a specific width in the terminal
blessed 11,269 7 months ago Curses-like library
Inquirer.js 20,093 10 days ago Interactive command-line prompt
yn 267 over 2 years ago Parse yes/no like values
cli-table3 533 4 months ago Pretty unicode tables
drawille 1,006 almost 2 years ago Draw on the terminal with unicode braille characters
ascii-charts 233 over 2 years ago ASCII bar chart in the terminal
progress 2,974 over 1 year ago Flexible ascii progress bar
insight 557 over 1 year ago Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
cli-cursor 102 3 months ago Toggle the CLI cursor
cli-columns 33 almost 3 years ago Columnated unicode and ansi-safe text lists
cfonts 1,588 4 months ago Sexy ASCII fonts for the console
multispinner 294 over 4 years ago Multiple, simultaneous, individually controllable CLI spinners
omelette 1,389 over 2 years ago Shell autocompletion helper
cross-env 6,318 almost 4 years ago Set environment variables cross-platform
shelljs 14,259 about 2 months ago Portable Unix shell commands
sudo-block 98 about 1 year ago Block users from running your app with root permissions
sparkly 424 almost 3 years ago Generate sparklines
Bit 17,843 10 days ago Create, maintain, find and use small modules and components across repositories
gradient-string 1,055 12 days ago Beautiful color gradients in terminal output
oclif 8,993 10 days ago CLI framework complete with parser, automatic documentation, testing, and plugins
terminal-size 139 11 months ago Reliably get the terminal window size
Cliffy 356 4 months ago Framework for interactive CLIs
zx 42,918 21 days ago Write shell scripts JavaScript

Packages / Build tools

parcel 43,405 12 days ago Blazing fast, zero config web app bundler
webpack 64,598 10 days ago Packs modules and assets for the browser
rollup 25,273 10 days ago Next-generation ES2015 module bundler
gulp 32,990 4 months ago Streaming and fast build system that favors code over config
Broccoli 3,326 6 months ago Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions
Brunch 6,797 almost 2 years ago Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow
FuseBox 4,001 almost 2 years ago Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support
pkg 24,300 9 months ago Package your Node.js project into an executable
Vite 67,525 10 days ago Front-end build tool with hot module replacement and static asset bundling

Packages / Hardware

johnny-five 13,266 12 months ago Firmata based Arduino Framework
serialport 5,800 11 days ago Access serial ports for reading and writing
usb 1,563 14 days ago USB library
i2c-bus 348 7 months ago I2C serial bus access
onoff 1,237 4 months ago GPIO access and interrupt detection
spi-device 117 about 3 years ago SPI serial bus access
pigpio 943 over 1 year ago Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi
gps 253 2 months ago NMEA parser for handling GPS receivers
modbus-serial 626 about 2 months ago A pure JavaScript implementation of MODBUS-RTU (serial and TCP)

Packages / Templating

marko 13,364 11 days ago HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags
nunjucks 8,555 3 months ago Templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
handlebars.js 17,963 about 1 month ago Superset of Mustache templates which adds powerful features like helpers and more advanced blocks
EJS 7,734 2 months ago Simple unopinionated templating language
Pug 21,649 3 months ago High-performance template engine heavily influenced by Haml

Packages / Web frameworks

Fastify 32,048 12 days ago Fast and low overhead web framework
Next.js 125,560 4 days ago Minimalistic framework for server-rendered universal JavaScript web apps
Nuxt.js 54,293 10 days ago Minimalistic framework for server-rendered Vue.js apps
Hapi 14,610 2 months ago Framework for building applications and services
Micro 10,579 4 months ago Minimalistic microservice framework with an async approach
Koa 35,160 26 days ago 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 65,354 3 days ago Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications
Feathers 15,042 12 days ago Microservice framework built in the spirit of Express
LoopBack 4,945 5 days ago Powerful framework for creating REST APIs and easily connecting to backend data sources
Meteor 44,321 11 days ago An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework
Restify 10,706 23 days ago Enables you to build correct REST web services
ThinkJS 5,311 over 1 year ago Framework with ES2015+ support, WebSockets, REST API
ActionHero 2,396 12 days ago Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients
seneca 3,955 about 1 month ago Toolkit for writing microservices
AdonisJs 16,736 21 days ago A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container
Moleculer 6,138 12 days ago Fast & powerful microservices framework
Nest 67,072 15 days ago Angular-inspired framework for building efficient and scalable server-side apps
TypeGraphQL 8,027 12 days ago Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators
Tinyhttp 2,676 19 days ago Modern and fast Express-like web framework
Marble.js 2,150 8 months ago Functional reactive framework for building server-side apps, based on TypeScript and RxJS
Lad 2,278 29 days ago Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers
Ts.ED 2,836 10 days ago Intituive TypeScript framework for building server-side apps on top of Express.js or Koa.js
Hono 18,987 10 days ago Small and fast web framework

Packages / Documentation

documentation.js 5,791 6 months ago API documentation generator with support for ES2015+ and flow annotation
Docco 3,552 3 months ago Documentation generator which produces an HTML document that displays your comments intermingled with your code
JSDoc 15,003 2 days ago API documentation generator similar to JavaDoc or PHPDoc
Docusaurus 55,893 11 days ago Documentation website generator that leverages React and Markdown, and comes with translation and versioning features

Packages / Filesystem

del 1,320 3 months ago Delete files/folders using globs
globby 2,524 3 months ago Glob files with support for multiple patterns
chokidar 10,932 11 days ago Filesystem watcher which stabilizes events from and as well as using native on macOS
find-up 580 3 months ago Find a file by walking up parent directories
proper-lockfile 239 12 months ago Inter-process and inter-machine lockfile utility
load-json-file 243 over 1 year ago Read and parse a JSON file
write-json-file 213 3 months ago Stringify and write JSON to a file atomically
fs-write-stream-atomic 49 over 2 years ago Like , but atomic
filenamify 487 over 1 year ago Convert a string to a valid filename
istextorbinary 148 4 months ago Check if a file is text or binary
fs-jetpack 775 9 months ago Completely redesigned file system API for convenience in everyday use
fs-extra 9,447 7 months ago Extra methods for the module
pkg-dir 235 11 months ago Find the root directory of an npm package
filehound 222 over 2 years ago Flexible and fluent interface for searching the file system
move-file 197 11 months ago Move a file, even works across devices
tempy 423 over 1 year ago Get a random temporary file or directory path

Packages / Control flow / Promises

pify 1,503 about 2 years ago Promisify a callback-style function
delay 606 over 1 year ago Delay a promise a specified amount of time
promise-memoize 59 almost 6 years ago Memoize promise-returning functions, with expire and prefetch
valvelet 38 11 months ago Limit the execution rate of a promise-returning function
p-map 1,282 2 months ago Map over promises concurrently
More… 4,742 6 months ago

Packages / Control flow / Observables

RxJS 30,667 4 months ago Reactive programming
observable-to-promise 47 12 months ago Convert an Observable to a Promise
More… 337 almost 3 years ago

Packages / Control flow / Streams

Highland.js 3,426 over 4 years ago Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams

Packages / Streams

get-stream 340 3 months ago Get a stream as a string or buffer
from2 131 over 5 years ago Convenience wrapper for ReadableStream, inspired by
into-stream 206 11 months ago Convert a buffer/string/array/object into a stream
duplexify 190 4 months ago Turn a writeable and readable stream into a single streams2 duplex stream
pumpify 255 4 months ago Combine an array of streams into a single duplex stream
peek-stream 56 over 1 year ago Transform stream that lets you peek the first line before deciding how to parse it
binary-split 77 10 months ago Newline (or any delimiter) splitter stream
byline 323 almost 5 years ago Super-simple line-by-line Stream reader
first-chunk-stream 27 12 months ago Transform the first chunk in a stream
pad-stream 11 about 1 year ago Pad each line in a stream
multistream 287 about 3 years ago Combine multiple streams into a single stream
readable-stream 1,029 10 months ago Mirror of Streams2 and Streams3 implementations in core
through2-concurrent 74 about 4 years ago Transform object streams concurrently

Packages / Real-time

µWebSockets 17,276 16 days ago Highly scalable WebSocket server & client library
Socket.io 61,017 3 days ago Enables real-time bidirectional event-based communication
Faye 4,391 3 months ago Real-time client-server message bus, based on Bayeux protocol
SocketCluster 6,145 3 months ago Scalable HTTP + WebSocket engine which can run on multiple CPU cores
Primus 4,474 11 months ago An abstraction layer for real-time frameworks to prevent module lock-in
deepstream.io 294 8 months ago Scalable real-time microservice framework
Kalm 209 11 months ago Low-level socket router and middleware framework
MQTT.js 8,548 18 days ago Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP
rpc-websockets 586 17 days ago JSON-RPC 2.0 implementation over WebSockets
Aedes 1,781 11 days ago Barebone MQTT server that can run on any stream server

Packages / Image

sharp 28,989 about 1 month ago The fastest module for resizing JPEG, PNG, WebP and TIFF images
image-type 372 4 months ago Detect the type of an image
image-dimensions 429 4 months ago Get the dimensions of an image
gm 6,947 10 months ago GraphicsMagick and ImageMagick wrapper
lwip 2,362 over 2 years ago Lightweight image processor which does not require ImageMagick
pica 3,755 over 1 year ago High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed
jimp 13,947 14 days ago Image processing in pure JavaScript
qrcode 7,460 about 2 months ago QR code and bar code generator
ImageScript 623 6 months ago Image processing in JavaScript, utilizing WebAssembly for performance

Packages / Text

iconv-lite 3,065 11 months ago Convert character encodings
string-length 162 4 months ago Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
camelcase 676 about 1 year ago Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
escape-string-regexp 581 4 months ago Escape RegExp special characters
splice-string 23 over 3 years ago Remove or replace part of a string like
indent-string 112 over 2 years ago Indent each line in a string
strip-indent 135 about 3 years ago Strip leading whitespace from every line in a string
detect-indent 195 about 1 year ago Detect the indentation of code
he 3,433 almost 3 years ago HTML entity encoder/decoder
i18n-node 3,082 4 months ago Simple translation module with dynamic JSON storage
babelfish 255 over 1 year ago i18n with very easy syntax for plurals
matcher 537 about 3 years ago Simple wildcard matching
unhomoglyph 39 over 4 years ago Normalize visually similar unicode characters
i18next 7,711 about 1 month ago Internationalization framework
nanoid 24,423 about 1 month ago Tiny, secure, URL-friendly, unique string ID generator
StegCloak 3,286 12 months ago Conceal secrets within strings, in plain sight

Packages / Number

random-int 87 over 3 years ago Generate a random integer
random-float 36 over 3 years ago Generate a random float
unique-random 116 6 months ago Generate random numbers that are consecutively unique
round-to 155 about 1 year ago Round a number to a specific number of decimal places: →

Packages / Math

ndarray 1,207 over 2 years ago Multidimensional arrays
mathjs 14,351 10 days ago An extensive math library
math-clamp 14 8 months ago Clamp a number
algebra 106 about 1 month ago Algebraic structures
multimath 70 over 3 years ago Core to create fast image math in WebAssembly and JS

Packages / Date

Luxon 15,312 18 days ago Library for working with dates and times
date-fns 34,607 19 days ago Modern date utility
Day.js 46,809 6 days ago Immutable date library alternative to Moment.js
dateformat 1,297 over 1 year ago Date formatting
tz-format 10 about 8 years ago Format a date with timezone:
cctz 59 over 6 years ago Fast parsing, formatting, and timezone conversation for dates

Packages / URL

normalize-url 838 7 months ago Normalize a URL
humanize-url 250 over 2 years ago Humanize a URL: → sindresorhus.com
url-unshort 115 over 1 year ago Expand shortened URLs
speakingurl 1,112 7 months ago Generate a slug from a string with transliteration
linkify-it 661 11 months ago Link patterns detector with full unicode support
url-pattern 584 about 4 years ago Easier than regex string matching patterns for URLs and other strings
embedza 64 over 1 year ago Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags

Packages / Data validation

joi 20,890 about 2 months ago Object schema description language and validator for JavaScript objects
is-my-json-valid 963 about 2 years ago JSON Schema validator that uses code generation to be extremely fast
property-validator 158 almost 5 years ago Easy property validation for Express
schema-inspector 505 7 months ago JSON API sanitization and validation
ajv 13,757 27 days ago The fastest JSON Schema validator. Supports v5, v6 and v7 proposals
Superstruct 6,978 12 days ago Simple and composable way to validate data in JavaScript (and TypeScript)
yup 22,774 19 days ago Object schema validation
zod 33,352 25 days ago TypeScript-first schema validation with static type inference

Packages / Parsing

remark 7,586 about 1 month ago Markdown processor powered by plugins
markdown-it 18,054 2 months ago Markdown parser with 100% CommonMark support, extensions and syntax plugins
parse5 3,645 11 days ago Fast full-featured spec compliant HTML parser
@parcel/css 6,350 about 1 month ago A CSS parser, transformer, and minifier written in Rust
strip-json-comments 595 over 1 year ago Strip comments from JSON
strip-css-comments 121 over 1 year ago Strip comments from CSS
parse-json 344 7 months ago Parse JSON with more helpful errors
URI.js 6,259 about 1 year ago URL mutation
JSONStream 1,915 almost 6 years ago Streaming JSON.parse and stringify
neat-csv 319 over 1 year ago Fast CSV parser. Callback interface for the above
csv-parser 1,413 9 months ago Streaming CSV parser that aims to be faster than everyone else
PEG.js 4,813 almost 3 years ago Simple parser generator that produces fast parsers with excellent error reporting
x-ray 5,874 29 days ago Web scraping utility
nearley 3,594 4 months ago Simple, fast, powerful parsing for JavaScript
binary-extract 154 over 6 years ago Extract a value from a buffer of JSON without parsing the whole thing
Stylecow 163 over 4 years ago Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins
js-yaml 6,278 5 months ago Very fast YAML parser
xml2js 4,880 about 1 year ago XML to JavaScript object converter
Jison 4,346 almost 2 years ago Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family
google-libphonenumber 1,396 11 days ago Parse, format, store and validate phone numbers
ref 454 about 1 year ago Read/write structured binary data in Buffers
xlsx-populate 950 7 months ago Read/write Excel XLSX
Chevrotain 2,479 12 days ago Very fast and feature rich parser building toolkit for JavaScript
fast-xml-parser 2,523 22 days ago Validate and parse XML

Packages / Humanize

pretty-bytes 1,106 about 1 year ago Convert bytes to a human readable string: →
pretty-ms 1,070 3 months ago Convert milliseconds to a human readable string: →
ms 5,123 about 1 month ago Tiny millisecond conversion utility
pretty-error 1,521 4 months ago Errors with less clutter
read-art 343 about 6 years ago Extract readable content from any page

Packages / Compression

yazl 329 11 months ago Zip
yauzl 703 6 months ago Unzip
Archiver 2,805 16 days ago Streaming interface for archive generation, supporting ZIP and TAR
pako 5,527 4 months ago High speed zlib port to pure js (deflate, inflate, gzip)
tar-stream 411 4 months ago Streaming tar parser and generator. Also see

Packages / Network

get-port 864 7 months ago Get an available port
ipify 272 almost 3 years ago Get your public IP address
getmac 356 4 months ago Get the computer MAC address
DHCP 298 7 months ago DHCP client and server
netcat 418 over 2 years ago Netcat port in pure JS

Packages / Database / Drivers

PostgreSQL 12,215 11 days ago PostgreSQL client. Pure JavaScript and native libpq bindings
Redis 14,304 about 2 months ago Redis client
LevelUP 4,081 over 1 year ago LevelDB
MySQL 18,274 4 months ago MySQL client
couchdb-nano 650 about 2 months ago CouchDB client
Aerospike 200 about 1 month ago Aerospike client
Couchbase 460 18 days ago Couchbase client
MongoDB 10,018 10 days ago MongoDB driver

Packages / Database / ODM / ORM

Sequelize 29,473 10 days ago Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more
Bookshelf 6,357 2 months ago ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js
Mongoose 26,883 11 days ago Elegant MongoDB object modeling
Waterline 5,415 almost 2 years ago Datastore-agnostic tool that dramatically simplifies interaction with one or more databases
OpenRecord 486 over 3 years ago ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord
pg-promise 3,456 3 months ago PostgreSQL framework for native SQL using promises
slonik 4,553 about 2 months ago PostgreSQL client with strict types, detailed logging and assertions
Objection.js 7,250 17 days ago Lightweight ORM built on the SQL query builder Knex
TypeORM 34,063 about 2 months ago ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more
MikroORM 7,677 10 days ago TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite
Prisma 39,075 12 days ago Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite
Drizzle ORM 23,548 10 days ago TypeScript ORM that supports various databases such as PostgreSQL

Packages / Database / Query builder

Knex 19,229 about 2 months ago Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use

Packages / Database / Other

NeDB 13,483 over 1 year ago Embedded persistent database written in JavaScript
Lowdb 21,393 4 months ago Small JavaScript database powered by Lodash
Keyv 2,574 11 days ago Simple key-value storage with support for multiple backends
Finale 187 6 months ago RESTful endpoint generator for your Sequelize models
database-js 74 3 months ago Wrapper for multiple databases with a JDBC-like connection
Mongo Seeding 555 5 months ago Populate MongoDB databases with JavaScript and JSON files
@databases 599 17 days ago Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection
pg-mem 1,976 2 months ago In-memory PostgreSQL instance for your tests

Packages / Testing

AVA 20,729 about 2 months ago Futuristic test runner
Mocha 22,572 10 days ago Feature-rich test framework making asynchronous testing simple and fun
nyc 5,588 24 days ago Code coverage tool built on istanbul that works with subprocesses
tap 2,356 about 2 months ago TAP test framework
tape 5,769 27 days ago TAP-producing test harness
power-assert 2,808 almost 2 years ago Provides descriptive assertion messages through the standard assert interface
Mochify 346 10 months ago TDD with Browserify, Mocha, PhantomJS and WebDriver
trevor 2,113 almost 5 years ago Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI
loadtest 2,573 2 months ago Run load tests for your web application, with an API for automation
Sinon.JS 9,642 29 days ago Test spies, stubs and mocks
navit 48 almost 3 years ago PhantomJS / SlimerJS wrapper to simplify browser test scripting
Nock 12,704 5 days ago HTTP mocking and expectations
intern 4,362 over 1 year ago Code testing stack
toxy 2,730 over 2 years ago Hackable HTTP proxy to simulate failure scenarios and network conditions
hook-std 54 over 2 years ago Hook and modify stdout/stderr
testen 175 almost 3 years ago Run tests for multiple versions of Node.js locally with NVM
Nightwatch 11,789 24 days ago Automated UI testing framework based on Selenium WebDriver
WebdriverIO 9,009 10 days ago Automated testing based on the WebDriver protocol
Jest 44,125 11 days ago Painless JavaScript testing
TestCafe 9,816 12 days ago Automated browser testing
abstruse 936 8 months ago Continuous Integration server
CodeceptJS 4,107 6 days ago End-to-end testing
Puppeteer 88,379 10 days ago Headless Chrome
Playwright 66,019 10 days ago Headless Chromium, WebKit, and Firefox with a single API
nve 692 28 days ago Run any command on multiple versions of Node.js locally
axe-core 5,905 11 days ago Accessibility engine for automated Web UI testing
testcontainers-node 1,871 about 1 month ago Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container

Packages / Security

upash 537 over 3 years ago Unified API for all password hashing algorithms
themis 1,859 about 1 month ago Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on
GuardRails GitHub app that provides security feedback in pull requests
rate-limiter-flexible 3,038 4 months ago Brute-force and DDoS attack protection
crypto-hash 638 3 months ago Async non-blocking hashing
jose-simple 63 6 months ago Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard

Packages / Benchmarking

Benchmark.js 5,481 almost 2 years ago Benchmarking library that supports high-resolution timers and returns statistically significant results

Packages / Minifiers

babel-minify 4,392 4 months ago ES2015+ aware minifier based on the Babel toolchain
UglifyJS2 13,127 13 days ago JavaScript minifier
clean-css 4,159 5 months ago CSS minifier
minimize 163 over 4 years ago HTML minifier
imagemin 5,559 about 1 month ago Image minifier

Packages / Authentication

Passport 22,874 about 2 months ago Simple, unobtrusive authentication
Grant 4,082 26 days ago OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more

Packages / Authorization

CASL 5,918 13 days ago Isomorphic authorization for UI and API
node-casbin 2,580 15 days ago Authorization library that supports access control models like ACL, RBAC and ABAC

Packages / Email

Nodemailer 16,638 about 1 month ago The fastest way to handle email
emailjs 2,186 about 1 year ago Send text/HTML emails with attachments to any SMTP server
email-templates 3,661 about 2 months ago Create, preview, and send custom email templates
MJML 16,969 24 days ago Markup language designed to reduce the pain of creating responsive emails

Packages / Job queues

bull 15,464 14 days ago Persistent job and message queue
agenda 9,376 about 1 month ago MongoDB-backed job scheduling
idoit 74 over 1 year ago Redis-backed job queue engine with advanced job control
node-resque 1,363 6 days ago Redis-backed job queue
rsmq 1,754 over 3 years ago Redis-backed message queue
bee-queue 3,777 13 days ago High-performance Redis-backed job queue
RedisSMQ 588 3 months ago Simple high-performance Redis message queue with real-time monitoring
sqs-consumer 1,739 11 days ago Build Amazon Simple Queue Service (SQS) based apps without the boilerplate
better-queue 508 4 months ago Simple and efficient job queue when you cannot use Redis
bullmq 5,997 10 days ago Persistent job and message queue
bree 3,034 2 months ago Job task scheduler with worker threads, cron, date, and human syntax support

Packages / Node.js management

n 18,794 about 1 month ago Node.js version management
nave 1,603 9 months ago Virtual Environments for Node.js
nodeenv 1,701 about 2 months ago Node.js virtual environment compatible to Python's virtualenv
nvm for Windows 37,240 20 days ago Version management for Windows
nodenv 2,228 about 1 month ago Version manager that is similar to Ruby's rbenv. It supports auto version switching
fnm 17,692 11 days ago Cross-platform Node.js version manager built in Rust

Packages / Cross-platform integration

napi-rs 5,942 10 days ago Framework for building compiled Node.js add-ons in Rust via Node-API
Neon 8,017 10 days ago Rust bindings for writing safe and fast native Node.js modules
Edge.js 5,418 6 months ago Run .NET and Node.js code in the same process on Windows, macOS, and Linux
DotNetJS 663 19 days ago Consume .NET libraries in Node.js using this .NET interoperability layer

Packages / Natural language processing

retext 2,360 9 days ago An extensible natural language system
franc 4,116 4 months ago Detect the language of text
leven 715 about 3 years ago Measure the difference between two strings using the Levenshtein distance algorithm
natural 10,583 2 months ago Natural language facility
nlp.js 6,237 4 months ago Building bots, with entity extraction, sentiment analysis, automatic language identify, and more

Packages / Process management

PM2 41,393 2 months ago Advanced Process Manager
nodemon 26,242 18 days ago Monitor for changes in your app and automatically restart the server
node-mac 537 5 months ago Run scripts as a native Mac daemon and log to the console app
node-linux 419 over 2 years ago Run scripts as native system service and log to syslog
node-windows 2,811 11 days ago Run scripts as a native Windows service and log to the Event viewer
supervisor 3,757 about 5 years ago Restart scripts when they crash or restart when a file changes
Phusion Passenger 4,996 11 days ago Friendly process manager that integrates directly into Nginx

Packages / Automation

robotjs 12,330 4 months ago Desktop Automation: control the mouse, keyboard and read the screen
nut.js 2,208 5 months ago Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest

Packages / AST

Acorn 10,507 26 days ago Tiny, fast JavaScript parser
babel-parser 43,188 10 days ago JavaScript parser used in Babel

Packages / Static site generators

DocPad 3,055 8 months ago Static site generator with dynamic abilities and huge plugin ecosystem
docsify 27,480 11 days ago Markdown documentation site generator with no statically built HTML files
Charge 427 3 months ago Opinionated, zero-config static site generator using JSX and MDX

Packages / Content management systems

KeystoneJS 9,172 11 days ago CMS and web application platform built on Express and MongoDB
ApostropheCMS 4,340 10 days ago Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB
Strapi 63,103 10 days ago Content Management Framework (headless-CMS) to build powerful APIs
Factor 1,407 11 days ago Vue.js dashboard framework and headless CMS
AdminBro 8,188 24 days ago Auto-generated admin panel with CRUD for all your resources
Graphweaver 480 11 days ago CMS and headless GraphQL API

Packages / Forum

nodeBB 14,140 10 days ago Forum platform for the modern web

Packages / Blogging

Ghost 46,997 10 days ago Simple, powerful publishing platform
Hexo 39,281 about 2 months ago Fast, simple and powerful blogging framework

Packages / Weird

cows 418 3 months ago ASCII cows
superb 394 5 months ago Get superb like words
cat-names 271 6 months ago Get popular cat names
dog-names 124 6 months ago Get popular dog names
superheroes 233 5 months ago Get superhero names
supervillains 117 5 months ago Get supervillain names
cool-ascii-faces 1,775 over 7 years ago Get some cool ascii faces
cat-ascii-faces 254 over 9 years ago
nerds 109 4 months ago Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon

Packages / Serialization

snappy 481 about 3 years ago Native bindings for Google's Snappy compression library
protobuf 9,866 10 days ago Implementation of Protocol Buffers
compactr 100 about 4 years ago Implementation of the Compactr protocol

Packages / Miscellaneous

execa 6,789 25 days ago Better
cheerio 28,497 11 days ago Fast, flexible, and lean implementation of core jQuery designed specifically for the server
open 3,182 5 months ago Opens stuff like websites, files, executables
hasha 954 11 months ago Hashing made simple. Get the hash of a buffer/string/stream/file
dot-prop 812 5 months ago Get a property from a nested object using a dot path
onetime 162 11 months ago Only run a function once
mem 1,083 2 months ago Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input
strip-bom 111 over 3 years ago Strip UTF-8 byte order mark (BOM) from a string/buffer/stream
os-locale 224 almost 3 years ago Get the system locale
ssh2 5,515 26 days ago SSH2 client and server module
adit 54 over 7 years ago SSH tunneling made simple
file-type 3,685 about 1 month ago Detect the file type of a Buffer
Bottleneck 1,820 9 months ago Rate limiter that makes throttling easy
webworker-threads 2,295 about 3 years ago Lightweight Web Worker API implementation with native threads
clipboardy 1,771 12 months ago Access the system clipboard (copy/paste)
node-pre-gyp 1,113 about 2 months ago Makes it easy to publish and install Node.js C++ addons from binaries
opencv 4,371 3 months ago Bindings for OpenCV. The defacto computer vision library
dotenv 19,091 3 months ago Load environment variables from .env file
semver 5,070 18 days ago Semantic version parser
nodegit 5,642 about 2 months ago Native bindings to Git
json-strictify 19 11 days ago Safely serialize a value to JSON without data loss or going into an infinite loop
jsdom 20,442 20 days ago JavaScript implementation of HTML and the DOM
@sindresorhus/is 1,672 about 1 month ago Type check values
env-dot-prop 33 about 3 years ago Get, set, or delete nested properties of process.env using a dot path
node-video-lib 354 4 months ago Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming
basic-ftp 669 3 months ago FTP/FTPS client
cashify 401 11 months ago Currency conversion
genepi 80 over 1 year ago Automatically generate a native Node.js addon from C++ code
husky 32,434 19 days ago Create Git hook scripts
patch-package 10,356 4 months ago Make and preserve fixes to npm dependencies
editly 4,747 3 months ago Declarative video editing API
wild-wild-path 717 28 days ago Object property paths with wildcards and regexes
uint8array-extras 213 3 months ago Useful utilities for working with Uint8Array and Buffer

Package Manager

npm The default package manager
pnpm Disk space efficient package manager
yarn Alternative package manager
bun All-in-one toolkit for JavaScript and TypeScript apps

Resources / Tutorials

Node.js Best Practices 99,626 3 months ago Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages
Nodeschool Learn Node.js with interactive lessons
The Art of Node 9,796 about 4 years ago An introduction to Node.js
module-best-practices 1,543 over 6 years ago Some good practices when writing new npm modules
The Node Way 1,492 over 8 years ago 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 1,534 almost 6 years ago Introduction to Node.js core features and asynchronous JavaScript
Portable Node.js guide 1,397 28 days ago Practical guide on how to write portable/cross-platform Node.js code
Build a real web app with no frameworks 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

Resources / Discovery

npms Superb package search with deep analysis of package quality using a
npm addict Your daily injection of npm packages
npmcompare.com Compare and discover npm packages

Resources / Articles

Error Handling in Node.js
Teach Yourself Node.js in 10 Steps
Mastering the filesystem in Node.js
Semver: A Primer
Semver: Tilde and Caret
Why Asynchronous?
Understanding the Node.js Event Loop
Understanding Object Streams
Using Express to Quickly Build a GraphQL Server

Resources / Newsletters

Node Weekly Weekly e-mail round-up of Node.js news and articles

Resources / Videos

Introduction to Node.js with Ryan Dahl
Hands on with Node.js
V8 Garbage Collector Trash talk about the V8 garbage collector
10 Things I Regret About Node.js by Ryan Dahl Insightful talk by the creator of Node.js about some of its limitions
Mastering REST APIs in Node.js: Zero-To-Hero Video course on how to make REST APIs using Node.js
Make a vanilla Node.js REST API Building a REST API without using a framework like Express
Google I/O 2009 - V8: High Performance JavaScript Engine The basics of V8 architecture and how it optimizes JavaScript execution
Google I/O 2012 - Breaking the JavaScript Speed Limit with V8 How V8 optimizes JavaScript execution
Google I/O 2013 - Accelerating Oz with V8: Follow the Yellow Brick Road to JavaScript Performance How to detect app bottlenecks and optimize performance with V8 knowledge
Node.js Internal Architecture | Ignition, Turbofan, Libuv How Node.js works internally, with a focus on V8 and libuv
Introduction to libuv: What's a Unicorn Velociraptor? architecture, thread pool, and event loop, with its source code
libuv Cross platform asynchronous i/o architecture in detail, such as where it's actually using threads
You Don't Know Node - ForwardJS San Francisco Explaining Node.js internals with quizzes about V8, libuv, event loop, module, stream, and cluster

Resources / Books

Node.js in Action
Node.js in Practice
Mastering Node
Node.js 8 the Right Way
Professional Node.js: Building JavaScript Based Scalable Software
Secure Your Node.js Web Application
Express in Action
Practical Modern JavaScript
Mastering Modular JavaScript
Get Programming with Node.js
Node.js Cookbook
Node.js Design Patterns

Resources / Blogs

Node.js blog
webapplog.com Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan

Resources / Courses

Learn to build apps and APIs with Node.js Video course by Wes Bos
Real Time Web with Node.js
Learn and Understand Node.js
Node.js Full Stack Developer Course

Resources / Cheatsheets

Express.js 1,346 9 months ago
Stream FAQs 195 about 9 years ago Answering common questions about streams, covering pagination, events, and more
Strong Node.js 500 6 months ago Checklist for source code security analysis of a Node.js web service

Resources / Tools

OctoLinker Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub
npm-hub Chrome extension to display npm dependencies at the bottom of a repo's readme
RunKit Embed a Node.js environment on any website
github-npm-stats Chrome extension that displays npm download stats on GitHub
npm semver calculator Visually explore what versions of a package a semver range matches
CodeSandbox Online IDE and prototyping
Amplication 15,118 10 days ago Auto-generates fully functional apps
RunJS Desktop JavaScript playground

Resources / Community

Stack Overflow
Reddit
Twitter
Hashnode
Discord

Resources / Miscellaneous

nodebots Robots powered by JavaScript
node-module-boilerplate 739 about 2 months ago Boilerplate to kickstart creating a node module
modern-node 245 almost 2 years ago Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
generator-nm 743 5 months ago Scaffold out a node module
Microsoft Node.js Guidelines 2,494 over 1 year ago Tips, tricks, and resources for working with Node.js on Microsoft platforms
Module Requests & Ideas 544 over 3 years ago Request a JavaScript module you wish existed or get ideas for modules
v8-perf 2,224 almost 2 years ago Notes and resources related to V8 and thus Node.js performance
awesome-npm 4,477 11 months ago Resources and tips for using npm
awesome-cross-platform-nodejs 1,148 over 1 year ago Resources for writing and testing cross-platform code

Backlinks from these awesome lists: