Skip to content

Commit 622640b

Browse files
committed
build: re-enable latest version checks during release
This commit restores the latest version checks, which are now fixed by using the stamped versions.
1 parent c0d20e0 commit 622640b

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

scripts/release-checks/dependency-ranges/index.mts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ export async function assertValidDependencyRanges(
3232
}
3333

3434
const failures: string[] = [
35-
...(await checkPeerDependencies(newVersion, allPackages)),
36-
// TODO: Re-enable the following once the checks are performed against the stamped `.js` file instead of the source `.json` file.
37-
// ...(await checkSchematicsAngularLatestVersion(newVersion)),
35+
...checkPeerDependencies(newVersion, allPackages),
36+
...checkSchematicsAngularLatestVersion(newVersion),
3837
];
3938

4039
if (failures.length !== 0) {

scripts/release-checks/dependency-ranges/latest-versions-check.mts

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,31 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import { readFile } from 'node:fs/promises';
9+
import { createRequire } from 'node:module';
10+
import { fileURLToPath } from 'node:url';
1011
import semver from 'semver';
1112

12-
export async function checkSchematicsAngularLatestVersion(
13-
newVersion: semver.SemVer,
14-
): Promise<string[]> {
15-
const { dependencies } = JSON.parse(
16-
await readFile('./packages/schematics/angular/utility/latest-versions/package.json', 'utf-8'),
17-
);
13+
export function checkSchematicsAngularLatestVersion(newVersion: semver.SemVer): string[] {
14+
// Root of the Angular CLI project.
15+
const root = fileURLToPath(new URL('../../../', import.meta.url));
16+
const rootRequire = createRequire(root);
17+
const { latestVersions } = rootRequire('./dist/@schematics/angular/utility/latest-versions.js');
1818

19-
const keysToCheck = ['ng-packagr', '@angular/core'];
20-
const { major, minor } = newVersion;
21-
const isPrerelease = !!newVersion.prerelease[0];
19+
const keysToCheck = ['Angular', 'NgPackagr'];
20+
const { major, minor, prerelease } = newVersion;
21+
const isPrerelease = !!prerelease[0];
2222
const failures: string[] = [];
2323

24-
let expectedFwDep = `^${major}.${minor}.0`;
24+
let expectedVersionDep = `^${major}.${minor}.0`;
2525
if (isPrerelease) {
26-
expectedFwDep = `^${major}.${minor}.0-next.0`;
26+
expectedVersionDep += '-next.0';
2727
}
2828

2929
for (const key of keysToCheck) {
30-
if (dependencies[key] !== expectedFwDep) {
30+
const latestVersion = latestVersions[key];
31+
if (latestVersion !== expectedVersionDep) {
3132
failures.push(
32-
`latest-versions: Invalid dependency range for "${key}". Expected: ${expectedFwDep}`,
33+
`latest-versions: Invalid dependency range for "${key}". Expected: ${expectedVersionDep} but got: ${latestVersion}`,
3334
);
3435
}
3536
}

scripts/release-checks/dependency-ranges/peer-deps-check.mts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ export interface PackageJson {
1616
peerDependencies?: Record<string, string>;
1717
}
1818

19-
export async function checkPeerDependencies(
19+
export function checkPeerDependencies(
2020
newVersion: semver.SemVer,
2121
allPackages: PackageJson[],
22-
): Promise<string[]> {
23-
const { major, minor } = newVersion;
24-
const isPrerelease = !!newVersion.prerelease[0];
22+
): string[] {
23+
const { major, minor, prerelease } = newVersion;
24+
const isPrerelease = !!prerelease[0];
2525
const isMajor = minor === 0;
2626

2727
let expectedFwPeerDep = `^${major}.0.0`;
@@ -58,7 +58,7 @@ function checkPackage(pkgJson: PackageJson, expectedFwPeerDep: string): string[]
5858

5959
if (range !== expectedFwPeerDep) {
6060
failures.push(
61-
`${pkgJson.name}: Unexpected peer dependency range for "${depName}". Expected: ${expectedFwPeerDep}`,
61+
`${pkgJson.name}: Unexpected peer dependency range for "${depName}". Expected: ${expectedFwPeerDep} but got: ${range}`,
6262
);
6363
}
6464
}

0 commit comments

Comments
 (0)