@zowe/imperative
Version:
framework for building configurable CLIs
50 lines • 2.99 kB
TypeScript
import { ICommandHandler, IHandlerParameters } from "../../../../../cmd";
/**
* The install command handler for cli plugin install.
*
* @see {installDefinition}
*/
export default class InstallHandler implements ICommandHandler {
/**
* A logger for this class
*
* @private
* @type {Logger}
*/
private console;
/**
* Process the command and input.
*
* @param {IHandlerParameters} params Parameters supplied by yargs
*
* @param {string[]} [params.arguments.plugin=[]] This is an array of plugins to install. Plugins can be anything
* that is acceptable to an `npm install` command. NOTE: If you want
* to use a local plugin with a relative path, be sure to include
* at least one / or \ character. Ex: you have a local plugin called
* "test-plugin" in your cwd, you need to do `cli plugin install
* ./test-plugin` as test-plugin will be interpreted as a remote npm
* package name. When this argument is empty, we will attempt to use
* a plugins.json file to install the plugins from.
*
* @param {string} [params.arguments.registry] This is the npm registry to install from, if this parameter is not
* specified by the command line, then we will use the value returned by
* `npm config get registry.
*
* @param {string} [params.arguments.file] This option specifies the location of a plugins.json file to be used for
* the install. When no packages are specified, all plugins specified in this
* file will be installed to the base cli and the contents will be copied over
* to plugins.json.
*
* If this argument is missing and no packages are specified,
* we will install from the actual plugins.json file (which may or may not
* have plugins in it). The reason for this logic is because plugins may be
* deleted when a base cli is updated. However, someone could issue a command
* like, `cli plugin install`, to get everything back after an update.
*
* @returns {Promise<ICommandResponse>} The command response
*
* @throws {ImperativeError}
*/
process(params: IHandlerParameters): Promise<void>;
}
//# sourceMappingURL=install.handler.d.ts.map