【问题标题】:How do I contribute to an npm package?我如何为 npm 包做贡献?
【发布时间】:2015-05-02 18:16:59
【问题描述】:

我在我的项目中使用 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 本身进行更改,还需要对其依赖项进行更改,因此,我也必须分叉它们。

这是很多分叉!

有没有更简单的方法?

【问题讨论】:

    标签: node.js github npm


    【解决方案1】:

    尽管如果您希望将您的更改/优化合并到模块的master 分支中,您别无他法,只能向维护者发送拉取请求或分叉并使用您的代码更改自行维护模块,但是这是我建议的工作流程,可以减少您的工作量。

    只派生您希望更改的顶级模块,在这种情况下是gulp-jade 模块。在您的项目中使用您的分叉gulp-jade。如果您希望更改它的依赖项,请在单独的分支(每个依赖项)中进行更改,然后将其合并到主模块分支中,这又是 gulp-jade 模块。

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

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

    一旦您的所有拉取请求都被接受,您就可以将本地 gulp-jade 模块切换为远程模块。

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      相关资源
      最近更新 更多