通用
dedent - ES6模板字符串函数,用于去除多行字符串的缩进。
camelcase - 将破折号/点号/下划线/空格分隔的字符串转换为驼峰式, 案例:foo-bar→fooBar。
string-width - 获取字符串的可视宽度-显示字符串所需的列数。
decamelize - 将驼峰式字符串转化成小写带分隔符带字符串, 案例:unicornRainbow → unicorn_rainbow
detect-indent - 检查代码缩进。
string-length - 获取字符串的真实长度 - 通过正确计算星号并忽略ansi转义码。
strip-indent - 将字符串每一行中前置的空格删除。
strip-bom - 从字符串中删除UTF-8字节顺序标记(BOM)。
indent-string - 将字符串每一行缩进。
redent - 去除多余的缩进并缩进字符串。
normalize-newline - Normalize the newline characters in a string to \n.
min-indent - 取每一行最少前置空格数。
trim-right - 与 String#trim() 类似,但仅删除右侧的空格。
splice-string - 移除或替换字符串的一部分。类似Array#splice.
国际化
i18next - 国际化框架。
i18n-node - 具有动态JSON存储的简单翻译模块。
babelfish - 适用于JavaScript的人性化i18n(node.js +浏览器)。
唯一ID
nanoid - 小巧、安全、URL友好、唯一的字符串ID生成器。
uuid - 在JavaScript中生成符合RFC规范的UUID。
shortid - 短ID生成器。 网址友好。 不可预测的。 集群兼容。
ulid - 通用唯一词典分类排序标识符。
uuid-js - 用于生成和解析 UUID、TimeUUID 并根据日期生成 TimeUUID 以供范围选择。
pure-uuid - 基于纯JavaScript全局唯一ID(UUID)。
编码/解码
he - HTML实体编码器/解码器。
iconv-lite - 转换字符编码。
jschardet - JavaScript编码自动识别 (Python版chardet的实现)。
差异对比
jsdiff - 一种JavaScript文本差异实现。
recursive-diff - 查找两个JavaScript对象的差异,支持数组、数字、日期和其他原始数据类型。
其他
StegCloak - 基于纯JavaScript开发的隐写功能模块,StegCloak可以对文本中的机密信息进行压缩和加密,然后再使用特殊的Unicode不可见字符来隐藏它。
unhomoglyph - 规范视觉上相似的unicode字符。
1.234→1.2`。1337000000 → 15d 11h 23m 20s。/user/:name)转化为正则。unicorn.jpg → file:///Users/sindresorhus/unicorn.jpgbcrypt_pbkdf Javascript实现。child_process.{execFile,exec}。child_process.spawn()。which.框架/解决方案
Commander.js - Node.JS命令行界面完整解决方案。
yargs - 通用可交互命令行工具集合。
oclif - 基于Heroku开源Node.js CLI框架。
meow - CLI应用助手。
cac - 用于构建命令行应用的强大框架。
Cliffy - 可交互命令行框架。
common-bin - 基于yargs的命令行工具抽象,提供更方便的使用,支持async/generator。
命令行参数解析
minimist - 命令行参数解析引擎。
arg - 简单的参数解析。
nopt - Node/npm参数解析。
argparse - Node.js CLI参数解析。
yargs-parser - yargs在使用,优雅参数解析库.
Prompt提示
Inquirer.js - 通用可交互命令行工具集合。
prompts - 轻量、美观、用户友好的交互式命令行提示。
Enquirer - 用户友好、直观且易于创建的时尚CLI提示。
node-promptly - 简单命令行提示实用程序。
进度条
progress - Node.js的灵活ascii进度条。
progress-estimator - 打印进度条并估计完成Promise所需的时间。
cli-progress - 在命令行/终端应用中轻松的使用进度条。
样式
chalk - 命令行字符串样式美化工具。
ora - 优雅的命令行loading效果。
colors.js - 获取Node.js控制台的颜色。
listr - 命令行任务列表。
figlet.js - 用 JavaScript 编写的 FIG,旨在完全实现 FIGfont 规范。
kleur - 最快的Node.js库,使用ANSI颜色格式化命令行文本。
colorette - 在终端中轻松设置文本的颜色和样式。
qrcode-terminal - 命令行中显示二维码。
boxen - 控制台中创建盒子。
terminal-image - 在终端中展示图片。
log-symbols - 为不同日志级别添加色彩图标。
gradient-string - 终端输出中漂亮的颜色渐变。
figures - Windows兜底的Unicode符号。
terminal-link - 在终端中创建可点击的链接。
snazzy - 将 JavaScript 标准样式格式化为时尚(即时髦)输出。
columnify - 创建适合控制台输出的基于文本的列。 支持单元格。
cli-table3 - 命令行的漂亮unicode表。
easy-table - 漂亮的文本表格。
treeify - 将javascript对象漂亮地打印为树。
kolorist - 使用输入和输出色彩化的小工具。
console-png - 在命令行输出中打印PNG图片。
编辑器
slap - 基于命令行终端的类Sublime文本编辑器。
其他
commitizen - Commitizen命令行实用程序。
update-notifier - 为你的CLI应用提供的更新提示。
console-clear - 跨平台清空控制台。
NPM管理工具
pnpm - 快速、节省磁盘空间高效的包管理器。
npm - JavaScript包管理工具。
yarn - 现代包管理工具,拆分成多个不同的包。
nrm - 快速切换npm注册服务商,如npm、cnpm、nj、taobao。
cnpm - NPM中国区镜像客户端。
package.json
read-pkg-up - 读取最近的package.json文件。
node-pkginfo - 从package.json读取属性的简单方法。
pkg-dir - 查找npm包的根目录。
read-pkg - 读取package.json文件。
write-pkg - 写入package.json文件。
read-package-json-fast - 类似 read-package-json, 但更快。
语义化版本
semver - NPM使用的JavaScript语义化版本号解析器。
compare-versions - 比较semver版本字符串,找出哪个更大,哪个相等,哪个更小。
工具
npm-check-updates - 查找当前package.json依赖允许的更新的版本。
concurrently - 并行执行命令,类似 npm run watch-js & npm run watch-less但更优。
npm-run-all - 命令行工具,同时运行多个npm脚本(并行或串行)。
depcheck - 检查你的NPM模块未使用的依赖。
npminstall - 使 npm install 更快更容易。
validate-npm-package-name - 校验给定的字符串 是否为 可接受的 npm 包名称。
npm-home - 打开npm包页面。
npm-name - 在npm上检查软件包名称的可用性。
pacote - 从npm注册商下载tar压缩文件,并获取包的资源信息。
npm-package-arg - 根据包名解析信息。
npm-registry-fetch - 类型fetch()函数,但用于npm仓库。
npm-updater - 检查npm包的更新。
(你也许喜欢 awesome-monorepo)
通用
fs-extra - 为 fs 模块提供额外方法。
graceful-fs - graceful-fs可以替代fs模块,并做了各种改进。
filesize.js - 生成人类可读的文件大小字符串。
memfs - Node.js API内存文件系统。
fs-jetpack - 完全重新设计的文件系统API,方便日常使用。
make-dir - 递归创建文件夹,类似 mkdir -p。
find-up - 通过上级父目录查找文件或目录。
filenamify - 将字符串转换为有效的文件名。
copyfiles - 在命令行中复制文件。
filehound - 灵活流畅的文件系统搜索接口。
move-file - 移动文件,甚至可以跨设备工作。
proper-lockfile - 进程间和机器间文件锁实用工具。
istextorbinary - 检查文件是文本文件还是二进制文件。
mkdirp - 递归创建文件夹,类似 mkdir -p。
dir-compare - Node JS文件夹对比。
folder-hash - 为 文件夹或文件 上创建哈希检验码。
lnfs - 强制创建符号链接。类似ln -fs.
复制
ncp - 使用Node.js进行异步递归文件复制。
cpy - 文件拷贝。
删除
rimraf - 递归删除文件,类似 rm -rf。
del - 删除文件/文件夹。
临时
temp - Node.js临时文件、文件夹、流。
tempy - 获取随机的临时文件或目录路径。
temp-dir - 获取系统临时文件夹的真实路径。
监控
chokidar - 最小且高效的跨平台Watch库。
watchpack - Watch文件和文件夹。
遍历查找
glob - Node.js版glob功能。
globby - 基于fast-glob,但添加了很多有用的特性。
fast-glob - 非常快速且高效的Node.js glob库。
node-sync-glob - 通过glob模式在本地同步文件和文件夹,包括watch选项。
Markdown
marked - Markdown解析器和编译器,专为提高速度而设计。
remark - Markdown处理工具。
markdown-it - 支持100%通用Markdown标签解析的扩展&语法插件。
turndown - 用 JavaScript 编写的 HTML 到 Markdown 转换器。
CSV
PapaParse - 快速而强大的 CSV(分隔文本)解析器,可以优雅地处理大文件和格式错误的输入。
node-csv - 具有简单api的全功能CSV解析器,并针对大型数据集进行了测试。
csv-parser - 旨在比其他任何人都快的流式CSV解析器。
neat-csv - 快速的CSV解析器。
YAML
js-yaml - 快速的YAML解析器。
yaml - YAML 的 JavaScript 解析器和字符串化。
XML
xml2js - 将XML转换为JavaScript对象的转换器。
fast-xml-parser - 验证&解析 XML。
xmlbuilder - XML构建器。
js2xmlparser - 用于将 JavaScript 对象解析为 XML 的流行 Node.js 模块。
HTML
htmlparser2 - 宽容的 HTML 和 XML 解析器。
himalaya - 将HTML转化为JSON的解析器。
CSS
PostCSS - CSS解析工具。
less - Less动态样式表语言。
SQL
pgsql-ast-parser - 简单的Postgres SQL解析器。
dt-sql-parser - 大数据的SQL解析器,用antlr4构建。
Plist
node-bplist-parser - 二进制plist文件解析。
ini
ini - ini文件解析和序列化。
其他
readability - 可读内容提取库,用于Firefox Reader View的独立提取版本。
npm test。.git/config 解析为 JavaScript 对象。 同步或异步。ESM
解决方案
easy-monitor - 企业级 Node.js 应用性能监控和在线故障定位解决方案。
webfunny_monitor - Webfunny是一款轻量级的前端监控系统,也是一款前端性能监控系统,无埋点监控前端日志,实时分析前端健康状态。
中间件
swagger-stats - 跟踪 API 调用并监控 API 性能、运行状况和使用指标。
代理
prom-client - Prometheus代理。
apm-agent-nodejs - Elastic APM Node.js代理。
skywalking-nodejs - Apache SkyWalking Node.js代理
驱动
MySQL - MySQL 客户端。
PostgreSQL - PostgreSQL客户端。
MongoDB - 官方MongoDB驱动。
ioredis - Redis客户端。
LevelUP - LevelDB客户端。
couchdb-nano - 官方CouchDB客户端。
Couchbase - Couchbase客户端(官方)。
Aerospike - Aerospike客户端。
ODM / ORM
Sequelize - 多方ORM。 支持PostgreSQL,SQLite,MySQL。
TypeORM - PostgreSQL,MariaDB,MySQL,SQLite等的ORM。
Mongoose - 优雅的MongoDB对象建模。
typegoose - Typegoose - 使用 TypeScript 类定义 Mongoose 模型。
Prisma - 支持PostgreSQL, MySQL & SQLite,自动生成、类型安全的query builder。
Bookshelf - Backbone.js风格的PostgreSQL,MySQL和SQLite3的ORM。
Objection.js - 基于SQL查询生成器Knex的轻量级ORM。
Waterline - 与数据存储区无关的工具,可大大简化与一个或多个数据库的交互。
Massive - PostgreSQL数据访问工具。
pg-promise - 用于使用Promise的本机SQL的PostgreSQL框架。
MikroORM - 基于数据映射器,工作单元和身份映射模式的TypeScript ORM。 支持MongoDB,PostgreSQL,MySQL和SQLite。
slonik - 具有严格类型,详细日志记录和断言的PostgreSQL客户端。
OpenRecord - PostgreSQL,MySQL,SQLite3和RESTful数据存储的ORM。 类似于ActiveRecord
Query builder
Knex - PostgreSQL,MySQL和SQLite3的查询构建器,旨在灵活,可移植且易于使用。
SQL
sqlstring - 简单 SQL 转义和格式,用于MySQL。
其他
Lowdb - 用于小型项目的微型本地 JSON 数据库(支持 Node、Electron 和浏览器)。
NeDB - 用于 Node.js、nw.js、Electron和浏览器的嵌入式持久数据库或内存数据库。
Keyv - 支持多个后端的简单键值(KV)存储。
pg-mem - 内存 PostgreSQL 实例。
Mongo Seeding - 使用 JavaScript 和 JSON 文件填充 MongoDB 数据库。
@databases - 使用普通 SQL 查询 PostgreSQL、MySQL 和 SQLite3,而不会导致 SQL注入 的风险。
Finale - 基于 Sequelize 模型生成 RESTful接口。
database-js - 类似 JDBC连接 的多个数据库连接封装。
断言库
chai - 基于行为驱动开发(BDD)和测试驱动开发(TDD)理念的Node.js和浏览器断言库,可与任何 JavaScript 测试框架集成。
power-assert - 使用标准assert接口提供的描述型断言消息。
expect.js - 适用于Node.JS和浏览器的简约BDD风格的断言库。
should.js - Node.JS的行为驱动开发(BDD)风格断言库。
better-assert - C语言风格的Node.js断言,将表达式字符串报告为错误消息。
http-assert - 带状态码的断言。
假数据生成
faker.js - 在Node.js和浏览器中生成大量逼真的假数据。
casual - JavaScript假数据生成。
fony - 一个简单的命令行工具,从字符串模板中生成假数据。
Mock
Mock.js - 浏览器和 Node 均可用,支持自定义 schema 和 随机数据。
Nock - HTTP mock和期望。
Sinon.JS - 通过间谍函数(spies), 目标函数替换(stubs)和mocks功能提供的Mock库。
easy-mock - 可视化,并且能快速生成模拟数据的持久化服务。
mm - 简单但灵活的 mock(或者叫stub) 包, mock伴侣。
smoke - 具有记录功能的,简单但功能强大的基于文件的Mock服务器。
端到端的测试(E2E) / 自动化UI
nightwatch - 用 Node.js 编写,并使用 Webdriver API 的端到端测试框架。
CodeceptJS - Node.js端到端测试框架。
测试框架
jest - 愉悦的JavaScript测试。
mocha - 简单、灵活、有趣的功能丰富的Node.js和浏览器测试框架。
ava - 面向未来的测试运行程序。
jasmine - 简单的Node.js和浏览器测试框架。
supertest - 使用流畅的API,基于Super-agent库测试Node.js HTTP服务器。
node-tap - 用于Node.js测试任何协议的工具。
覆盖率
nyc - Istanbul的命令行工具。
node-coveralls - 借助持续集成服务(Travis CI 或 Jenkins) 向用户报告自动测试的测试覆盖率;为README添加一个很酷的覆盖率按钮。
codecov - NodeJS中代码覆盖率报告上载器。
基准测试
Benchmark.js - 基准测试库,支持高分辨率计时器并返回具有统计意义的结果。
matcha - 基准测试的简化方法。
benny - 一个非常简单的 JS/TS 库基准测试框架。
node-wrk - Wrk负载测试工具Node.js版封装。
解决方案
macaca - 多端自动化解决方案。
Excel
sheetjs - 电子表格数据工具箱。
exceljs - Excel工作表管理工具。
xlsx-populate - Excel XLSX生成和解析工具,可运行在Node和浏览器。
Word
officegen - 使用Javascript,生成可打开Word(docx)、PowerPoint(pptx)和Excel(xlsx)的XML文件(需Microsoft Office 2007及更高版本),输出是一个stream。
Mammoth - 将Word文档(.docx文件)转化为HTML。
docx - 通过良好定义的API,在NodeJS和浏览器中,使用JS/TS轻松的生成docx文件。
jsPDF - 使用JavaScript生成PDF文件的库。
PDFKit - 在Node.js和浏览器中生成PDF的库。
percollate - 一个命令行工具,可将网页转换为漂亮的,可读的PDF,EPUB或HTML文档。
pdf-lib - 在任意JavaScript环境中创建和修改PDF文档。
pdf2json - PDF文件解析器,它将PDF二进制文件转换为基于文本的JSON。
PPT
nodeppt - Web端展示端PPT工具。
IP
node-ip - NodeJS IP地址工具。
public-ip - 非常快的获取你的公网IP地址。
request-ip - 在服务器中获取请求的IP地址。
ipaddr.js - JavaScript 中的 IP 地址操作库。
internal-ip - 获取您的内网IP地址。
ipify - 获取你的公网IP地址。
address - 获取当前机器IP地址和MAC地址。
端口
node-portfinder - 在当前机器上查找开放端口 或 域套接字的简单工具。
get-port - 获取一个可用的端口。
detect-port - 端口探测的Node.JS实现。
隧道代理
node-tunnel - 用于隧道代理的 HTTP/HTTPS代理。
tunnel-agent - HTTP 隧道代理。以前是 mikeal/request 的一部分,现在是一个独立的模块。
其他
netcat - 纯JS中的Netcat端口。
getmac - 获取电脑的MAC地址。
DHCP - DHCP客户端和服务器。
default-gateway - 获取默认网络网关(跨平台)。
请求库
axios - 基于Promise 的HTTP客户端(也可以在浏览器中工作)。
request - 简单的 HTTP 请求客户端。
superagent - HTTP请求库。
got - 更好的基于内建“http”模块接口实现。
node-fetch - Node.js的 window.fetch 实现。
needle - 灵活,基于流的HTTP Node.js客户端请求库。支持proxy,iconv,cookie,deflate和multipart。
urllib - 在复杂世界中请求HTTP/HTTPS的URL。
phin - Node HTTP client.
wreck - HTTP 客户端工具。
cacheable-request - 使用符合RFC的缓存封装的本机HTTP请求库。
gh-got - 基于"got"封装,与GitHub API更方便的交互。
flashheart - REST 客户端。
服务端库
http-server - 零配置的命令行Http服务端。
anywhere - 随启随用的静态文件服务器。
http-fake-backend - 通过可配置的路由,提供JSON文件或JavaScript对象来构建伪造的后端。
json-server - 在不到30秒的时间内获得具有零编码的完整伪造的REST API。
代理
http-proxy - HTTP代理。
https-proxy-agent - HTTP(S) 代理 http.Agent实现。
global-agent - 可以使用环境变量配置的全局 HTTP/HTTPS 代理。
fast-proxy - Node.js框架,使您可以将http请求转发到另一个HTTP服务器。 支持的协议:HTTP,HTTPS,HTTP2。
argo - 一个可扩展的异步 HTTP 反向代理和源服务器。
中间件
http-proxy-middleware - ⚡用于connect,express和browser-sync的单线Node.js Http代理中间件。
下载
download - 轻松下载和提取文件。
nugget - 使用Node.js编写的极简主义wget clone。 HTTP GET文件并将其下载到当前目录。
解析器
babel-parser - JavaScript解析器。
antlr - ANTLR (ANother Tool for Language Recognition)是一个用于阅读、处理、执行和翻译结构化文本或二进制文件的强大的解析生成器。
acorn - 小巧、快速的JavaScript解析器。
esprima - 高性能、符合ECMASCRIPT标准的解析器。
recast - JavaScript语法树转换器,非破坏性漂亮print和自动source map生成器。
nearley - JavaScript的简单、快速、功能强大的解析工具集。
espree - 与Esprima兼容的JavaScript解析器。
csstree - 基于W3C标准和浏览器标准实现,包含快速详细的解析器、遍历器、生成器、词法解析的CSS工具集。
es-module-lexer - 低开销的词法分析器,专门用于ES模块快速分析解析。
遍历
acorn-walker - 小巧、快速的JavaScript解析器。
estraverse - ECMAScript JS AST遍历功能。
代码生成
escodegen - ECMAScript代码生成。
astring - 小巧快速的JavaScript代码生成器(通过ESTree兼容的AST)。
JavaScript解释器
JS-Interpreter - JavaScript中沙箱解释器。
jsjs - 简易的 JavaScript 元循环解释器。
sval - 使用JavaScript编写的JavaScript解释器。
其他
astexplorer - 使用多种解析器的AST Web可视化工具。
estree-walker - 用于遍历ESTree兼容树的AST。
periscopic - 用于分析符合ESTree的AST的作用域的工具。
(你也许会喜欢 awesome-lowcode)
H5/PC
amis - 前端低代码框架,通过 JSON 配置就能生成各种页面。
H5
h5-Dooring - 让H5制作像搭积木一样简单, 轻松搭建H5页面, H5网站, PC端网站, 可视化设计,LowCode平台。
luban-h5 - 类似易企秀的H5制作、建站工具、可视化搭建系统。
gods-pen - 基于vue的高扩展在线网页制作平台,可自定义组件,可添加脚本,可数据统计。
PC
pc-Dooring - 让网页制作像搭积木一样简单, 轻松搭建PC页面, Web网站, PC端网站. lowcode(low-code)可视化搭建平台。
逻辑编排
node-red - 事件驱动应用的低代码编程。
imove - iMove 是一个逻辑可复用的,面向函数的,流程可视化的 JavaScript 工具库。