如何为一个npm包做出贡献?

3
我在项目中使用了gulp-jade包。它是作为开发依赖项添加的,因此我可以运行npm install轻松获取它(以及其他依赖项)。现在,我需要对jade模块进行一些性能优化,该模块是gulp-jade的一个依赖项。

到目前为止,我能想到以下方式:

  1. 分别fork jadegulp-jade,
  2. 更改分叉的gulp-jade以使用分叉的jade
  3. 更新我的package.json以使用分叉的gulp-jade
  4. jade制作拉取请求
  5. 如果拉取请求被接受,则从npm切换回gulp-jade

看起来不太简单,特别是因为我可能不仅需要更改jade本身,还需要更改其依赖项,因此,我还必须fork它们。

这真是很多的forking!

有没有更简单的方法?

1个回答

0

如果你想让你的更改/优化被合并到一个模块的 master 分支中,你唯一的方法就是向维护者发送一个 pull 请求或者 fork 并自己维护这个模块和你的代码更改。但是这里有一个我建议的工作流程,可以减少你的一些工作量。

只 fork 你想要更改的顶层模块,比如说这里的 gulp-jade 模块。在你的项目中使用你 fork 的 gulp-jade。如果你想要对它的依赖进行更改,在一个单独的分支(每个依赖一个分支)中进行更改,然后将其合并到主模块分支中,也就是 gulp-jade 模块。

采用一个分支命名约定,帮助你轻松地识别哪个模块在那个分支中被更改,以及它影响了哪个依赖树。最后,你将拥有一个分支树,每个模块的更改都很好地放在自己的分支中。

从这里开始,只需 fork 相应的模块,添加远程仓库,上游模块分支,然后向维护者发送一个 pull 请求。

一旦你的所有 pull 请求被接受,你就可以用远程的 gulp-jade 模块替换本地的模块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接