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

awesome-nodejs

Delightful Node.js packages and resources. Crawl and sort daily by AwesomelsBot
https://github.com/thoqbk/awesome-nodejs

Last synced: about 11 hours ago
JSON representation

  • Articles

    • art-of-readme - Learn the art of writing quality READMEs. - ★ 4859
  • AST

    • babel - ★ 30482
    • acorn - A small, fast, JavaScript-based JavaScript parser - ★ 4078
  • Authentication

    • passport - Simple, unobtrusive authentication for Node.js. - ★ 14463
    • grant - OAuth Middleware for Express, Koa and Hapi - ★ 1624
  • Authorization

    • casl - CASL is an isomorphic authorization JavaScript library which restricts what resources a given user is allowed to access - ★ 851
    • node-casbin - An authorization library that supports access control models like ACL, RBAC, ABAC in Node.js - ★ 192
  • Automation

    • robotjs - Node.js Desktop Automation. - ★ 7416
  • Benchmarking

    • benchmark.js - A benchmarking library. As used on jsPerf.com. - ★ 3797
    • matcha - A caffeine driven, simplistic approach to benchmarking. - ★ 500
  • Blogging

    • Ghost - The platform for professional publishers - ★ 27926
    • hexo - A fast, simple & powerful blog framework, powered by Node.js. - ★ 24169
  • Build tools

    • webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders," modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff. - ★ 45168
    • parcel - Blazing fast, zero configuration web application bundler - ★ 27943
    • rollup - Next-generation ES module bundler - ★ 14090
    • brunch - Fast front-end web app build tool with simple declarative config, seamless incremental compilation for rapid development, an opinionated pipeline and workflow, and core support for source maps. - ★ 6530
    • fuse-box - A blazing fast js bundler/loader with a comprehensive API - ★ 3554
    • broccoli - Browser compilation library – an asset pipeline for applications that run in the browser - ★ 3150
    • start - Functional task runner for Node.js - ★ 445
    • ygor - Task toolkit. For when `npm run` isn't enough and everything else is too much. - ★ 58
    • pkg - Package your Node.js project into an executable - ★ 11879
  • Cheatsheets

  • Command-line apps

    • lessmd - Minimal marked based unix terminal document viewer/pager with many features like markdown to terminal translation, file change watching and more. - ★ 93
    • pageres - Capture website screenshots - ★ 8453
    • localtunnel - expose yourself - ★ 7593
    • cash - Cross-platform Linux commands in ES6 - ★ 7567
    • gtop - System monitoring dashboard for terminal - ★ 7074
    • fkill-cli - Fabulously kill processes. Cross-platform. - ★ 5420
    • xo - JavaScript happiness style linter - ★ 4139
    • np - A better `npm publish` - ★ 3490
    • carbon-now-cli - Beautiful images of your code — from right inside your terminal. - ★ 3425
    • speed-test - Test your internet connection speed and ping using speedtest.net from the CLI - ★ 3034
    • vtop - Wow such top. So stats. More better than regular top. - ★ 3011
    • live-server - A simple development http server with live reload capability. - ★ 2422
    • cost-of-modules - Find out which of your dependencies are slowing you down - ★ 2263
    • trash - Move files and directories to the trash - ★ 1634
    • emoj - Find relevant emoji from text on the command-line - ★ 1557
    • auto-install - Install dependencies as you code - ★ 958
    • svg-term-cli - Share terminal sessions via SVG and CSS - ★ 884
    • jscpd - Copy/paste detector for programming source code. - ★ 855
    • david - Node.js module that tells you when your package npm dependencies are out of date. - ★ 846
    • license-checker - Check NPM package licenses - ★ 741
    • atmo - Mock data for your prototypes and demos. Remote deployments to Zeit now. - ★ 726
    • wallpaper - Manage the desktop wallpaper - ★ 552
    • is-online - Check if the internet connection is up - ★ 435
    • dark-mode - Control the macOS dark mode from the command-line - ★ 380
    • pjs - Pipeable javascript. Quickly filter, map, and reduce from the terminal - ★ 345
    • itunes-remote - Control iTunes via CLI - ★ 345
    • public-ip - Get your public IP address - very fast! - ★ 341
    • browser-run - The easiest way of running code in a browser environment - ★ 324
    • is-up - Check whether a website is up or down - ★ 297
    • discharge - A simple, easy way to deploy static websites to Amazon S3. - ★ 294
    • node-bcat - A pipe to browser utility - ★ 275
    • clipboard-cli - Access the system clipboard (copy/paste) - ★ 231
    • kill-tabs - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory - ★ 231
    • normit - Translations with speech synthesis in your terminal as a node package - ★ 193
    • iponmap - commandline IP location finder - ★ 175
    • dev-time-cli - Get the current local time of a GitHub user. - ★ 156
    • diff2html-cli - Simple CLI for diff2html library - ★ 154
    • wifi-password-cli - Get current wifi password - ★ 141
    • Jsome - Make your JSON look AWESOME - ★ 139
    • npm-home - Open the npm page, Yarn page, or GitHub repo of a package - ★ 135
    • brightness-cli - Change the screen brightness - ★ 130
    • tmpin - Add stdin support to any CLI app that accepts file input - ★ 109
    • subdownloader - Painless subtitle downloader - ★ 99
    • gh-home - Open the GitHub page of the given or current directory repo - ★ 98
    • empty-trash - Empty the trash - ★ 90
    • npm-name - Check whether a package name is available on npm - ★ 81
    • cash-cli - Convert Currency Rates using your terminal! - ★ 66
    • mobicon-cli - Mobile icon generator - ★ 57
    • mobisplash-cli - Mobile app splash screen generator - ★ 32
    • themer - themer takes a set of colors and generates themes for your apps (editors, terminals, wallpapers, and more). - ★ 1704
    • standard - JavaScript Style Guide, with linter & automatic code fixer - ★ 19655
    • http-server - a simple zero-configuration command-line http server - ★ 7629
    • taskbook - Tasks, boards & notes for the command-line habitat - ★ 5204
    • trymodule - It's never been easier to try nodejs modules! - ★ 1021
    • torrent - download torrents with node from the CLI - ★ 523
    • pen - We need a better Markdown previewer. - ★ 256
    • alex - Catch insensitive, inconsiderate writing - ★ 2798
  • Command-line utilities

    • shelljs - Portable Unix shell commands for Node.js - ★ 8718
    • cross-env - Cross platform setting of environment scripts - ★ 3137
    • log-symbols - Colored symbols for various log levels - ★ 361
    • figures - Unicode symbols with Windows CMD fallbacks - ★ 296
    • chalk - Terminal string styling done right - ★ 10582
    • Inquirer.js - A collection of common interactive command line user interfaces. - ★ 8564
    • blessed - A high-level terminal interface library for node.js. - ★ 7846
    • ink - React for interactive command-line apps - ★ 6445
    • yargs - yargs the modern, pirate-themed successor to optimist. - ★ 5397
    • bit - Easily share code between projects with your team. - ★ 4579
    • ora - Elegant terminal spinner - ★ 3972
    • oclif - Node.js Open CLI Framework. Built with by Heroku. - ★ 2767
    • listr - Terminal task list - ★ 1830
    • meow - CLI app helper - ★ 1552
    • omelette - Omelette is a simple, template based autocompletion tool for Node projects with super easy API. (For Bash, Zsh and Fish) - ★ 771
    • node-drawille - Drawing in terminal with unicode braille characters - ★ 763
    • log-update - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc. - ★ 523
    • boxen - Create boxes in the terminal - ★ 421
    • cfonts - Sexy fonts for the console - ★ 361
    • terminal-image - Display images in the terminal - ★ 356
    • conf - Simple config handling for your app or module - ★ 318
    • columnify - Create text-based columns suitable for console output. Supports cell wrapping. - ★ 315
    • gradient-string - Beautiful color gradients in terminal output - ★ 315
    • sparkly - Generate sparklines ▁▂▃▅▂▇ - ★ 279
    • node-multispinner - Multiple, simultaneous, individually controllable spinners for concurrent tasks in Node.js CLI programs - ★ 226
    • chart - Ansi charts for nodejs - ★ 221
    • loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail - ★ 220
    • ansi-escapes - ANSI escape codes for manipulating the terminal - ★ 219
    • get-stdin - Get stdin as a string or buffer - ★ 186
    • cliffy - NodeJS Framework for Interactive CLIs - ★ 161
    • terminal-link - Create clickable links in the terminal - ★ 130
    • yn - Parse yes/no like values - ★ 120
    • string-width - Get the visual width of a string - the number of columns required to display it - ★ 108
    • sudo-block - Block users from running your app with root permissions - ★ 63
    • first-run - Check if it's the first time the process is run - ★ 54
    • cli-cursor - Toggle the CLI cursor - ★ 50
    • cli-truncate - Truncate a string to a specific width in the terminal - ★ 32
    • cli-table3 - Pretty unicode tables for the command line - ★ 18
    • cli-columns - Columnated lists for the CLI. Unicode and ANSI safe. - ★ 14
    • term-size - Reliably get the terminal window size - ★ 76
    • update-notifier - Update notifications for your CLI app - ★ 1086
    • insight - Node.js module to help you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics - ★ 437
  • Compression

    • pako - high speed zlib port to javascript, works in browser & node.js - ★ 1911
    • node-archiver - a streaming interface for archive generation - ★ 1395
    • yauzl - yet another unzip library for node - ★ 342
    • decompress - Extracting archives made easy - ★ 249
    • tar-stream - tar-stream is a streaming tar parser and generator. - ★ 229
    • tar-fs - fs bindings for tar-stream - ★ 224
    • yazl - yet another zip library for node - ★ 162
  • Content management systems

    • tipe - Next Generation API-first CMS for developers. Generate an API-first CMS from a GraphQL schema with offline prototyping and an inline editor - ★ 1813
    • keystone - Node.js CMS and web app framework - ★ 13606
    • strapi - Node.js Content Management Framework (headless-CMS) to build powerful API with no effort. - ★ 9064
    • apostrophe - A CMS framework for Node.js that supports in-context editing, schema-driven content types, flexible widgets, and much more. Hint: start with the docs and use apostrophe-cli. - ★ 2410
  • Control flow

    • async - Async utilities for node and the browser - ★ 24879
    • bluebird - Bluebird is a full featured promise library with unmatched performance. - ★ 17527
    • rxjs - A reactive programming library for JavaScript - ★ 15738
    • highland - High-level streams library for Node.js and the browser - ★ 3036
    • promise-fun - Promise packages, patterns, chat, and tutorials - ★ 2045
    • pify - Promisify a callback-style function - ★ 1062
    • zen-observable - An Implementation of Observables for Javascript - ★ 457
    • p-map - Map over promises concurrently - ★ 310
    • delay - Delay a promise a specified amount of time - ★ 276
    • awesome-observables - Awesome Observable related stuff - An Observable is a collection that arrives over time. - ★ 239
    • each-async - Async concurrent iterator (async forEach) - ★ 104
    • promise-memoize - Memoize promise-returning functions. Includes cache expire and prefetch. - ★ 37
    • valvelet - Limit the execution rate of a function - ★ 18
    • js-csp - CSP channels for Javascript (like Clojurescript's core.async, or Go) - ★ 2168
  • Database

    • mongoose - MongoDB object modeling designed to work in an asynchronous environment. - ★ 17340
    • sequelize - An easy-to-use multi SQL dialect ORM for Node.js - ★ 16506
    • mysql - A pure node.js JavaScript Client implementing the MySql protocol. - ★ 13069
    • typeorm - ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. - ★ 9151
    • lowdb - lowdb is a small local JSON database powered by Lodash (supports Node, Electron and the browser) - ★ 9075
    • nedb - The JavaScript Database, for Node.js, nw.js, electron and the browser - ★ 9038
    • node-mongodb-native - Mongo DB Native NodeJS Driver - ★ 7429
    • node-postgres - PostgreSQL client for node.js. - ★ 6690
    • bookshelf - A simple Node.js ORM for PostgreSQL, MySQL and SQLite3 built on top of Knex.js - ★ 5224
    • waterline - An adapter-based ORM for Node.js with support for mysql, mongo, postgres, nedb, redis, and more - ★ 4796
    • levelup - A node.js wrapper for abstract-leveldown compliant stores - ★ 3395
    • objection.js - An SQL-friendly ORM for Node.js - ★ 3199
    • pg-promise - Promises/A+ interface for PostgreSQL - ★ 2004
    • couchnode - Couchbase Node.js Client Library (Official) - ★ 386
    • openrecord - Make ORMs great again! - ★ 321
    • couchdb-nano - Apache CouchDB Nano - ★ 226
    • aerospike-client-nodejs - Node.js client for the Aerospike database - ★ 153
    • finale - Create flexible REST endpoints and controllers from Sequelize models in your Express app - ★ 78
    • mongo-seeding - The ultimate solution for populating your MongoDB database. - ★ 41
    • database-js - Common Database Interface for Node - ★ 18
    • ioredis - A robust, performance-focused and full-featured Redis client for Node.js. - ★ 4972
    • keyv - Simple key-value storage with support for multiple backends - ★ 716
    • massive-js - A data mapper for Node.js and PostgreSQL. - ★ 2465
    • knex - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - ★ 8191
  • Data validation

    • joi - Object schema validation - ★ 9795
    • is-my-json-valid - A JSONSchema validator that uses code generation to be extremely fast - ★ 841
    • property-validator - Easy property validation for JavaScript, Node and Express. - ★ 142
    • ajv - The fastest JSON Schema Validator. Supports draft-04/06/07 - ★ 4529
    • schema-inspector - Schema-Inspector is an JSON API sanitisation and validation module. - ★ 453
  • Date

    • date-fns - Modern JavaScript date utility library - ★ 14943
    • luxon - A library for working with dates and times in JS - ★ 7204
    • node-dateformat - A node.js package for Steven Levithan's excellent dateFormat() function. - ★ 914
    • node-cctz - Fast parsing, formatting and timezone manipulations for dates - ★ 55
    • tz-format - Format a date with timezone - ★ 5
  • Debugging / Profiling

    • node-inspector - Node.js debugger based on Blink Developer Tools - ★ 12295
    • ndb - ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools - ★ 8436
    • iron-node - Debug Node.js code with Chrome Developer Tools. - ★ 2371
    • leakage - Memory leak testing for node. - ★ 1300
    • 0x - single-command flamegraph profiling - ★ 1153
    • why-is-node-running - Node is running but you don't know why? why-is-node-running is here to help you. - ★ 818
    • llnode - An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps. - ★ 592
    • locus - Locus is a debugging module for node.js - ★ 255
    • njsTrace - A Node.js tracing and instrumentation utility - ★ 231
    • stackman - He is like Batman, but for Node.js stack traces - ★ 173
    • ctrace - Well-formatted and improved trace system calls and signals (when the debugger does not help) - ★ 99
    • node-vstream - instrumented streams - ★ 54
    • debug - A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers - ★ 6923
  • Documentation

    • documentation - documentation for modern JavaScript - ★ 4132
    • esdoc - ESDoc - Good Documentation for JavaScript - ★ 2240
  • Email

    • nodemailer - Send e-mails with Node.JS – easy as cake! - ★ 10240
    • emailjs - html emails and attachments to any smtp server with nodejs - ★ 1688
    • email-templates - Create, preview, and send custom email templates for Node.js. Highly configurable and supports automatic inline CSS, stylesheets, embedded images and fonts, and much more! - ★ 2251
  • Filesystem

    • cpy - Copy files - ★ 189