This repository was archived by the owner on Feb 12, 2024. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The switch to using
yargs-promiseforipfs initandipfs daemoncommands caused an unhandled promise rejection and in some cases would cause an error to not be printed to the console.This PR greatly simplifies the code in
src/cli/bin.js, to always useyargs-promise. Command handlers are now passed an asyncgetIpfsfunction instead of anipfsinstance. It means that we don't have to differentiate between commands that use an IPFS instance insrc/cli/bin.js, giving the handler the power to callgetIpfsor not to obtain an IPFS instance as and when needed. This removes a whole bunch of complexity fromsrc/cli/bin.jsat the cost of adding a single line to every command handler that needs to use an IPFS instance.This enables operations like
echo "hello" | jsipfs add -q | jsipfs cid base32to work withoutjsipfs cid base32failing because it's trying to acquire a repo lock when it doesn't use IPFS at all.fixes #1835
refs #1858
refs libp2p/js-libp2p#311