Closed mgcrea closed 8 years ago
Quick update, I'm currently trying to leverage GitHub API to grab the actual commit of the corresponding tarball ref. Not the actual tarball shasum but it might be still a valuable identifier. Not sure why but the current code hangs during install. Try with:
NODE_ENV=development NODE_DEBUG=install ied i gulp@github:gulpjs/gulp#4.0
Got it working for both github:
and file:
endpoints. Will tackle tarballs this afternoon.
@alexanderGugel is the current implementation looks good enough for you?
If it looks OK, I'll add unit tests & performance impact to the PR.
+1
Intial implementation for tarball is done with some limitations (no post-install scripts, no bin links) that would require some quite important changes (eg. be able to grab the package.json after download+extraction), since direct tarball should be avoided, I think having these limitations is OK for now.
@alexanderGugel would you prefer that I split up this PR in multiple small ones for easier review?
I think we could safely land:
file:
support
semver.satisfies
is really useful here, we also could always reinstall the explicitely asked versionThings that may need a bit more review/work:
github:
remoteshttp:
remotesThese patches are the last thing missing from switching my projects/team to ied (at least as far I can tell), would be great to have them soon.
This is really awesome! I added a bunch of comments, but this is really great! I'm going to merge this into master so others can chime in. Thank @mgcrea and @just-boris!
As a possible next step we might want to think about the possibility of modularising the installation of individual dependencies (similar to bower).
🎉
Checklist
Not ready for merge, looking for feedback.
Affected core subsystem(s)
install.js
Description of change
Added support of
file:
,github:
andhttp(s):
dependencies.