An open API service indexing awesome lists of open source software.

awesome-nodejs

:zap: Delightful Node.js packages and resources [BECAUSE OF TOO MUCH SPAM AND LOW-QUALITY SUBMISSIONS, SUBMISSIONS ARE PAUSED TEMPORARILY]
https://github.com/sindresorhus/awesome-nodejs

Last synced: 5 days ago
JSON representation

Official

Package Manager

Miscellaneous

  • pnpm - Disk space efficient package manager.
  • yarn - Alternative package manager.
  • bun - All-in-one toolkit for JavaScript and TypeScript apps.

Packages

AST

  • babel-parser - JavaScript parser used in Babel.
  • Acorn - Tiny, fast JavaScript parser.

Authentication

  • Passport - Simple, unobtrusive authentication.
  • Grant - OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more.

Authorization

  • CASL - Isomorphic authorization for UI and API.
  • node-casbin - Authorization library that supports access control models like ACL, RBAC and ABAC.

Automation

  • robotjs - Desktop Automation: control the mouse, keyboard and read the screen.
  • nut.js - Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest.

Benchmarking

  • Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results.

Blogging

  • Ghost - Simple, powerful publishing platform.
  • Hexo - Fast, simple and powerful blogging framework.

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.
  • 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.

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.
  • 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 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.

Email

  • Nodemailer - The fastest way to handle email.
  • emailjs - Send text/HTML emails with attachments to any SMTP server.