awesome-nodejs
by sindresorhus
Delightful Node.js packages and resources
AI summary
Node package list
A curated collection of Node.js packages and resources for developers
- stars
- 58.9K
- forks
- 5.8K
- watching
- 1.6K
- awesome lists
- 17
- entries
- 591
What's in the list
591 links in 69 sections, with live GitHub stats.activeno commit in 2y
Official
Mad science
webtorrent
Streaming torrent client for Node.js and the browser
peerflix
Streaming torrent client
ipfs
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
All of Wikipedia on BitTorrent
peercast
Stream a torrent video to Chromecast
BitcoinJS
Clean, readable, proven Bitcoin library
Bitcore
Pure and powerful Bitcoin library
PDFKit
PDF generation library
turf
Modular geospatial processing and analysis engine
webcat
p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication
NodeOS
The first operating system powered by npm
YodaOS
AI operating system
Brain.js
Machine-learning framework
Pipcook
Front-end algorithm framework to create a machine learning pipeline
Cytoscape.js
Graph theory (a.k.a. network) modeling and analysis
js-git
JavaScript implementation of Git
xlsx
Pure JS Excel spreadsheet reader and writer
isomorphic-git
Pure JavaScript implementation of Git
Command-line apps
np
Better
npm-name
Check a package name's availability on npm
gh-home
Open the GitHub page of the repo in the current directory
npm-home
Open the npm page of a package
trash
Safer alternative to
speed-test
Test your internet connection speed and ping
pageres
Capture website screenshots
cpy
Copy files
vtop
More better top, with nice charts
empty-trash
Empty the trash
is-up
Check whether a website is up or down
is-online
Check if the internet connection is up
public-ip
Get your public IP address
clipboard-cli
Copy & paste on the terminal
XO
Enforce strict code style using the JavaScript happiness style
ESLint
The pluggable linting utility for JavaScript
David
Tells you when your package npm dependencies are out of date
http-server
Simple, zero-config command-line HTTP server
Live Server
Development HTTP-server with livereload capability
bcat
Pipe command output to web browsers
normit
Google Translate with speech synthesis in your terminal
fkill
Fabulously kill processes. Cross-platform
pjs
Pipeable JavaScript. Quickly filter, map, and reduce from the terminal
license-checker
Check licenses of your app's dependencies
browser-run
Easily run code in a browser environment
tmpin
Adds stdin support to any CLI app that accepts file input
wallpaper
Change the desktop wallpaper
pen
Live Markdown preview in the browser from your favorite editor
dark-mode
Toggle the macOS Dark Mode
Jsome
Pretty prints JSON with configurable colors and indentation
mobicon
Mobile app icon generator
mobisplash
Mobile app splash screen generator
diff2html-cli
Pretty git diff to HTML generator
trymodule
Try out npm packages in the terminal
jscpd
Copy/paste detector for source code
atmo
Server-side API mocking
auto-install
Auto installs dependencies as you code
- lessmd
Markdown in the terminal
cost-of-modules
Find out which dependencies are slowing you down
localtunnel
Expose your localhost to the world
svg-term-cli
Share terminal sessions via SVG
gtop
System monitoring dashboard for the terminal
themer
Generate themes for your editor, terminal, wallpaper, Slack, and more
carbon-now-cli
Beautiful images of your code — from right inside your terminal
cash-cli
Convert between 170 currencies
taskbook
Tasks, boards & notes for the command-line habitat
discharge
Easily deploy static websites to Amazon S3
npkill
Easily find and remove old and heavy node_modules folders
Functional programming
lodash
Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js
immutable
Immutable data collections
Ramda
Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data
Mout
Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead
RxJS
Functional reactive library for transforming, composing, and querying various kinds of data
Kefir.js
Reactive library with focus on high performance and low memory usage
HTTP
got
Nicer interface to the built-in module
undici
High performance HTTP client written from scratch with zero dependencies
ky-universal
Universal HTTP client based on Fetch
node-fetch
for Node.js
axios
Promise based HTTP client (works in the browser too)
superagent
HTTP request library
http-fake-backend
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
GraphQL request library built on
global-agent
Global HTTP/HTTPS proxy agent that is configurable using environment variables
smoke
File-based HTTP mock server with recording abilities
purest
REST client
Debugging / Profiling
debug
Tiny debugging utility
why-is-node-running
Node.js is running but you don't know why?
njsTrace
Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function
vstream
Instrumentable streams mix-ins to inspect a pipeline of streams
stackman
Enhance an error stacktrace with code excerpts and other goodies
locus
Starts a REPL at runtime that has access to all variables
0x
Flamegraph profiling
ctrace
Well-formatted and improved trace system calls and signals
leakage
Write memory leak tests
llnode
Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process
thetool
Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format
swagger-stats
Trace API calls and monitor API performance, health, and usage metrics
NiM
Manages DevTools debugging workflow
dats
Minimalistic and zero-dependencies client
Logging
pino
Extremely fast logger inspired by Bunyan
winston
Multi-transport async logging library
console-log-level
The most simple logger imaginable with support for log levels and custom prefixes
storyboard
End-to-end, hierarchical, real-time, colorful logs and stories
consola
Console logger
Command-line utilities
chalk
Terminal string styling done right
meow
CLI app helper
yargs
Command-line parser that automatically generates an elegant user-interface
ora
Elegant terminal spinner
get-stdin
Easier stdin
log-update
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc
Ink
React for interactive command-line apps
listr2
Terminal task list
conf
Simple config handling for your app or module
ansi-escapes
ANSI escape codes for manipulating the terminal
log-symbols
Colored symbols for various log levels
figures
Unicode symbols with Windows CMD fallbacks
boxen
Create boxes in the terminal
terminal-link
Create clickable links in the terminal
terminal-image
Display images in the terminal
string-width
Get the visual width of a string - the number of columns required to display it
cli-truncate
Truncate a string to a specific width in the terminal
blessed
Curses-like library
Inquirer.js
Interactive command-line prompt
yn
Parse yes/no like values
cli-table3
Pretty unicode tables
drawille
Draw on the terminal with unicode braille characters
ascii-charts
ASCII bar chart in the terminal
progress
Flexible ascii progress bar
insight
Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
cli-cursor
Toggle the CLI cursor
cli-columns
Columnated unicode and ansi-safe text lists
cfonts
Sexy ASCII fonts for the console
multispinner
Multiple, simultaneous, individually controllable CLI spinners
omelette
Shell autocompletion helper
cross-env
Set environment variables cross-platform
shelljs
Portable Unix shell commands
sudo-block
Block users from running your app with root permissions
sparkly
Generate sparklines
Bit
Create, maintain, find and use small modules and components across repositories
gradient-string
Beautiful color gradients in terminal output
oclif
CLI framework complete with parser, automatic documentation, testing, and plugins
terminal-size
Reliably get the terminal window size
Cliffy
Framework for interactive CLIs
zx
Write shell scripts JavaScript
Build tools
parcel
Blazing fast, zero config web app bundler
webpack
Packs modules and assets for the browser
rollup
Next-generation ES2015 module bundler
gulp
Streaming and fast build system that favors code over config
Broccoli
Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions
Brunch
Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow
FuseBox
Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support
pkg
Package your Node.js project into an executable
Vite
Front-end build tool with hot module replacement and static asset bundling
Hardware
johnny-five
Firmata based Arduino Framework
serialport
Access serial ports for reading and writing
usb
USB library
i2c-bus
I2C serial bus access
onoff
GPIO access and interrupt detection
spi-device
SPI serial bus access
pigpio
Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi
gps
NMEA parser for handling GPS receivers
modbus-serial
A pure JavaScript implementation of MODBUS-RTU (serial and TCP)
Templating
marko
HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags
nunjucks
Templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
handlebars.js
Superset of Mustache templates which adds powerful features like helpers and more advanced blocks
EJS
Simple unopinionated templating language
Pug
High-performance template engine heavily influenced by Haml
Web frameworks
Fastify
Fast and low overhead web framework
Next.js
Minimalistic framework for server-rendered universal JavaScript web apps
Nuxt.js
Minimalistic framework for server-rendered Vue.js apps
Hapi
Framework for building applications and services
Micro
Minimalistic microservice framework with an async approach
Koa
Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs
Express
Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications
Feathers
Microservice framework built in the spirit of Express
LoopBack
Powerful framework for creating REST APIs and easily connecting to backend data sources
Meteor
An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework
Restify
Enables you to build correct REST web services
ThinkJS
Framework with ES2015+ support, WebSockets, REST API
ActionHero
Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients
seneca
Toolkit for writing microservices
AdonisJs
A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container
Moleculer
Fast & powerful microservices framework
Nest
Angular-inspired framework for building efficient and scalable server-side apps
TypeGraphQL
Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators
Tinyhttp
Modern and fast Express-like web framework
Marble.js
Functional reactive framework for building server-side apps, based on TypeScript and RxJS
Lad
Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers
Ts.ED
Intuitive TypeScript framework for building server-side apps on top of Express.js or Koa.js
Hono
Small and fast web framework
Documentation
documentation.js
API documentation generator with support for ES2015+ and flow annotation
Docco
Documentation generator which produces an HTML document that displays your comments intermingled with your code
JSDoc
API documentation generator similar to JavaDoc or PHPDoc
Docusaurus
Documentation website generator that leverages React and Markdown, and comes with translation and versioning features
Filesystem
del
Delete files/folders using globs
globby
Glob files with support for multiple patterns
chokidar
Filesystem watcher which stabilizes events from and as well as using native on macOS
find-up
Find a file by walking up parent directories
proper-lockfile
Inter-process and inter-machine lockfile utility
load-json-file
Read and parse a JSON file
write-json-file
Stringify and write JSON to a file atomically
fs-write-stream-atomic
Like , but atomic
filenamify
Convert a string to a valid filename
istextorbinary
Check if a file is text or binary
fs-jetpack
Completely redesigned file system API for convenience in everyday use
fs-extra
Extra methods for the module
pkg-dir
Find the root directory of an npm package
filehound
Flexible and fluent interface for searching the file system
move-file
Move a file, even works across devices
tempy
Get a random temporary file or directory path
Control flow / Promises
pify
Promisify a callback-style function
delay
Delay a promise a specified amount of time
promise-memoize
Memoize promise-returning functions, with expire and prefetch
valvelet
Limit the execution rate of a promise-returning function
p-map
Map over promises concurrently
Control flow / Observables
RxJS
Reactive programming
observable-to-promise
Convert an Observable to a Promise
Control flow / Streams
Highland.js
Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams
Streams
get-stream
Get a stream as a string or buffer
from2
Convenience wrapper for ReadableStream, inspired by
into-stream
Convert a buffer/string/array/object into a stream
duplexify
Turn a writeable and readable stream into a single streams2 duplex stream
pumpify
Combine an array of streams into a single duplex stream
peek-stream
Transform stream that lets you peek the first line before deciding how to parse it
binary-split
Newline (or any delimiter) splitter stream
byline
Super-simple line-by-line Stream reader
first-chunk-stream
Transform the first chunk in a stream
pad-stream
Pad each line in a stream
multistream
Combine multiple streams into a single stream
readable-stream
Mirror of Streams2 and Streams3 implementations in core
through2-concurrent
Transform object streams concurrently
Real-time
µWebSockets
Highly scalable WebSocket server & client library
Socket.io
Enables real-time bidirectional event-based communication
Faye
Real-time client-server message bus, based on Bayeux protocol
SocketCluster
Scalable HTTP + WebSocket engine which can run on multiple CPU cores
Primus
An abstraction layer for real-time frameworks to prevent module lock-in
deepstream.io
Scalable real-time microservice framework
Kalm
Low-level socket router and middleware framework
MQTT.js
Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP
rpc-websockets
JSON-RPC 2.0 implementation over WebSockets
Aedes
Barebone MQTT server that can run on any stream server
Image
sharp
The fastest module for resizing JPEG, PNG, WebP and TIFF images
image-type
Detect the type of an image
image-dimensions
Get the dimensions of an image
gm
GraphicsMagick and ImageMagick wrapper
lwip
Lightweight image processor which does not require ImageMagick
pica
High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed
jimp
Image processing in pure JavaScript
qrcode
QR code and bar code generator
ImageScript
Image processing in JavaScript, utilizing WebAssembly for performance
Text
iconv-lite
Convert character encodings
string-length
Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
camelcase
Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
escape-string-regexp
Escape RegExp special characters
splice-string
Remove or replace part of a string like
indent-string
Indent each line in a string
strip-indent
Strip leading whitespace from every line in a string
detect-indent
Detect the indentation of code
he
HTML entity encoder/decoder
i18n-node
Simple translation module with dynamic JSON storage
babelfish
i18n with very easy syntax for plurals
matcher
Simple wildcard matching
unhomoglyph
Normalize visually similar unicode characters
i18next
Internationalization framework
nanoid
Tiny, secure, URL-friendly, unique string ID generator
StegCloak
Conceal secrets within strings, in plain sight
Number
random-int
Generate a random integer
random-float
Generate a random float
unique-random
Generate random numbers that are consecutively unique
round-to
Round a number to a specific number of decimal places: →
Math
ndarray
Multidimensional arrays
mathjs
An extensive math library
math-clamp
Clamp a number
algebra
Algebraic structures
multimath
Core to create fast image math in WebAssembly and JS
Date
URL
normalize-url
Normalize a URL
humanize-url
Humanize a URL: → sindresorhus.com
url-unshort
Expand shortened URLs
speakingurl
Generate a slug from a string with transliteration
linkify-it
Link patterns detector with full unicode support
url-pattern
Easier than regex string matching patterns for URLs and other strings
embedza
Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags
Data validation
joi
Object schema description language and validator for JavaScript objects
is-my-json-valid
JSON Schema validator that uses code generation to be extremely fast
property-validator
Easy property validation for Express
schema-inspector
JSON API sanitization and validation
ajv
The fastest JSON Schema validator. Supports v5, v6 and v7 proposals
Superstruct
Simple and composable way to validate data in JavaScript (and TypeScript)
yup
Object schema validation
zod
TypeScript-first schema validation with static type inference
Parsing
remark
Markdown processor powered by plugins
markdown-it
Markdown parser with 100% CommonMark support, extensions and syntax plugins
parse5
Fast full-featured spec compliant HTML parser
@parcel/css
A CSS parser, transformer, and minifier written in Rust
strip-json-comments
Strip comments from JSON
strip-css-comments
Strip comments from CSS
parse-json
Parse JSON with more helpful errors
URI.js
URL mutation
JSONStream
Streaming JSON.parse and stringify
neat-csv
Fast CSV parser. Callback interface for the above
csv-parser
Streaming CSV parser that aims to be faster than everyone else
PEG.js
Simple parser generator that produces fast parsers with excellent error reporting
x-ray
Web scraping utility
nearley
Simple, fast, powerful parsing for JavaScript
binary-extract
Extract a value from a buffer of JSON without parsing the whole thing
Stylecow
Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins
js-yaml
Very fast YAML parser
xml2js
XML to JavaScript object converter
Jison
Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family
google-libphonenumber
Parse, format, store and validate phone numbers
ref
Read/write structured binary data in Buffers
xlsx-populate
Read/write Excel XLSX
Chevrotain
Very fast and feature rich parser building toolkit for JavaScript
fast-xml-parser
Validate and parse XML
Humanize
pretty-bytes
Convert bytes to a human readable string: →
pretty-ms
Convert milliseconds to a human readable string: →
ms
Tiny millisecond conversion utility
pretty-error
Errors with less clutter
read-art
Extract readable content from any page
Compression
yazl
Zip
yauzl
Unzip
Archiver
Streaming interface for archive generation, supporting ZIP and TAR
pako
High speed zlib port to pure js (deflate, inflate, gzip)
tar-stream
Streaming tar parser and generator. Also see
Network
Database / Drivers
PostgreSQL
PostgreSQL client. Pure JavaScript and native libpq bindings
Redis
Redis client
LevelUP
LevelDB
MySQL
MySQL client
couchdb-nano
CouchDB client
Aerospike
Aerospike client
Couchbase
Couchbase client
MongoDB
MongoDB driver
Database / ODM / ORM
Sequelize
Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more
Bookshelf
ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js
Mongoose
Elegant MongoDB object modeling
Waterline
Datastore-agnostic tool that dramatically simplifies interaction with one or more databases
OpenRecord
ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord
pg-promise
PostgreSQL framework for native SQL using promises
slonik
PostgreSQL client with strict types, detailed logging and assertions
Objection.js
Lightweight ORM built on the SQL query builder Knex
TypeORM
ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more
MikroORM
TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite
Prisma
Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite
Drizzle ORM
TypeScript ORM that supports various databases such as PostgreSQL
Database / Query builder
Knex
Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use
Database / Other
NeDB
Embedded persistent database written in JavaScript
Lowdb
Small JavaScript database powered by Lodash
Keyv
Simple key-value storage with support for multiple backends
Finale
RESTful endpoint generator for your Sequelize models
database-js
Wrapper for multiple databases with a JDBC-like connection
Mongo Seeding
Populate MongoDB databases with JavaScript and JSON files
@databases
Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection
pg-mem
In-memory PostgreSQL instance for your tests
Testing
AVA
Futuristic test runner
Mocha
Feature-rich test framework making asynchronous testing simple and fun
nyc
Code coverage tool built on istanbul that works with subprocesses
tap
TAP test framework
tape
TAP-producing test harness
power-assert
Provides descriptive assertion messages through the standard assert interface
Mochify
TDD with Browserify, Mocha, PhantomJS and WebDriver
trevor
Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI
loadtest
Run load tests for your web application, with an API for automation
Sinon.JS
Test spies, stubs and mocks
Nock
HTTP mocking and expectations
intern
Code testing stack
toxy
Hackable HTTP proxy to simulate failure scenarios and network conditions
hook-std
Hook and modify stdout/stderr
testen
Run tests for multiple versions of Node.js locally with NVM
Nightwatch
Automated UI testing framework based on Selenium WebDriver
WebdriverIO
Automated testing based on the WebDriver protocol
Jest
Painless JavaScript testing
TestCafe
Automated browser testing
abstruse
Continuous Integration server
CodeceptJS
End-to-end testing
Puppeteer
Headless Chrome
Playwright
Headless Chromium, WebKit, and Firefox with a single API
nve
Run any command on multiple versions of Node.js locally
axe-core
Accessibility engine for automated Web UI testing
testcontainers-node
Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container
Security
upash
Unified API for all password hashing algorithms
themis
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
Brute-force and DDoS attack protection
crypto-hash
Async non-blocking hashing
jose-simple
Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard
Benchmarking
Benchmark.js
Benchmarking library that supports high-resolution timers and returns statistically significant results
Minifiers
babel-minify
ES2015+ aware minifier based on the Babel toolchain
UglifyJS2
JavaScript minifier
clean-css
CSS minifier
minimize
HTML minifier
imagemin
Image minifier
Authentication
Authorization
CASL
Isomorphic authorization for UI and API
node-casbin
Authorization library that supports access control models like ACL, RBAC and ABAC
Nodemailer
The fastest way to handle email
emailjs
Send text/HTML emails with attachments to any SMTP server
email-templates
Create, preview, and send custom email templates
MJML
Markup language designed to reduce the pain of creating responsive emails
Job queues
bull
Persistent job and message queue
agenda
MongoDB-backed job scheduling
idoit
Redis-backed job queue engine with advanced job control
node-resque
Redis-backed job queue
rsmq
Redis-backed message queue
bee-queue
High-performance Redis-backed job queue
RedisSMQ
Simple high-performance Redis message queue with real-time monitoring
sqs-consumer
Build Amazon Simple Queue Service (SQS) based apps without the boilerplate
better-queue
Simple and efficient job queue when you cannot use Redis
bullmq
Persistent job and message queue
bree
Job task scheduler with worker threads, cron, date, and human syntax support
Node.js management
n
Node.js version management
nodeenv
Node.js virtual environment compatible to Python's virtualenv
nvm for Windows
Version management for Windows
nodenv
Version manager that is similar to Ruby's rbenv. It supports auto version switching
fnm
Cross-platform Node.js version manager built in Rust
Cross-platform integration
napi-rs
Framework for building compiled Node.js add-ons in Rust via Node-API
Neon
Rust bindings for writing safe and fast native Node.js modules
Edge.js
Run .NET and Node.js code in the same process on Windows, macOS, and Linux
DotNetJS
Consume .NET libraries in Node.js using this .NET interoperability layer
Natural language processing
Process management
PM2
Advanced Process Manager
nodemon
Monitor for changes in your app and automatically restart the server
node-mac
Run scripts as a native Mac daemon and log to the console app
node-linux
Run scripts as native system service and log to syslog
node-windows
Run scripts as a native Windows service and log to the Event viewer
supervisor
Restart scripts when they crash or restart when a file changes
Phusion Passenger
Friendly process manager that integrates directly into Nginx
Automation
AST
Acorn
Tiny, fast JavaScript parser
babel-parser
JavaScript parser used in Babel
Static site generators
Content management systems
KeystoneJS
CMS and web application platform built on Express and MongoDB
ApostropheCMS
Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB
Strapi
Content Management Framework (headless-CMS) to build powerful APIs
Factor
Vue.js dashboard framework and headless CMS
AdminBro
Auto-generated admin panel with CRUD for all your resources
Graphweaver
CMS and headless GraphQL API
Forum
nodeBB
Forum platform for the modern web
Blogging
Weird
cows
ASCII cows
superb
Get superb like words
cat-names
Get popular cat names
dog-names
Get popular dog names
superheroes
Get superhero names
supervillains
Get supervillain names
cool-ascii-faces
Get some cool ascii faces
nerds
Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon
Serialization
Miscellaneous
execa
Better
cheerio
Fast, flexible, and lean implementation of core jQuery designed specifically for the server
open
Opens stuff like websites, files, executables
hasha
Hashing made simple. Get the hash of a buffer/string/stream/file
dot-prop
Get a property from a nested object using a dot path
onetime
Only run a function once
mem
Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input
strip-bom
Strip UTF-8 byte order mark (BOM) from a string/buffer/stream
os-locale
Get the system locale
ssh2
SSH2 client and server module
adit
SSH tunneling made simple
file-type
Detect the file type of a Buffer
Bottleneck
Rate limiter that makes throttling easy
webworker-threads
Lightweight Web Worker API implementation with native threads
clipboardy
Access the system clipboard (copy/paste)
node-pre-gyp
Makes it easy to publish and install Node.js C++ addons from binaries
opencv
Bindings for OpenCV. The defacto computer vision library
dotenv
Load environment variables from .env file
semver
Semantic version parser
nodegit
Native bindings to Git
json-strictify
Safely serialize a value to JSON without data loss or going into an infinite loop
jsdom
JavaScript implementation of HTML and the DOM
@sindresorhus/is
Type check values
env-dot-prop
Get, set, or delete nested properties of process.env using a dot path
node-video-lib
Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming
basic-ftp
FTP/FTPS client
cashify
Currency conversion
genepi
Automatically generate a native Node.js addon from C++ code
husky
Create Git hook scripts
patch-package
Make and preserve fixes to npm dependencies
editly
Declarative video editing API
wild-wild-path
Object property paths with wildcards and regexes
uint8array-extras
Useful utilities for working with Uint8Array and Buffer
Package Manager
Resources / Tutorials
Node.js Best Practices
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
An introduction to Node.js
module-best-practices
Some good practices when writing new npm modules
The Node Way
An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read
You Don't Know Node.js
Introduction to Node.js core features and asynchronous JavaScript
Portable Node.js guide
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
- npm-compare.com
Compare and discover npm packages
Resources / Articles
Resources / Newsletters
- Node Weekly
Weekly e-mail round-up of Node.js news and articles
Resources / Videos
- 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
Resources / Blogs
- 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
Resources / Cheatsheets
Stream FAQs
Answering common questions about streams, covering pagination, events, and more
Strong Node.js
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
Auto-generates fully functional apps
- RunJS
Desktop JavaScript playground
Resources / Community
Resources / Miscellaneous
- nodebots
Robots powered by JavaScript
node-module-boilerplate
Boilerplate to kickstart creating a node module
modern-node
Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
generator-nm
Scaffold out a node module
Microsoft Node.js Guidelines
Tips, tricks, and resources for working with Node.js on Microsoft platforms
Module Requests & Ideas
Request a JavaScript module you wish existed or get ideas for modules
v8-perf
Notes and resources related to V8 and thus Node.js performance
Related lists
awesome-npm
Resources and tips for using npm
awesome-cross-platform-nodejs
Resources for writing and testing cross-platform code
Nothing in this list matches your filter.
Featured in 17 awesome lists
Each link jumps to the spot where the list mentions awesome-nodejs.
sindresorhus/awesome
bayandin/awesome-awesomeness
sindresorhus/awesome-electron
enaqx/awesome-pentest
agarrharr/awesome-cli-apps
jnv/lists
parro-it/awesome-micro-npm-packages
sindresorhus/awesome-npm
myles/awesome-static-generators
lyfeyaj/awesome-resources
fleveque/awesome-awesomes
sindresorhus/awesome-observables
erichs/awesome-awesome
flyhigher139/awesome-collection
szabgab/awesome-lists
coopermaa/awesome-awesome
0ex/more-awesome
More related projects
sindresorhus/pokemon491
dailynode/node-daily317
chalk/slice-ansi47
chalk/wrap-ansi120
sindresorhus/p-props194
sindresorhus/make-dir475
sindresorhus/crypto-random-string570
sindresorhus/p-all319
ehmicky/get-node20
chalk/strip-ansi-stream34
go-zoox/fetch71
chalk/has-ansi45
bokub/chalk-animation2.1K
chalk/chalk-template93