SuperAPI AI 工具集

setup-pre-commit

部署与运维

查看项目

更新于 10-16 03:44

技能介绍

用途:在当前仓库中搭建 Husky pre-commit 钩子,配合 lint-staged 运行 Prettier、类型检查和测试,让提交前自动检查代码。

主要能力:安装 husky、lint-staged、prettier 为 devDependencies;初始化 Husky;创建 .husky/pre-commit 钩子;创建 .lintstagedrc 对暂存文件运行 Prettier;在缺少配置时创建 .prettierrc。

使用方式:先检测包管理器(package-lock.json 对应 npm、pnpm-lock.yaml 对应 pnpm、yarn.lock 对应 yarn、bun.lockb 对应 bun,不明确时默认 npm)。安装依赖后运行 npx husky init,生成 .husky 目录并在 package.json 添加 prepare: "husky"。接着在 .husky/pre-commit 中写入 npx lint-staged、npm run typecheck、npm run test,并按检测到的包管理器替换 npm;若 package.json 中没有 typecheck 或 test 脚本,则省略对应行并告知用户。再创建 .lintstagedrc 内容为 {"*": "prettier --ignore-unknown --write"},仅在无 Prettier 配置时创建 .prettierrc(useTabs false、tabWidth 2、printWidth 80、singleQuote false、trailingComma es5、semi true、arrowParens always)。最后验证并提交,提交信息为 Add pre-commit hooks (husky + lint-staged + prettier)。

验证要点:确认 .husky/pre-commit 存在且可执行、.lintstagedrc 存在、package.json 的 prepare 为 husky、Prettier 配置存在,并运行 npx lint-staged 验证。

限制与说明:Husky v9+ 的钩子文件不需要 shebang;prettier --ignore-unknown 会跳过 Prettier 无法解析的文件;pre-commit 先运行 lint-staged(快速、仅暂存文件),再执行完整的类型检查和测试。关于收费、价格、平台与效果等,资料暂未提供。