UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

34 lines (28 loc) 1.06 kB
import { getRouteExportsFromEntry } from '../server/routeExportsFromEntry' import { toAbsoluteUrl } from '../utils/toAbsolute' // entry evaluation is expensive and every page in a build shares it const serverEntries = new Map<string, Promise<any>>() function loadServerEntry(serverEntry: string) { let loading = serverEntries.get(serverEntry) if (!loading) { loading = import(toAbsoluteUrl(serverEntry)) serverEntries.set(serverEntry, loading) } return loading } export async function getRouteExports( serverEntry: string, routerRoot: string, routeFile: string ): Promise<Record<string, any>> { const entry = await loadServerEntry(serverEntry) const exported = await getRouteExportsFromEntry(entry, routerRoot, routeFile) if (!exported) { const routes = entry?.default?.options?.routes ?? entry?.default?.default?.options?.routes throw new Error( `[one] route ${routeFile} is missing from the built server entry route map (looked in: ${Object.keys(routes ?? {}).join(', ')})` ) } return exported }