21 lines
623 B
TypeScript
21 lines
623 B
TypeScript
export type ViteManifestRouteEntry = Readonly<{
|
|
file: string;
|
|
name?: string;
|
|
isDynamicEntry?: boolean;
|
|
dynamicImports?: readonly string[];
|
|
}>;
|
|
|
|
export function findViteDynamicRouteChunk(
|
|
manifest: Readonly<Record<string, ViteManifestRouteEntry>>,
|
|
moduleId: string,
|
|
): ViteManifestRouteEntry | undefined {
|
|
const dynamicallyImportedKeys = new Set(
|
|
Object.values(manifest).flatMap((entry) => entry.dynamicImports ?? []),
|
|
);
|
|
return Object.entries(manifest).find(
|
|
([key, entry]) =>
|
|
entry.name === moduleId &&
|
|
(entry.isDynamicEntry === true || dynamicallyImportedKeys.has(key)),
|
|
)?.[1];
|
|
}
|