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
-
Streams
- stream-spec - executable specification for Stream (make testing streams easy).
- from2 - Convenience wrapper for ReadableStream, inspired by through2.
- 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.
- through2-concurrent - Simple Node.JS stream (streams2) Transform that runs the transform functions concurrently (with a set max concurrency).
- destroy - destroy a stream if possible.
- peek-stream - Transform stream that lets you peek the first line before deciding how to parse it.
- 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.
- first-chunk-stream - Buffer and transform the n first bytes of a stream.
- 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
- oppressor - streaming http compression response negotiator. 
- binary-split - A fast newline (or any delimiter) splitter stream.
- stream-combiner2 - stream-combiner for streams3.
- concat-stream - writable stream that concatenates strings or data and calls a callback with the result. 
- 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.
- mississippi - A collection of useful stream utility modules for writing better code using streams. 
-
Templating
- Pug - High-performance template engine heavily influenced by Haml. 
- mustache.js - Minimal templating with {{mustaches}} in JavaScript. 
- marko - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. 
- nunjucks - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired). 
- EJS - Simple unopinionated templating language. 
- hogan.js - A compiler for the Mustache templating language. 
- doT - Fastest + concise javascript template engine for nodejs and browsers. Partials, custom delimiters and more. 
- jsrender - A lightweight, powerful and highly extensible templating engine. In the browser or on Node.js, with or without jQuery. 
- Twig.js - JS implementation of the Twig Templating Language. 
- hbs - Express view engine wrapper for Handlebars. 
- 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. 
- handlebars.js - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks. 
- art-template - High performance JavaScript templating engine. 
-
Testing
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. 
- power-assert - Provides descriptive assertion messages through the standard assert interface. 
- expect.js - Minimalistic BDD-style assertions for Node.JS and the browser. 
- should.js - BDD style assertions for node.js. 
- unexpected - Unexpected - the extensible BDD assertion toolkit. 
- better-assert - C-style assert() for nodejs, reporting the expression string as the error message. 
- http-assert - Assert with status codes. 
- faker.js - Generate massive amounts of realistic fake data in Node.js and the browser. 
- casual - Fake data generator for javascript. 
- fony - A simple command line tool for generating fake data from a template string. 
- Mock.js - A simulation data generator. 
- Sinon.JS - Test spies, stubs and mocks. 
- mm - An simple but flexible mock(or say stub) package, mock mate. 
- 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]
- pretender - A mock server library with a nice routing DSL. 
- rrweb - Record and replay the web. 
- uirecorder - UI Recorder is a multi-platform UI test recorder. 
- cypress - Fast, easy and reliable testing for anything that runs in a browser. 
- nightwatch - End-to-end testing framework written in Node.js and using the Webdriver API. 
- Detox - Gray box end-to-end testing and automation framework for mobile apps. 
- CodeceptJS - End 2 End Testing Framework for NodeJS. 
- mocha - Simple, flexible, fun javascript test framework for node.js & the browser. 
- ava - Node.js test runner that lets you develop with confidence 🚀. 
- jasmine - Simple JavaScript testing framework for browsers and node.js. 
- istanbul - A JS code coverage tool written in JS. 
- nyc - The Istanbul command line interface. 
- c8 - output coverage reports using Node.js' built in coverage. 
- 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. 
- codecov - Global coverage report uploader for Codecov in NodeJS. 
- autocannon - Fast HTTP/1.1 benchmarking tool written in Node.js. 
- artillery - Cloud-scale load testing. 
- Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results. 
- matcha - Simplistic approach to benchmarking. 
- benny - A dead simple benchmarking framework for JS/TS libs. 
- node-wrk - Wrk load testing tool node wrapper. 
- macaca - Automation solution for multi-platform. *(You might like [awesome-macaca](https://github.com/macacajs/awesome-macaca))* 
- supertest - Super-agent driven library for testing node.js HTTP servers using a fluent API. 
- node-tap - Test Anything Protocol tools for node. 
- jest - Delightful JavaScript Testing. 
-
Text/String
- uuid-js - A js library to generate and parse UUIDs,TimeUUIDs and generate TimeUUID based on Date for range selections. 
- dedent - ES6 string tag that strips indentation from multi-line strings. 
- camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- string-width - Get the visual width of a string - the number of columns required to display it.
- decamelize - Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow.
- detect-indent - Detect the indentation of code.
- string-length - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
- strip-indent - Strip leading whitespace from every line in a string.
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string.
- indent-string - Indent each line in a string.
- redent - Strip redundant indentation and indent the string.
- normalize-newline - Normalize the newline characters in a string to `\n`.
- 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.
- splice-string - Remove or replace part of a string like `Array#splice`.
- i18next - Internationalization framework. 
- i18n-node - Simple translation module with dynamic JSON storage. 
- babelfish - human friendly i18n for javascript (node.js + browser). 
- nanoid - Tiny, secure, URL-friendly, unique string ID generator. 
- uuid - Generate RFC-compliant UUIDs in JavaScript. 
- shortid - Short id generator. Url-friendly. Non-predictable. Cluster-compatible. 
- ulid - Universally Unique Lexicographically Sortable Identifier. 
- 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.
- he - HTML entity encoder/decoder. 
- html-entities - Fastest HTML entities encode/decode library. 
- jschardet - Character encoding auto-detection in JavaScript (port of python's chardet) 
- jsdiff - A javascript text differencing implementation. 
- 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. 
- generate-password - NodeJS library for generating cryptographically-secure passwords. 
- 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") 
- StegCloak - Conceal secrets within strings, in plain sight. 
- unhomoglyph - Normalize visually similar unicode characters.
- cuid - Collision-resistant ids optimized for horizontal scaling and performance. 
- iconv-lite - Convert character encodings. 
-
URL
- URI.js - Javascript URL mutation library. 
- qs - Querystring parser with nesting support. 
- query-string - Parse and stringify URL query strings. 
- url-parse - Small footprint URL parser that works seamlessly across Node.js and browser environments. 
- normalize-url - Normalize a URL. 
- url-pattern - Easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings. 
- native-url - Node's url module implemented using the built-in URL API. 
- url-join - Join all arguments together and normalize the resulting url. 
- humanize-url - Humanize a URL: https://sindresorhus.com → sindresorhus.com. 
- 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.
-
WebAssembly
- webassembly - A minimal toolkit and runtime to produce and run WebAssembly modules. 
-
Web Frameworks
- awesome-koa
- Express - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. 
- blitz - ⚡️The Fullstack React Framework — built on Next.js. 
- 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))* 
- Nest - Angular-inspired framework for building efficient and scalable server-side apps. *(You might like [awesome-nestjs](https://github.com/juliandavidmr/awesome-nestjs))* 
- 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. 
- sails - Realtime MVC Framework for Node.js. 
- Fastify - Fast and low overhead web framework. 
- Hapi - Framework for building applications and services. 
- Egg - Born to build better enterprise frameworks and apps with Node.js & Koa. 
- awesome-egg
- Feathers - Microservice framework built in the spirit of Express. 
- AdonisJs - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. 
- Restify - Enables you to build correct REST web services. 
- ThinkJS - Framework with ES2015+ support, WebSockets, REST API. 
- 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 
- Midway - A Node.js framework for building Serverless services, traditional server-side applications, microservices, and small programs. 
- Moleculer - Fast & powerful microservices framework. 
- seneca - Toolkit for writing microservices. 
- server - Simple and powerful server for Node.js. 
- beidou - Isomorphic framework for server-rendered React apps. 
- Marble.js - Functional reactive framework for building server-side apps, based on TypeScript and RxJS. 
- ActionHero - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. 
- lad - The best Node.js framework. Made by a former Express TC and Koa team member. 
- daruk - A node.js web framework based on typescript. 
- Hemera - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). 
- diet - A tiny, fast and modular node.js web framework. Good for making fast & scalable apps and apis. 
- restana - Super fast and minimalist framework for building REST micro-services. 
- 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. 
- hyper-express - High performance webserver with a simple-to-use API powered by uWebsockets.js under the hood. 
- Next.js - Minimalistic framework for server-rendered universal JavaScript web apps. 
- Micro - Minimalistic microservice framework with an async approach. 
- Tinyhttp - Modern and fast Express-like web framework. 
- Nuxt.js - Minimalistic framework for server-rendered Vue.js apps. 
- malagu - Malagu is a serverless First, scalable and componentized application framework developed by TypeScript. 
- CabloyJS - A Node.js full-stack framework with workflow engine, based on koa + egg + vue + framework7. 
-
-
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. 
- 7-days-nodejs - Classic Nodejs tutorial. 
- understand-nodejs - Nodejs principle is analyzed by source code. 
- 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
-
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. 
-
Lowcode
- amis - LowCode Framework, Generate various pages through JSON configuration. 
- h5-Dooring - H5 Page Maker, H5 Editor, LowCode. Make H5 as easy as building blocks. 
- 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. 
- node-red - Low-code programming for event-driven applications. 
- imove - Move your mouse, generate code from flow chart. 
-
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