@@ -49469,6 +49469,17 @@ const validVersionNumberRegex = /^v\d+\.\d+\.\d+$/;
49469
49469
const prUrlRegex = new RegExp("^https://github.com/nodejs/node/pull/\\d+$");
49470
49470
const privatePRUrl = "https://github.com/nodejs-private/node-private/pull/";
49471
49471
49472
+ let releasedVersions;
49473
+ let invalidVersionMessage = "version(s) must respect the pattern `vx.x.x` or";
49474
+ if (process.env.NODE_RELEASED_VERSIONS) {
49475
+ console.log("Using release list from env...");
49476
+ releasedVersions = process.env.NODE_RELEASED_VERSIONS.split(",").map(
49477
+ (v) => `v${v}`
49478
+ );
49479
+ invalidVersionMessage = `version not listed in the changelogs, `;
49480
+ }
49481
+ invalidVersionMessage += `use the placeholder \`${VERSION_PLACEHOLDER}\``;
49482
+
49472
49483
const kContainsIllegalKey = Symbol("illegal key");
49473
49484
const kWrongKeyOrder = Symbol("Wrong key order");
49474
49485
function unorderedKeys(meta) {
@@ -49488,11 +49499,16 @@ function containsInvalidVersionNumber(version) {
49488
49499
return version.some(containsInvalidVersionNumber);
49489
49500
}
49490
49501
49491
- return (
49492
- version !== undefined &&
49493
- version !== VERSION_PLACEHOLDER &&
49494
- !validVersionNumberRegex.test(version)
49495
- );
49502
+ if (version === undefined || version === VERSION_PLACEHOLDER) return false;
49503
+
49504
+ if (
49505
+ releasedVersions &&
49506
+ // Always ignore 0.0.x and 0.1.x release numbers:
49507
+ (version[1] !== "0" || (version[3] !== "0" && version[3] !== "1"))
49508
+ )
49509
+ return !releasedVersions.includes(version);
49510
+
49511
+ return !validVersionNumberRegex.test(version);
49496
49512
}
49497
49513
const getValidSemver = (version) =>
49498
49514
version === VERSION_PLACEHOLDER ? MAX_SAFE_SEMVER_VERSION : version;
@@ -49569,11 +49585,7 @@ function validateChanges(file, node, changes) {
49569
49585
}
49570
49586
49571
49587
if (containsInvalidVersionNumber(change.version)) {
49572
- file.message(
49573
- `changes[${index}]: version(s) must respect the pattern \`vx.x.x\` ` +
49574
- `or use the placeholder \`${VERSION_PLACEHOLDER}\``,
49575
- node
49576
- );
49588
+ file.message(`changes[${index}]: ${invalidVersionMessage}`, node);
49577
49589
} else if (areVersionsUnordered(change.version)) {
49578
49590
file.message(`changes[${index}]: list of versions is not in order`, node);
49579
49591
}
@@ -49627,31 +49639,22 @@ function validateMeta(node, file, meta) {
49627
49639
}
49628
49640
49629
49641
if (containsInvalidVersionNumber(meta.added)) {
49630
- file.message(
49631
- "Invalid `added` value: version(s) must respect the pattern `vx.x.x` " +
49632
- `or use the placeholder \`${VERSION_PLACEHOLDER}\``,
49633
- node
49634
- );
49642
+ file.message(`Invalid \`added\` value: ${invalidVersionMessage}`, node);
49635
49643
} else if (areVersionsUnordered(meta.added)) {
49636
49644
file.message("Versions in `added` list are not in order", node);
49637
49645
}
49638
49646
49639
49647
if (containsInvalidVersionNumber(meta.deprecated)) {
49640
49648
file.message(
49641
- "Invalid `deprecated` value: version(s) must respect the pattern `vx.x.x` " +
49642
- `or use the placeholder \`${VERSION_PLACEHOLDER}\``,
49649
+ `Invalid \`deprecated\` value: ${invalidVersionMessage}`,
49643
49650
node
49644
49651
);
49645
49652
} else if (areVersionsUnordered(meta.deprecated)) {
49646
49653
file.message("Versions in `deprecated` list are not in order", node);
49647
49654
}
49648
49655
49649
49656
if (containsInvalidVersionNumber(meta.removed)) {
49650
- file.message(
49651
- "Invalid `removed` value: version(s) must respect the pattern `vx.x.x` " +
49652
- `or use the placeholder \`${VERSION_PLACEHOLDER}\``,
49653
- node
49654
- );
49657
+ file.message(`Invalid \`removed\` value: ${invalidVersionMessage}`, node);
49655
49658
} else if (areVersionsUnordered(meta.removed)) {
49656
49659
file.message("Versions in `removed` list are not in order", node);
49657
49660
}
@@ -50490,6 +50493,7 @@ var plugins$2 = [
50490
50493
flags: [
50491
50494
"bash",
50492
50495
"c",
50496
+ "cjs",
50493
50497
"coffee",
50494
50498
"console",
50495
50499
"cpp",
@@ -50498,6 +50502,7 @@ var plugins$2 = [
50498
50502
"js",
50499
50503
"json",
50500
50504
"markdown",
50505
+ "mjs",
50501
50506
"powershell",
50502
50507
"r",
50503
50508
"text",
0 commit comments