Skip to content

Commit cdd26bb

Browse files
committed
fix(@angular/cli): validate package manager version using semver.valid and throw an error if invalid
Prior to this change an `An unhandled exception occurred: Invalid Version: ` was being thrown. (cherry picked from commit 9f8f40e)
1 parent 19e0ad5 commit cdd26bb

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

packages/angular/cli/src/package-managers/package-manager.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import { join, relative, resolve } from 'node:path';
1616
import npa from 'npm-package-arg';
17-
import { maxSatisfying } from 'semver';
17+
import { maxSatisfying, valid } from 'semver';
1818
import { PackageManagerError } from './error';
1919
import { Host } from './host';
2020
import { Logger } from './logger';
@@ -370,6 +370,10 @@ export class PackageManager {
370370
const { stdout } = await this.#run(this.descriptor.versionCommand);
371371
this.#version = stdout.trim();
372372

373+
if (!valid(this.#version)) {
374+
throw new Error(`Invalid semver version for ${this.name}: "${this.#version}"`);
375+
}
376+
373377
return this.#version;
374378
}
375379

0 commit comments

Comments
 (0)