创buildNPM链接实用程序 – 从下到上跟踪依赖关系
我正在创build一个NPM链接实用程序
我有一个软件包取决于大约7或8个本地开发的软件包。 我使用NPM链接将它们链接在一起。 这是目前手动,并已成为乏味,想用自动化实用程序。 我相信最好的做法是开始链接没有依赖关系的包,然后工作到最依赖的包。
看起来像这样:
A (my main NPM project) / \ \ / \ \ BCH __ / \ / \ \ / \ / \ \ DEIJK \ / \ / \ / F
假设 – 我应该从树的底部开始,向上工作。
我可以使用哪些数据结构/algorithm来轻松实现?
考虑到上面的树, 有效的代码将如下所示:
# start with F and work upwards cd F && npm link . cd E && npm link F && npm link . cd D && npm link . cd B && npm link D && npm link E && npm link . # etc etc
所以我认为algorithm应该是这样的:
- 创build一个本地开发项目的唯一列表L(而不是远程)。
- 从主项目开始,向下钻取树(使用package.json查找声明的依赖关系),直到find列表L中的依赖关系集合,但在列表L中没有其他依赖关系。
之后,我不知道LOL
尝试http://aka.ms/rush – 这是您的问题的一个工业强度的解决scheme。
我问NPM,有人说现在可能还没有这样的效用,于是我开始研究它:
https://github.com/ORESoftware/npm-link-up
随意提供反馈或贡献。
除了拉什之外,还有巴别尔使用的勒纳。 但是我认为“npm-link-up”可能会更加简单和精简。