diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..36af219 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged diff --git a/README.md b/README.md index ad0487b..06b760c 100644 --- a/README.md +++ b/README.md @@ -41,9 +41,9 @@ ## 预览 -| 位置 | 账号 | 链接 | -| --- | --- | --- | -| github-pages | admin或editor | [链接](https://un-pany.github.io/v3-admin-vite) | +| 位置 | 账号 | 链接 | +| ------------ | --------------- | ----------------------------------------------- | +| github-pages | admin 或 editor | [链接](https://un-pany.github.io/v3-admin-vite) | ## 🚀 开发 @@ -62,6 +62,9 @@ cd v3-admin-vite # 安装依赖 pnpm i +# 初始化 husky +pnpm prepare + # 启动服务 pnpm dev ``` @@ -111,7 +114,7 @@ pnpm lint ## 可有可无的群 -QQ群:1014374415(左)&& 加我微信,拉你进微信群(右) +QQ 群:1014374415(左)&& 加我微信,拉你进微信群(右) ![qq.png](https://github.com/un-pany/v3-admin-vite/blob/main/src/assets/docs/qq.png) ![wechat.png](https://github.com/un-pany/v3-admin-vite/blob/main/src/assets/docs/wechat.png) diff --git a/package.json b/package.json index 8755129..cc6bee7 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "preview:prod": "pnpm build:prod && vite preview", "lint:eslint": "eslint \"src/**/*.{vue,ts,tsx}\" --fix", "lint:prettier": "prettier --write \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"", - "lint": "pnpm lint:eslint && pnpm lint:prettier" + "lint": "pnpm lint:eslint && pnpm lint:prettier", + "prepare": "husky install" }, "dependencies": { "@element-plus/icons-vue": "^1.1.4", @@ -51,6 +52,7 @@ "eslint": "^8.13.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-vue": "^8.6.0", + "husky": "^7.0.4", "lint-staged": "^12.4.0", "prettier": "^2.6.2", "sass": "^1.50.1", @@ -62,13 +64,19 @@ "vue-eslint-parser": "^8.3.0", "vue-tsc": "^0.34.7" }, - "gitHooks": { - "pre-commit": "lint-staged" - }, "lint-staged": { "*.{js,jsx,vue,ts,tsx}": [ - "pnpm lint", - "git add" + "eslint --fix", + "prettier --write" + ], + "*.{scss,less,css,html,md}": [ + "prettier --write" + ], + "package.json": [ + "prettier --write" + ], + "{!(package)*.json,.!(browserslist)*rc}": [ + "prettier --write--parser json" ] }, "keywords": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 73d741b..cfb52fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,6 +18,7 @@ specifiers: eslint: ^8.13.0 eslint-plugin-prettier: ^4.0.0 eslint-plugin-vue: ^8.6.0 + husky: ^7.0.4 js-cookie: ^3.0.1 lint-staged: ^12.4.0 lodash-es: ^4.17.21 @@ -69,6 +70,7 @@ devDependencies: eslint: 8.13.0 eslint-plugin-prettier: 4.0.0_eslint@8.13.0+prettier@2.6.2 eslint-plugin-vue: 8.6.0_eslint@8.13.0 + husky: 7.0.4 lint-staged: 12.4.0 prettier: 2.6.2 sass: 1.50.1 @@ -1826,6 +1828,12 @@ packages: engines: {node: '>=10.17.0'} dev: true + /husky/7.0.4: + resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} + engines: {node: '>=12'} + hasBin: true + dev: true + /ignore/5.2.0: resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'}