清单
chalk
env/env-expand
格式化 node 命令中的参数,将其变成对象
var argv = require('minimist')(process.argv.slice(2))console.log(argv)$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz{ _: [ 'foo', 'bar', 'baz' ],x: 3,y: 4,n: 5,a: true,b: true,c: true,beep: 'boop' }run scripts
时设置和使用环境变量(跨平台)commander.js 可以自动的解析命令和参数,合并多选项,处理短参,等等
inquirer 是一个快速开发交互命令行的 package
注意:在 git hooks 中不会执行交互,查看
优雅的终端 loading 效果
一个更好的 child_process 管理工具
提示:
- 可以通过设置 option.stdio 为'inherit'来打印 log 信息
- 设置 option.cwd 来设置命令运行的路径
fs 的替代,并包含一些 fs 不支持的方法
npm 使用的 log 工具
将破折号/点/下划线/空格分隔的字符串转换为 camelCase 或 PascalCase:foo-bar→fooBar
Convert a camelized string into a lowercased one with a custom separator Example: unicornRainbow → unicorn_rainbow
下载一个 git 仓库
嵌入式 js 模板
Match files using the patterns the shell uses
判断 string 是否是有效的 npm 软件包名
node REPL 无法直接运行.ts 文件,必须先
tsc
编译成 js 之后。使用ts-node
可以直接使用 ts 文件jest 使用
babel
配合 ts 使用。但 babel 只直接移植 ts 内容,jest 在测试时不会进行类型校验。使用ts-jest
进行类型校验。请求
请求进度
请求库
适用于 Node.js 的快速且功能齐全的 Tar(解压缩)
根据 package.json 提示 node 版本是否需要更新
cli 包版本更新提示
更加可读的错误展示
获取 rc(run commands)配置文件
The non-configurable configuration loader for lazy people.
Cosmiconfig searches for and loads configuration for your program.
prettier 读取配置项使用了该包。
为你的项目生成 rc 配置文件
- const splitLines = require('split-lines')splitLines('foo\r\nbar\r\nbaz\nrainbow')//=> ['foo', 'bar', 'baz', 'rainbow']splitLines('foo\r\nbar\r\nbaz\nrainbow', { preserveNewlines: true })//=> ['foo\r\n', 'bar\r\n', 'baz\n', 'rainbow']
Simple templates for Node.js based on ECMAScript template literals syntax.
Read user name, email and URL from .npmrc or .gitconfig
Parse a string into an object with name, email and url properties following npm conventions. Useful for the authors property in package.json or for parsing an AUTHORS file into an array of authors objects.
Create boxes in the terminal
获取 npm 包 publish 的文件
Terminal task list
同时多个终端 spinner
Resolve the path of a module like
require.resolve()
but from a given path优先使用本地的包,本地 node_modules 不存在再用全局的包
最小、最有效、跨平台的文件监听库