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

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

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

但是,然后我想要更改该node_modules / module文件夹中的一些代码,并从代码更改中创build一个PR。

我唯一可以确定的工作是首先将整个repo放在一个单独的文件夹中,比checkout X branch,而不是将代码复制/将其复制到node_modules / module文件夹,每次我要检查我的代码更改..而不是把它推到我个人的github页面,并从那里创build一个拉请求..

但是,每次将其更改复制到node_modules / module文件夹时都非常令人沮丧。

什么是最好的方式来改变一个npm软件包并为其创buildPR,同时仍然保持在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 

这是正确的做法。 分叉github回购,创build人告诉你的分支,做出改变,并发出拉请求。

如果你想并行工作,并假定没有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)