**
- 组织
- cli 命令行相关工具
- chalk: 命令行字体颜色样式
- cli-highlight: 终端语法高亮输出, 类似于 Highlight.js
- cliui: 在终端中进行多列输出
- didyoumean: 根据单词相似度,来对用户输入纠正提示
- semver: 提供语义化版本号相关的工具函数。 例如比较,规范化
- commander TJ 写的命令行选项和参数解析器,支持子命令,选项校验和类型转换,帮组信息生成等等. API 简单优雅
- minimist: 一个极简的命令行参数解析器。如果只是简单的选项解析,可以用这个库
- inquirer 命令行询问
- ora 命令行 spinner
- launch-editor 打开编辑器. 通过 node 打开编辑器,前端可以 express 暴露接口调用打开
- open 打开 URL、文件、可执行文件
- execa 更好的 child_process,修复了原生 exec 的一些问题
- validate-npm-package-name: 验证 npm 包名称,比如创建的项目名是否合法
- dotenv & dotenv-expand: 从.env 文件中加载配置,环境变量
- 网络相关
- portfinder: 获取可用的端口
- address: 获取当前主机的 ip,MAC 和 DNS 服务器
- 文件处理相关
- 数据检验
- @hapi/joi JSON schema 校验
- 调试
- debug: 这是一个 debug 日志利器, 支持通过环境变量或动态设置来确定是否需要输出; 支持 printf 风格格式化
- 算法
- hash-sum: 散列值计算
- deepmerge 深合并
- 其他
- recast Javascript 语法树转换器,支持非破坏性的格式化输出. 常用于扩展 js 代码
- javascript-stringify: 类似于 JSON.stringify, 将对象字符串化。
- webpack
- 配置定义
- webpack-merge: 合并 webpack 配置对象
- webpack-chain: 链式配置 webpack. 这两个库是 vue-cli 插件的重要成员
- webpack-dev-server: webpack 开发服务器,支持代码热重载,错误信息展示,接口代理等等
- webpack-bundle-analyzer: webpack 包分析器
- 配置定义
- 扩展(一些相关的技术栈)
- http-server 快速伺服静态文件
- plop 模板生成器
- yeoman 项目脚手架工具