npm
依赖项不会自动升级到更高的主要版本。因此,如果包A
依赖于B
具有版本规范的包,例如:
// A/package.js
dependencies: {
"B": "^2.1.3"
}
然后npm
将B
更新任何版本 2.xy,其中 x >= 1 和(y >= 3 如果 x == 1 或 y >= 0 如果 x > 1)。
但是,如果安全修复发生在B
版本 3.vw 中,那么安全问题将保留在您的npm
存储库中。
这里的问题是,为了能够使用版本 3.vw,您可能必须更新A
,因为可能在 2 和 3 之间存在重大更改(即更改了函数名称或删除了对某个属性的支持。)
以下是react-idle-timer模块中中断更改的示例:
从 v3 迁移到 v4
版本 4 中有一些重大更改:
- 虽然仍然能够渲染孩子,但从版本 4 开始,我们不会将孩子传递给
IdleTimer
. 除非你真的很擅长shouldComponentUpdate
你应该避免使用IdleTimer
作为包装组件。
- 该属性
startOnLoad
已重命名为startOnMount
,以便在 React 上下文中更有意义。
- 该属性
activeAction
已重命名为onActive
。
- 该属性
idleAction
已重命名为onIdle
。