Bookmark-Web基于React18、TypeScript、Vite5、Ant-Design、TailwindCSS开发的将浏览器书签转成导航页面的网站。
- 统一包管理器pnpm
//设置了preinstall钩子校验,其他包管理器npm、yarn下载会报错
pnpm i
pnpm dev
- 使用husky、lint-staged配合Eslint、Prettier 、EditorConfig格式化代码
//在git pre-commit钩子里执行lint-staged,每次git commit前会对暂存区的指定代码进行eslint语法校验,prettiter自动格式化
"lint-staged": {
"src/**/*.{ts,tsx}": [
"pnpm lint",
"prettier --write --ignore-unknown"
]
},
- 使用commitlint、commitizen、cz-git规范提交信息
//在git commit-msg钩子里执行commitlint进行commit message格式校验,格式规范可以参考阮一峰老师的文章(https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html)
rules: {
'type-enum': [
2,
'always',
[
'feat',
'fix',
'docs',
'style',
'refactor',
'perf',
'test',
'chore',
'revert',
'build',
'ci',
],
],
'type-case': [0],
'type-empty': [0],
'scope-empty': [0],
'scope-case': [0],
'subject-full-stop': [0, 'never'],
'subject-case': [0, 'never'],
'header-max-length': [0, 'always', 72],
},
//在package.json 添加 config 指定commitizen使用cz-git进行git commit提示(终端输入cz触发commit提示)
"config": {
"commitizen": {
"path": "node_modules/cz-git"
}
}