用途:在当前仓库中设置 Husky pre-commit hook,使提交前自动对暂存文件运行 Prettier,并执行类型检查与测试。
主要能力:安装 husky、lint-staged、prettier 为 devDependencies;初始化 Husky;创建 .husky/pre-commit、.lintstagedrc,并在缺失时创建 .prettierrc;在 hook 中运行 lint-staged、typecheck 和 test。
使用方式:先检测包管理器(依据 package-lock.json、pnpm-lock.yaml、yarn.lock、bun.lockb,不确定时默认 npm)。安装依赖后执行 npx husky init,创建 .husky/pre-commit,内容为 npx lint-staged、npm run typecheck、npm run test(按检测到的包管理器替换 npm;若 package.json 无对应脚本则省略并告知用户)。.lintstagedrc 内容为 {"*": "prettier --ignore-unknown --write"}。仅在无 Prettier 配置时创建 .prettierrc,默认值包括 useTabs false、tabWidth 2、printWidth 80、singleQuote false、trailingComma es5、semi true、arrowParens always。最后验证文件存在、prepare 脚本为 husky,并运行 npx lint-staged 验证,随后提交变更。
限制与注意:Husky v9+ 的 hook 文件不需要 shebang;prettier --ignore-unknown 会跳过无法解析的文件;pre-commit 先运行 lint-staged,再运行完整类型检查和测试。其他细节暂未提供。