Loooking at the npm install docs it looks possible to npm install from a github repo.
Is it also possible to install specifically from a pull request?
Is the solution just to install based on the last commit (last sha) of the pull request?
Loooking at the npm install docs it looks possible to npm install from a github repo.
Is it also possible to install specifically from a pull request?
Is the solution just to install based on the last commit (last sha) of the pull request?
GitHub is maintaining a namespace for each PR in the original repo, so this works as well:
npm install <user>/<repo>#pull/<id>/head
NOTE: It doesn't seeem to be working with NPM v. 5. See the comment below.
for example:
npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head
or with yarn:
yarn add <user>/<repo>#<id>/head
for example:
yarn add json-schema-faker/json-schema-faker#129/head
Note that in Yarn case there is no pull/
segment in the package identifier.
This may be helpful if you need to automate the installation or repo / branch from where PR is originating is removed. See also Modifying an inactive pull request locally at GitHub.
"How to install NodeJS package from GitHub directly?" mentions that you can specify a branch.
So if you know the repo and branch from which a PR comes from, you can do a:
npm install git+https://github.com/user/repo.git#branch
Worth saying that you might need to escape the
#
to use a specific branch from the shell, i.e.:
npm install git+https://github.com/user/repo.git\#branch
Note that repository you want to install must be a npm module, it must contain a
package.json
file or else you will get this error:
Error: ENOENT, open 'tmp.tgz-unpack/package.json'.