fix(release): stabilize generated UI references

This commit is contained in:
2026-08-01 07:02:22 +05:30
parent d5e834bc78
commit e2f7bea299
9 changed files with 178 additions and 28 deletions
+26 -3
View File
@@ -416,11 +416,34 @@ for (const [label, condition] of [
referenceGeneratorSource.includes("compareText(left.name, right.name)") &&
!referenceGeneratorSource.includes("localeCompare"),
],
[
"line-ending-stable generated reference writes",
referenceGeneratorSource.includes("function normalizeNewlines(source)") &&
referenceGeneratorSource.includes(
"normalizeNewlines(current) === normalizeNewlines(source)",
) &&
referenceGeneratorSource.includes("return false"),
],
]) {
if (!condition) fail(`R12 regression: missing ${label}`);
if (!condition) fail(`R13 regression: missing ${label}`);
}
if (!failures.some((item) => item.startsWith("R12 regression:"))) {
pass("R12 release reference gate is canonical, complete, and platform independent");
if (!failures.some((item) => item.startsWith("R13 regression:"))) {
const referenceGenerationTest = spawnSync(
process.execPath,
[join(root, "scripts/test-ui-reference-generation.mjs")],
{ encoding: "utf8" },
);
if (referenceGenerationTest.status !== 0) {
fail(
`R13 regression: generated-reference line-ending test failed: ${
referenceGenerationTest.stderr.trim() || referenceGenerationTest.stdout.trim()
}`,
);
} else {
pass(
"R13 release reference gate is canonical, complete, platform independent, and line-ending stable",
);
}
}
const showcaseFiles = walk(join(root, "examples/component-showcase/app"), (path) =>