NPM - 分叉模块,更改代码并将 PR 发送给作者

NPM - Fork module, change code and send PR to author

对于一个特定的 npm 包,我想创建一个带有一些代码更改的 PR。包的作者告诉我,要从一个特定的分支创建一个 PR。

到目前为止一切正常,我可以更改 package.json 中的 url + 分支并将特定分支加载为 npm 模块。npm install 也可以正常工作。

但后来我想更改 node_modules/module 文件夹中的一些代码,并根据代码更改创建 PR..

我唯一可以确定的工作是首先将整个回购协议分叉到一个单独的文件夹中,然后检查 X 分支,然后更改代码,copy/past 它到 node_modules/module每次我想检查我的代码更改时的文件夹..然后将其推送到我的个人 github 页面,然后从那里创建一个拉取请求..

但是 copy/past 我每次对 node_modules/module 文件夹所做的更改真的很令人沮丧。

更改 npm 包并为其创建 PR,同时仍将代码保留在 node_modules 文件夹中以便检查代码更改的最佳方法是什么?

谢谢!

这是正确的做法。分叉 github 存储库,创建那个人告诉你的分支,进行更改并发送拉取请求。

如果您想并行工作并假设没有 npm 应该执行的编译步骤,您可以在 node_modules 中克隆分叉存储库并直接在那里工作。一旦您做出并提交更改,您就可以发送拉取请求。

编辑

我想说这是一种可以接受的方法,适用于 linux:

~/projects/your-project/node_modules
~/projects/your-project/node_modules/name-of-module (symlink to the ~/projects/your-forked-cloned-repo)

~/projects/name-of-module (It should be your forked repo that you 've cloned from github/assembla etc)
~/projects/node_modules (symlink to the ~/projects/your-project/node_modules)

您正在寻找 npm link:

$ git clone your/npm-repo-fork
$ cd npm-repo-fork

# Link the project as a local dependency
$ npm link
$ cd ../some/other/project

# Use the linked project
$ npm link name-of-npm-dependency

# Now you can edit npm-repo-fork and the changes
# will be picked up by some/other/project
$ cd ../../../npm-repo-fork