更新NPM包的传递依赖性

时间:2018-01-03 00:42:54

标签: npm artifactory package.json package-lock.json

我们公司有一些Web应用程序,而这些应用程序依赖于一长串内部创建和托管的npm软件包(我们使用JFrog Artifactory),每个软件包都有自己的依赖项(等等)。每当修复错误或在低级别包中实现功能时,当前进程需要开发人员检查他们的更改,等待CICD构建完成并测试运行,更新父包,并冲洗/重复所有链上的方式(这可能是一个非常漫长的过程)。

这可能是一种独特的情况,但它会极大地影响我们的工作效率,并鼓励单片软件包开发来限制更新的软件包数量而不是正确的代码分离。

我只能想到两个解决方案:

1)更新Web应用程序以直接在package.json中使用传递依赖项。然而,这会破坏"封装"因为Web应用程序不应该知道直接依赖关系如何管理其工作。如果直接依赖关系后来使用其他传递依赖关系,则Web应用程序不应该引用现在不相关的包。

2)修改Web应用程序的package-lock.json以指向传递依赖项的新版本。然而,这似乎只是临时工作,因为合并冲突或直接依赖的新安装往往会恢复这些更改。

我意识到答案可能是优化构建/发布过程,以减少痛苦和手动,但我希望其他人可能遇到不同的解决方案。

仅供参考 - 所有依赖项都安装在'〜'默认为版本前缀。

0 个答案:

没有答案
相关问题