awesome-nodejs
Node.js 资源大全中文版。An awesome Node.js packages and resources
https://github.com/huaize2020/awesome-nodejs
Last synced: 10 days ago
JSON representation
-
Repository
-
Crypto
- sm-crypto - JavaScript library of sm2, sm3, sm4. 
- hash-sum - Blazing fast unique hash generator. 
- cryptr - Very basic encrypt and decrypt node module. 
- hash.js - Hash functions in pure javascript. 
- crc - Blazingly fast CRC implementations for node.js and browser. 
- 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. 
- bcrypt-pbkdf - Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript.
-
Database
- MySQL - A pure node.js JavaScript Client implementing the MySQL protocol. 
- PostgreSQL - PostgreSQL client for node.js. 
- MongoDB - The Official MongoDB Node.js Driver. 
- LevelUP - A wrapper for abstract-leveldown compliant stores, for Node.js and browsers. 
- mysql2 - ⚡ Fast mysqljs/mysql compatible mysql driver for node.js. 
- rethinkdbdash - An advanced Node.js driver for RethinkDB with a connection pool, support for streams etc. 
- couchdb-nano - Nano: The official Apache CouchDB library for Node.js. 
- Couchbase - Couchbase Node.js Client Library (Official). 
- mariadb - MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. 
- Aerospike - Node.js client for the Aerospike database. 
- Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more. 
- TypeORM - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. 
- Mongoose - Elegant MongoDB object modeling. 
- typegoose - Typegoose - Define Mongoose models using TypeScript classes. 
- Prisma - Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite. 
- Neuledge - Universal language for databases that provides state-of-the-art tools for data modeling, business logic representation, and schema validation. 
- Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. 
- Objection.js - Lightweight ORM built on the SQL query builder Knex. 
- Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. 
- pg-promise - PostgreSQL framework for native SQL using promises. 
- MikroORM - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite. 
- slonik - PostgreSQL client with strict types, detailed logging and assertions. 
- OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. 
- 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. 
- 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. 
- Lowdb - Tiny local JSON database for small projects (supports Node, Electron and the browser). 
- NeDB - Embedded persistent or in memory database for Node.js, nw.js, Electron and browsers. 
- sharedb - Realtime database backend based on Operational Transformation (OT). 
- pg-mem - In-memory PostgreSQL instance. 
- Mongo Seeding - Populate MongoDB databases with JavaScript and JSON files. 
- @databases - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection. 
- Finale - RESTful endpoint generator for your Sequelize models. 
- database-js - Wrapper for multiple databases with a JDBC-like connection. 
- redis - A high performance Node.js Redis client. 
- ioredis - A robust, performance-focused and full-featured Redis client for Node.js. 
- sequelize-typescript - Decorators and some other features for sequelize. 
- Massive - PostgreSQL data access tool. 
- Keyv - Simple key-value storage with support for multiple backends. 
- Knex - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. 
-
Data Validation
- zod - TypeScript-first schema validation with static type inference. 
- validator.js - A library of string validators and sanitizers. 
- joi - Object schema description language and validator for JavaScript objects. 
- yup - Dead simple Object schema validation inspired by Joi. 
- async-validator - Validate form asynchronous. 
- class-validator - Decorator-based property validation for classes. 
- Superstruct - Simple and composable way to validate data in JavaScript (and TypeScript). 
- v8n - JavaScript fluent validation library 
- forgJs - Javascript lightweight object validator. 
- jsonschema - JSON Schema validation. 
- validatorjs - Data validation library in JavaScript for the browser and Node.js, inspired by Laravel's Validator. 
- is-my-json-valid - JSON Schema validator that uses code generation to be extremely fast. 
- parameter - A parameter verify tools. 
- property-validator - Easy property validation for JavaScript, Node and Express. 
- ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927). 
- schema-inspector - JSON API sanitization and validation. 
-
Date & Time
- moment - Parse, validate, manipulate, and display dates in javascript. 
- dayjs - Day.js 2KB immutable date-time library alternative to Moment.js with the same modern API. 
- date-fns - Modern JavaScript date utility library. 
- luxon - Library for working with dates and times. 
- timeago.js - 🕗 ⌛ timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement. 
- ms - Tiny millisecond conversion utility. 
- dateformat - A node.js package for Steven Levithan's excellent dateFormat() function. 
- pretty-ms - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s` 
- strftime - Strftime for JavaScript. 
- node-microtime - Get the current time in microseconds. 
- date-utils - Date Pollyfills for Node.js and Browser. 
- pretty-hrtime - process.hrtime() to words.
- humanize-ms - Transform humanize time to ms.
-
Debugging
- node-inspector - Debugger based on Blink Developer Tools. 
- ndb - Improved debugging experience, enabled by Chrome DevTools. 
- ironNode - Node.js debugger supporting ES2015 out of the box. 
- why-is-node-running - Node.js is running but you don't know why? 
- llnode - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. 
- njsTrace - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function. 
- locus - Starts a REPL at runtime that has access to all variables. 
- stackman - Enhance an error stacktrace with code excerpts and other goodies. 
- NiM - Manages DevTools debugging workflow. 
- ctrace - Well-formatted and improved trace system calls and signals. 
- debug - Tiny debugging utility. 
- vstream - Instrumentable streams mix-ins to inspect a pipeline of streams. 
-
Design To Code(D2C)
- psd.js - A Photoshop PSD file parser for NodeJS and browsers. 
-
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))* 
-
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. 
-
Documentation
- Docusaurus - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features. 
- docsify - 🃏 A magical documentation site generator. 
- documentation.js - API documentation generator with support for ES2015+ and flow annotation. 
- Docco - Documentation generator which produces an HTML document that displays your comments intermingled with your code. 
- docute - Effortless documentation, done right. 
- ESDoc - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. 
- groc - Documentation generation, in the spirit of literate programming. 
- JSDoc - API documentation generator similar to JavaDoc or PHPDoc. 
-
Email
- Nylas Mail - An extensible desktop mail app built on the modern web. 
- Nodemailer - Send e-mails with Node.JS – easy as cake! 
- Email Templates - Create, preview, and send custom email templates for Node.js. 
- emailjs - Html emails and attachments to any smtp server with nodejs. 
- mjml - Makes responsive-email easy. 
- 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. 
-
Environment
- cross-env - Set environment variables cross-platform. 
- which - Cross-platform implementation of Unix's `which`. 
- 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.
- dotenv - Loads environment variables from .env for nodejs projects. 
- envinfo - Generate a report about your development environment for debugging and issue reporting. 
-
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.
-
File Compression / Decompression
- jszip - Create, read and edit .zip files with Javascript. 
- pako - High speed zlib port to javascript, works in browser & node.js. 
- adm-zip - Create, read and edit .zip files with Javascript. 
- node-tar - Fast and full-featured Tar for Node.js. 
- yauzl - Yet another unzip library for node. 
- 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. 
- yazl - Yet another zip library for node. 
- 7zip - 7zip Windows Package via Node.js. 
- extract-zip - Zip extraction written in pure JavaScript. Extracts a zip into a directory. 
-
Filesystem
- fs-extra - Extra methods for the `fs` module. 
- graceful-fs - Graceful-fs functions as a drop-in replacement for the fs module, making various improvements. 
- make-dir - Recursively create directories like mkdir -p. 
- cpy - Copy files. 
- rimraf - Recursively delete files like rm -rf. 
- chokidar - Minimal and efficient cross-platform file watching library. 
- filesize.js - Generate a human readable String describing the file size. 
- memfs - In-memory filesystem with Node's API. 
- fs-jetpack - Completely redesigned file system API for convenience in everyday use. 
- filenamify - Convert a string to a valid filename. 
- move-file - Move a file, even works across devices. 
- istextorbinary - Check if a file is text or binary. 
- mkdirp - Recursively mkdir, like `mkdir -p`. 
- dir-compare - Node JS directory compare. 
- folder-hash - Create a hash checksum over a folder or a file. 
- lnfs - Force create symlinks like `ln -fs`. 
- vinyl-fs - Vinyl adapter for the file system. 
- ncp - Asynchronous recursive file copying with Node.js. 
- copyfiles - Copy files on the command line. 
- del - Delete files and directories. 
- temp - Temporary File, Directory, and Stream support for Node.js. 
- tempy - Get a random temporary file or directory path. 302 
- temp-dir - Get the real path of the system temp directory. 
- watchman - Watches files and records, or triggers actions, when they change. 
- watchpack - Wrapper library for directory and file watching. 
- glob - Glob functionality for node.js. 
- globby - Based on fast-glob but adds a bunch of useful features. 
- fast-glob - Very fast and efficient glob library for Node.js. 
- find-up - Find a file or directory by walking up parent directories. 
- filehound - Flexible and fluent interface for searching the file system. 
- node-sync-glob - Synchronize files and folders locally by glob patterns, watch option included. 
- proper-lockfile - Inter-process and inter-machine lockfile utility. 
-
Font
- font-spider - Smart webfont compression and format conversion tool. 
- svg2ttf - SVG -> TTF font convertor. 
- ttf2woff - Font convertor, TTF to WOFF, for node.js. 
- svgicons2svgfont - Concatenate SVG icons and ouput an SVG font. 
- webfont - Awesome generator of webfont. 
- ttf2eot - Font convertor, TTF to EOT, for node.js. 
- wawoff2 - WebAssembly build of Google's woff2.
-
Forum
-
Functional programming
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. 
- RxJS - Functional reactive library for transforming, composing, and querying various kinds of data. 
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. 
- Bacon.js - Functional reactive programming. 
- Lazy.js - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. 
- Folktale - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. 
- Kefir.js - Reactive library with focus on high performance and low memory usage. 
- 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. 
- immutable - Immutable data collections. 
-
Git
- gitgraph-node - Draw pretty git graphs in your terminal. 
- husky - Modern native Git hooks made easy 🐶 woof! 
- isomorphic-git - A pure JavaScript implementation of git for node and browsers! 
- nodegit - Node bindings to the libgit2 project. 
- js-git - A JavaScript implementation of Git. 
- degit - Degit makes copies of git repositories. Straightforward project scaffolding. 
- simple-git - A light weight interface for running git commands in any node.js application. 
- pre-commit - Automatically installs a git pre-commit script in your git repository which runs your `npm test` on pre-commit. 
- 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. 
- git-promise - Simple wrapper to run any git command and process it's output using promises. 
- 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. 
-
Programming Languages
Categories
Sub Categories
Streams
55
Command-line Utilities
49
Database
41
Testing
39
Text/String
37
Web Frameworks
37
Filesystem
32
NPM
30
Parsing
30
HTTP
29
Image
24
Crypto
21
AST
20
Object / JSON / JSON Schema
19
Network
17
Data Validation
16
Real-time
16
Git
16
Check/Detect
16
Control flow
16
Templating
15
Job Queues
14
Linter & Formatter
14
Performance Profiling/Analysis
13
Date & Time
13
Logging
13
Hardware
12
Debugging
12
Shell
12
URL
12
Build Tools
12
Office
12
Crawler
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
Monorepo
4
Serialization
4
RPC
4
Server-side DOM
3
Sandbox
3
Configuration Tools
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
220
nodejs
214
node
61
typescript
58
cli
28
browser
21
json
19
http
18
framework
18
testing
17
postgresql
17
command-line
16
parser
16
mysql
16
npm
16
react
14
api
14
mongodb
13
node-js
13
npm-package
13
markdown
13
websocket
12
html
12
js
12
orm
12
css
12
ast
11
express
11
npm-cli
11
rest
11
database
10
stream
10
windows
10
vue
10
electron
10
redis
9
server
9
sqlite
9
terminal
9
performance
9
validation
9
koa
9
aws
8
sql
8
automation
8
deno
8
graphql
8
shell
8
microservices
8
web
8