强制npm使用相同版本的包作为其依赖项之一

时间:2017-10-30 23:31:10

标签: node.js npm dependency-management

有没有办法强制npm为我的应用程序安装相同版本的依赖项,而我的某个程序包的依赖项是使用的?

情况是我有一个包含时区控件的UI组件库。此时区控制使用时刻时区。在我的应用程序中,我也使用了时间 - 时区,对时间值和诸如此类的东西做了一些计算。

但是,出于显而易见的原因,我不希望时区元数据在我的应用和时区控件之间失去同步。

任何人都有任何关于如何实现这一目标的想法?我曾经思考或试过的攻击线以及为什么我遇到了问题:

  • 让库指定它用作peerDependency的特定版本。问题是,即使使用该库的应用程序不需要时刻 - 时区(大多数赢了),如果缺少peerDependency,npm将发出警告。
  • 通过 library / node_modules / moment-timezone包含库的版本 - moment-timezone。但是,根据目录的特定布局,感觉非常粗略。
  • 只需将所有时区操作代码放入库中即可。对某些内容来说这是有意义的,但有些内容感觉它对于我的用例来说太过具体,无法保证包含在库中(这可能只是意味着我需要进行一些重构)。

基本上我需要的是类似可选的peerDependency,这不是一件事。

0 个答案:

没有答案