cli-engine
Version:
Generic CLI Framework
47 lines (35 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _cliEngineCommand = require('cli-engine-command');
var _cliEngineCommand2 = _interopRequireDefault(_cliEngineCommand);
var _plugins = require('../../plugins');
var _plugins2 = _interopRequireDefault(_plugins);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _hooks = require('../../hooks');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
let cli = 'heroku';
if (global.config) {
cli = global.config.bin;
}
class PluginsLink extends _cliEngineCommand2.default {
async run() {
this.plugins = new _plugins2.default(this.config);
let p = _path2.default.resolve(this.argv[0] || process.cwd());
this.out.action.start(`Linking ${p}`);
await this.plugins.addLinkedPlugin(p);
const hooks = new _hooks.Hooks({ config: this.config });
await hooks.run('update');
}
}
exports.default = PluginsLink;
PluginsLink.topic = 'plugins';
PluginsLink.command = 'link';
PluginsLink.args = [{ name: 'path', optional: true, description: 'local file path to plugin root' }];
PluginsLink.description = 'links a local plugin to the CLI for development';
PluginsLink.help = `Example:
$ ${cli} plugins:link .
Installing dependencies for /Users/dickeyxxx/src/github.com/heroku/heroku-status... done
Running prepare script for /Users/dickeyxxx/src/github.com/heroku/heroku-status... done`;