awesome-nodejs
Node.js 资源大全中文版。An awesome Node.js packages and resources
https://github.com/huaize2020/awesome-nodejs
Last synced: 1 day ago
JSON representation
-
Repository
-
GraphQL
-
Node.js Management
- nvm for Windows - Version management for Windows. 
- nvm - Node Version Manager。 
- fnm - 🚀 Fast and simple Node.js version manager, built in Rust. 
- n - Node.js version management. 
- nave - Virtual Environments for Node.js. 
- nvs - Node Version Switcher - A cross-platform tool for switching between versions and forks of 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. 
-
OS Identification
- is-windows - Detect whether the current platform is Windows. 
- is-wsl - Detect whether current platform is WSL (Windows Subsystem for Linux). 
- getos - Retrieve the current OS, including Linux distribution. 
- os-name - Get the name of the current operating system. 
- systeminformation - Hardware/software system information. 
-
Shell
- execa - Cross-platform implementation of `child_process.{execFile,exec}`. 
- gulp-execa - Cross-platform command execution in Gulp.js.
- shelljs - Cross-platform Unix shell commands. 
- clipboardy - Cross-platform copy/paste. 
- zx - A tool for writing better scripts. 
- clipboard-cli - Cross-platform copy/paste. 
- shx - Portable Shell Commands for Node. 
- parallelshell - Run multiple shell commands in parallel. 
- runscript - Run script easy!
- cross-spawn-promise - Promisified cross-spawn.
- shell-exec - Execute a command through the system shell.
- cross-spawn - Cross-platform implementation of `child_process.spawn()`. 
-
Process management
- node-windows - Run scripts as a native Windows service and log to the Event viewer. 
- nodemon - Monitor for changes in your app and automatically restart the server. 
- forever - A simple CLI tool for ensuring that a given script runs continuously. 
- PM2 - Advanced Process Manager. 
- node-mac - Run scripts as a native Mac daemon and log to the console app. 
- node-linux - Run scripts as native system service and log to syslog. 
- supervisor - Restart scripts when they crash or restart when a `*.js` file changes. 
- current-processes - Node.js library to get a snapshot of the currently running processes, OS-agnostic. 
-
Command-line Utilities
- log-symbols - Colored symbols for various log levels. 
- figures - Unicode symbols with Windows fallbacks. 
- cac - Simple yet powerful framework for building command-line apps. 
- oclif - Node.js Open CLI Framework. Built with 💜 by Heroku. 
- kleur - The fastest Node.js library for formatting terminal text with ANSI colors~! 
- commitizen - The commitizen command line utility. 
- Enquirer - Stylish CLI prompts that are user-friendly, intuitive and easy to create. 
- plop - Micro-generator framework that makes it easy for an entire team to create files with a level of uniformity. 
- chalk - Terminal string styling done right. 
- boxen - Create boxes in the terminal. 
- progress - Flexible ascii progress bar for nodejs. 
- ora - Elegant terminal spinner. 
- terminal-link - Create clickable links in the terminal. 
- gradient-string - Beautiful color gradients in terminal output. 
- yargs - Collection of common interactive command line user interfaces. 
- Inquirer.js - Collection of common interactive command line user interfaces. 
- listr - Terminal task list. 
- prompts - Lightweight, beautiful and user-friendly interactive prompts. 
- terminal-image - Display images in the terminal. 
- slap - Sublime-like terminal-based text editor. 
- arg - Simple argument parsing. 
- treeify - Pretty-print a javascript object as a tree. 
- meow - CLI app helper. 
- Commander.js - The complete solution for node.js command-line interfaces. 
- cli-table3 - Pretty unicode tables for the command line. 
- colorette - Easily set the color and style of text in the terminal. 
- yargs-parser - 💪 the mighty option parser used by yargs. 
- progress-estimator - Logs a progress bar and estimation for how long a Promise will take to complete. 
- columnify - Create text-based columns suitable for console output. Supports cell wrapping. 
- qrcode-terminal - QRCodes in your terminal. 
- Cliffy - Framework for interactive CLIs. 
- figlet.js - A FIG Driver written in JavaScript which aims to fully implement the FIGfont spec. 
- colors.js - Get colors in your node.js console. 
- clipanion - Type-safe CLI library with no runtime dependencies. 
- common-bin - Abstraction bin tool wrap yargs, to provide more convenient usage, support async / generator. 
- nopt - Node/npm Option Parsing. 
- argparse - CLI arguments parser for node.js. 
- node-promptly - Simple command line prompting utility for nodejs. 
- cli-progress - Easy to use progress-bar for command-line/terminal applications. 
- snazzy - Format JavaScript Standard Style as Stylish (i.e. snazzy) output. 
- easy-table - Nice text table for Node.js. 
- cli-highlight - Syntax highlighting for your terminal 💻✨. 
- kolorist - A tiny utility to colorize stdin/stdout. 
- console-png - Print PNG images to terminal output.
- console-stamp - Patch NodeJS console methods in order to add timestamp information by pattern. 
- didyoumean - A simple, optimized JS library & node.js module for matching short, human-quality input to a list of possibilities. 
- console-clear - Clear the console, cross-platform.
- update-notifier - Update notifications for your CLI app. 
- minimist - Guts of optimist's argument parser without all the fanciful decoration. 
-
Environment
- cross-env - Set environment variables cross-platform. 
- user-home - Get the path to the user home directory. Cross-platform. 
- username - Get the current username. 
- osenv - Cross-platform environment variables. 
- is-elevated - Check if the process is running with elevated privileges.
- which - Cross-platform implementation of Unix's `which`. 
- envinfo - Generate a report about your development environment for debugging and issue reporting. 
- dotenv - Loads environment variables from .env for nodejs projects. 
-
Filesystem
- rimraf - Recursively delete files like rm -rf. 
- make-dir - Recursively create directories like mkdir -p. 
- cpy - Copy files. 
- chokidar - Minimal and efficient cross-platform file watching library. 
- graceful-fs - Graceful-fs functions as a drop-in replacement for the fs module, making various improvements. 
- fs-extra - Extra methods for the `fs` module. 
- del - Delete files and directories. 
- glob - Glob functionality for node.js. 
- find-up - Find a file or directory by walking up parent directories. 
- watchman - Watches files and records, or triggers actions, when they change. 
- globby - Based on fast-glob but adds a bunch of useful features. 
- ncp - Asynchronous recursive file copying with Node.js. 
- vinyl-fs - Vinyl adapter for the file system. 
- filenamify - Convert a string to a valid filename. 
- fs-jetpack - Completely redesigned file system API for convenience in everyday use. 
- lnfs - Force create symlinks like `ln -fs`. 
- istextorbinary - Check if a file is text or binary. 
- filehound - Flexible and fluent interface for searching the file system. 
- move-file - Move a file, even works across devices. 
- tempy - Get a random temporary file or directory path. 302 
- fast-glob - Very fast and efficient glob library for Node.js. 
- memfs - In-memory filesystem with Node's API. 
- filesize.js - Generate a human readable String describing the file size. 
- mkdirp - Recursively mkdir, like `mkdir -p`. 
- dir-compare - Node JS directory compare. 
- folder-hash - Create a hash checksum over a folder or a file. 
- copyfiles - Copy files on the command line. 
- temp - Temporary File, Directory, and Stream support for Node.js. 
- temp-dir - Get the real path of the system temp directory. 
- watchpack - Wrapper library for directory and file watching. 
- node-sync-glob - Synchronize files and folders locally by glob patterns, watch option included. 
-
Desktop Apps
- nw.js - Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies. 
- Electron - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))* 
-
AST
- babel-parser - JavaScript parser. 
- acorn - Small, fast, JavaScript-based JavaScript parser. 
- acorn-walker - Small, fast, JavaScript-based JavaScript parser. 
- csstree - Tool set for CSS including fast detailed parser, walker, generator and lexer based on W3C specs and browser implementations. 
- antlr - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. 
- astexplorer - Web tool to explore the ASTs generated by various parsers. 
- recast - JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator. 
- nearley - Simple, fast, powerful parser toolkit for JavaScript. 
- astring - 🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST. 
- estree-walker - Traverse an ESTree-compliant AST. 
- sval - A javascript interpreter written in javascript. 
- escodegen - ECMAScript code generator. 
- es-module-lexer - Low-overhead lexer dedicated to ES module parsing for fast analysis. 
- ts-morph - TypeScript Compiler API wrapper. Provides an easier way to programmatically navigate and manipulate TypeScript and JavaScript code. 
- esprima - High performance, standard-compliant ECMAScript parser. 
- notevil - Evalulate javascript like the built-in javascript eval() method but safely. 
- estraverse - ECMAScript JS AST traversal functions. 
- JS-Interpreter - A sandboxed JavaScript interpreter in JavaScript. 
- jsjs - A simple JavaScript interpreter. 
- periscopic - Utility for analyzing scopes belonging to an ESTree-compliant AST. 
- espree - Esprima-compatible JavaScript parser. 
-
Content management systems (CMS)
- Tipe - Next Generation API-first CMS for developers. Generate an API-first CMS from a GraphQL schema with offline prototyping and an inline editor. 
- Strapi - Content Management Framework (headless-CMS) to build powerful APIs. 
- Ghost - The headless Node.js CMS for professional publishing. 
- 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. 
- Factor - Vue.js dashboard framework and headless CMS. 
- AdminBro - Auto-generated admin panel with CRUD for all your resources. 
-
Text/String
- uuid-js - A js library to generate and parse UUIDs,TimeUUIDs and generate TimeUUID based on Date for range selections. 
- nanoid - Tiny, secure, URL-friendly, unique string ID generator. 
- string-width - Get the visual width of a string - the number of columns required to display it.
- iconv-lite - Convert character encodings. 
- jsdiff - A javascript text differencing implementation. 
- uuid - Generate RFC-compliant UUIDs in JavaScript. 
- camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- ulid - Universally Unique Lexicographically Sortable Identifier. 
- he - HTML entity encoder/decoder. 
- string-length - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
- splice-string - Remove or replace part of a string like `Array#splice`.
- indent-string - Indent each line in a string.
- strip-indent - Strip leading whitespace from every line in a string.
- detect-indent - Detect the indentation of code.
- i18n-node - Simple translation module with dynamic JSON storage. 
- babelfish - human friendly i18n for javascript (node.js + browser). 
- unhomoglyph - Normalize visually similar unicode characters.
- i18next - Internationalization framework. 
- StegCloak - Conceal secrets within strings, in plain sight. 
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string.
- generate-password - NodeJS library for generating cryptographically-secure passwords. 
- shortid - Short id generator. Url-friendly. Non-predictable. Cluster-compatible. 
- normalize-newline - Normalize the newline characters in a string to `\n`.
- randomatic - Easily generate random strings like passwords, with simple options for specifying a length and for using patterns of numeric, alpha-numeric, alphabetical, special or custom characters. (the original "generate-password") 
- dedent - ES6 string tag that strips indentation from multi-line strings. 
- decamelize - Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow.
- redent - Strip redundant indentation and indent the string.
- min-indent - Get the shortest leading whitespace from lines in a string.
- trim-right - Similar to String#trim() but removes only whitespace on the right.
- short-uuid - Translate standard UUIDs into shorter formats and back. 
- pure-uuid - Pure JavaScript Based Universally Unique Identifiers (UUID).
- lsp-uuid - A uuid generator based on SnowFlake for both Browser and Nodejs. Keep sequence and can be deserialized.
- html-entities - Fastest HTML entities encode/decode library. 
- jschardet - Character encoding auto-detection in JavaScript (port of python's chardet) 
- recursive-diff - A JavaScript library to find diff between two JavaScript Objects. Support for Array, Number, Date and other primitive data types. 
- json0-ot-diff - Finds differences between two JSON object and generates operational transformation (OT) operations for transforming the first object into the second according to the JSON0 OT Type. 
- cuid - Collision-resistant ids optimized for horizontal scaling and performance. 
-
RegExp/Glob
- safe-regex - Detect possibly catastrophic, exponential-time regular expressions. 
- randexp.js - Create random strings that match a given regular expression. 
- path-to-regexp - Turn a path string such as `/user/:name` into a regular expression. 
- minimatch - A minimal matching utility. 
- matcher - Simple wildcard matching. 
- escape-string-regexp - Escape RegExp special characters. 
- micromatch - Highly optimized wildcard and glob matching library. Faster, drop-in replacement to minimatch and multimatch. Used by webpack, babel core, yarn, jest, browser-sync, documentation.js, stylelint, nyc, ava, and many others! 
- multimatch - Extends minimatch.match() with support for multiple patterns. 
- execall - Find multiple RegExp matches in a string.
-
Git
- gitgraph-node - Draw pretty git graphs in your terminal. 
- degit - Degit makes copies of git repositories. Straightforward project scaffolding. 
- isomorphic-git - A pure JavaScript implementation of git for node and browsers! 
- js-git - A JavaScript implementation of Git. 
- husky - Modern native Git hooks made easy 🐶 woof! 
- simple-git - A light weight interface for running git commands in any node.js application. 
- nodegit - Node bindings to the libgit2 project. 
- pre-commit - Automatically installs a git pre-commit script in your git repository which runs your `npm test` on pre-commit. 
- git-promise - Simple wrapper to run any git command and process it's output using promises. 
- yorkie - A fork of husky, 🐶 Git hooks made easy, used in vue3. 
- git-url-parse - A high level git url parser for common git providers. 
- gittar - Download and/or Extract git repositories (GitHub, GitLab, BitBucket). Cross-platform and Offline-first. 
- parse-git-config - Parse `.git/config` into a JavaScript object. sync or async. 
- remote-git-tags - Get tags from a remote git repo. Using only JS. 
- giturl - Transfer git url to web url. 
- download-git-repo - Download and extract a git repository (GitHub, GitLab, Bitbucket) from node.
-
Configuration Tools
- convict - Convict expands on the standard pattern of configuring node.js applications in a way that is more robust and accessible to collaborators. 
- nconf - Hierarchical node.js configuration with files, environment variables, command-line arguments, and atomic object merging. 
- rc - The non-configurable configuration loader for lazy people. 
- node-config - Node.js Application Configuration. 
-
Web Frameworks
- awesome-koa
- Nest - Angular-inspired framework for building efficient and scalable server-side apps. *(You might like [awesome-nestjs](https://github.com/juliandavidmr/awesome-nestjs))* 
- blitz - ⚡️The Fullstack React Framework — built on Next.js. 
- Fastify - Fast and low overhead web framework. 
- Egg - Born to build better enterprise frameworks and apps with Node.js & Koa. 
- Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* 
- Koa - Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. 
- Express - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. 
- sails - Realtime MVC Framework for Node.js. 
- ThinkJS - Framework with ES2015+ support, WebSockets, REST API. 
- ActionHero - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. 
- restana - Super fast and minimalist framework for building REST micro-services. 
- AdonisJs - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. 
- total.js - A framework for Node.js platfrom written in pure JavaScript similar to PHP's Laravel or Python's Django or ASP.NET MVC 
- Hapi - Framework for building applications and services. 
- lad - The best Node.js framework. Made by a former Express TC and Koa team member. 
- Marble.js - Functional reactive framework for building server-side apps, based on TypeScript and RxJS. 
- Moleculer - Fast & powerful microservices framework. 
- server - Simple and powerful server for Node.js. 
- Feathers - Microservice framework built in the spirit of Express. 
- Restify - Enables you to build correct REST web services. 
- seneca - Toolkit for writing microservices. 
- hyper-express - High performance webserver with a simple-to-use API powered by uWebsockets.js under the hood. 
- Midway - A Node.js framework for building Serverless services, traditional server-side applications, microservices, and small programs. 
- daruk - A node.js web framework based on typescript. 
- beidou - Isomorphic framework for server-rendered React apps. 
- Hemera - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). 
- awesome-egg
- diet - A tiny, fast and modular node.js web framework. Good for making fast & scalable apps and apis. 
- CabloyJS - A Node.js full-stack framework with workflow engine, based on koa + egg + vue + framework7. 
- Zeronode - Minimal building block for reliable and fault-tolerant microservices. 
- Micro - Minimalistic microservice framework with an async approach. 
- Next.js - Minimalistic framework for server-rendered universal JavaScript web apps. 
- LoopBack - Powerful framework for creating REST APIs and easily connecting to backend data sources. v4 -  v3 - 
- Nuxt.js - Minimalistic framework for server-rendered Vue.js apps. 
- Tinyhttp - Modern and fast Express-like web framework. 
- CabloyJS - A Node.js full-stack framework with workflow engine, based on koa + egg + vue + framework7. 
- malagu - Malagu is a serverless First, scalable and componentized application framework developed by TypeScript. 
-
Search Engine/Word Segmentation
- @node-rs/jieba - jieba-rs binding to Node.js。 
- nodejieba - NodeJieba provides chinese word segmentation for Node.js based on CppJieba. 
- elasticsearch-js-legacy - Legacy Elasticsearch client library for Node.js and the browser. 
- elasticsearch-js - Official Elasticsearch client library for Node.js. 
-
Serverless
- @midway/faas - Midway FaaS is the Serverless framework used to build Node.js cloud functions. 
- serverless - Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! 
- malagu - Malagu is a Serverless First, componentized, platform-independent progressive application framework based on TypeScript. 
-
RPC
- grpc-js - Pure JavaScript gRPC Client. 
- thrift - Apache Thrift Node.js. 
- jayson - Jayson is a simple but featureful JSON-RPC 2.0/1.0 client and server for node.js. 
- sofa-rpc-node - SOFARPC Node is a high-performance, high-extensibility, production-level Nodejs RPC framework. 
-
Machine learning & Neural networks
- netron - Visualizer for neural network, deep learning, and machine learning models. 
- brain.js - GPU accelerated Neural networks in JavaScript for Browsers and Node.js. 
- face-api.js - JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js. 
- tfjs - A WebGL accelerated JavaScript library for training and deploying ML models. 
- pipcook - Machine learning platform for Web developers. 
- opencv - OpenCV is the defacto computer vision library - by interfacing with it natively in node, we get powerful real time vision in js. 
- onnxjs - ONNX.js: run ONNX models using JavaScript. 
- tensorflow-nodejs - TensorFlow Node.js provides idiomatic JavaScript language bindings and a high layer API for Node.js users. 
-
Testing
- Detox - Gray box end-to-end testing and automation framework for mobile apps. 
- ava - Node.js test runner that lets you develop with confidence 🚀. 
- cypress - Fast, easy and reliable testing for anything that runs in a browser. 
- rrweb - Record and replay the web. 
- Mock.js - A simulation data generator. 
- mocha - Simple, flexible, fun javascript test framework for node.js & the browser. 
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. 
- Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results. 
- jasmine - Simple JavaScript testing framework for browsers and node.js. 
- nightwatch - End-to-end testing framework written in Node.js and using the Webdriver API. 
- autocannon - Fast HTTP/1.1 benchmarking tool written in Node.js. 
- msw - Seamless REST/GraphQL API mocking library for browser and Node.js. ![https://img.shields.io/github/stars/mswjs/msw.svg?style=social&label=Star]
- artillery - Cloud-scale load testing. 
- nyc - The Istanbul command line interface. 
- power-assert - Provides descriptive assertion messages through the standard assert interface. 
- Sinon.JS - Test spies, stubs and mocks. 
- CodeceptJS - End 2 End Testing Framework for NodeJS. 
- faker.js - Generate massive amounts of realistic fake data in Node.js and the browser. 
- unexpected - Unexpected - the extensible BDD assertion toolkit. 
- expect.js - Minimalistic BDD-style assertions for Node.JS and the browser. 
- istanbul - A JS code coverage tool written in JS. 
- c8 - output coverage reports using Node.js' built in coverage. 
- benny - A dead simple benchmarking framework for JS/TS libs. 
- codecov - Global coverage report uploader for Codecov in NodeJS. 
- macaca - Automation solution for multi-platform. *(You might like [awesome-macaca](https://github.com/macacajs/awesome-macaca))* 
- pretender - A mock server library with a nice routing DSL. 
- matcha - Simplistic approach to benchmarking. 
- should.js - BDD style assertions for node.js. 
- better-assert - C-style assert() for nodejs, reporting the expression string as the error message. 
- http-assert - Assert with status codes. 
- casual - Fake data generator for javascript. 
- fony - A simple command line tool for generating fake data from a template string. 
- mm - An simple but flexible mock(or say stub) package, mock mate. 
- uirecorder - UI Recorder is a multi-platform UI test recorder. 
- node-coveralls - Coveralls.io support for Node.js. Get the great coverage reporting of coveralls.io and add a cool coverage button (like the one above) to your README. 
- node-wrk - Wrk load testing tool node wrapper. 
- jest - Delightful JavaScript Testing. 
- supertest - Super-agent driven library for testing node.js HTTP servers using a fluent API. 
- node-tap - Test Anything Protocol tools for node. 
- Nock - HTTP mocking and expectations. 
-
Database
- TypeORM - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. 
- sharedb - Realtime database backend based on Operational Transformation (OT). 
- Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more. 
- Objection.js - Lightweight ORM built on the SQL query builder Knex. 
- mysql2 - ⚡ Fast mysqljs/mysql compatible mysql driver for node.js. 
- Lowdb - Tiny local JSON database for small projects (supports Node, Electron and the browser). 
- Mongoose - Elegant MongoDB object modeling. 
- Prisma - Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite. 
- LevelUP - A wrapper for abstract-leveldown compliant stores, for Node.js and browsers. 
- MongoDB - The Official MongoDB Node.js Driver. 
- Aerospike - Node.js client for the Aerospike database. 
- MySQL - A pure node.js JavaScript Client implementing the MySQL protocol. 
- PostgreSQL - PostgreSQL client for node.js. 
- pg-mem - In-memory PostgreSQL instance. 
- pg-promise - PostgreSQL framework for native SQL using promises. 
- slonik - PostgreSQL client with strict types, detailed logging and assertions. 
- couchdb-nano - Nano: The official Apache CouchDB library for Node.js. 
- Couchbase - Couchbase Node.js Client Library (Official). 
- Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. 
- Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. 
- OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. 
- MikroORM - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite. 
- NeDB - Embedded persistent or in memory database for Node.js, nw.js, Electron and browsers. 
- Finale - RESTful endpoint generator for your Sequelize models. 
- database-js - Wrapper for multiple databases with a JDBC-like connection. 
- Mongo Seeding - Populate MongoDB databases with JavaScript and JSON files. 
- @databases - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection. 
- typegoose - Typegoose - Define Mongoose models using TypeScript classes. 
- AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel. 
- rethinkdbdash - An advanced Node.js driver for RethinkDB with a connection pool, support for streams etc. 
- mariadb - MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. 
- Neuledge - Universal language for databases that provides state-of-the-art tools for data modeling, business logic representation, and schema validation. 
- leoric - JavaScript ORM for MySQL, PostgreSQL, and SQLite. 
- Sutando - ActiveRecord style ORM, based on Knex, supports MySQL, PostgreSQL, SQLite and other databases. 
- sqlstring - Simple SQL escape and format for MySQL. 
- Knex - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. 
- ioredis - A robust, performance-focused and full-featured Redis client for Node.js. 
- sequelize-typescript - Decorators and some other features for sequelize. 
- Keyv - Simple key-value storage with support for multiple backends. 
- redis - A high performance Node.js Redis client. 
- Massive - PostgreSQL data access tool. 
-
Inversion of control / Dependency Injection (Ioc/DI)
- InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. 
- injection-js - Dependency injection library for JavaScript and TypeScript in 5.1K. It is an extraction of the Angular's ReflectiveInjector which means that it's well designed, feature complete, fast, reliable and well tested. 
- power-di - A lightweight Dependency Injection library. 
- @opensumi/di - A dependency injection tool for JavaScript.
-
Automation & RPA
- robotjs - Node.js Desktop Automation. 
- puppeteer - Headless Chrome Node.js API. 
- playwright - Automate Chromium, Firefox and WebKit with a single API. 
- phantomjs - Scriptable Headless Browser. 
- wechaty - Conversational RPA SDK. 
- pageres - Capture website screenshots. 
- nut.js - Native UI testing / controlling with node. 
- appium - Automation for iOS, Android, and Windows Apps. 
-
Build Tools
- esbuild - An extremely fast JavaScript bundler and minifier. 
- rollup - Next-generation ES2015 module bundler. 
- Grunt - JavaScript Task Runner 
- Brunch - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. 
- parcel - Blazing fast, zero config web app bundler. 
- gulp - Streaming and fast build system that favors code over config. 
- webpack - Packs modules and assets for the browser. 
- Vite - Next Generation Frontend Tooling. 
- Broccoli - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. 
- FuseBox - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. 
- pkg - Package your Node.js project into an executable. 
- snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. 
-
HTTP
- needle - Nimble, streamable HTTP client for Node.js. With proxy, iconv, cookie, deflate & multipart support. 
- miragejs - A client-side server to build, test and share your JavaScript app. 
- json-server - Get a full fake REST API with zero coding in less than 30 seconds. 
- metascraper - Get unified metadata from websites using Open Graph, Microdata, RDFa, Twitter Cards, JSON-LD, HTML, and more. 
- undici - An HTTP/1.1 client, written from scratch for Node.js. 
- http-server - A simple zero-configuration command-line http server. 
- got - Nicer interface to the built-in `http` module. 
- fast-proxy - Node.js framework agnostic library that enables you to forward an http request to another HTTP server. Supported protocols: HTTP, HTTPS, HTTP2. 
- http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. 
- gotql - GraphQL request library built on [got](https://github.com/sindresorhus/got). 
- global-agent - Global HTTP/HTTPS proxy agent that is configurable using environment variables. 
- smoke - 💨 Simple yet powerful file-based mock server with recording abilities. 
- http-proxy-middleware - ⚡ The one-liner node.js http-proxy middleware for connect, express and browser-sync. 
- isomorphic-fetch - Isomorphic WHATWG Fetch API, for Node & Browserify. 
- wreck - HTTP Client Utilities. 
- easy-mock - A persistent service that generates mock data quickly and provids visualization view. 
- urllib - Request HTTP(s) URLs in a complex world. 
- gh-got - Convenience wrapper for `got` to interact with the GitHub API. 
- flashheart - REST client. 
- anywhere - Running static file server anywhere. 
- argo - An extensible, asynchronous HTTP reverse proxy and origin server. 
- download - Download and extract files effortlessly. 
- nugget - Minimalist wget clone written in node. HTTP GET files and downloads them into the current directory. 
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support. 
- superagent - HTTP request library. 
- phin - Node HTTP client. 
- axios - Promise based HTTP client (works in the browser too). 
- http-proxy - HTTP proxy. 
- node-fetch - `window.fetch` for Node.js. 
- https-proxy-agent - An HTTP(s) proxy `http.Agent` implementation for HTTPS endpoints. 
- nugget - Minimalist wget clone written in node. HTTP GET files and downloads them into the current directory. 
-
Linter & Formatter
- prettier - ❤Prettier is an opinionated code formatter. 
- standard - JavaScript Style Guide, with linter & automatic code fixer. 
- commitlint - Lint commit messages. 
- markdownlint - A Node.js style checker and lint tool for Markdown/CommonMark files. 
- stylelint - Mighty, modern linter that helps you avoid errors and enforce conventions in your styles. 
- eslint - Find and fix problems in your JavaScript code. 
- xo - JavaScript/TypeScript linter (ESLint wrapper) with great defaults 
- textlint - The pluggable natural language linter for text and markdown. 
- dtslint - A utility built on TSLint for linting TypeScript declaration (.d.ts) files. 
- lint-md - Library used to lint your markdown file for Chinese. 
- cz-customizable - A customizable commitizen adapter for https://github.com/commitizen/cz-cli (or standalone util). 
- js-beautify - Beautifier for javascript. 
- lint-staged - Run linters on git staged files. 
-
Crawler
- headless-chrome-crawler - Headless Chrome crawls with jQuery support. 
- supercrawler - Define custom handlers to parse content. Obeys robots.txt, rate limits and concurrency limits. 
- webster - A reliable web crawling framework which can scrape ajax and js rendered content in a web page. 
- node-osmosis - HTML/XML parser and web scraper for Node.js. 
- scrape-it - A Node.js scraper for humans. 
- scraperjs - A complete and versatile web scraper. 
- node-crawler - Web Crawler/Spider for NodeJS + server-side jQuery. 
- web-scraper-chrome-extension - Web data extraction tool implemented as chrome extension. 
- Squidwarc - High fidelity, user scriptable, archival crawler that uses Chrome or Chromium with or without a head. 
- simplecrawler - Event driven web crawler. 
- js-crawler - Web crawler for Node.JS, both HTTP and HTTPS are supported. 
- x-ray - Web scraper with pagination and crawler support. 
-
Office
- percollate - A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs. 
- nodeppt - This is probably the best web presentation tool so far! 
- exceljs - Excel Workbook Manager. 
- sheetjs - Spreadsheet Data Toolkit(npm: [xlsx](https://www.npmjs.com/package/xlsx)). 
- PDFKit - JavaScript PDF generation library for Node and the browser. 
- docx - Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser. 
- xlsx-populate - Excel XLSX parser/generator written in JavaScript with Node.js and browser support. 
- pdf2json - A PDF file parser that converts PDF binaries to text based JSON. 
- Mammoth - Convert Word documents (.docx files) to HTML. 
- officegen - Standalone Office Open XML files (Microsoft Office 2007 and later) generator for Word (docx), PowerPoint (pptx) and Excell (xlsx) in javascript. The output is a stream. 
- pdf-lib - Create and modify PDF documents in any JavaScript environment. 
- jsPDF - A library to generate PDFs in JavaScript. 
-
Performance Profiling/Analysis
- 0x - Flamegraph profiling. 
- Clinic.js - Clinic.js diagnoses your Node.js performance issues. 
- flamebearer - Blazing fast flame graph tool for V8 and Node 🔥. 
- thetool - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. 
- leakage - Write memory leak tests. 
- pidusage - Cross-platform process cpu % and memory usage of a PID. 
- v8-profiler - Node bindings for the v8 profiler. 
- node-heapdump - Make a dump of the V8 heap for later inspection. 
- node-memwatch - A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks. 
- v8-analytics - V8 engine's cpu & heap-memory analytics. 
- flamegraph - Generates flamegraphs with Node.js or in the browser. 
- v8-profiler-next - Node bindings for the v8 profiler. 
- cpu-memory-monitor - CPU & Memory Monitor, auto dump. 
-
Natural language processing
- franc - Detect the language of text. 
- natural - Natural language facility. 
- nlp.js - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more. 
- compromise - Modest natural-language processing. 
- leven - Measure the difference between two strings using the Levenshtein distance algorithm. 
- sentiment - AFINN-based sentiment analysis for Node.js. 
- retext - An extensible natural language system. 
-
Audio / Video
- fluent-ffmpeg - A fluent API to FFMPEG (http://www.ffmpeg.org) 
- FFCreator - A fast short video processing library based on node.js. 
- node-ffmpeg - Ffmpeg module for nodejs. 
-
Static Site Generator & Blogging
- react-static - A progressive static site generator for React. 
- gatsby - Build blazing fast, modern apps and websites with React. 
- vuepress - Minimalistic Vue-powered static site generator. 
- vitepress - Vite & Vue powered static site generator. 
- hexo - A fast, simple & powerful blog framework, powered by Node.js. 
- gridsome - The Jamstack framework for Vue.js. 
- scully - The Static Site Generator for Angular apps. 
- netlify-cms - A Git-based CMS for Static Site Generators. 
-
Color
- TinyColor - Fast, small color manipulation and conversion for JavaScript. 
- chroma - JavaScript library for all kinds of color manipulations. 
- randomColor - A tiny script for generating attractive colors. 
- rgbaster - 🎨 A simple library for extracting dominant colors from images. 
- onecolor - An OO-based JavaScript color parser/computation toolkit with support for RGB, HSV, HSL, CMYK, and alpha channels. Conversion between color spaces occurs implicitly, and all methods return new objects rather than mutating existing instances. Works in the browser and node.js. 
-
OCR
- Parsr - Transforms PDF, Documents and Images into Enriched Structured Data. 
- tesseract.js - Pure Javascript OCR for more than 100 Languages. 
- ocrad.js - OCR in Javascript via Emscripten 
-
Date & Time
- dayjs - Day.js 2KB immutable date-time library alternative to Moment.js with the same modern API. 
- luxon - Library for working with dates and times. 
- moment - Parse, validate, manipulate, and display dates in javascript. 
- ms - Tiny millisecond conversion utility. 
- timeago.js - 🕗 ⌛ timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement. 
- date-fns - Modern JavaScript date utility library. 
- pretty-ms - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s` 
- dateformat - A node.js package for Steven Levithan's excellent dateFormat() function. 
- strftime - Strftime for JavaScript. 
- date-utils - Date Pollyfills for Node.js and Browser. 
- node-microtime - Get the current time in microseconds. 
- pretty-hrtime - process.hrtime() to words.
- humanize-ms - Transform humanize time to ms.
-
Image
- pica - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed. 
- pixelmatch - The smallest, simplest and fastest JavaScript pixel-level image comparison library. 
- gm - GraphicsMagick and ImageMagick wrapper. 
- gifski - GIF encoder based on libimagequant (pngquant). Squeezes maximum possible quality from the awful GIF format. 
- qrcode - QR code and bar code generator. 
- sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images. 
- probe-image-size - Get the size of most image formats without a full download. 
- svgo - ⚙️ Node.js tool for optimizing SVG files. 
- Resemble.js - Image analysis and comparison. 
- image-type - Detect the image type of a Buffer/Uint8Array. 
- lwip - Lightweight image processor which does not require ImageMagick. 
- ImageScript - zero-dependency JavaScript image manipulation. 
- svg-captcha - Generate svg captcha in node. 
- satori - convert HTML and CSS to SVG. 
- jsQR - A pure javascript QR code reading library. This library takes in raw images and will locate, extract and parse any QR code found within. 
- omggif - JavaScript implementation of a GIF 89a encoder and decoder. 
- jpeg-js - A pure javascript JPEG encoder and decoder for node.js. 
- pngjs - Simple PNG encoder/decoder. 
- get-pixels - Reads an image into an ndarray. 
- gifencoder - Server side animated gif generation for node.js. 
- node-pngquant - The pngquant utility as a readable/writable stream.
- node-bitmap - Pure javascript Bitmap library.
- jimp - Image processing in pure JavaScript. 
- pngjs - Simple PNG encoder/decoder. 
-
Minifiers
- imagemin - Image minifier. 
- babel-minify - ES6+ aware minifier based on the Babel toolchain. 
- cssnano - A modular minifier, built on top of the PostCSS ecosystem. 
- strip-css-comments - Strip comments from CSS. 
- UglifyJS - JavaScript minifier. 
- minimize - HTML minifier. 
- clean-css - CSS minifier. 
-
Email
- Nylas Mail - An extensible desktop mail app built on the modern web. 
- mjml - Makes responsive-email easy. 
- emailjs - Html emails and attachments to any smtp server with nodejs. 
- Nodemailer - Send e-mails with Node.JS – easy as cake! 
- Email Templates - Create, preview, and send custom email templates for Node.js. 
- preview-email - Automatically opens your browser to preview Node.js email messages sent with Nodemailer. 
- preview-email - Automatically opens your browser to preview Node.js email messages sent with Nodemailer. 
-
Documentation
- docute - Effortless documentation, done right. 
- ESDoc - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. 
- documentation.js - API documentation generator with support for ES2015+ and flow annotation. 
- docsify - 🃏 A magical documentation site generator. 
- Docusaurus - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features. 
- Docco - Documentation generator which produces an HTML document that displays your comments intermingled with your code. 
- groc - Documentation generation, in the spirit of literate programming. 
- JSDoc - API documentation generator similar to JavaDoc or PHPDoc. 
-
Parsing
- PapaParse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input. 
- markdown-it - Markdown parser with 100% CommonMark support, extensions and syntax plugins. 
- marked - A markdown parser and compiler. Built for speed. 
- less - Less. The dynamic stylesheet language. 
- node-csv - Full featured CSV parser with simple api and tested against large datasets. 
- turndown - An HTML to Markdown converter written in JavaScript. 
- PostCSS - CSS parser / stringifier. 
- csv-parser - Streaming CSV parser that aims to be faster than everyone else. 
- js-yaml - Very fast YAML parser. 
- xml2js - XML to JavaScript object converter. 
- parse5 - HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant. 
- neat-csv - Fast CSV parser. Callback interface for the above. 
- fast-xml-parser - Validate and parse XML. 
- htmlparser2 - Forgiving HTML and XML parser. 
- sanitize-html - Clean up user-submitted HTML, preserving whitelisted elements and whitelisted attributes on a per-element basis. Built on htmlparser2 for speed and tolerance. 
- showdown - A bidirectional Markdown to HTML to Markdown converter written in Javascript. 
- readability - A standalone version of the readability library used for Firefox Reader View. 
- ini - An ini parser/serializer in JavaScript. 
- remove-markdown - Strip Markdown stuff from text. 
- yaml - JavaScript parser and stringifier for YAML. 
- xmlbuilder - An XML builder for node.js. 
- js2xmlparser - Popular Node.js module for parsing JavaScript objects into XML. 
- himalaya - JavaScript HTML to JSON Parser. 
- pgsql-ast-parser - Yet another simple Postgres SQL parser. 
- dt-sql-parser - SQL Parsers for BigData, built with antlr4. 
- clickhouse - NodeJS client for ClickHouse. 
- node-bplist-parser - Binary plist parser. 
- mathjax-node - MathJax for Node. 
- remark - Markdown processor powered by plugins. 
- remove-markdown - Strip Markdown stuff from text. 
-
Network
- localtunnel - Localtunnel exposes your localhost to the world for easy testing and sharing! 
- detect-port - Node.js implementation of port detector. 
- address - Get current machine IP and MAC address. 
- node-portfinder - A simple tool to find an open port or domain socket on the current machine. 
- tunnel-agent - HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module. 
- public-ip - Get your public IP address - very fast! 
- get-port - Get an available port. 
- ipify - Get your public IP address. 
- getmac - Get the computer MAC address. 
- DHCP - DHCP client and server. 
- netcat - Netcat port in pure JS. 
- request-ip - A Node.js module for retrieving a request's IP address on the server. 
- node-ip - IP address tools for node.js. 
- ipaddr.js - IP address manipulation library in JavaScript. 
- internal-ip - Get your internal IP address. 
- node-tunnel - Node HTTP/HTTPS Agents for tunneling proxies. 
- default-gateway - Get the default network gateway, cross-platform. 
-
Streams
- stream-spec - executable specification for Stream (make testing streams easy).
- through2 - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise. 
- pump - pipe streams together and close all of them if one of them closes. 
- into-stream - Convert a buffer/string/array/object into a stream.
- get-stream - Get a stream as a string, buffer, or array. 
- readable-stream - Node-core streams for userland. 
- from2 - Convenience wrapper for ReadableStream, inspired by through2.
- duplexify - Turn a writeable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input.
- pumpify - Combine an array of streams into a single duplex stream using pump and duplexify. 
- peek-stream - Transform stream that lets you peek the first line before deciding how to parse it.
- node-byline - Line-by-line Stream reader. 
- first-chunk-stream - Buffer and transform the n first bytes of a stream.
- multistream - A stream that emits multiple other streams one after another (streams2). 
- through2-concurrent - Simple Node.JS stream (streams2) Transform that runs the transform functions concurrently (with a set max concurrency).
- JSONStream - streaming JSON.parse and stringify. 
- tar-stream - tar-stream is a streaming tar parser and generator. 
- stream-json - stream-json is a collection of node.js stream components for creating custom standard-compliant JSON processors, which requires a minimal memory footprint. It can parse JSON files far exceeding available memory. Even individual primitive data items (keys, strings, and numbers) can be streamed piece-wise. Streaming SAX-inspired event-based API is included as well. 
- split2 - Split streams3 style. 
- event-stream - EventStream is like functional programming meets IO. 
- mississippi - A collection of useful stream utility modules for writing better code using streams. 
- split - Break up a stream and reassemble it so that each line is a chunk. matcher may be a String, or a RegExp. 
- node-stream-buffer - Readable and Writable Streams that use backing Buffers. 
- fstream - Advanced FS Streaming for Node. 
- progress-stream - Read the progress of a stream. 
- merge-stream - Merge multiple streams into one interleaved stream. 
- merge2 - Merge multiple streams into one stream in sequence or parallel.
- end-of-stream - Call a callback when a readable/writable/duplex stream has completed or failed.
- stream-to-promise - Convert streams (readable or writable) to promises.
- node-streamifier - Converts a Buffer/String to a readable stream.
- dmap-stream - refactored out of event-stream.
- stream-combiner - Turn a pipeline into a single stream. Combine returns a stream that writes to the first stream and reads from the last stream.
- duplexer - Creates a duplex stream.
- promise-streams - A collection of node.js streams that work well with promises (through, map, reduce, etc...).
- stromjs - Dependency-free stream utils. The Lodash of streams. 
- cloneable-readable - Clone a Readable stream, safely.
- destroy - destroy a stream if possible.
- stream-each - Iterate all the data in a stream.
- flush-write-stream - A write stream constructor that supports a flush function that is called before finish is emitted.
- multi-write-stream - Create a writable stream that writes to multiple other writeable streams.
- multi-read-stream - Readable stream that reads from multiple readable streams at the same time.
- node-stream-reduce - Reduce stream data to a single value.
- stream-shift - Returns the next buffer/object in a stream's readable queue.
- stream-assert - Assertion library for streams.
- stream-from-promise - Create streams from promises.
- exec-stream - stream to a child process.
- stream-callback
- binary-split - A fast newline (or any delimiter) splitter stream.
- oppressor - streaming http compression response negotiator. 
- stream-combiner2 - stream-combiner for streams3.
- mississippi - A collection of useful stream utility modules for writing better code using streams. 
- ndjson - streaming line delimited json parser + serializer](https://github.com/mcollina/cloneable-readable). 
- emit-stream - turn event emitters into streams and streams into event emitters.
- resumer - a through stream that starts paused and resumes on the next tick.
- exec-stream - stream to a child process.
-
Server-side DOM
- cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. 
- jsdom - A JavaScript implementation of various web standards, for use with Node.js. 
- domino - Server-side DOM implementation based on Mozilla's dom.js. 
-
Hardware
- johnny-five - Firmata based Arduino Framework. 
- onoff - GPIO access and interrupt detection. 
- i2c-bus - I2C serial bus access. 
- spi-device - SPI serial bus access. 
- pigpio - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi. 
- gps - NMEA parser for handling GPS receivers. 
- node-bluetooth - Bluetooth serial port communication for Node.js. 
- gps - NMEA parser for handling GPS receivers. 
- node-escpos - ESC/POS Printer driver for node. 
- serialport - Access serial ports for reading and writing. 
- usb - USB library. 
- node-bluetooth - Bluetooth serial port communication for Node.js. 
-
Authorization
- jsonwebtoken - JsonWebToken implementation for node.js 
- jose - Universal "JSON Web Almost Everything" - JWA, JWS, JWE, JWT, JWK with no dependencies. 
- CASL - Isomorphic authorization for UI and API. 
- node-casbin - Authorization library that supports access control models like ACL, RBAC and ABAC. 
- selfsigned - Generate self-signed certificates from node.js. 
- basic-auth - Generic basic auth Authorization header field parser. 
-
NPM
- semver - The semver parser for node (the one npm uses). 
- verdaccio - A lightweight private proxy registry build in Node.js. 
- yarn - A modern package manager split into various packages. 
- pnpm - Fast, disk space efficient package manager. 
- npm-run-all - A CLI tool to run multiple npm-scripts in parallel or sequential. 
- yalc - Work with yarn/npm packages locally like a boss. 
- concurrently - Run commands concurrently. Like `npm run watch-js & npm run watch-less` but better. 
- npm - The package manager for JavaScript. 
- depcheck - Check your npm module for unused dependencies. 
- npm-check-updates - Find newer versions of package dependencies than what your package.json allows. 
- npm-home - Open the npm page of a package. 
- npm-name - Check a package name's availability on npm. 
- pkg-dir - Find the root directory of an npm package. 
- compare-versions - Compare semver version strings to find which is greater, equal or lesser. 
- semver-diff - Get the diff type of two semver versions: 0.0.1 0.0.2 → patch. 
- nrm - About NPM registry manager, fast switch between different registries: npm, cnpm, nj, taobao. 
- node-pkginfo - An easy way to expose properties on a module from a package.json. 
- npm-package-arg - Parse the things that can be arguments to `npm install`. 
- pacote - Fetches package manifests and tarballs from the npm registry. 
- cnpm - Npm client for China mirror of npm. 
- read-pkg - Read a package.json file. 
- write-pkg - Write a package.json file. 
- read-package-json-fast - Like read-package-json, but faster. 
- cnpmjs.org - Private npm registry and web for Enterprise. 
- npminstall - Make `npm install` fast and easy. 
- validate-npm-package-name - Is the given string an acceptable npm package name? 
- npm-registry-fetch - Like fetch() but for the npm registry 
- npm-updater - Check update of npm package. 
- read-pkg-up - Read the closest package.json file. 
- write-pkg - Write a package.json file. 
-
Control flow
- Bluebird - Bluebird is a fully featured promise library with focus on innovative features and performance. 
- pify - Promisify a callback-style function. 
- observable-to-promise - Convert an Observable to a Promise.
- async - Provides straight-forward, powerful functions for working with asynchronicity. 
- co - The ultimate generator based flow-control goodness for nodejs (supports thunks, promises, etc). 
- mz - Modernize node.js to current ECMAScript standards. 
- zen-observable - Implementation of Observables. 
- delay - Delay a promise a specified amount of time. 
- promise-memoize - Memoize promise-returning functions, with expire and prefetch.
- valvelet - Limit the execution rate of a promise-returning function.
- p-map - Map over promises concurrently. 
- RxJS - Reactive programming. 
- thenify - Promisify a callback-based function. 
- thenify-all - Promisifies all the selected functions in an object.
- mz-modules - Same as `mz`, but wrap modules in the world rather than core API. 
- js-csp - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). 
-
Check/Detect
- is-promise - Test whether an object looks like a promises-a+ promise. 
- is.js - Micro check library. 
- is-ci - Detect if the current environment is a CI server. 
- is - The definitive JavaScript type testing library. 
- is-type-of - Complete type checking for node. 
- is-stream - Check if something is a Node.js stream. 
- is-utf8 - Detect if a buffer is utf8 encoded. 
- core-util-is - The util.is* functions from Node core.
- is-ip - Check if a string is an IP address.
- isstream - Determine if an object is a Node.js Stream.
- is-class - Check if function is an ES6 class.
- isexe - Minimal module to check if a file is executable.
- is-type - Type checking from node core.
- is-core-module - Is this specifier a node.js core module?
- is-md5 - JavaScript utility to check if string is md5 encrypted.
- is-md5 - JavaScript utility to check if string is md5 encrypted.
-
Real-time
- ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js. 
- Socket.io - Enables real-time bidirectional event-based communication. 
- SockJS-node - WebSocket emulation - Node.js server. 
- Primus - An abstraction layer for real-time frameworks to prevent module lock-in. 
- sockette - The cutest little WebSocket wrapper! 🧦 
- Kalm - Low-level socket router and middleware framework. 
- MQTT.js - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. 
- SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. 
- Faye - Real-time client-server message bus, based on Bayeux protocol. 
- deepstream.io - Scalable real-time microservice framework. 
- rpc-websockets - JSON-RPC 2.0 implementation over WebSockets. 
- engine.io - The implementation of transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO. 
- nodejs-websocket - A node.js module for websocket server and client. 
- isomorphic-ws - Isomorphic implementation of WebSocket. 
- µWebSockets - Highly scalable WebSocket server & client library. 
-
URL
- normalize-url - Normalize a URL. 
- qs - Querystring parser with nesting support. 
- humanize-url - Humanize a URL: https://sindresorhus.com → sindresorhus.com. 
- url-pattern - Easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings. 
- query-string - Parse and stringify URL query strings. 
- URI.js - Javascript URL mutation library. 
- url-parse - Small footprint URL parser that works seamlessly across Node.js and browser environments. 
- native-url - Node's url module implemented using the built-in URL API. 
- url-join - Join all arguments together and normalize the resulting url. 
- parseurl - Parse a url with memoization. 
- file-url - Convert a file path to a file URL: `unicorn.jpg` → `file:///Users/sindresorhus/unicorn.jpg`.
- encodeurl - Encode a URL to a percent-encoded form, excluding already-encoded sequences.
-
Functional programming
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. 
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. 
- Lazy.js - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. 
- Mout - 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. 
- Folktale - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. 
- RxJS - Functional reactive library for transforming, composing, and querying various kinds of data. 
- Kefir.js - Reactive library with focus on high performance and low memory usage. 
- Bacon.js - Functional reactive programming. 
- immutable - Immutable data collections. 
-
Cache
- lru-cache - A cache object that deletes the least-recently-used items. 
- node-cache - A node internal (in-memory) caching module. 
- quick-lru - Simple “Least Recently Used” (LRU) cache. 
- memcached - A fully featured Memcached client build on top of Node.js. Build with scaling in mind so it will support Memcached clusters and consistent hashing. 
- hashlru - Simpler, faster LRU cache algorithm. 
- flat-cache - A stupidly simple key/value storage using files to persist the data. 
- ylru - Add "expire", "allow set empty value" extends on hashlru. 
- node-cache-manager - Cache module for Node.JS. 
- flat-cache - A stupidly simple key/value storage using files to persist the data. 
-
Templating
- EJS - Simple unopinionated templating language. 
- Pug - High-performance template engine heavily influenced by Haml. 
- marko - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. 
- mustache.js - Minimal templating with {{mustaches}} in JavaScript. 
- nunjucks - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired). 
- hbs - Express view engine wrapper for Handlebars. 
- Twig.js - JS implementation of the Twig Templating Language. 
- doT - Fastest + concise javascript template engine for nodejs and browsers. Partials, custom delimiters and more. 
- hogan.js - A compiler for the Mustache templating language. 
- jsrender - A lightweight, powerful and highly extensible templating engine. In the browser or on Node.js, with or without jQuery. 
- Juicer - A Lightweight JavaScript Template Engine. 
- tempo - Tempo is an easy, intuitive JavaScript rendering engine that enables you to craft data templates in pure HTML. 
- xtemplate - High Speed, eXtensible Template Engine lib on browser and nodejs. support async control, inheritance, include, logic expression, custom function and more. 
- art-template - High performance JavaScript templating engine. 
- handlebars.js - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks. 
-
Logging
- log4js-node - A logging library which different from Java log4j. 
- bunyan - A simple and fast JSON logging module for node.js services. 
- winston - Multi-transport async logging library. 
- pino - Extremely fast logger inspired by Bunyan. 
- loglevel - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods. 
- storyboard - A library, plus a Chrome DevTools extension. 
- roarr - JSON logger for Node.js and browser. 
- caterpillar - Caterpillar is the ultimate logging system for Deno, Node.js, and Web Browsers. Log levels are implemented to the RFC standard. Log entries can be filtered and piped to various streams, including coloured output to the terminal, the browser's console, and debug files. You can even write your own transforms. 
- cabin - Best JavaScript and Node.js logging service and logging npm package. 
- fancy-log - Log things, prefixed with a timestamp. 
- captains-log - Lightweight logger with a simple pass-through configuration for use with fancier logging librarie. 
- consola - Elegant Console Logger for Node.js and Browser. 
- signale - Highly configurable logging utility. 
-
Data Validation
- async-validator - Validate form asynchronous. 
- zod - TypeScript-first schema validation with static type inference. 
- v8n - JavaScript fluent validation library 
- Superstruct - Simple and composable way to validate data in JavaScript (and TypeScript). 
- class-validator - Decorator-based property validation for classes. 
- yup - Dead simple Object schema validation inspired by Joi. 
- validator.js - A library of string validators and sanitizers. 
- forgJs - Javascript lightweight object validator. 
- joi - Object schema description language and validator for JavaScript objects. 
- is-my-json-valid - JSON Schema validator that uses code generation to be extremely fast. 
- property-validator - Easy property validation for JavaScript, Node and Express. 
- jsonschema - JSON Schema validation. 
- validatorjs - Data validation library in JavaScript for the browser and Node.js, inspired by Laravel's Validator. 
- parameter - A parameter verify tools. 
- ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927). 
-
Object / JSON / JSON Schema
- json-stringify-safe - Like JSON.stringify, but doesn't throw on circular references. 
- fast-json-stringify - 2x faster than JSON.stringify() 
- jsonata - JSONata query and transformation language - http://jsonata.org 
- json5 - JSON5 — JSON for humans. 
- load-json-file - Read and parse a JSON file. 
- write-json-file - Stringify and write JSON to a file atomically. 
- strip-json-comments - Strip comments from JSON. Lets you use comments in your JSON files. 
- parse-json - Parse JSON with more helpful errors. 
- jsondiffpatch - Diff & patch JavaScript objects. 
- jsonc-parser - Scanner and parser for JSON with comments. 
- humps - Underscore-to-camelCase converter (and vice versa) for strings and object keys in JavaScript. 
- jsonfile - Easily read/write JSON files. 
- fast-json-stable-stringify - Deterministic JSON.stringify() - a faster version of @substack's json-stable-strigify without jsonify. 
- bson - BSON Parser for node and browser, BSON is short for "Binary JSON," and is the binary-encoded serialization of JSON-like documents. 
- json-diff - Structural diff for JSON files. 
- json-mask - Tiny language and engine for selecting specific parts of a JS object, hiding the rest. 
- dottie.js - Fast and safe nested object access and manipulation in JavaScript. 
- jsonuri - Use URI style methods to operate data. 
- json-stable-stringify - Deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results. 
-
Authentication
- Passport - Simple, unobtrusive authentication. 
- Grant - OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more. 
- permit - An unopinionated authentication library for building Node.js APIs. 
-
Crypto
- sjcl - Stanford Javascript Crypto Library. 
- crypto-js - JavaScript library of crypto standards. 
- crypto-hash - Tiny hashing module that uses the native crypto API in Node.js and the browser. 
- bcrypt - Bcrypt for NodeJs. 
- jsencrypt - A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation. 
- jsrsasign - The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES JSON Web Signature/Token in pure JavaScript. 
- crc - Blazingly fast CRC implementations for node.js and browser. 
- object-hash - Generate hashes from javascript objects in node and the browser. 
- aes-js - A pure JavaScript implementation of the AES block cipher and all common modes of operation for node.js or web browsers. 
- node-md5 - A JavaScript function for hashing messages with MD5. 
- bcrypt.js - Optimized bcrypt in plain JavaScript with zero dependencies. 
- hash-sum - Blazing fast unique hash generator. 
- node-rsa - Node.js RSA library. 
- sm-crypto - JavaScript library of sm2, sm3, sm4. 
- cryptr - Very basic encrypt and decrypt node module. 
- hash.js - Hash functions in pure javascript. 
- pbkdf2 - PBKDF2 with any supported hashing algorithm in Node. 
- node-object-hash - Node.js object hash library with properties/arrays sorting to provide constant hashes. It also provides a method that returns sorted object strings that can be used for object comparison without hashes. 
- bcrypt-pbkdf - Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript.
- sha.js - Streamable SHA hashes in pure javascript. 
- pbkdf2 - PBKDF2 with any supported hashing algorithm in Node. 
- bcrypt-pbkdf - Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript.
-
Forum
-
File Compression / Decompression
- pako - High speed zlib port to javascript, works in browser & node.js. 
- jszip - Create, read and edit .zip files with Javascript. 
- yazl - Yet another zip library for node. 
- yauzl - Yet another unzip library for node. 
- adm-zip - Create, read and edit .zip files with Javascript. 
- node-tar - Fast and full-featured Tar for Node.js. 
- unzipper - Node.js cross-platform unzip using streams. 
- tar-fs - Tar-fs allows you to pack directories into tarballs and extract tarballs into directories. 
- compressing - Everything you need for compressing and uncompressing. 
- 7zip - 7zip Windows Package via Node.js. 
- extract-zip - Zip extraction written in pure JavaScript. Extracts a zip into a directory. 
-
Job Scheduling
- agenda - Lightweight job scheduling for Node.js. 
- node-schedule - A cron-like and not-cron-like job scheduler for Node. 
- node-cron - A tool that allows you to execute something on a schedule. 
- cron-parser - Node.js library for parsing crontab instructions. 
-
Number
- Numeral.js - A javascript library for formatting and manipulating numbers. 
- bignumber.js - A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic. 
- decimal.js - An arbitrary-precision Decimal type for JavaScript. 
- big.js - A small, fast JavaScript library for arbitrary-precision decimal arithmetic. 
- round-to - Round a number to a specific number of decimal places: `1.234` → `1.2`. 
- unique-random - Generate random numbers that are consecutively unique.
- random-int - Generate a random integer.
- random-float - Generate a random float.
- random-js - A mathematically correct random number generator library for JavaScript. 
-
Math
- mathjs - An extensive math library. 
- ndarray - Multidimensional arrays. 
- algebra - Algebraic structures.
- multimath - Core to create fast image math in WebAssembly and JS.
-
Bitcoin
- bitcoinjs-lib - A javascript Bitcoin library for node.js and browsers. 
- GitTorrent - A decentralization of GitHub using BitTorrent and Bitcoin. 
- bitcore - A full stack for bitcoin and blockchain-based applications. 
-
Monorepo
- lerna - A tool for managing JavaScript projects with multiple packages. 
- rush - The scalable monorepo build orchestrator. 
- awesome-monorepo
- manypkg - ☔️ An umbrella for your monorepo. 
-
Debugging
- llnode - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. 
- ironNode - Node.js debugger supporting ES2015 out of the box. 
- ndb - Improved debugging experience, enabled by Chrome DevTools. 
- why-is-node-running - Node.js is running but you don't know why? 
- njsTrace - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function. 
- stackman - Enhance an error stacktrace with code excerpts and other goodies. 
- locus - Starts a REPL at runtime that has access to all variables. 
- ctrace - Well-formatted and improved trace system calls and signals. 
- NiM - Manages DevTools debugging workflow. 
- node-inspector - Debugger based on Blink Developer Tools. 
- vstream - Instrumentable streams mix-ins to inspect a pipeline of streams. 
- debug - Tiny debugging utility. 
-
GPT
- openai - Node.js library for the OpenAI API. 
- @waylaidwanderer/chatgpt-api - A client implementation for ChatGPT and Bing AI. Available as a Node.js module, REST API server, and CLI app. 
- chatgpt - Node.js client for the official ChatGPT API. 🔥 
-
Canvas
- node-canvas - Node canvas is a [Cairo](http://cairographics.org/) backed Canvas implementation for NodeJS. 
- skia-canvas - A canvas environment for Node.js. 
-
Event
- eventemitter3 - EventEmitter3 is a high performance EventEmitter. 
- tiny-emitter - A tiny (less than 1k) event emitter library. 
- ee-first - Get the first event in a set of event emitters and event pairs, then clean up after itself.
-
Meta Programming
- reflect-metadata - Prototype for a Metadata Reflection API for ECMAScript. 
-
Application Performance Monitoring (APM)
- swagger-stats - Trace API calls and monitor API performance, health, and usage metrics. 
- webfunny_monitor - Webfunny is a lightweight front-end monitoring system and webfunny is also a front-end performance monitoring system. It monitors front-end logs and analyzes front-end health status in real time. 
- prom-client - Prometheus client for node.js. 
- skywalking-nodejs - The NodeJS agent for Apache SkyWalking. 
- easy-monitor - Enterprise-level Node.js application performance monitoring and online fault location solutions. 
- apm-agent-nodejs - Elastic APM Node.js Agent. 
- dd-trace-js - Datadog APM tracing client for Node.js. 
-
RateLimit
- rate-limiter-flexible - Count and limit requests by key with atomic increments in single process or distributed environment. 
-
Job Queues
- bull - Persistent job and message queue. 
- idoit - Redis-backed job queue engine with advanced job control. 
- rsmq - Redis-backed message queue. 
- bee-queue - High-performance Redis-backed job queue. 
- RedisSMQ - Simple high-performance Redis message queue with real-time monitoring. 
- sqs-consumer - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate. 
- better-queue - Simple and efficient job queue when you cannot use Redis. 
- bullmq - BullMQ - Premium Message Queue for NodeJS based on Redis. 
- kafkajs - A modern Apache Kafka client for node.js. 
- kafka-node - Node.js client for Apache Kafka 0.8 and later. 
- arena - An interactive UI dashboard for Bee Queue. 
- amqp - AMQP 0-9-1 library and client for Node.JS. 
- node-resque - Redis-backed job queue. 
-
Serialization
- snappy - Native bindings for Google's Snappy compression library. 
- protobuf - Implementation of Protocol Buffers. 
- compactr - Implementation of the Compactr protocol. 
- hessian.js - JavaScript hessian binary web service protocol, support communicate with java. 
-
Distribute
- redlock - A node.js redlock implementation for distributed, highly-available redis locks. 
- node-consul - Consul client. 
- node-zookeeper-client - A pure Javascript ZooKeeper client for Node.js. 
-
Source Code Obfuscator/Protect
- javascript-obfuscator - A powerful obfuscator for JavaScript and Node.js. 
- bytenode - A minimalist bytecode compiler for Node.js. it truly compiles your JavaScript code into V8 bytecode, so that you can protect your source code. 
-
API Management
- yapi - YApi is a visual interface management platform that can be deployed locally, open up front and back ends, and QA. 
- swagger - Swagger module for node.js。Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. 
- rap2 - The second generation of RAP, an open source interface management tool produced by Alimama's front-end team. 
-
Font
- svg2ttf - SVG -> TTF font convertor. 
- ttf2eot - Font convertor, TTF to EOT, for node.js. 
- ttf2woff - Font convertor, TTF to WOFF, for node.js. 
- font-spider - Smart webfont compression and format conversion tool. 
- svgicons2svgfont - Concatenate SVG icons and ouput an SVG font. 
- webfont - Awesome generator of webfont. 
- wawoff2 - WebAssembly build of Google's woff2.
-
WebAssembly
- webassembly - A minimal toolkit and runtime to produce and run WebAssembly modules. 
-
Sandbox
- vm2 - Advanced vm/sandbox for Node.js. 
- sandbox - A nifty javascript sandbox for node.js. 
- safeify - Safe sandbox that can be used to execute untrusted code. 
-
IoT
- zetta - An API-first, open source software platform for the Internet of Things. 
- iot-nodejs - Client libraries and samples for connecting to IBM Watson IoT using nodejs. 
-
Performance Optimization
- v8-compile-cache - Require hook for automatic V8 compile cache persistence 
-
Design To Code(D2C)
- psd.js - A Photoshop PSD file parser for NodeJS and browsers. 
-
-
Official
-
Resources
-
Tools
- openbase - Choose the right package every time. JavaScript supported, more languages coming soon.
- npm.devtool - Find the best package for you, Analyze tech stack for your project.
-
Tutorials
- Nodejs Roadmap - Contains many nodeJS related articles.
- Node.js Best Practices - The Node.js best practices list. 
- node-lessons - Classic Nodejs tutorial. 
- understand-nodejs - Nodejs principle is analyzed by source code. 
- 7-days-nodejs - Classic Nodejs tutorial. 
- Nodejs-Roadmap - The learning journey of the author @qufei1993 since he was engaged in the development of Node.js.
- 7-days-nodejs - Classic Nodejs tutorial. 
- Nodejs Roadmap - Contains many nodeJS related articles.
-
-
Scene
-
Lowcode
- node-red - Low-code programming for event-driven applications. 
- h5-Dooring - H5 Page Maker, H5 Editor, LowCode. Make H5 as easy as building blocks. 
- amis - LowCode Framework, Generate various pages through JSON configuration. 
- luban-h5 - Web design tool || mobile page builder/editor || mini webflow for mobile page. 
- gods-pen - A mobile page builder/editor, similar with amolink. 
- pc-Dooring - LowCode, PC Page Maker, PC Editor. Make PC as easy as building blocks. 
- imove - Move your mouse, generate code from flow chart. 
-
Cloud IDE
- theia - Eclipse Theia is an extensible framework to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies. 
- opensumi - 🚀 A framework helps you quickly build Cloud or Desktop IDE products. 
- code-server - Run VS Code on any machine anywhere and access it in the browser. 
-
Programming Languages
Categories
Sub Categories
Streams
54
Command-line Utilities
49
Database
41
Testing
40
Web Frameworks
38
Text/String
37
HTTP
31
Filesystem
31
NPM
30
Parsing
30
Image
24
Crypto
22
AST
21
Object / JSON / JSON Schema
19
Network
17
Check/Detect
16
Control flow
16
Git
16
Templating
15
Real-time
15
Data Validation
15
Performance Profiling/Analysis
13
Job Queues
13
Date & Time
13
Logging
13
Linter & Formatter
13
Crawler
12
Office
12
Build Tools
12
URL
12
Shell
12
Debugging
12
Hardware
12
File Compression / Decompression
11
RegExp/Glob
9
Cache
9
Functional programming
9
Number
9
Process management
8
Documentation
8
Automation & RPA
8
Environment
8
Static Site Generator & Blogging
8
Node.js Management
8
Machine learning & Neural networks
8
Tutorials
8
Application Performance Monitoring (APM)
7
Content management systems (CMS)
7
Lowcode
7
Natural language processing
7
Email
7
Font
7
Minifiers
7
Authorization
6
Color
5
OS Identification
5
Inversion of control / Dependency Injection (Ioc/DI)
4
Math
4
Search Engine/Word Segmentation
4
Job Scheduling
4
Configuration Tools
4
Monorepo
4
Serialization
4
RPC
4
Server-side DOM
3
Sandbox
3
Authentication
3
API Management
3
Cloud IDE
3
Event
3
GPT
3
Audio / Video
3
Serverless
3
Distribute
3
Bitcoin
3
OCR
3
IoT
2
Tools
2
Canvas
2
Desktop Apps
2
Forum
2
Source Code Obfuscator/Protect
2
Performance Optimization
1
RateLimit
1
GraphQL
1
Design To Code(D2C)
1
WebAssembly
1
Meta Programming
1
Keywords
javascript
229
nodejs
217
node
60
typescript
58
cli
28
browser
21
json
19
postgresql
18
http
18
testing
18
framework
18
mysql
17
npm
16
command-line
16
parser
16
react
15
api
15
npm-package
14
css
13
mongodb
13
html
13
markdown
13
orm
12
node-js
12
websocket
12
js
12
ast
12
express
11
npm-cli
11
electron
11
rest
11
vue
10
stream
10
database
10
windows
10
terminal
9
validation
9
redis
9
koa
9
performance
9
sqlite
9
promise
9
server
9
sql
9
graphql
8
automation
8
iot
8
shell
8
deno
8
aws
8