我如何参与npm包裹?

时间:2015-05-02 09:54:41

标签: node.js github npm

我在我的项目中使用 gulp-jade 包。它被添加为dev-dependency,因此我可以运行 npm install 来轻松获取它(与其他人一起)。现在,我需要在 jade 模块中进行一些性能优化,这是 gulp-jade 的依赖关系。

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

  1. 分叉 jade gulp-jade
  2. 更改分叉的 gulp-jade 以使用分叉 jade
  3. 更新我的package.json以使用forked gulp-jade
  4. jade
  5. 提出拉取请求
  6. 当/如果接受拉取请求时,从npm切换回 gulp-jade
  7. 虽然它看起来并不简单,特别是因为我可能不仅需要在 jade 本身进行更改,而且还需要在其依赖项中进行更改,因此,我也必须对它们进行分叉。

    这有很多分叉!

    有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

虽然如果您希望将更改/优化合并到模块的master分支中,除了向维护者或分支发送拉取请求并使用您的代码自己维护模块之外别无他法。变化,但这是一个工作流程,我建议可以减少你的一点努力。

只分叉您希望更改的顶级模块,在这种情况下是gulp-jade模块。在项目中使用分叉的gulp-jade。如果您希望对其依赖关系进行更改,请在单独的分支中执行此操作(按照依赖关系),然后将其合并到主模块分支(即gulp-jade模块)。

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

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

接受所有拉取请求后,您可以使用远程请求切换本地gulp-jade模块。