-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
With docker in mind, we have a command line API like so:
docker run
docker build
docker ps
or with Istanbul in mind:
istanbul cover
istanbul report
istanbul instrumentor git:
git merge
git rebase
git checkoutetc.
is there a methodology for creating this kind of top-level action api with dashdash?
AFAICT, you'd have to make a homegrown system from dashdash, and from what I can tell, you'd have to enforce that the first argument after docker was the action.
Right now, I have a CLI API using dashdash, but it's more akin to:
docker --run
docker --cp
docker --ps
docker --create
docker --images
where the actions are all just booleans according my dashdash config.
Just something to discuss.
I think it would be a neat feature if dashdash could take an initialization argument to interpret the first x _args as actions. And these would be stored as a separate property on opts.
So it would be something like this:
const dashdash = require('dashdash');
let opts, parser = dashdash.createParser({options: options}, {
actions: 1 // => the first arg is interpreted as an action, and it has to appear before any options
});
try {
opts = parser.parse(process.argv);
} catch (err) {
//
}
// opts => {};
// opts._args => []
// opts._actions => [] Metadata
Metadata
Assignees
Labels
No labels