更新私有nodejs包树的最佳(更容易/更快)方法是什么



最近我开始使用一个专用的npm包作为后端。它们存储在我们的私有包服务器上(我在应用程序组件之间部署的一个npm存储库。

虽然我最喜欢这一切的运作和发生方式,但有一个陷阱。想象一下这样的包:@example/logging@example/utilities@example/validation@example/database@example/security—低级包。而这些底层包中的许多都依赖于@selfcad/logging包。@example/updates-queue@example/subscriptions@example/auth-tools@example/cloud-functions@example/backend-core包表示高级抽象和组件。每个高级包都依赖于少数或有时全部的低级包。其中一些包在云函数中通过@example/cloud-functions包引用,尤其是底层包。其他直接在云中使用的函数。此外,还有一个后端组件,其中大多数包都是直接使用的。

因此,真正的头痛开始了,当必须进行更改时,例如在像@example/logging@example/validation这样的低级包中。

将更新或修复传播到广泛引用的较低包的最简单方法是什么?具有嵌套的依赖项。类似:一个包,例如@example/validation直接引用,间接引用。类似于@example/configuration使用@example/validation@example/database使用@example/validation,我更新了@example/validation的内部。如何在软件包中传播此类更新?

也许您应该看看Yarn Workspaces。这是纱线的一个有用功能,可以使用单回购将依赖包彼此连接起来。此功能还包括自动发现/自动链接。