@zowe/imperative
Version:
framework for building configurable CLIs
50 lines • 2.91 kB
TypeScript
import { IImperativeConfig } from "../../../doc/IImperativeConfig";
import { IProfileTypeConfiguration } from "../../../../../profiles";
import { IExtendersJsonOpts } from "../../../../../config/src/doc/IExtenderOpts";
import { INpmRegistryInfo } from "../../doc/INpmRegistryInfo";
export declare const updateExtendersJson: (extendersJson: IExtendersJsonOpts, packageInfo: {
name: string;
version: string;
}, profile: IProfileTypeConfiguration) => boolean;
/**
* Common function that abstracts the install process. This function should be called for each
* package that needs to be installed. (ex: `sample-cli plugin install a b c d` -> calls install 4
* times)
*
* @TODO work needs to be done to support proper sharing of the plugins.json. As of now local plugins can only be reinstalled on the same machine.
* (due to how the conversion to an absolute URI happens)
*
* @param {string} packageLocation A package name or location. This value can be a valid npm package
* name or the location of an npm tar file or project folder. Also,
* git URLs are also acceptable here (basically anything that `npm
* install` supports). If this parameter is a relative path, it will
* be converted to an absolute path prior to being passed to the
* `npm install` command.
*
* @param {INpmRegistryInfo} registryInfo The npm registry to use.
*
* @param {boolean} [installFromFile=false] If installing from a file, the package location is
* automatically interpreted as an absolute location.
* It is assumed that the plugin.json file was previously
* generated by this function which always ensures an
* absolute path. Also, if this is true, we will not update
* the plugins.json file since we are not adding/modifying
* it.
* @returns {string} The name of the plugin.
*/
export declare function install(packageLocation: string, registryInfo: INpmRegistryInfo, installFromFile?: boolean, verbose?: boolean): Promise<string>;
/**
* Call a plugin's lifecycle hook to enable a plugin to take some action
* after the plugin has been installed.
*
* @param pluginPackageNm The package name of the plugin being installed.
* @param pluginImpConfig The imperative configuration for this plugin.
*
* @throws ImperativeError.
*/
declare function callPluginPostInstall(pluginPackageNm: string, pluginImpConfig: IImperativeConfig): Promise<void>;
export declare const onlyForTesting: {
callPluginPostInstall: typeof callPluginPostInstall;
};
export {};
//# sourceMappingURL=install.d.ts.map