1.0.2 • Published 7 years ago
@adobe/oclif-base-index-command v1.0.2
oclif-base-index-command
Base oclif command for routing index.js (to support subcommands with no colons).
The Problem
For example, if you have a command foo with topics (sub-commands) bar and baz:
src
├── commands
│ └── foo
│ ├── index.js
│ ├── bar.js
│ ├── baz.jsThe topics bar and baz are called this way:
my-cli foo:bar
my-cli foo:bazHowever, what if you want to call them this way?
my-cli foo bar
my-cli foo bazoclif does not support this out of the box.
This way of structuring sub-commands is important to support legacy CLIs so that they may be ported to oclif, and reduce friction for adoption.
The Solution
First, add this package to your CLI repo:
npm install @adobe/oclif-base-index-commandIn your index.js (see tree structure above), add BaseIndexCommand as your class' superclass:
const BaseIndexCommand = require('@adobe/oclif-base-index-command')
class IndexCommand extends BaseIndexCommand {
// don't override run(), let the superclass handle it
// for the "no-colon" routing functionality
}
IndexCommand.description = `Your command's description here`
module.exports = IndexCommandNow these commands will work without the colon topic separator:
my-cli foo bar
my-cli foo baz