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
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.gzandzipfiles 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
- date-fns - Modern date utility.
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-templates - Create, preview, and send custom email templates.
Filesystem
- globby - Glob files with support for multiple patterns.
-
chokidar
- Filesystem watcher which stabilizes events from
fs.watchandfs.watchFileas well as using nativefseventson 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
fsmodule.
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
httpmodule. - 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
- imagemin - Image minifier.
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
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
- cat-names - Get popular cat names.
Related lists
Miscellaneous
- awesome-npm - Resources and tips for using npm.
Resources
Miscellaneous
- node-module-boilerplate - Boilerplate to kickstart creating a node module.
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.