{"id":21994,"url":"https://github.com/liujunjiun/awesome-nodejs-new","name":"awesome-nodejs-new","description":" Delightful Node.js packages and resources  https://liujunjiun.github.io","projects_count":590,"last_synced_at":"2026-08-14T17:00:21.547Z","repository":{"id":92853909,"uuid":"97089959","full_name":"liujunjiun/awesome-nodejs-new","owner":"liujunjiun","description":" Delightful Node.js packages and resources  https://liujunjiun.github.io","archived":false,"fork":false,"pushed_at":"2017-07-13T06:56:52.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-26T08:07:40.887Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liujunjiun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-07-13T06:52:25.000Z","updated_at":"2017-07-13T06:58:18.000Z","dependencies_parsed_at":"2023-03-29T01:06:20.251Z","dependency_job_id":null,"html_url":"https://github.com/liujunjiun/awesome-nodejs-new","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/liujunjiun/awesome-nodejs-new","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liujunjiun%2Fawesome-nodejs-new","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liujunjiun%2Fawesome-nodejs-new/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liujunjiun%2Fawesome-nodejs-new/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liujunjiun%2Fawesome-nodejs-new/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liujunjiun","download_url":"https://codeload.github.com/liujunjiun/awesome-nodejs-new/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liujunjiun%2Fawesome-nodejs-new/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36657087,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-14T02:00:06.934Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-13T12:56:13.160Z","updated_at":"2026-08-14T17:00:21.547Z","primary_language":"JavaScript","list_of_lists":false,"displayable":true,"categories":["Resources","Packages","License"],"sub_categories":["Miscellaneous","Control flow","Command-line utilities","Process management","Filesystem","Videos","Command-line apps","Articles","Books","Courses","Tools","Community","Documentation","Streams","Date","Authentication","Podcasts","Blogs","Parsing","Web frameworks","Automation","Debugging / Profiling","URL","Natural language processing","Image","Minifiers","Mad science","Build tools","Testing","Node.js management","Hardware","Humanize","Templating","Logging","Compression","Text","Static site generators","Database","Email","Real-time","HTTP","Number","Math","Polyfills","Functional programming","Cheatsheets","Weird","Data validation","Network","Job queues","Tutorials","Security","Benchmarking","AST","Discovery","Newsletters","Blogging"],"readme":"# Awesome Node.js \n\n[\u003cimg src=\"https://cdn.rawgit.com/gilbarbara/logos/e7b1dc2666c3dabe6c1276abd0a767b6ebd6af43/logos/nodejs-icon.svg\" align=\"right\" width=\"70\"\u003e](https://nodejs.org)\n\n\u003e A curated list of delightful Node.js [packages](#packages) and [resources](#resources).\n\nJust type [`node.cool`](https://node.cool) to go here ✨\n\n*You might also like [awesome-npm](https://github.com/liujunjiun).*\n*Please read the [contribution guidelines](contributing.md) before contributing.*\n\n\n---\n\n\u003cp align=\"center\"\u003e\u003csup\u003e🦄 Support \u003ca href=\"https://github.com/liujunjiun\"\u003emy open-source work\u003c/a\u003e by buying this awesome video course:\u003c/sup\u003e\u003cbr\u003e\u003cb\u003e\u003ca href=\"https://learnnode.com/friend/AWESOME\"\u003eLearn to build apps and APIs with Node.js\u003c/a\u003e by Wes Bos\u003c/b\u003e\u003cbr\u003e\u003csub\u003eTry his free \u003ca href=\"https://javascript30.com/friend/AWESOME\"\u003eJavaScript 30\u003c/a\u003e course for a taste of what to expect \u0026 check out his \u003ca href=\"https://ES6.io/friend/AWESOME\"\u003eES6\u003c/a\u003e, \u003ca href=\"https://ReactForBeginners.com/friend/AWESOME\"\u003eReact\u003c/a\u003e, \u003ca href=\"https://SublimeTextBook.com/friend/AWESOME\"\u003eSublime\u003c/a\u003e courses.\u003c/sub\u003e\u003c/p\u003e\n\n---\n\n\n\n\n## Contents\n\n- [Packages](#packages)\n\t- [Mad science](#mad-science)\n\t- [Command-line apps](#command-line-apps)\n\t- [Functional programming](#functional-programming)\n\t- [HTTP](#http)\n\t- [Debugging / Profiling](#debugging--profiling)\n\t- [Logging](#logging)\n\t- [Command-line utilities](#command-line-utilities)\n\t- [Build tools](#build-tools)\n\t- [Hardware](#hardware)\n\t- [Templating](#templating)\n\t- [Web frameworks](#web-frameworks)\n\t- [Documentation](#documentation)\n\t- [Filesystem](#filesystem)\n\t- [Control flow](#control-flow)\n\t- [Streams](#streams)\n\t- [Real-time](#real-time)\n\t- [Image](#image)\n\t- [Text](#text)\n\t- [Number](#number)\n\t- [Math](#math)\n\t- [Date](#date)\n\t- [URL](#url)\n\t- [Data validation](#data-validation)\n\t- [Parsing](#parsing)\n\t- [Humanize](#humanize)\n\t- [Compression](#compression)\n\t- [Network](#network)\n\t- [Database](#database)\n\t- [Testing](#testing)\n\t- [Security](#security)\n\t- [Benchmarking](#benchmarking)\n\t- [Minifiers](#minifiers)\n\t- [Authentication](#authentication)\n\t- [Email](#email)\n\t- [Job queues](#job-queues)\n\t- [Node.js management](#nodejs-management)\n\t- [Polyfills](#polyfills)\n\t- [Natural language processing](#natural-language-processing)\n\t- [Process management](#process-management)\n\t- [Automation](#automation)\n\t- [AST](#ast)\n\t- [Static site generators](#static-site-generators)\n\t- [Content management systems](#content-management-systems)\n\t- [Forum](#forum)\n\t- [Blogging](#blogging)\n\t- [Weird](#weird)\n\t- [Miscellaneous](#miscellaneous)\n- [Resources](#resources)\n\t- [Tutorials](#tutorials)\n\t- [Discovery](#discovery)\n\t- [Articles](#articles)\n\t- [Newsletters](#newsletters)\n\t- [Videos](#videos)\n\t- [Podcasts](#podcasts)\n\t- [Books](#books)\n\t- [Blogs](#blogs)\n\t- [Courses](#courses)\n\t- [Cheatsheets](#cheatsheets)\n\t- [Tools](#tools)\n\t- [Community](#community)\n\t- [Miscellaneous](#miscellaneous)\n\n\n## Packages\n\n### Mad science\n\n- [webtorrent](https://github.com/feross/webtorrent) - Streaming torrent client for Node.js and the browser.\n- [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client.\n- [dat](http://dat-data.com) - Real-time replication and versioning for data sets.\n- [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files.\n- [GitTorrent](https://github.com/cjb/GitTorrent) - Peer-to-peer network of Git repositories being shared over BitTorrent.\n- [stackgl](http://stack.gl) - Open software ecosystem for WebGL, built on top of browserify and npm.\n- [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent.\n- [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast.\n- [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library.\n- [Bitcore](https://bitcore.io) - Pure and powerful Bitcoin library.\n- [PDFKit](http://pdfkit.org) - PDF generation library.\n- [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine.\n- [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.\n- [NodeOS](http://node-os.com) - The first operating system powered by npm.\n- [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework.\n- [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis.\n- [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table.\n- [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser.\n- [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git.\n- [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine.\n\n\n### Command-line apps\n\n- [np](https://github.com/sindresorhus/np) - Better `npm publish`.\n- [trash](https://github.com/sindresorhus/trash) - Safer alternative to `rm`.\n- [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm.\n- [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping.\n- [emoj](https://github.com/sindresorhus/emoj) - Find relevant emoji from text on the command-line.\n- [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots.\n- [cpy](https://github.com/sindresorhus/cpy) - Copy files.\n- [vtop](https://github.com/MrRio/vtop) - More better top, with nice charts.\n- [empty-trash](https://github.com/sindresorhus/empty-trash) - Empty the trash.\n- [is-up](https://github.com/sindresorhus/is-up) - Check whether a website is up or down.\n- [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up.\n- [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address.\n- [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Copy \u0026 paste on the terminal.\n- [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc.\n- [XO](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style.\n- [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all.\n- [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript.\n- [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user.\n- [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date.\n- [http-server](https://github.com/indexzero/http-server) - Simple, zero-config command-line HTTP server.\n- [Live Server](https://github.com/tapio/live-server) - Development HTTP-server with livereload capability.\n- [bcat](https://github.com/kessler/node-bcat) - Pipe command output to web browsers.\n- [normit](https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal.\n- [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor.\n- [jsinspect](https://github.com/danielstjules/jsinspect) - Detect copy-pasted and structurally similar code.\n- [esformatter](https://github.com/millermedeiros/esformatter) - JavaScript code beautifier/formatter.\n- [fkill](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform.\n- [pjs](https://github.com/danielstjules/pjs) - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.\n- [license-checker](https://github.com/davglass/license-checker) - Check licenses of your app's dependencies.\n- [browser-run](https://github.com/juliangruber/browser-run) - Easily run code in a browser environment.\n- [tmpin](https://github.com/sindresorhus/tmpin) - Adds stdin support to any CLI app that accepts file input.\n- [modhelp](https://github.com/runvnc/modhelp) - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager.\n- [wifi-password](https://github.com/kevva/wifi-password-cli) - Get the current wifi password.\n- [wallpaper](https://github.com/sindresorhus/wallpaper) - Change the desktop wallpaper.\n- [brightness](https://github.com/kevva/brightness-cli) - Change the screen brightness.\n- [torrent](https://github.com/maxogden/torrent) - Download torrents.\n- [tfa](https://github.com/jasnell/tfa) - Two-factor authentication client.\n- [rtail](https://github.com/kilianc/rtail) - Terminal output to the browser in seconds, using UNIX pipes.\n- [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.\n- [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing.\n- [vantage](https://github.com/dthree/vantage) - Distributed, realtime CLI for your live app.\n- [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor.\n- [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series.\n- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode.\n- [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder.\n- [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation.\n- [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes.\n- [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme.\n- [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator.\n- [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator.\n- [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator.\n- [Cash](https://github.com/dthree/cash) - Cross-platform Unix shell commands in pure JavaScript.\n- [vaca](https://github.com/sindresorhus/vaca) - Get a random ASCII 🐮.\n- [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory.\n- [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package.\n- [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal.\n- [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML.\n- [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code.\n- [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking.\n- [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code.\n- [lessmd](https://github.com/linuxenko/lessmd) - Markdown in the terminal.\n- [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down.\n- [localtunnel](https://github.com/localtunnel/localtunnel) - Expose your localhost to the world.\n\n\n### Functional programming\n\n- [lodash](https://lodash.com) - Utility library delivering consistency, customization, performance, \u0026 extras. A better and faster Underscore.js.\n- [immutable](https://github.com/facebook/immutable-js) - Immutable data collections.\n- [mori](http://swannodette.github.io/mori/) - Library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.\n- [Ramda](http://ramdajs.com) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.\n- [Folktale](http://folktalejs.org) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse.\n- [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt.\n- [Mout](http://moutjs.com) - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.\n- [Bacon.js](http://baconjs.github.io) - Functional reactive programming.\n- [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data.\n- [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases.\n- [Kefir.js](https://github.com/rpominov/kefir) - Reactive library with focus on high performance and low memory usage.\n\n\n### HTTP\n\n- [got](https://github.com/sindresorhus/got) - Nicer interface to the built-in `http` module.\n- [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API.\n- [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too).\n- [request](https://github.com/request/request) - Simplified HTTP request client.\n- [Nock](https://github.com/pgte/nock) - HTTP mocking and expectations library.\n- [spdy](https://github.com/indutny/node-spdy) - Creates SPDY servers with the same API as the built-in `https` module.\n- [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities.\n- [download](https://github.com/kevva/download) - Download and extract files effortlessly.\n- [http-proxy](https://github.com/nodejitsu/node-http-proxy) - HTTP proxy.\n- [rocky](https://github.com/h2non/rocky) - Featured, middleware-oriented HTTP proxy with traffic replay and intercept.\n- [superagent](https://github.com/visionmedia/superagent) - HTTP request library.\n- [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js.\n- [flashheart](https://github.com/bbc/flashheart) - REST client.\n- [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.\n\n\n### Debugging / Profiling\n\n- [ironNode](https://github.com/s-a/iron-node) - Node.js debugger supporting ES2015 out of the box.\n- [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools.\n- [devtool](https://github.com/Jam3/devtool) - Run Node.js programs through Chrome Dev Tools.\n- [Theseus](https://github.com/adobe-research/theseus) - JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree.\n- [longjohn](https://github.com/mattinsler/longjohn) - Long stack traces with configurable call trace length.\n- [debug](https://github.com/visionmedia/debug) - Tiny debugging utility.\n- [jstrace](https://github.com/jstrace/jstrace) - Dynamic tracing for JavaScript, similar to dtrace, ktap etc.\n- [why-is-node-running](https://github.com/mafintosh/why-is-node-running) - Node.js is running but you don't know why?\n- [njsTrace](https://github.com/valyouw/njstrace) - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.\n- [vstream](https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams.\n- [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies.\n- [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables.\n- [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome.\n- [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling.\n- [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals.\n- [leakage](https://github.com/andywer/leakage) - Write memory leak tests.\n\n\n### Logging\n\n- [pino](https://github.com/pinojs/pino) - Extremely fast logger inspired by Bunyan.\n- [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library.\n- [Bunyan](https://github.com/trentm/node-bunyan) - JSON logging library.\n- [intel](http://seanmonstar.github.io/intel/) - Logging library (handlers, filters, formatters, console injection).\n- [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes.\n- [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories.\n\n\n### Command-line utilities\n\n- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right.\n- [meow](https://github.com/sindresorhus/meow) - CLI app helper.\n- [minimist](https://github.com/substack/minimist) - Parse command-line flags.\n- [get-stdin](https://github.com/sindresorhus/get-stdin) - Easier stdin.\n- [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner.\n- [log-update](https://github.com/sindresorhus/log-update) - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.\n- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt.\n- [listr](https://github.com/samverschueren/listr) - Terminal task list.\n- [conf](https://github.com/sindresorhus/conf) - Simple config handling for your app or module.\n- [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app.\n- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal.\n- [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels.\n- [figures](https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks.\n- [boxen](https://github.com/sindresorhus/boxen) - Create boxes in the terminal.\n- [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it.\n- [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal.\n- [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run.\n- [vorpal](https://github.com/dthree/vorpal) - Interactive CLI apps.\n- [blessed](https://github.com/chjj/blessed) - Curses-like library.\n- [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values.\n- [cli-table](https://github.com/Automattic/cli-table) - Pretty unicode tables.\n- [drawille](https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters.\n- [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions.\n- [googleauth](https://github.com/maxogden/googleauth) - Create and load persistent Google authentication tokens for command-line apps.\n- [ascii-charts](https://github.com/jstrace/chart) - ASCII bar chart in the terminal.\n- [progress](https://github.com/tj/node-progress) - Flexible ascii progress bar.\n- [insight](https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.\n- [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor.\n- [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping.\n- [cli-columns](https://github.com/shannonmoeller/cli-columns) - Columnated unicode and ansi-safe text lists.\n- [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console.\n- [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners.\n- [omelette](https://github.com/f/omelette) - Shell autocompletion helper.\n- [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform.\n- [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands.\n- [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail.\n- [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇\n- [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal.\n- [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface.\n- [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`.\n- [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories.\n\n\n### Build tools\n\n- [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser.\n- [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler.\n- [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config.\n- [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way.\n- [Broccoli](https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.\n- [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.\n- [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch.\n- [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining.\n- [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much.\n- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc.\n- [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises.\n- [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.\n- [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable.\n\n\n### Hardware\n\n- [johnny-five](https://github.com/rwaldron/johnny-five) - Firmata based Arduino Framework.\n- [serialport](https://github.com/voodootikigod/node-serialport) - Access serial ports for reading and writing.\n- [usb](https://github.com/nonolith/node-usb) - USB library.\n- [cylon.js](http://cylonjs.com) - Next generation robotics framework with support for 26 different platforms.\n- [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access.\n- [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection.\n- [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access.\n- [pigpio](https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.\n\n\n### Templating\n\n- [marko](https://github.com/marko-js/marko) - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.\n- [nunjucks](https://github.com/mozilla/nunjucks) - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).\n- [handlebars.js](https://github.com/wycats/handlebars.js) - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.\n- [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates.\n- [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language.\n- [Pug](https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml.\n\n\n### Web frameworks\n\n- [Hapi](http://hapijs.com) - Framework for building applications and services.\n- [Koa](http://koajs.com) - Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.\n- [Express](http://expressjs.com) - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.\n- [Feathers](http://feathersjs.com) - Microservice framework built in the spirit of Express.\n- [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources.\n- [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))*\n- [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API.\n- [Restify](http://restify.com) - Enables you to build correct REST web services.\n- [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface.\n- [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering.\n- [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API.\n- [ActionHero](http://www.actionherojs.com) - Framework for making reusable \u0026 scalable APIs for TCP sockets, WebSockets, and HTTP clients.\n- [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack.\n- [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered universal JavaScript web apps.\n- [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps.\n- [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices.\n- [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.\n- [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io).\n\n\n### Documentation\n\n- [Docco](http://jashkenas.github.io/docco/) - Documentation generator which produces an HTML document that displays your comments intermingled with your code.\n- [JSDoc](http://usejsdoc.org) - API documentation generator similar to JavaDoc or PHPDoc.\n- [dox](https://github.com/tj/dox) - JavaScript documentation generator using Markdown and JSDoc.\n- [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator.\n- [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs.\n- [documentation.js](http://documentation.js.org) - API documentation generator with support for ES2015+ and flow annotation.\n- [YUIDoc](http://yui.github.com/yuidoc/) - Generates API documentation from comments in source.\n- [ESDoc](https://esdoc.org) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage.\n\n\n### Filesystem\n\n- [del](https://github.com/sindresorhus/del) - Delete files/folders using globs.\n- [globby](https://github.com/sindresorhus/globby) - Glob files with support for multiple patterns.\n- [cpy](https://github.com/sindresorhus/cpy) - Copy files.\n- [rimraf](https://github.com/isaacs/rimraf) - Recursively delete files like `rm -rf`.\n- [make-dir](https://github.com/sindresorhus/make-dir) - Recursively create directories like `mkdir -p`.\n- [graceful-fs](https://github.com/isaacs/node-graceful-fs) - Drop-in replacement for the `fs` module with various improvements.\n- [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS.\n- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories.\n- [proper-lockfile](https://github.com/IndigoUnited/node-proper-lockfile) - Inter-process and inter-machine lockfile utility.\n- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file.\n- [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically.\n- [fs-write-stream-atomic](https://github.com/npm/fs-write-stream-atomic) - Like `fs.createWriteStream()`, but atomic.\n- [filenamify](https://github.com/sindresorhus/filenamify) - Convert a string to a valid filename.\n- [lnfs](https://github.com/kevva/lnfs) - Force create symlinks like `ln -fs`.\n- [istextorbinary](https://github.com/bevry/istextorbinary) - Check if a file is text or binary.\n- [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use.\n- [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module.\n- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package.\n- [sander](https://github.com/rich-harris/sander) - Promise-based replacement for the `fs` module.\n- [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system.\n\n\n### Control flow\n\n- Promises\n\t- [Bluebird](https://github.com/petkaantonov/bluebird) - Promise library with focus on innovative features and performance.\n\t- [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function.\n\t- [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time.\n\t- [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch.\n\t- [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function.\n\t- [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently.\n\t- [More…](https://github.com/wbinnssmith/awesome-promises)\n- Observables\n\t- [zen-observable](https://github.com/zenparsing/zen-observable) - Implementation of Observables.\n\t- [RxJS](https://github.com/ReactiveX/RxJS) - Reactive programming.\n\t- [observable-to-promise](https://github.com/sindresorhus/awesome-observables) - Convert an Observable to a Promise.\n\t- [More…](https://github.com/sindresorhus/awesome-observables)\n- Generators\n\t- [co](https://github.com/tj/co) - The ultimate generator based flow-control goodness.\n\t- [bluebird-co](https://github.com/novacrazy/bluebird-co) - High performance yield handlers for Bluebird coroutines.\n\t- [iterum](https://github.com/xgbuils/iterum) - Build generator pipelines using Array-like methods.\n- Streams\n\t- [Highland.js](http://highlandjs.org) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.\n- Callbacks\n\t- [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach.\n\t- [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity.\n- Channels\n\t- [js-csp](https://github.com/jlongster/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go).\n- Other\n\t- [zone](https://github.com/strongloop/zone) - Provides a way to group and track resources and errors across asynchronous operations.\n\n\n### Streams\n\n- [through2](https://github.com/rvagg/through2) - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.\n- [from2](https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, inspired by `through2`.\n- [get-stream](https://github.com/sindresorhus/get-stream) - Get a stream as a string or buffer.\n- [into-stream](https://github.com/sindresorhus/into-stream) - Convert a buffer/string/array/object into a stream.\n- [duplexify](https://github.com/mafintosh/duplexify) - Turn a writeable and readable stream into a single streams2 duplex stream.\n- [pumpify](https://github.com/mafintosh/pumpify) - Combine an array of streams into a single duplex stream.\n- [peek-stream](https://github.com/mafintosh/peek-stream) - Transform stream that lets you peek the first line before deciding how to parse it.\n- [binary-split](https://github.com/maxogden/binary-split) - Newline (or any delimiter) splitter stream.\n- [byline](https://github.com/jahewson/node-byline) - Super-simple line-by-line Stream reader.\n- [first-chunk-stream](https://github.com/sindresorhus/first-chunk-stream) - Transform the first chunk in a stream.\n- [pad-stream](https://github.com/sindresorhus/pad-stream) - Pad each line in a stream.\n- [multistream](https://github.com/feross/multistream) - Combine multiple streams into a single stream.\n- [stream-combiner2](https://github.com/substack/stream-combiner2) - Turn a pipeline into a single stream.\n- [readable-stream](https://github.com/nodejs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core.\n- [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently.\n- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes.\n\n\n### Real-time\n\n- [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server \u0026 client library.\n- [Socket.io](http://socket.io) - Enables real-time bidirectional event-based communication.\n- [SockJS](https://github.com/sockjs/sockjs-node) - Low latency, full duplex, cross-domain channel browser-server, with WebSockets or without.\n- [Faye](http://faye.jcoglan.com) - Real-time client-server message bus, based on Bayeux protocol.\n- [SocketCluster](https://github.com/SocketCluster/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.\n- [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in.\n- [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework.\n- [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework.\n- [Kalm](https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework.\n- [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.\n\n\n### Image\n\n- [sharp](https://github.com/lovell/sharp) - The fastest module for resizing JPEG, PNG, WebP and TIFF images.\n- [image-type](https://github.com/sindresorhus/image-type) - Detect the image type of a Buffer/Uint8Array.\n- [gm](https://github.com/aheckmann/gm) - GraphicsMagick and ImageMagick wrapper.\n- [lwip](https://github.com/EyalAr/lwip) - Lightweight image processor which does not require ImageMagick.\n- [pica](https://github.com/nodeca/pica) - High quality \u0026 fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.\n- [jimp](https://github.com/oliver-moran/jimp) - Image processing in pure JavaScript.\n- [is-progressive](https://github.com/sindresorhus/is-progressive) - Check if a JPEG image is progressive.\n- [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download.\n\n\n### Text\n\n- [Underscore.string](https://github.com/epeli/underscore.string) - Collection of string manipulation utilities.\n- [iconv-lite](https://github.com/ashtuchkin/iconv-lite) - Convert character encodings.\n- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.\n- [camelcase](https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.\n- [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) - Escape RegExp special characters.\n- [execall](https://github.com/sindresorhus/execall) - Find multiple RegExp matches in a string.\n- [splice-string](https://github.com/sindresorhus/splice-string) - Remove or replace part of a string like `Array#splice`.\n- [indent-string](https://github.com/sindresorhus/indent-string) - Indent each line in a string.\n- [strip-indent](https://github.com/sindresorhus/strip-indent) - Strip leading whitespace from every line in a string.\n- [detect-indent](https://github.com/sindresorhus/detect-indent) - Detect the indentation of code.\n- [he](https://github.com/mathiasbynens/he) - HTML entity encoder/decoder.\n- [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage.\n- [babelfish](https://github.com/nodeca/babelfish) - i18n with very easy syntax for plurals.\n- [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph.\n- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching.\n- [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters.\n\n\n### Number\n\n- [random-int](https://github.com/sindresorhus/random-int) - Generate a random integer.\n- [random-float](https://github.com/sindresorhus/random-float) - Generate a random float.\n- [unique-random](https://github.com/sindresorhus/unique-random) - Generate random numbers that are consecutively unique.\n- [round-to](https://github.com/sindresorhus/round-to) - Round a number to a specific number of decimal places: `1.234` → `1.2`.\n\n\n### Math\n\n- [ndarray](https://github.com/scijs/ndarray) - Multidimensional arrays.\n- [mathjs](https://github.com/josdejong/mathjs) - An extensive math library.\n- [math-sum](https://github.com/sindresorhus/math-sum) - Sum numbers.\n- [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number.\n- [algebra](https://github.com/fibo/algebra) - Algebraic structures.\n\n\n### Date\n\n- [date-fns](https://github.com/date-fns/date-fns) - Modern date utility.\n- [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates.\n- [Moment Timezone](http://momentjs.com/timezone/) - IANA Time Zone Database + Moment.js.\n- [dateformat](https://github.com/felixge/node-dateformat) - Date formatting.\n- [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`.\n- [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates.\n\n\n### URL\n\n- [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL.\n- [humanize-url](https://github.com/sindresorhus/humanize-url) - Humanize a URL: http://sindresorhus.com → sindresorhus.com.\n- [url-unshort](https://github.com/nodeca/url-unshort) - Expand shortened URLs.\n- [speakingurl](https://github.com/pid/speakingurl) - Generate a slug from a string with transliteration.\n- [linkify-it](https://github.com/markdown-it/linkify-it) - Link patterns detector with full unicode support.\n- [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings.\n- [embedza](https://github.com/nodeca/embedza) - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.\n\n\n### Data validation\n\n- [joi](https://github.com/hapijs/joi) - Object schema description language and validator for JavaScript objects.\n- [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast.\n- [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express.\n- [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation.\n- [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5 proposals.\n\n\n### Parsing\n\n- [remark](https://github.com/wooorm/remark) - Markdown processor powered by plugins.\n- [markdown-it](https://github.com/markdown-it/markdown-it) - Markdown parser with 100% CommonMark support, extensions and syntax plugins.\n- [parse5](https://github.com/inikulin/parse5) - Fast full-featured spec compliant HTML parser.\n- [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON.\n- [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS.\n- [parse-json](https://github.com/sindresorhus/parse-json) - Parse JSON with more helpful errors.\n- [URI.js](https://github.com/medialize/URI.js) - URL mutation.\n- [PostCSS](https://github.com/postcss/postcss) - CSS parser / stringifier.\n- [JSONStream](https://github.com/dominictarr/JSONStream) - Streaming JSON.parse and stringify.\n- [neat-csv](https://github.com/sindresorhus/neat-csv) - Fast CSV parser. Callback interface for the above.\n- [csv-parser](https://github.com/mafintosh/csv-parser) - Streaming CSV parser that aims to be faster than everyone else.\n- [PEG.js](https://github.com/pegjs/pegjs) - Simple parser generator that produces fast parsers with excellent error reporting.\n- [x-ray](https://github.com/lapwinglabs/x-ray) - Web scraping utility.\n- [nearley](https://github.com/Hardmath123/nearley) - Simple, fast, powerful parsing for JavaScript.\n- [binary-extract](https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of JSON without parsing the whole thing.\n- [json-mask](https://github.com/nemtsov/json-mask) - Tiny language and engine for selecting parts of an object, hiding/masking the rest.\n- [Stylecow](https://github.com/stylecow/stylecow) - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.\n- [js-yaml](https://github.com/nodeca/js-yaml) - Very fast YAML parser.\n- [excel-stream](https://github.com/dominictarr/excel-stream) - Streaming Excel spreadsheet to JSON parser.\n- [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter.\n- [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.\n- [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers.\n- [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers.\n- [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX.\n\n\n### Humanize\n\n- [pretty-bytes](https://github.com/sindresorhus/pretty-bytes) - Convert bytes to a human readable string: `1337` → `1.34 kB`.\n- [pretty-ms](https://github.com/sindresorhus/pretty-ms) - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`.\n- [ms](https://github.com/rauchg/ms.js) - Tiny millisecond conversion utility.\n- [pretty-error](https://github.com/AriaMinaei/pretty-error) - Errors with less clutter.\n- [humanize](https://github.com/taijinlee/humanize) - Data formatter for human readability.\n- [read-art](https://github.com/Tjatse/node-readability) - Extract readable content from any page.\n\n\n### Compression\n\n- [yazl](https://github.com/thejoshwolfe/yazl) - Zip.\n- [yauzl](https://github.com/thejoshwolfe/yauzl) - Unzip.\n- [Archiver](https://github.com/archiverjs/node-archiver) - Streaming interface for archive generation, supporting ZIP and TAR.\n- [pako](https://github.com/nodeca/pako) - High speed zlib port to pure js (deflate, inflate, gzip).\n- [tar-stream](https://github.com/mafintosh/tar-stream) - Streaming tar parser and generator. Also see [tar-fs](https://github.com/mafintosh/tar-fs).\n- [decompress](https://github.com/kevva/decompress) - Decompression module with support for `tar`, `tar.gz` and `zip` files out of the box.\n\n\n### Network\n\n- [get-port](https://github.com/sindresorhus/get-port) - Get an available port.\n- [ipify](https://github.com/sindresorhus/ipify) - Get your public IP address.\n- [getmac](https://github.com/bevry/getmac) - Get the computer MAC address.\n- [polo](https://github.com/mafintosh/polo) - Zero-config service discovery.\n\n\n### Database\n\n- Drivers\n\t- [PostgreSQL](https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings.\n\t- [Redis](https://github.com/luin/ioredis) - Redis client.\n\t- [LevelUP](https://github.com/Level/levelup) - LevelDB.\n\t- [MySQL](https://github.com/mysqljs/mysql) - MySQL client.\n\t- [nano](https://github.com/dscape/nano) - CouchDB client.\n\t- [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client.\n\t- [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client.\n\t- [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver.\n- ODM / ORM\n\t- [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.\n\t- [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.\n\t- [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool.\n\t- [Mongoose](http://mongoosejs.com) - Elegant MongoDB object modeling.\n\t- [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.\n\t- [Iridium](https://github.com/SierraSoftworks/Iridium) - MongoDB ORM with support for promises, distributed caching, preprocessing, validation and plugins.\n\t- [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.\n\t- [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB.\n\t- [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more.\n\t- [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises.\n\t- [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex.\n- Query builder\n\t- [Knex](http://knexjs.org) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.\n- Other\n\t- [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript.\n\t- [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash.\n\n\n### Testing\n\n- [AVA](https://ava.li) - Futuristic test runner.\n- [Mocha](http://mochajs.org) - Feature-rich test framework making asynchronous testing simple and fun.\n- [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses.\n- [tap](https://github.com/isaacs/node-tap) - TAP test framework.\n- [tape](https://github.com/substack/tape) - TAP-producing test harness.\n- [power-assert](https://github.com/power-assert-js/power-assert) - Provides descriptive assertion messages through the standard assert interface.\n- [Mochify](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver.\n- [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.\n- [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation.\n- [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs and mocks.\n- [navit](https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting.\n- [nock](https://github.com/pgte/nock) - HTTP mocking and expectations.\n- [intern](https://github.com/theintern/intern) - Code testing stack.\n- [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions.\n- [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr.\n- [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM.\n- [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver.\n- [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol.\n- [Jest](https://github.com/facebook/jest) - Painless JavaScript testing.\n- [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing.\n\n\n### Security\n\n- [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find \u0026 fix vulnerable npm dependencies.\n- [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project.\n- [RegEx-DoS](https://github.com/jagracey/RegEx-DoS) - CLI tool to identify possible regex denial of service (ReDos) vulnerabilities in your project.\n\n\n### Benchmarking\n\n- [Benchmark.js](http://benchmarkjs.com) - Benchmarking library that supports high-resolution timers and returns statistically significant results.\n- [matcha](https://github.com/logicalparadox/matcha) - Simplistic approach to benchmarking.\n\n\n### Minifiers\n\n- [babili](https://github.com/babel/babili) - ES2015+ aware minifier based on the Babel toolchain.\n- [UglifyJS2](http://lisperator.net/uglifyjs/) - JavaScript minifier.\n- [clean-css](https://github.com/jakubpawlowicz/clean-css) - CSS minifier.\n- [minimize](https://github.com/Swaagie/minimize) - HTML minifier.\n- [imagemin](https://github.com/imagemin/imagemin) - Image minifier.\n\n\n### Authentication\n\n- [Passport](http://passportjs.org) - Simple, unobtrusive authentication.\n- [everyauth](https://github.com/bnoguchi/everyauth) - Authentication and authorization (password, Facebook, etc) for your Connect and Express apps.\n- [passwordless](https://passwordless.net) - Token-based authentication middleware for Express allowing authentication without passwords.\n- [Lockit](https://github.com/zemirco/lockit) - Full featured authentication solution for Express. Supports a variety of databases, predefined routes, email and two-factor authentication.\n- [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi.\n- [CloudRail](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …).\n\n\n### Email\n\n- [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email.\n- [emailjs](https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server.\n\n\n### Job queues\n\n- [kue](https://github.com/Automattic/kue) - Priority job queue backed by Redis.\n- [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue.\n- [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB.\n- [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control.\n- [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue.\n\n\n### Node.js management\n\n- [n](https://github.com/tj/n) - Node.js version management.\n- [nave](https://github.com/isaacs/nave) - Virtual Environments for Node.js.\n- [nodeenv](https://github.com/ekalinin/nodeenv) - Node.js virtual environment compatible to Python's virtualenv.\n- [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows.\n\n\n### Polyfills\n\n- Node.js\n\t- [user-info](https://github.com/sindresorhus/user-info) - Node.js 6 `os.userInfo()` ponyfill.\n\t- [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3 `buffer.includes()` ponyfill.\n\t- [deep-strict-equal](https://github.com/sindresorhus/deep-strict-equal) - Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module.\n- JavaScript\n\t- [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill.\n\t- [es6-shim](https://github.com/paulmillr/es6-shim) - Collection of ES2015 polyfills.\n\n\n### Natural language processing\n\n- [retext](https://github.com/wooorm/retext) - An extensible natural language system.\n- [franc](https://github.com/wooorm/franc) - Detect the language of text.\n- [leven](https://github.com/sindresorhus/leven) - Measure the difference between two strings using the Levenshtein distance algorithm.\n- [natural](https://github.com/NaturalNode/natural) - Natural language facility.\n\n\n### Process management\n\n- [PM2](https://github.com/Unitech/pm2) - Advanced Process Manager.\n- [nodemon](https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server.\n- [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app.\n- [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog.\n- [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer.\n- [forever](https://github.com/foreverjs/forever) - Ensures that a given script runs continuously.\n- [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes.\n- [Phusion Passenger](https://www.phusionpassenger.com) - Friendly process manager that integrates directly into Nginx.\n- [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment.\n\n\n### Automation\n\n- [robotjs](https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen.\n\n\n### AST\n\n- [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser.\n- [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST.\n\n\n### Static site generators\n\n- [Metalsmith](http://www.metalsmith.io) - Pluggable static site generator.\n- [Wintersmith](http://wintersmith.io) - Flexible, minimalistic, multi-platform static site generator.\n- [Assemble](http://assemble.io) - Static site generator for Node.js, Grunt.js, and Yeoman.\n- [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem.\n- [Phenomic](https://phenomic.io) - Modern static website generator based on the React and Webpack ecosystem.\n- [docsify](https://docsify.js.org) - Markdown documentation site generator with no statically built HTML files.\n\n\n### Content management systems\n\n- [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB.\n- [Apostrophe2](http://apostrophenow.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.\n\n\n### Forum\n\n- [nodeBB](https://nodebb.org) - Forum platform for the modern web.\n\n\n### Blogging\n\n- [ghost](https://ghost.org) - Simple, powerful publishing platform.\n- [Hexo](https://hexo.io) - Fast, simple and powerful blogging framework.\n\n\n### Weird\n\n- [cows](https://github.com/sindresorhus/cows) - ASCII cows.\n- [superb](https://github.com/sindresorhus/superb) - Get superb like words.\n- [cat-names](https://github.com/sindresorhus/cat-names) - Get popular cat names.\n- [dog-names](https://github.com/sindresorhus/dog-names) - Get popular dog names.\n- [superheroes](https://github.com/sindresorhus/superheroes) - Get superhero names.\n- [supervillains](https://github.com/sindresorhus/supervillains) - Get supervillain names.\n- [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces.\n- [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^･o･^)ﾉ”\n- [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.\n\n\n### Miscellaneous\n\n- [execa](https://github.com/sindresorhus/execa) - Better `child_process`.\n- [cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.\n- [Electron](https://github.com/atom/electron) - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))*\n- [opn](https://github.com/sindresorhus/opn) - Opens stuff like websites, files, executables.\n- [hasha](https://github.com/sindresorhus/hasha) - Hashing made simple. Get the hash of a buffer/string/stream/file.\n- [dot-prop](https://github.com/sindresorhus/dot-prop) - Get a property from a nested object using a dot path.\n- [onetime](https://github.com/sindresorhus/onetime) - Only run a function once.\n- [mem](https://github.com/sindresorhus/mem) - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.\n- [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache.\n- [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.\n- [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale.\n- [nan](https://github.com/nodejs/nan) - Makes native add-on development for across Node.js versions easier.\n- [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server module.\n- [adit](https://github.com/markelog/adit) - SSH tunneling made simple.\n- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily.\n- [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer.\n- [Bottleneck](https://github.com/SGrondin/bottleneck) - Rate limiter that makes throttling easy.\n- [webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads.\n- [clipboardy](https://github.com/sindresorhus/clipboardy) - Access the system clipboard (copy/paste).\n- [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries.\n- [opencv](https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library.\n- [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file.\n- [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo.\n- [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser.\n- [nar](https://github.com/h2non/nar) - Create self-contained executable binaries.\n- [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data.\n- [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git.\n- [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop.\n- [parent-module](https://github.com/sindresorhus/parent-module) - Get the path of the parent module.\n- [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path.\n- [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler.\n- [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM.\n- [hypernova](https://github.com/airbnb/hypernova) - Server-side rendering your JavaScript views.\n\n\n## Resources\n\n### Tutorials\n\n- [Nodeschool](http://nodeschool.io) - Learn Node.js with interactive lessons.\n- [The Art of Node](https://github.com/maxogden/art-of-node/#the-art-of-node) - An introduction to Node.js.\n- [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams.\n- [browserify-handbook](https://github.com/substack/browserify-handbook) - The definitive guide for browserify.\n- [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules.\n- [The Node Way](http://thenodeway.io) - An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read.\n- [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript.\n\n\n### Discovery\n\n- [npms](https://npms.io) - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about).\n- [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking.\n- [npm addict](https://npmaddict.com) - Your daily injection of npm packages.\n- [npmcompare.com](https://npmcompare.com) - Compare and discover npm packages.\n\n### Articles\n\n- [Error Handling in Node.js](https://www.joyent.com/node-js/production/design/errors)\n- [Teach Yourself Node.js in 10 Steps](https://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps)\n- [Mastering the filesystem in Node.js](https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801)\n- [Semver: A Primer](https://nodesource.com/blog/semver-a-primer/)\n- [Semver: Tilde and Caret](https://nodesource.com/blog/semver-tilde-and-caret/)\n- [Why Asynchronous?](https://nodesource.com/blog/why-asynchronous/)\n- [Understanding the Node.js Event Loop](https://nodesource.com/blog/understanding-the-nodejs-event-loop/)\n- [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/)\n- [Art of README](https://github.com/noffle/art-of-readme) - Learn the art of writing quality READMEs.\n\n### Newsletters\n\n- [node weekly](http://nodeweekly.com) - Weekly e-mail round-up of Node.js news and articles.\n- [nmotw](http://nmotw.in) - Node Module Of The Week, weekly dose of hand picked node modules.\n\n### Videos\n\n- [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I)\n- [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals)\n- [Hands on with Node.js](https://learn.bevry.me/node/preface)\n- [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams.\n- [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks.\n- [thenewboston's Node.js for Beginners](https://www.thenewboston.com/videos.php?cat=355)\n- [Nodetuts](http://nodetuts.com) - Series of talks, including TCP \u0026 HTTP API servers, async programming, and more.\n- [Node Interactive 2015](https://github.com/duffn/nodeinteractive-2015) - List of talks, keynotes and panels from the 2015 Node Interactive conference.\n\n### Podcasts\n\n- [NodeUp](http://nodeup.com)\n- [Mostly Node](http://mostlynode.com)\n\n### Books\n\n- [Node.js in Action](http://www.amazon.com/Node-js-Action-Mike-Cantelon/dp/1617290572)\n- [Node.js in Practice](http://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939)\n- [Mastering Node](http://visionmedia.github.io/masteringnode/)\n- [Professional Node.js: Building Javascript Based Scalable Software](http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/)\n- [Practical Node.js: Building Real-World Scalable Web Apps](http://practicalnodebook.com)\n- [Mixu's Node book](http://book.mixu.net/node/)\n- [Web Development with Node and Express](http://shop.oreilly.com/product/0636920032977.do)\n- [Pro Express.js](http://proexpressjs.com)\n- [Secure Your Node.js Web Application](http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856)\n- [Express in Action](https://www.manning.com/books/express-in-action)\n\n### Blogs\n\n- [Node.js blog](https://nodejs.org/en/blog/)\n- [HowToNode](http://howtonode.org) - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code.\n- [webapplog.com](http://webapplog.com/tag/node-js/) - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan.\n\n### Courses\n\n- [Real Time Web with Node.js](https://www.codeschool.com/courses/real-time-web-with-node-js)\n- [Learn and Understand Node.js](https://www.udemy.com/understand-nodejs)\n- [Learn to build apps and APIs with Node.js](https://learnnode.com/friend/AWESOME) - Video course by Wes Bos.\n\n### Cheatsheets\n\n- [Express.js](https://github.com/azat-co/cheatsheets/blob/master/express4)\n- [Stream FAQs](https://github.com/stephenplusplus/stream-faqs) - Answering common questions about streams, covering pagination, events, and more.\n\n### Tools\n\n- [OctoLinker](https://chrome.google.com/webstore/detail/octolinker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.\n- [npm-hub](https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme.\n- [RunKit](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website.\n- [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify.\n\n### Community\n\n- [Gitter](https://gitter.im/nodejs/node)\n- [`#node.js` on Freenode](http://webchat.freenode.net/?channels=node.js)\n- [Stack Overflow](http://stackoverflow.com/questions/tagged/node.js)\n- [Reddit](https://www.reddit.com/r/node)\n- [Twitter](https://twitter.com/nodejs)\n- [Hashnode](https://hashnode.com/n/nodejs)\n\n### Miscellaneous\n\n- [nodebots](http://nodebots.io) - Robots powered by JavaScript.\n- [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module.\n- [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module.\n- [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code.\n- [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms.\n\n\n## License\n\n[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Sindre Sorhus](http://sindresorhus.com) has waived all copyright and related or neighboring rights to this work.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/liujunjiun%2Fawesome-nodejs-new/projects"}