通过 package.json 的 overrides 锁定子依赖版本

某些时候,比如子依赖存在紧急 bug,但主依赖已经多年未更新,我们需要升级直接依赖的子依赖。

通过 package.json 的 overrides 字段,可以锁定子依赖版本。

文档: https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides

锁定所有包的子依赖 foo :

{
  "overrides": {
    "foo": "1.0.0"
  }
}

但以上不太现实,因为某个包可能被多个主依赖调用,大版本不一致,无法兼容。

可以指定具体的 bar 包,锁定子依赖 foo :

{
  "overrides": {
    "bar": {
      "foo": "1.0.0"
    }
  }
}