feat: allow parse with no arguments as alias for yargs.argv #944
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.
I showed the the proposed promise API for yargs to several coworkers today at npm, and they managed to talk me out of it. Their reasoning being:
.then()
felt weird; this method name should be used internally by the Promise api, not by APIs exposing a promise.Rather than introducing a new method
run()
(or the method I recommendedthen()
for exposing a Promise), I feel a good compromise is to instead extend the methodparse()
which already exists in the API. Calling:is now possible, and is equivalent to:
I like this approach: it gets around the linting warning now frequently triggered by
.argv
, and avoids adding a new method to yargs' already large API surface.We definitely might revisit a Promise-based API in the future, one recommendation made by my coworker @chrisdickinson was to make yargs' command API promise based, e.g.,