Skip to content

Commit 2552093

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 2552093

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
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: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,33 @@
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'),
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(
18+
'./dist/releases/schematics/angular/utility/latest-versions.js',
1719
);
1820

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

24-
let expectedFwDep = `^${major}.${minor}.0`;
26+
let expectedVersionDep = `^${major}.${minor}.0`;
2527
if (isPrerelease) {
26-
expectedFwDep = `^${major}.${minor}.0-next.0`;
28+
expectedVersionDep += '-next.0';
2729
}
2830

2931
for (const key of keysToCheck) {
30-
if (dependencies[key] !== expectedFwDep) {
32+
const latestVersion = latestVersions[key];
33+
if (latestVersion !== expectedVersionDep) {
3134
failures.push(
32-
`latest-versions: Invalid dependency range for "${key}". Expected: ${expectedFwDep}`,
35+
`latest-versions: Invalid dependency range for "${key}". Expected: ${expectedVersionDep} but got: ${latestVersion}`,
3336
);
3437
}
3538
}

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)