React项目中,prettier配置和commitlint配置。
创建 React 项目
直接根据React 官网文档创建 React 项目(这里使用 TypeScript 创建)
npx create-react-app my-app --template typescript
cd my-app
yarn
配置 prettier
prettier 可以非常友好地帮助我们规范代码格式
安装依赖,输出文件
具体文档可以查看官网
yarn add --dev --exact prettier
echo {}> .prettierrc.json
创建.prettierignore,并且编辑如下内容
# Ignore artifacts:
build
coverage
安装 pre-commit
具体文档可以查看官网
npx mrm lint-staged
安装成功后,可以在每次提交前可以规范指定的文件样式(默认只规范 js、css、md),所以需要在 package.json 文件的 lint-staged 配置中进行添加文件后缀。
"lint-staged": {
"*.{js,css,md,ts,tsx}": "prettier --write"
}
安装 eslint 的 prettier 配置
yarn add eslint-config-prettier -D
成功之后还需要在 package.json 中 eslintConfig 中添加上 prettier
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest",
"prettier"
]
},
升级 Husky
Husky 之前默认是 4 版本的,如果后续需要配置 commitlint,需要升级为 Husky5+版本
安装 Husky5+
yarn add husky --dev
yarn husky install
删除 package.json 这个配置
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
}
添加配置
npx husky add .husky/pre-commit "yarn lint-staged"
配置 commitlint
commitlint 可以规范提交格式,官网 Github有相关的介绍
安装 commitlint
# win
yarn add @commitlint/config-conventional @commitlint/cli -D
# other
yarn add @commitlint/{config-conventional,cli} -D
创建配置文件
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
注意,上面命令执行完的 commitlint.config.js 格式需要是如下:
module.exports = {
extends: ["@commitlint/config-conventional"],
};
安装 husky5+
(之前安装过就不需要)
yarn add husky --dev
yarn husky install
package.js 添加配置
在 package.json 中添加 postinstall script:
{
"scripts": {
"postinstall": "husky install"
}
}
执行
npx husky add .husky/commit-msg "yarn commitlint --edit $1"