export type ViteManifestRouteEntry = Readonly<{ file: string; name?: string; isDynamicEntry?: boolean; dynamicImports?: readonly string[]; }>; export function findViteDynamicRouteChunk( manifest: Readonly>, 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]; }