awesome-nodejs
Delightful Node.js packages and resources
https://github.com/tantum101/awesome-nodejs
Last synced: 15 days ago
JSON representation
-
Packages
-
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.
- 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.
-
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.
- 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.
- 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.
- 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.
-
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 `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.
-
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.
- 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. *(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 - Intituive TypeScript framework for building server-side apps on top of Express.js or Koa.js.
-
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.
- cat-ascii-faces - `₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”`.
- nerds - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
-
-
Related lists
-
Miscellaneous
- awesome-npm - Resources and tips for using npm.
- awesome-cross-platform-nodejs - Resources for writing and testing cross-platform code.
-
-
Resources
-
Articles
-
Blogs
- webapplog.com - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan.
-
Books
-
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
- 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
-
Discovery
- npmcompare.com - Compare and discover npm packages.
-
Miscellaneous
- 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.
-
Tools
- RunKit - Embed a Node.js environment on any website.
- npm semver calculator - Visually explore what versions of a package a semver range matches.
- 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.
- github-npm-stats - Chrome extension that displays npm download stats on GitHub.
- CodeSandbox - Online IDE and prototyping.
-
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.
-
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? - `libuv` architecture, thread pool, and event loop, with its source code.
- libuv Cross platform asynchronous i/o - `libuv` 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.
-
Programming Languages
Categories
Sub Categories
Command-line apps
49
Miscellaneous
42
Command-line utilities
40
Database
28
Testing
27
Parsing
23
Web frameworks
22
Mad science
19
Filesystem
17
Text
16
Debugging / Profiling
14
Streams
13
Videos
13
HTTP
12
Books
10
Job queues
10
Real-time
10
Weird
9
Image
9
Control flow
9
Build tools
8
Hardware
8
Tutorials
8
Process management
7
URL
7
Data validation
6
Node.js management
6
Articles
6
Date
6
Tools
6
Compression
6
Functional programming
6
Security
6
Natural language processing
5
Templating
5
Math
5
Logging
5
Network
5
Humanize
5
Minifiers
5
Content management systems
5
Community
5
Number
4
Email
4
Documentation
4
Courses
3
Cheatsheets
3
Static site generators
3
Serialization
3
Authentication
2
Authorization
2
Blogging
2
AST
2
Automation
2
Benchmarking
1
Blogs
1
Forum
1
Discovery
1
Keywords
nodejs
168
javascript
150
node
44
typescript
42
cli
30
npm-package
19
command-line
15
http
15
testing
14
postgresql
14
json
14
api
13
browser
12
mysql
12
framework
11
node-js
11
npm
10
server
10
mongodb
10
sqlite
9
redis
9
react
9
terminal
9
promise
9
rest
9
database
9
cli-app
8
shell
8
iot
8
web
8
js
7
stream
7
performance
7
windows
7
orm
7
es6
7
electron
7
node-module
6
html
6
express
6
koa
6
sql
6
macos
6
linux
6
microservices
6
mocha
5
graphql
5
async
5
webdriver
5
test
5