fix(dev-infra): fix creating experimental semver versions to include prerelease chunk (#42917)
SemVers created for experimental versions should also include the prerelease chunk (i.e. -next.3). PR Close #42917
This commit is contained in:
parent
69d4ebffa9
commit
d2b1c3ec15
|
@ -6199,6 +6199,13 @@ function semverInc(version, release, identifier) {
|
||||||
const clone = new semver.SemVer(version.version);
|
const clone = new semver.SemVer(version.version);
|
||||||
return clone.inc(release, identifier);
|
return clone.inc(release, identifier);
|
||||||
}
|
}
|
||||||
|
/** Creates the equivalent experimental version for a provided SemVer. */
|
||||||
|
function createExperimentalSemver(version) {
|
||||||
|
const experimentalVersion = new semver.SemVer(version.format());
|
||||||
|
experimentalVersion.major = 0;
|
||||||
|
experimentalVersion.minor = version.major * 100 + version.minor;
|
||||||
|
return new semver.SemVer(experimentalVersion.format());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
|
@ -6843,7 +6850,7 @@ class ReleaseAction {
|
||||||
_verifyPackageVersions(version, packages) {
|
_verifyPackageVersions(version, packages) {
|
||||||
return tslib.__awaiter(this, void 0, void 0, function* () {
|
return tslib.__awaiter(this, void 0, void 0, function* () {
|
||||||
/** Experimental equivalent version for packages created with the provided version. */
|
/** Experimental equivalent version for packages created with the provided version. */
|
||||||
const experimentalVersion = new semver.SemVer(`0.${version.major * 100 + version.minor}.${version.patch}`);
|
const experimentalVersion = createExperimentalSemver(version);
|
||||||
for (const pkg of packages) {
|
for (const pkg of packages) {
|
||||||
const { version: packageJsonVersion } = JSON.parse(yield fs.promises.readFile(path.join(pkg.outputPath, 'package.json'), 'utf8'));
|
const { version: packageJsonVersion } = JSON.parse(yield fs.promises.readFile(path.join(pkg.outputPath, 'package.json'), 'utf8'));
|
||||||
const mismatchesVersion = version.compare(packageJsonVersion) !== 0;
|
const mismatchesVersion = version.compare(packageJsonVersion) !== 0;
|
||||||
|
|
|
@ -18,6 +18,7 @@ import {BuiltPackage, ReleaseConfig} from '../config/index';
|
||||||
import {ReleaseNotes} from '../notes/release-notes';
|
import {ReleaseNotes} from '../notes/release-notes';
|
||||||
import {NpmDistTag} from '../versioning';
|
import {NpmDistTag} from '../versioning';
|
||||||
import {ActiveReleaseTrains} from '../versioning/active-release-trains';
|
import {ActiveReleaseTrains} from '../versioning/active-release-trains';
|
||||||
|
import {createExperimentalSemver} from '../versioning/inc-semver';
|
||||||
import {runNpmPublish} from '../versioning/npm-publish';
|
import {runNpmPublish} from '../versioning/npm-publish';
|
||||||
|
|
||||||
import {FatalReleaseActionError, UserAbortedReleaseActionError} from './actions-error';
|
import {FatalReleaseActionError, UserAbortedReleaseActionError} from './actions-error';
|
||||||
|
@ -521,8 +522,8 @@ export abstract class ReleaseAction {
|
||||||
/** Verify the version of each generated package exact matches the specified version. */
|
/** Verify the version of each generated package exact matches the specified version. */
|
||||||
private async _verifyPackageVersions(version: semver.SemVer, packages: BuiltPackage[]) {
|
private async _verifyPackageVersions(version: semver.SemVer, packages: BuiltPackage[]) {
|
||||||
/** Experimental equivalent version for packages created with the provided version. */
|
/** Experimental equivalent version for packages created with the provided version. */
|
||||||
const experimentalVersion =
|
const experimentalVersion = createExperimentalSemver(version);
|
||||||
new semver.SemVer(`0.${version.major * 100 + version.minor}.${version.patch}`);
|
|
||||||
for (const pkg of packages) {
|
for (const pkg of packages) {
|
||||||
const {version: packageJsonVersion} =
|
const {version: packageJsonVersion} =
|
||||||
JSON.parse(await fs.readFile(join(pkg.outputPath, 'package.json'), 'utf8')) as
|
JSON.parse(await fs.readFile(join(pkg.outputPath, 'package.json'), 'utf8')) as
|
||||||
|
|
|
@ -17,3 +17,11 @@ export function semverInc(
|
||||||
const clone = new semver.SemVer(version.version);
|
const clone = new semver.SemVer(version.version);
|
||||||
return clone.inc(release, identifier);
|
return clone.inc(release, identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Creates the equivalent experimental version for a provided SemVer. */
|
||||||
|
export function createExperimentalSemver(version: semver.SemVer): semver.SemVer {
|
||||||
|
const experimentalVersion = new semver.SemVer(version.format());
|
||||||
|
experimentalVersion.major = 0;
|
||||||
|
experimentalVersion.minor = version.major * 100 + version.minor;
|
||||||
|
return new semver.SemVer(experimentalVersion.format());
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue