diff --git a/packages/angular/cli/commands/update-impl.ts b/packages/angular/cli/commands/update-impl.ts index 7f78982ab85b..f01bc9ce1518 100644 --- a/packages/angular/cli/commands/update-impl.ts +++ b/packages/angular/cli/commands/update-impl.ts @@ -212,7 +212,7 @@ export class UpdateCommand extends Command { // Check if the current installed CLI version is older than the latest version. if (await this.checkCLILatestVersion(options.verbose, options.next)) { this.logger.warn( - 'The installed Angular CLI version is older than the latest published version.\n' + + `The installed Angular CLI version is older than the latest ${options.next ? 'pre-release' : 'stable'} version.\n` + 'Installing a temporary version to perform the update.', ); diff --git a/packages/angular/cli/tasks/install-package.ts b/packages/angular/cli/tasks/install-package.ts index e3a65c64a1c9..1ae5ddd64f04 100644 --- a/packages/angular/cli/tasks/install-package.ts +++ b/packages/angular/cli/tasks/install-package.ts @@ -75,7 +75,7 @@ export function installTempPackage( process.on('exit', () => { try { rimraf.sync(tempPath); - } catch {} + } catch { } }); // setup prefix/global modules path @@ -145,19 +145,30 @@ export function runTempPackageBin( } function getPackageManagerArguments(packageManager: PackageManager): PackageManagerOptions { - return packageManager === PackageManager.Yarn - ? { + switch (packageManager) { + case PackageManager.Yarn: + return { silent: '--silent', saveDev: '--dev', install: 'add', prefix: '--modules-folder', noLockfile: '--no-lockfile', - } - : { + }; + case PackageManager.Pnpm: + return { + silent: '--silent', + saveDev: '--save-dev', + install: 'add', + prefix: '--prefix', + noLockfile: '--no-lockfile', + }; + default: + return { silent: '--quiet', saveDev: '--save-dev', install: 'install', prefix: '--prefix', noLockfile: '--no-package-lock', }; + } } diff --git a/packages/schematics/update/update/schema.json b/packages/schematics/update/update/schema.json index 4b849b8a5316..97515d27746d 100644 --- a/packages/schematics/update/update/schema.json +++ b/packages/schematics/update/update/schema.json @@ -64,7 +64,9 @@ "default": "npm", "enum": [ "npm", - "yarn" + "yarn", + "cnpm", + "pnpm" ] }, "migrateExternal": {