awesome-nodejs
:zap: Delightful Node.js packages and resources [BECAUSE OF TOO MUCH SPAM AND LOW-QUALITY SUBMISSIONS, SUBMISSIONS ARE PAUSED UNTIL JULY]
https://github.com/sindresorhus/awesome-nodejs
Last synced: 15 days ago
JSON representation
-
Packages
-
Real-time
- 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.
-
Security
- 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.
- upash - Unified API for all password hashing algorithms.
- 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.
-
Serialization
-
Static site generators
-
Streams
- get-stream - Get a stream as a string or buffer.
- from2 - Convenience wrapper for ReadableStream, inspired by `through2`.
- 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.
- 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.
- binary-split - Newline (or any delimiter) splitter stream.
-
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.
-
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.
- 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.
- navit - PhantomJS / SlimerJS wrapper to simplify browser test scripting.
- 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.
- 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.
- tap - TAP test framework.
- Vitest - Fast unit test framework powered by Vite.
- tape - TAP-producing test harness.
- Jest - Painless JavaScript testing.
-
Text
- 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 `Array#splice`.
- 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.
- iconv-lite - Convert character encodings.
-
URL
- normalize-url - Normalize a URL.
- humanize-url - Humanize a URL: https://sindresorhus.com → 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.
-
Web frameworks
- Fastify - Fast and low overhead web framework.
- Next.js - Minimalistic framework for server-rendered universal JavaScript web 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. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))*
- 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.
- Nuxt.js - Minimalistic framework for server-rendered Vue.js apps.
-
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.
- cat-ascii-faces - `₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”`.
- nerds - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
- cool-ascii-faces - Get some cool ascii faces.
-
-
Related lists
-
Miscellaneous
- awesome-cross-platform-nodejs - Resources for writing and testing cross-platform code.
- awesome-npm - Resources and tips for using npm.
-
-
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
- Semver: A Primer
- Understanding the Node.js Event Loop
-
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.
-
Books
- Node.js in Action
- Node.js in Practice
- Node.js 8 the Right Way
- Secure Your Node.js Web Application
- Express in Action
- Practical Modern JavaScript
- Mastering Modular JavaScript
- Get Programming with Node.js
- Node.js Cookbook
- Mastering Node
- Professional Node.js: Building JavaScript Based Scalable Software
- Mastering Modular JavaScript
- Professional Node.js: Building JavaScript Based Scalable Software
- Professional Node.js: Building JavaScript Based Scalable Software
-
Cheatsheets
- Express.js
- 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.
-
Community
-
Courses
-
Discovery
- npms - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about).
- npm addict - Your daily injection of npm packages.
- npmcompare.com - Compare and discover npm packages.
- npm-compare.com - Compare and discover npm packages.
-
Miscellaneous
- nodebots - Robots powered by JavaScript.
- Microsoft Node.js Guidelines - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
- 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.
- 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.
-
Newsletters
- Node Weekly - Weekly e-mail round-up of Node.js news and articles.
-
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.
- CodeSandbox - Online IDE and prototyping.
- RunJS - Desktop JavaScript playground.
- Amplication - Auto-generates fully functional apps.
- CodeSandbox - Online IDE and prototyping.
- npm semver calculator - Visually explore what versions of a package a semver range matches.
- RunKit - Embed a Node.js environment on any website.
- npm-hub - Chrome extension to display npm dependencies at the bottom of a repo's readme.
- github-npm-stats - Chrome extension that displays npm download stats on GitHub.
-
Tutorials
- Nodeschool - Learn Node.js with interactive lessons.
- 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.
- Node.js Best Practices - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages.
- 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.
- The Art of Node - An introduction to Node.js.
-
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 limitations.
- 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.
-
Programming Languages
Sub Categories
Command-line apps
48
Miscellaneous
43
Command-line utilities
40
Database
29
Testing
28
Web frameworks
23
Parsing
23
Mad science
19
Filesystem
17
Text
16
Books
14
Debugging / Profiling
14
Streams
13
Videos
13
HTTP
12
Job queues
12
Articles
11
Hardware
10
Control flow
10
Tools
10
Real-time
10
Image
9
Weird
9
Build tools
9
Tutorials
8
Data validation
8
Process management
7
URL
7
Community
6
Node.js management
6
Date
6
Content management systems
6
Functional programming
6
Security
6
Math
5
Network
5
Compression
5
Courses
5
Email
5
Cross-platform integration
5
Logging
5
Natural language processing
5
Templating
5
Minifiers
5
Humanize
5
Discovery
4
Number
4
Documentation
4
Cheatsheets
3
Serialization
3
Static site generators
3
Automation
2
Blogging
2
Authentication
2
Authorization
2
AST
2
Blogs
2
Benchmarking
1
Forum
1
Newsletters
1
Keywords
nodejs
171
javascript
150
typescript
47
node
47
cli
31
npm-package
17
postgresql
16
http
15
command-line
15
json
14
testing
14
api
14
mysql
13
npm
12
browser
12
sqlite
11
framework
11
node-js
11
server
10
mongodb
10
terminal
10
database
9
redis
9
rest
9
web
9
react
9
promise
8
iot
8
orm
8
shell
8
cli-app
8
es6
7
electron
7
stream
7
windows
7
js
7
sql
7
postgres
7
performance
7
queue
6
microservices
6
testing-tools
6
express
6
graphql
6
test
6
html
6
linux
6
macos
6
koa
6
node-module
6