我正在使用husky
,并希望确保每次推送都包含有效的package-lock.json
。从这个意义上讲,有效的前提是它满足package.json
中定义的所有依赖关系。我知道如果这些依赖项不匹配,运行npm ls
会出错,因此我将其添加到了pre-push
钩子中。问题在于它针对我的本地副本运行npm ls
而不是我的提交所执行的阶段,因此提交package.json
而不是package-lock.json
会导致钩子通过。
有什么方法可以对暂存的文件运行npm ls
?
这是我当前的沙哑配置:
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"pre-push": "npm run build && npm run test && npm ls"
}
},