feat: establish nightdrive visual foundation

This commit is contained in:
2026-09-02 13:55:01 +03:00
parent f1e156fba7
commit 24afda8710
8 changed files with 193 additions and 47 deletions

View File

@@ -73,7 +73,25 @@ export const resolveViteAssetClosure = (manifest) => {
};
visit('index.html', true);
const unreachable = Object.keys(manifest).filter((key) => !allReachable.has(key));
const reachableAssetFiles = new Set(
[...allReachable].flatMap((key) => manifest[key].assets ?? []),
);
const emittedAssetRecords = new Set(
Object.entries(manifest).flatMap(([key, record]) => {
const isEmittedAssetRecord =
reachableAssetFiles.has(record.file) &&
record.isEntry === undefined &&
record.isDynamicEntry === undefined &&
(record.imports?.length ?? 0) === 0 &&
(record.dynamicImports?.length ?? 0) === 0 &&
(record.css?.length ?? 0) === 0 &&
(record.assets?.length ?? 0) === 0;
return isEmittedAssetRecord ? [key] : [];
}),
);
const unreachable = Object.keys(manifest).filter(
(key) => !allReachable.has(key) && !emittedAssetRecords.has(key),
);
if (unreachable.length > 0) throw new Error(`Unreachable manifest record: ${unreachable.join(', ')}`);
const executableModules = [];