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
-
NPM
- npm-name - Check a package name's availability on npm. 
- pacote - Fetches package manifests and tarballs from the npm registry. 
- npm-package-arg - Parse the things that can be arguments to `npm install`. 
- 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. 
-
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. 
- random-js - A mathematically correct random number generator library for JavaScript. 
- 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.
-
Object / JSON / JSON Schema
- humps - Underscore-to-camelCase converter (and vice versa) for strings and object keys in JavaScript. 
- json5 - JSON5 — JSON for humans. 
- jsondiffpatch - Diff & patch JavaScript objects. 
- fast-json-stringify - 2x faster than JSON.stringify() 
- jsonfile - Easily read/write JSON files. 
- jsonata - JSONata query and transformation language - http://jsonata.org 
- 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. 
- strip-json-comments - Strip comments from JSON. Lets you use comments in your JSON files. 
- json-stringify-safe - Like JSON.stringify, but doesn't throw on circular references. 
- jsonc-parser - Scanner and parser for JSON with comments. 
- parse-json - Parse JSON with more helpful errors. 
- dottie.js - Fast and safe nested object access and manipulation in JavaScript. 
- load-json-file - Read and parse a JSON file. 
- write-json-file - Stringify and write JSON to a file atomically. 
- fast-json-stable-stringify - Deterministic JSON.stringify() - a faster version of @substack's json-stable-strigify without jsonify. 
- jsonuri - Use URI style methods to operate data. 
- json-stable-stringify - Deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results. 
-
OCR
- tesseract.js - Pure Javascript OCR for more than 100 Languages. 
- ocrad.js - OCR in Javascript via Emscripten 
- Parsr - Transforms PDF, Documents and Images into Enriched Structured Data. 
-
Office
- sheetjs - Spreadsheet Data Toolkit(npm: [xlsx](https://www.npmjs.com/package/xlsx)). 
- exceljs - Excel Workbook Manager. 
- xlsx-populate - Excel XLSX parser/generator written in JavaScript with Node.js and browser support. 
- 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. 
- Mammoth - Convert Word documents (.docx files) to HTML. 
- docx - Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser. 
- PDFKit - JavaScript PDF generation library for Node and the browser. 
- percollate - A command-line tool to turn web pages into beautiful, readable PDF, EPUB, or HTML docs. 
- pdf-lib - Create and modify PDF documents in any JavaScript environment. 
- pdf2json - A PDF file parser that converts PDF binaries to text based JSON. 
- nodeppt - This is probably the best web presentation tool so far! 
- jsPDF - A library to generate PDFs in JavaScript. 
-
OS Identification
- systeminformation - Hardware/software system information. 
- is-wsl - Detect whether current platform is WSL (Windows Subsystem for Linux). 
- os-name - Get the name of the current operating system. 
- getos - Retrieve the current OS, including Linux distribution. 
- is-windows - Detect whether the current platform is Windows. 
-
Parsing
- marked - A markdown parser and compiler. Built for speed. 
- markdown-it - Markdown parser with 100% CommonMark support, extensions and syntax plugins. 
- showdown - A bidirectional Markdown to HTML to Markdown converter written in Javascript. 
- turndown - An HTML to Markdown converter written in JavaScript. 
- remove-markdown - Strip Markdown stuff from text. 
- PapaParse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input. 
- node-csv - Full featured CSV parser with simple api and tested against large datasets. 
- csv-parser - Streaming CSV parser that aims to be faster than everyone else. 
- neat-csv - Fast CSV parser. Callback interface for the above. 
- js-yaml - Very fast YAML parser. 
- yaml - JavaScript parser and stringifier for YAML. 
- xml2js - XML to JavaScript object converter. 
- fast-xml-parser - Validate and parse XML. 
- xmlbuilder - An XML builder for node.js. 
- js2xmlparser - Popular Node.js module for parsing JavaScript objects into XML. 
- htmlparser2 - Forgiving HTML and XML parser. 
- parse5 - HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant. 
- 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. 
- himalaya - JavaScript HTML to JSON Parser. 
- PostCSS - CSS parser / stringifier. 
- less - Less. The dynamic stylesheet language. 
- 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. 
- ini - An ini parser/serializer in JavaScript. 
- mathjax-node - MathJax for Node. 
- readability - A standalone version of the readability library used for Firefox Reader View. 
- remark - Markdown processor powered by plugins. 
- remove-markdown - Strip Markdown stuff from text. 
-
Performance Optimization
- v8-compile-cache - Require hook for automatic V8 compile cache persistence 
-
Performance Profiling/Analysis
- Clinic.js - Clinic.js diagnoses your Node.js performance issues. 
- 0x - Flamegraph profiling. 
- node-heapdump - Make a dump of the V8 heap for later inspection. 
- leakage - Write memory leak tests. 
- flamebearer - Blazing fast flame graph tool for V8 and Node 🔥. 
- v8-profiler - Node bindings for the v8 profiler. 
- node-memwatch - A NodeJS library to keep an eye on your memory usage, and discover and isolate leaks. 
- pidusage - Cross-platform process cpu % and memory usage of a PID. 
- v8-analytics - V8 engine's cpu & heap-memory analytics. 
- thetool - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. 
- 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. 
-
Process management
- node-windows - Run scripts as a native Windows service and log to the Event viewer. 
- PM2 - Advanced Process Manager. 
- 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. 
- supervisor - Restart scripts when they crash or restart when a `*.js` file changes. 
- 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. 
- current-processes - Node.js library to get a snapshot of the currently running processes, OS-agnostic. 
-
RateLimit
- rate-limiter-flexible - Count and limit requests by key with atomic increments in single process or distributed environment. 
-
Real-time
- Socket.io - Enables real-time bidirectional event-based communication. 
- ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js. 
- 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. 
- Primus - An abstraction layer for real-time frameworks to prevent module lock-in. 
- sockette - The cutest little WebSocket wrapper! 🧦 
- engine.io - The implementation of transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO. 
- SockJS-node - WebSocket emulation - Node.js server. 
- nodejs-websocket - A node.js module for websocket server and client. 
- rpc-websockets - JSON-RPC 2.0 implementation over WebSockets. 
- deepstream.io - Scalable real-time microservice framework. 
- isomorphic-ws - Isomorphic implementation of WebSocket. 
- Kalm - Low-level socket router and middleware framework. 
- µWebSockets - Highly scalable WebSocket server & client library. 
- Aedes - Barebone MQTT server that can run on any stream server. 
-
RegExp/Glob
- safe-regex - Detect possibly catastrophic, exponential-time regular expressions. 
- path-to-regexp - Turn a path string such as `/user/:name` into a regular expression. 
- minimatch - A minimal matching utility. 
- 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! 
- randexp.js - Create random strings that match a given regular expression. 
- matcher - Simple wildcard matching. 
- escape-string-regexp - Escape RegExp special characters. 
- multimatch - Extends minimatch.match() with support for multiple patterns. 
- execall - Find multiple RegExp matches in a string.
-
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. 
-
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. 
-
Search Engine/Word Segmentation
- @node-rs/jieba - jieba-rs binding to Node.js。 
- elasticsearch-js - Official Elasticsearch client library for 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. 
-
Serialization
- protobuf - Implementation of Protocol Buffers. 
- snappy - Native bindings for Google's Snappy compression library. 
- hessian.js - JavaScript hessian binary web service protocol, support communicate with java. 
- compactr - Implementation of the Compactr protocol. 
-
Serverless
- @midway/faas - Midway FaaS is the Serverless framework used to build Node.js cloud functions. 
- malagu - Malagu is a Serverless First, componentized, platform-independent progressive application framework based on TypeScript. 
- serverless - Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! 
-
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. 
-
Shell
- shelljs - Cross-platform Unix shell commands. 
- execa - Cross-platform implementation of `child_process.{execFile,exec}`. 
- clipboardy - Cross-platform copy/paste. 
- gulp-execa - Cross-platform command execution in Gulp.js.
- zx - A tool for writing better scripts. 
- shx - Portable Shell Commands for Node. 
- parallelshell - Run multiple shell commands in parallel. 
- clipboard-cli - Cross-platform copy/paste. 
- 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()`. 
-
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. 
-
Static Site Generator & Blogging
- gatsby - Build blazing fast, modern apps and websites with React. 
- hexo - A fast, simple & powerful blog framework, powered by Node.js. 
- vuepress - Minimalistic Vue-powered static site generator. 
- react-static - A progressive static site generator for React. 
- gridsome - The Jamstack framework for Vue.js. 
- vitepress - Vite & Vue powered static site generator. 
- scully - The Static Site Generator for Angular apps. 
- netlify-cms - A Git-based CMS for Static Site Generators. 
-
Streams
- event-stream - EventStream is like functional programming meets IO. 
- through2 - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise. 
- JSONStream - streaming JSON.parse and stringify. 
- mississippi - A collection of useful stream utility modules for writing better code using streams. 
- readable-stream - Node-core streams for userland. 
- pump - pipe streams together and close all of them if one of them closes. 
- 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. 
- split - Break up a stream and reassemble it so that each line is a chunk. matcher may be a String, or a RegExp. 
- tar-stream - tar-stream is a streaming tar parser and generator. 
- node-byline - Line-by-line Stream reader. 
- multistream - A stream that emits multiple other streams one after another (streams2). 
- get-stream - Get a stream as a string, buffer, or array. 
- node-stream-buffer - Readable and Writable Streams that use backing Buffers. 
- split2 - Split streams3 style. 
- fstream - Advanced FS Streaming for Node. 
- pumpify - Combine an array of streams into a single duplex stream using pump and duplexify. 
- progress-stream - Read the progress of a stream. 
- merge-stream - Merge multiple streams into one interleaved stream. 
- duplexify - Turn a writeable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input.
- into-stream - Convert a buffer/string/array/object into a 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.
-
Programming Languages
Categories
Sub Categories
Streams
55
Command-line Utilities
49
Database
41
Testing
39
Text/String
37
Web Frameworks
36
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