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: 6 days ago
JSON representation
-
Official
-
Package Manager
-
Miscellaneous
- npm - The default package manager.
-
-
Packages
-
AST
- babel-parser - JavaScript parser used in Babel.
- Acorn - Tiny, fast JavaScript parser.
-
Authentication
-
Authorization
- CASL - Isomorphic authorization for UI and API.
- node-casbin - Authorization library that supports access control models like ACL, RBAC and ABAC.
-
Automation
-
Benchmarking
- Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results.
-
Blogging
-
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.
-
Command-line apps
- cpy - Copy files.
- lessmd - Markdown in the terminal.
- np - Better `npm publish`.
- 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 `rm`.
- speed-test - Test your internet connection speed and ping.
- pageres - Capture website screenshots.
- 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.
- 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.
- carbon-now-cli - Beautiful images of your code — from right inside your terminal.
- cash-cli - Convert between 170 currencies.
- discharge - Easily deploy static websites to Amazon S3.
- npkill - Easily find and remove old and heavy node_modules folders.
- taskbook - Tasks, boards & notes for the command-line habitat.
- themer - Generate themes for your editor, terminal, wallpaper, Slack, and more.
-
Command-line utilities
- log-symbols - Colored symbols for various log levels.
- figures - Unicode symbols with Windows CMD fallbacks.
- cross-env - Set environment variables cross-platform.
- shelljs - Portable Unix shell commands.
- 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.
- 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.
- 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.
- 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 in JavaScript.
- insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
-
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 [tar-fs](https://github.com/mafintosh/tar-fs).
-
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.
- AdminBro - Auto-generated admin panel with CRUD for all your resources.
- Graphweaver - CMS and headless GraphQL API.
- Factor - Vue.js dashboard framework and headless CMS.
-
Control flow
- 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.
- More…
- RxJS - Reactive programming.
- observable-to-promise - Convert an Observable to a Promise.
- More…
- Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
-
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.
- 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.
-
Database
- PostgreSQL - PostgreSQL client. Pure JavaScript and native libpq bindings.
- LevelUP - LevelDB.
- MySQL - MySQL client.
- couchdb-nano - CouchDB client.
- Aerospike - Aerospike client.
- Couchbase - Couchbase client.
- MongoDB - MongoDB driver.
- 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.
- Knex - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.
- 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.
- Redis - Redis client.
-
Data validation
- 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.
- joi - Object schema description language and validator for JavaScript objects.
-
Date
- Luxon - Library for working with dates and times.
- date-fns - Modern date utility.
- Day.js - Immutable date library alternative to Moment.js.
- dateformat - Date formatting.
- tz-format - Format a date with timezone: `2015-11-30T10:40:35+01:00`.
- cctz - Fast parsing, formatting, and timezone conversion for dates.
-
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.
- 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 [StatsD](https://github.com/statsd/statsd) client.
- vstream - Instrumentable streams mix-ins to inspect a pipeline of streams.
-
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.
-
Programming Languages
Sub Categories
Command-line apps
48
Miscellaneous
44
Command-line utilities
40
Database
29
Testing
28
Web frameworks
23
Parsing
23
Mad science
19
Filesystem
17
Text
16
Books
15
Debugging / Profiling
14
Streams
13
Videos
13
HTTP
12
Job queues
12
Tools
11
Articles
11
Hardware
10
Control flow
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