【问题标题】:Prevent outdated yarn.lock file from being committed?防止提交过时的 yarn.lock 文件?
【发布时间】:2017-05-08 20:34:31
【问题描述】:

我们最近为我们的项目改用了纱线。偶尔出现的一个问题是过时的 yarn.lock 文件。 package.json 将对其进行更改,并且开发人员忘记了yarn install

有什么想法可以在遇到这种情况时自动防止提交?

【问题讨论】:

    标签: npm yarnpkg


    【解决方案1】:

    一种快速做到这一点的方法是使用yarn check --integrity。 使用husky,您可以通过添加package.json 来确保:

    "husky": {
      "hooks": {
        "pre-commit": "yarn check --integrity"
      }
    }
    

    【讨论】:

    • 这对我有用。不幸的是,根据 yarn 文档,yarn check 在历史上一直存在故障和维护不足。因此,它已在 Yarn 2 中删除。他们建议改用 yarn install --check-files,但目前尚不清楚它是否是令人满意的替代品。
    【解决方案2】:

    一种方法是添加一个运行yarn install 的预提交挂钩。这将更新锁定文件,并且不会花费太多时间,因为不会有太多更改。

    安装 huskylint-staged 然后将以下内容添加到您的 package.json 中:

    "scripts": {
      ...
      "precommit": "lint-staged",
      ...
    },
    "lint-staged": {
      "*": [
        "yarn install",
        "git add"
      ]
    },
    

    我对在 .js/.json 文件上运行 prettier 做了一些不同的事情,但基本相同。

    【讨论】:

      猜你喜欢
      • 2017-12-08
      • 1970-01-01
      • 2017-11-17
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      相关资源
      最近更新 更多