1.1.0 • Published 4 months ago

@cat-cli/init-spec v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 months ago

目录

使用指南

此工具供前端项目集成eslint、prettier、commit、单元测试等一系列规范用。 eslint相关说明请查看@cat-com/eslint-config

NODE环境

nodejs 12+

工具安装使用

旧项目强烈建议新开Git分支进行初始化!!!

统一脚手架方式(推荐)

安装

npm i @cat-cli/init-spec -g

使用

cat-init-spec

函数方式

安装

npm i @cat-cli/init-spec

使用

const {init} = require("@cat-cli/init-spec");
init();

集成后功能说明

功能概述

刚集成完建议执行npm run lint:fixnpm run prettier:fix进行代码批量检查和格式化。

时机功能
代码保存IDE编辑器开启保存后格式化功能后会自动进行eslint修复和prettier格式化
代码提交代码提交时自动进行eslint检查修复、prettier格式化以及commit message格式校验。
版本发布执行npm run release后根据历史提交信息更新CHANGELOG.md

命令行说明

命令行说明执行方式
npm run lint执行根目录下所有匹配文件的eslint检查手动执行
npm run lint:fix执行根目录下所有匹配文件的eslint检查并修复手动执行
npm run lint:staged执行当前提交文件的eslint检查并修复git commit时自动执行
npm run prettier执行根目录下所有匹配文件的prettier检查手动执行
npm run prettier:fix执行根目录下所有匹配文件的prettier检查并格式化手动执行
npm run prettier:staged执行当前提交文件的prettier检查并格式化git commit时自动执行
npm run release更新CHANGELOG.md版本并提交发布版本时手动执行
npm run test单元测试手动执行

文件&目录说明

文件名说明
.eslintrc.jseslint配置文件,根据选择的模式和语言匹配@cat-com/eslint-config 对应规则
.eslintignoreeslint忽略列表配置文件
.prettierrc.jsprettier配置文件
.prettierignoreprettier忽略列表配置文件
.commitlintrc.jsgit commit规则配置文件
.editorconfig编辑器格式约束文件,配置与prettierrc.js保持一致
test单元测试目录

编辑器开启代码检测

vscode

  • 安装ESLint插件。

webstorm

  • 打开配置搜索eslint,在ESLint配置内选择Automatic ESLint configuration

编辑器开启保存后格式化功能

vscode

  • 安装ESLintPrettier插件。
  • 打开setting,点击右上角按钮打开setting.json文件。
  • 写入如下配置:
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

webstorm

  • 打开配置搜索eslint,在ESLint配置内勾选Run eslint --fix on save开启eslint自动修复检测。
  • 搜索prettier,在Prettier配置内勾选on Save开启prettier自动格式化。

CRA项目webpack集成

使用create-react-app创建的项目,如需要webpack的eslint配置保持一致可参考文档 CRA使用自定义eslint

接口说明

命令行

spec

初始化规范命令

命令

cat init spec

参数

参数简写含义默认必须
--specs-s要初始化的规范,可选 all/eslint/prettier/commit/version/test,多个以,分隔all
--mode-mlint模式,base/web/react
--lang-llint语言,javascript/typescript
--force-f是否强制初始化

函数调用

init

初始化规范,带命令行交互

方法

init

参数

参数类型含义默认必须
specsarray要初始化的规范,可选 all/eslint/prettier/commit/version/spec'all'
modestringlint模式,base/web/react
langstringlint语言,javascript/typescript
forceboolean是否强制初始化

initSpec

初始化规范,不带命令行交互

方法

initSpec

参数

参数类型含义默认必须
specsarray要初始化的规范,可选 eslint/prettier/commit/version/test
modestring同init方法
langstring同init方法
forceboolean同init方法
initConfigobject初始化规范配置
isCRAboolean是否为create-react-app应用