-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Support republishing git dependencies #7
Comments
Looks like the pacote library will take care of most of the plumbing, will tackle it this evening. |
Related to #7, doesn't publish the github dependency itself to the micro-registry but does include any regular npm dependencies the github dependencies have.
As of 9f2db41 the dependencies of github dependencies are correctly added to the micro-registry, that means you can republish a module from npm that has github dependencies and the full transitive dependency tree is stored except for the actual github dependencies themselves. That means it doesn't work offline but it does work without touching registry.npmjs.org. To make it work offline will require either:
The second option is much nastier as it doesn't allow the consumers to use which ever client their like (yarn, pnpm etc), the only downside to the first option is that the integrity values for the packages which have written package.json files won't match with the integrity from registry.npmjs.org. |
Currently ipfs-npm-republish skips republishing git dependencies as they need to be downloaded slightly differently, to fully support republishing of
ipfs-npm
oripfs
then we'll need to properly support those options.The current setup doesn't break installations because the npm client will go to github to fetch those dependencies, but that means it won't work 100% offline if there are git dependencies anywhere in the tree, and if they have unique dependencies from npmjs.org, they may not be included in the microregistry.
Couple of options:
Those git repos will also need to be checked out when publishing to correctly resolve the full dependency tree. Ideally we can lean on the internals of npm/yarn rather than reimplimenting it all again.
The text was updated successfully, but these errors were encountered: