怎么用命令行CLI一键生成各种烦人的lint配置
2023-04-18 12:55:33 时间
这篇文章主要讲解了“怎么用命令行CLI一键生成各种烦人的lint配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用命令行CLI一键生成各种烦人的lint配置”吧!
create-lint-config
这个工具叫做 create-lint-config
,一个一键创建所有的 lint 配置的 CLI 命令行工具。前端工程中特别多的配置文件例如 Eslint、Prettier 等让我们心烦意乱。我们的目标是快速而轻松地生成这些配置!
使用
在你的项目根目录执行以下命令:
# npm npm create lint-config@latest # yarn yarn create lint-config # pnpm pnpm create lint-config@latest
执行结果如下:
这个命令,一次执行,创建了 Eslint、StyleLint、prettier、commitlint、husy、lint-staged 等所有配置文件。
现有功能
生成 Eslint 配置。
生成 prettier 配置。
生成 stylelint 配置。
生成 husky 配置。
生成 commitlint 配置。
自动安装依赖。
期待更多。
源码解读
#!/usr/bin/env node async function install({ pkgManager, cwd, _arguments }: { pkgManager: string; cwd: string; arguments: array }) {} async function init() { // 拷贝配置文件基础模板,包括 Eslint、StyleLint、prettier、commitlint、husy、lint-staged await spinner({ start: `Base template copying...`, end: 'Template copied', while: () => { try { copy('base') } catch (e) { error('error', e) process.exit(1) } }, }) // 安装 husky await spinner({ start: `Husky installing...`, end: 'Husky installed', while: () => install({ cwd: process.cwd(), pkgManager: 'npx', _arguments: ['husky', 'install'], }).catch((e) => { error('error', e) process.exit(1) }), }) // husky 写入 commit-msg 校验指令,使用 commitlint await spinner({ start: `Adding commit-msg lint...`, end: 'Commit-msg lint added', while: () => install({ cwd: process.cwd(), pkgManager: 'npx', _arguments: ['husky', 'add', '.husky/commit-msg', 'npx --no-install commitlint --edit ""'], }).catch((e) => { error('error', e) process.exit(1) }), }) // husky 写入 pre-commit校验指令,使用 lint-staged 执行 elint 等 await spinner({ start: `Adding lint-staged...`, end: 'Lint-staged added', while: () => install({ cwd: process.cwd(), pkgManager: 'npx', _arguments: ['husky', 'add', '.husky/pre-commit', 'npx lint-staged'], }).catch((e) => { error('error', e) process.exit(1) }), }) // 安装依赖 await spinner({ start: `Dependencies installing with npm...`, end: 'Dependencies installed', while: () => install({ cwd: process.cwd(), pkgManager: 'npm', _arguments: ['install'], }).catch((e) => { error('error', e) process.exit(1) }), }) } init().catch((e) => { console.error(e) })怎么用命令行CLI一键生成各种烦人的lint配置
相关文章
- 大流量架构(二)之nginx篇
- Rocketmq两主两从集群部署
- MongonDB开启权限验证及设置用户名密码
- Swift5 字符串(String)操作
- 理解ABR及其工作原理
- 新型Linux恶意软件隐藏于无效日期、黑客通过微软漏洞监视目标电脑|全球网络安全热点
- 基于 DOCKER 快速部署 ELASTICSEARCH 集群-集成IK分词器
- [Android]HTTPPOST请求参数和效果
- 面向协议编程与 Cocoa 的邂逅 (上)
- 面向协议编程与 Cocoa 的邂逅 (下)
- ELK Stack日志中心搭建
- async 和 defer 的区别
- 一次意外删除gitlab项目,及恢复过程
- 机器学习常用算法——线性回归
- 机器学习常用算法——逻辑回归
- ORA-15096: lost disk write detected的解决与修复
- 跨域实践
- 身份即服务背后的基石
- 一则非常巧合的ORA-15042恢复
- 轻松解决Jupyter Notebook使用过程中遇到的三个问题