test: prove TechLog UI migration parity
This commit is contained in:
@@ -41,6 +41,7 @@ import {
|
||||
type ReleaseCandidateManifest,
|
||||
} from "./release-candidate.ts";
|
||||
import { verifyReleaseRuntimeCoherence } from "./release-runtime-coherence.ts";
|
||||
import { findViteDynamicRouteChunk } from "./vite-route-chunks.ts";
|
||||
import { digestReleaseInputFiles } from "./release-input-evidence.ts";
|
||||
import {
|
||||
compareStoredDependencyEvidence,
|
||||
@@ -1256,12 +1257,27 @@ async function verifyReleaseOutputs(
|
||||
ROUTE_RUNTIME_CONTRACT;
|
||||
for (const definition of Object.values(ROUTE_REGISTRY)) {
|
||||
const runtime = runtimeContracts[definition.routeId];
|
||||
const viteEntry = Object.values(viteManifest).find(
|
||||
(entry) =>
|
||||
isRecord(entry) &&
|
||||
entry.name === runtime?.moduleId &&
|
||||
entry.isDynamicEntry === true,
|
||||
);
|
||||
const viteEntry = runtime
|
||||
? findViteDynamicRouteChunk(
|
||||
Object.fromEntries(
|
||||
Object.entries(viteManifest).flatMap(([key, entry]) => {
|
||||
if (!isRecord(entry) || typeof entry.file !== "string") return [];
|
||||
return [[key, {
|
||||
file: entry.file,
|
||||
...(typeof entry.name === "string" ? { name: entry.name } : {}),
|
||||
...(typeof entry.isDynamicEntry === "boolean"
|
||||
? { isDynamicEntry: entry.isDynamicEntry }
|
||||
: {}),
|
||||
...(Array.isArray(entry.dynamicImports) &&
|
||||
entry.dynamicImports.every((item) => typeof item === "string")
|
||||
? { dynamicImports: entry.dynamicImports as string[] }
|
||||
: {}),
|
||||
}]];
|
||||
}),
|
||||
),
|
||||
runtime.moduleId,
|
||||
)
|
||||
: undefined;
|
||||
const file = isRecord(viteEntry) ? viteEntry.file : null;
|
||||
if (
|
||||
typeof file !== "string" ||
|
||||
|
||||
Reference in New Issue
Block a user