diff --git a/lib/bootstrap.ts b/lib/bootstrap.ts index 54f9cfa4ac..c5e4a341f0 100644 --- a/lib/bootstrap.ts +++ b/lib/bootstrap.ts @@ -83,6 +83,7 @@ $injector.requirePublic("packageManager", "./package-manager"); $injector.requirePublic("npm", "./node-package-manager"); $injector.requirePublic("yarn", "./yarn-package-manager"); $injector.requireCommand("package-manager|set", "./commands/package-manager-set"); +$injector.requireCommand("package-manager|get", "./commands/package-manager-get"); $injector.require("packageInstallationManager", "./package-installation-manager"); $injector.require("dynamicHelpProvider", "./dynamic-help-provider"); diff --git a/lib/common/commands/package-manager-get.ts b/lib/common/commands/package-manager-get.ts new file mode 100644 index 0000000000..e190edc335 --- /dev/null +++ b/lib/common/commands/package-manager-get.ts @@ -0,0 +1,22 @@ + +export class PackageManagerGetCommand implements ICommand { + + constructor( + private $errors: IErrors, + private $logger: ILogger, + private $userSettingsService: IUserSettingsService + ) { } + + public allowedParameters: ICommandParameter[] = []; + + public async execute(args: string[]): Promise { + if (args && args.length) { + this.$errors.fail(`The arguments '${args.join(" ")}' are not valid for the 'package-manager get' command.`); + } + + const result = await this.$userSettingsService.getSettingValue("packageManager"); + this.$logger.info(`Your current package manager is ${result || "npm"}.`); + } +} + +$injector.registerCommand("package-manager|get", PackageManagerGetCommand);