etcetera 前端编码规范工程化
支持前端全部生态,无需关注环境,支持直接使用
支持对全部前端配置实现一键接入、一键扫描、一键修复、一键升级
配套完整的测试用例,帮助您提升项目健壮性
本仓库提供:
- 如何通过
monorepo
和pnpm
的多包管理方式开发一套多npm
包的管理方式,以及如何将发包流程植入CI
实现自动化发布,以及CHANGLOG
的自动化更新部署; - 在现有前端前沿的研发流程下,我们可以通过哪些工具提升项目的编码规范,并提供配套工具的最佳实践,包括但不限于
eslint
、stylelint
、commitlint
、markdownlint
、husky
等,以及如何将单元测试植入配套工具的具体实现; - 如何通过脚手架的方式,以交互式形式一键接入,实现对
JavaScript
、Typescript
、React
、Vue
等不同类型的前端项目下的标准的语法限制; - 如何对存量项目进行优化:对于存量代码不符合规范的问题,支持一键扫描和一键修复,一键式的修复存量问题,最小化存量代码的更新成本;
- 如何对新项目添加规范:支持一键接入新增项目,通过结合
gitpre-commit
钩子,对提交文件进行编码规范的扫描;同时通过husky
的commit-msg
钩子,对本次代码提交message
的格式进行扫描。
引入了多个业界流行的 Linter
作为规范文档的配套工具,并根据规范内容定制了对应的规则包,包括:
规范 | Lint 工具 | npm 包 |
---|---|---|
JavaScript 编码规范 TypeScript 编码规范 Node 编码规范 |
ESLint | etc-fe-eslint-config |
CSS 编码规范 | stylelint | etc-fe-stylelint-config |
Git 规范 | commitlint | etc-fe-commitlint-config |
文档规范 | markdownlint | etc-fe-markdownlint-config |
Eslint 插件 | ESlint Plugin | etc-fe-eslint-plugin |
etc-fe-lint 收敛屏蔽了上述依赖和配置细节,提供简单的 CLI
和 Node.js API
,让项目能够一键接入、一键扫描、一键修复、一键升级,并为项目配置 git commit
卡口,降低项目接入规范的成本。
您可以使用etc-fe-lint 方便地为项目接入全部规范。
全局安装markdownlint-cli
npm i -g markdownlint-cli
pnpm run lint
参考conventional-changelog-cli,全局安装conventional-changelog-cli
:
npm install -g conventional-changelog-cli
pnpm run changelog