UNPKG

@zowe/imperative

Version:
50 lines 2.91 kB
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