lockfile-sync-check
一个命令行工具,用于检查你的包管理器的锁文件是否与 Git 仓库中的最新更改同步。
特性
- 支持多种包管理器(npm、yarn、pnpm)
- 可选的自动依赖安装
- 易于与 Git 钩子集成
安装
npm install -D lockfile-sync-check
# 或
yarn add -D lockfile-sync-check
# 或
pnpm add -D lockfile-sync-check
使用方法
lockfile-sync-check [包管理器] [--install]
选项
包管理器
:可选。指定要使用的包管理器("npm"、"yarn"或"pnpm")。如果不提供,默认 pnpm
。
--install
:可选。如果锁文件不同步,自动安装依赖。
示例
# 使用自动检测的包管理器检查锁文件是否同步
lockfile-sync-check
# 使用指定的包管理器检查
lockfile-sync-check pnpm
# 检查并在不同步时自动安装
lockfile-sync-check --install
Git 钩子集成
你可以使用以下两种流行的 Git 钩子管理工具来集成 lockfile-sync-check:
使用 simple-git-hooks
- 安装依赖:
npm install -D simple-git-hooks
# 或
yarn add -D simple-git-hooks
# 或
pnpm add -D simple-git-hooks
- 在
package.json
中添加配置:
{
"simple-git-hooks": {
"post-merge": "lockfile-sync-check --install",
"post-rewrite": "lockfile-sync-check --install"
}
}
使用 Husky
- 安装依赖:
npm install -D husky
# 或
yarn add -D husky
# 或
pnpm add -D husky
- 启用 Git 钩子:
npx husky install
- 添加 post-merge 钩子:
npx husky add .husky/post-merge "lockfile-sync-check --install"
npx husky add .husky/post-rewrite "lockfile-sync-check --install"
- 在
package.json
中添加 prepare 脚本:
{
"scripts": {
"prepare": "husky install"
}
}
这样,每当你执行 git pull、git merge 或 git rebase 操作时,lockfile-sync-check 都会自动运行并确保你的依赖是最新的。