Base oclif command for routing index.js (to support subcommands with no colons)

This library is no longer maintained.
Last updated 2 years ago by shazron .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @adobe/oclif-base-index-command 
SYNC missed versions from official npm registry.

oclif Version Downloads/week Build Status Build status License Greenkeeper badge


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:

├── commands
│   └── foo
│       ├── index.js
│       ├── bar.js
│       ├── baz.js

The topics bar and baz are called this way:

my-cli foo:bar
my-cli foo:baz

However, what if you want to call them this way?

my-cli foo bar
my-cli foo baz

oclif 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-command

In 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 = IndexCommand

Now these commands will work without the colon topic separator:

my-cli foo bar
my-cli foo baz

Current Tags

  • 1.0.2                                ...           latest (2 years ago)

3 Versions

  • 1.0.2 [deprecated]           ...           2 years ago
  • 1.0.1 [deprecated]           ...           2 years ago
  • 1.0.0 [deprecated]           ...           2 years ago

Copyright 2014 - 2016 © taobao.org |