【发布时间】:2017-05-08 20:34:31
【问题描述】:
我们最近为我们的项目改用了纱线。偶尔出现的一个问题是过时的 yarn.lock 文件。 package.json 将对其进行更改,并且开发人员忘记了yarn install。
有什么想法可以在遇到这种情况时自动防止提交?
【问题讨论】:
我们最近为我们的项目改用了纱线。偶尔出现的一个问题是过时的 yarn.lock 文件。 package.json 将对其进行更改,并且开发人员忘记了yarn install。
有什么想法可以在遇到这种情况时自动防止提交?
【问题讨论】:
一种快速做到这一点的方法是使用yarn check --integrity。
使用husky,您可以通过添加package.json 来确保:
"husky": {
"hooks": {
"pre-commit": "yarn check --integrity"
}
}
【讨论】:
yarn check 在历史上一直存在故障和维护不足。因此,它已在 Yarn 2 中删除。他们建议改用 yarn install --check-files,但目前尚不清楚它是否是令人满意的替代品。
一种方法是添加一个运行yarn install 的预提交挂钩。这将更新锁定文件,并且不会花费太多时间,因为不会有太多更改。
安装 husky 和 lint-staged 然后将以下内容添加到您的 package.json 中:
"scripts": {
...
"precommit": "lint-staged",
...
},
"lint-staged": {
"*": [
"yarn install",
"git add"
]
},
我对在 .js/.json 文件上运行 prettier 做了一些不同的事情,但基本相同。
【讨论】: