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

awesome-nodejs

Delightful Node.js packages and resources
https://github.com/tantum101/awesome-nodejs

Last synced: 24 days ago
JSON representation

Filtered by nodejs. Clear filters

Official

Packages

Authentication

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

Authorization

  • node-casbin - Authorization library that supports access control models like ACL, RBAC and ABAC.

Blogging

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

Build tools

  • pkg - Package your Node.js project into an executable.

Command-line apps

  • np - Better npm publish.
  • trash - Safer alternative to rm.
  • speed-test - Test your internet connection speed and ping.
  • is-online - Check if the internet connection is up.
  • XO - Enforce strict code style using the JavaScript happiness style.
  • bcat - Pipe command output to web browsers.
  • fkill - Fabulously kill processes. Cross-platform.
  • browser-run - Easily run code in a browser environment.
  • wallpaper - Change the desktop wallpaper.
  • trymodule - Try out npm packages in the terminal.
  • 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.
  • npkill - Easily find and remove old and heavy node_modules folders.

Command-line utilities

  • meow - CLI app helper.
  • terminal-link - Create clickable links in the terminal.
  • terminal-image - Display images in the terminal.
  • Inquirer.js - Interactive command-line prompt.
  • cli-table3 - Pretty unicode tables.
  • cli-columns - Columnated unicode and ansi-safe text lists.
  • cfonts - Sexy ASCII fonts for the console.
  • shelljs - Portable Unix shell commands.
  • gradient-string - Beautiful color gradients in terminal output.
  • oclif - CLI framework complete with parser, automatic documentation, testing, and plugins.
  • Cliffy - Framework for interactive CLIs.
  • zx - Write shell scripts JavaScript.

Compression

  • Archiver - Streaming interface for archive generation, supporting ZIP and TAR.
  • decompress - Decompression module with support for tar, tar.gz and zip files out of the box.

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.

Control flow

Database

  • Redis - Redis client.
  • 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.
  • 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.
  • 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.
  • Lowdb - Small JavaScript database powered by Lodash.
  • 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.

Date

Debugging / Profiling

  • locus - Starts a REPL at runtime that has access to all variables.
  • 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.
  • 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.

Email

Filesystem

  • globby - Glob files with support for multiple patterns.
  • chokidar - Filesystem watcher which stabilizes events from fs.watch and fs.watchFile as well as using native fsevents on macOS.
  • proper-lockfile - Inter-process and inter-machine lockfile utility.
  • istextorbinary - Check if a file is text or binary.
  • fs-extra - Extra methods for the fs module.

Forum

  • nodeBB - Forum platform for the modern web.

Hardware

  • serialport - Access serial ports for reading and writing.
  • 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.

HTTP

  • got - Nicer interface to the built-in http module.
  • undici - High performance HTTP client written from scratch with zero dependencies.
  • ky-universal - Universal HTTP client based on Fetch.
  • axios - Promise based HTTP client (works in the browser too).
  • 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 got.
  • 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.

Image

  • sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
  • ImageScript - Image processing in JavaScript, utilizing WebAssembly for performance.

Job queues

  • bull - Persistent job and message queue.
  • agenda - MongoDB-backed job scheduling.
  • node-resque - Redis-backed job queue.
  • rsmq - Redis-backed message queue.
  • sqs-consumer - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate.
  • bullmq - Persistent job and message queue.

Logging

  • pino - Extremely fast logger inspired by Bunyan.

Mad science

  • webtorrent - Streaming torrent client for Node.js and the browser.
  • BitcoinJS - Clean, readable, proven Bitcoin library.
  • NodeOS - The first operating system powered by npm.
  • YodaOS - AI operating system.
  • Brain.js - Machine-learning framework.
  • xlsx - Pure JS Excel spreadsheet reader and writer.
  • isomorphic-git - Pure JavaScript implementation of Git.

Minifiers

Miscellaneous

  • execa - Better child_process.
  • file-type - Detect the file type of a Buffer.
  • ow - Function argument validation for humans.
  • dotenv - Load environment variables from .env file.
  • nodegit - Native bindings to Git.
  • jsdom - JavaScript implementation of HTML and the DOM.
  • env-dot-prop - Get, set, or delete nested properties of process.env using a dot path.
  • emittery - Simple and modern async event emitter.
  • basic-ftp
  • genepi - Automatically generate a native Node.js addon from C++ code.
  • patch-package - Make and preserve fixes to npm dependencies.
  • wild-wild-path - Object property paths with wildcards and regexes.

Natural language processing

  • nlp.js - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more.

Network

  • getmac - Get the computer MAC address.
  • netcat - Netcat port in pure JS.

Node.js management

  • nave - Virtual Environments for Node.js.
  • nodeenv - Node.js virtual environment compatible to Python's virtualenv.
  • 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.

Parsing

  • nearley - Simple, fast, powerful parsing for JavaScript.
  • xml2js - XML to JavaScript object converter.

Process management

  • PM2 - Advanced Process Manager.
  • node-windows - Run scripts as a native Windows service and log to the Event viewer.
  • Phusion Passenger - Friendly process manager that integrates directly into Nginx.

Real-time

  • Socket.io - Enables real-time bidirectional event-based communication.
  • 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.
  • rpc-websockets - JSON-RPC 2.0 implementation over WebSockets.
  • Aedes - Barebone MQTT server that can run on any stream server.

Security

  • upash - Unified API for all password hashing algorithms.
  • crypto-hash - Async non-blocking hashing.

Streams

  • into-stream - Convert a buffer/string/array/object into a stream.
  • multistream - Combine multiple streams into a single stream.
  • readable-stream - Mirror of Streams2 and Streams3 implementations in core.

Templating

  • marko - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.

Testing

  • AVA - Futuristic test runner.
  • Mocha - Feature-rich test framework making asynchronous testing simple and fun.
  • loadtest - Run load tests for your web application, with an API for automation.
  • Nightwatch - Automated UI testing framework based on Selenium WebDriver.
  • CodeceptJS - End-to-end testing.
  • nve - Run any command on multiple versions of Node.js locally.

Text

  • i18next - Internationalization framework.

Web frameworks

  • Fastify - Fast and low overhead web framework.
  • Hapi - Framework for building applications and services.
  • 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)
  • ThinkJS - Framework with ES2015+ support, WebSockets, REST API.
  • ActionHero - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.
  • 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.
  • 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

Related lists

Miscellaneous

Resources

Miscellaneous

Tutorials

  • Node.js Best Practices - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages.
  • Portable Node.js guide - Practical guide on how to write portable/cross-platform Node.js code.