我在一个使用npm安装的库的深度依赖中遇到了一个bug,我在一个fork中修复了这个bug,并在github上创建了一个pull request。
我不知道如何与我的同事分享我的修复程序。我发现了这个article,但由于它不是我的依赖项,而是我使用的库的依赖项,我不知道如何解决这个问题。
即使我的pull请求很快被接受了,我也需要等待库的维护者更新他的依赖项,这可能永远不会发生。
有没有什么共同的办法如何解决这样的事情呢?
我在一个使用npm安装的库的深度依赖中遇到了一个bug,我在一个fork中修复了这个bug,并在github上创建了一个pull request。
我不知道如何与我的同事分享我的修复程序。我发现了这个article,但由于它不是我的依赖项,而是我使用的库的依赖项,我不知道如何解决这个问题。
即使我的pull请求很快被接受了,我也需要等待库的维护者更新他的依赖项,这可能永远不会发生。
有没有什么共同的办法如何解决这样的事情呢?
4条答案
按热度按时间nukf8bse1#
此库似乎针对此问题:https://www.npmjs.com/package/patch-package
nqwrtyyt2#
如果原始库的许可证允许您按照自己的意愿使用和修改它,您可以克隆它并提交您自己的NPM模块(相对容易的过程),其中包含正确修复的子模块。或者只是将其签入您公司的仓库,而不将其作为dep包含在您的package.json中(以防止npm安装覆盖它)。
3xiyfsfu3#
或者,您可以创建一个修补程序,并在“安装后”阶段应用它。
cedebl8k4#
通过使用patch-package,您可以修补依赖项的依赖项,如:
npx patch-package @my/package/@my/other-package
或在限定范围的包中
npx patch-package @my/package/@my/other-package
个请检查the package docs