@reckona/mreact-router 0.0.67 → 0.0.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions.js.map +1 -1
- package/dist/adapters/aws-lambda.js.map +1 -1
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/adapters/devtools.js.map +1 -1
- package/dist/adapters/edge.js.map +1 -1
- package/dist/adapters/node.js.map +1 -1
- package/dist/adapters/static.js.map +1 -1
- package/dist/app-router-globals.js.map +1 -1
- package/dist/assets.js.map +1 -1
- package/dist/build.js.map +1 -1
- package/dist/bundle-pipeline.js.map +1 -1
- package/dist/cache-config.js.map +1 -1
- package/dist/cache-stats.js.map +1 -1
- package/dist/cache.js.map +1 -1
- package/dist/cli-options.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/cookies.js.map +1 -1
- package/dist/csp.js.map +1 -1
- package/dist/csrf.js.map +1 -1
- package/dist/deferred.js.map +1 -1
- package/dist/dev-server.js.map +1 -1
- package/dist/file-conventions.js.map +1 -1
- package/dist/http.js.map +1 -1
- package/dist/i18n.js.map +1 -1
- package/dist/import-policy.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/link.js.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/module-runner.js.map +1 -1
- package/dist/multipart.js.map +1 -1
- package/dist/native-escape.js.map +1 -1
- package/dist/native-route-matcher.js.map +1 -1
- package/dist/navigation-state.js.map +1 -1
- package/dist/navigation.js.map +1 -1
- package/dist/prerender-store.js.map +1 -1
- package/dist/render.js.map +1 -1
- package/dist/route-path.js.map +1 -1
- package/dist/route-shells.js.map +1 -1
- package/dist/route-source.js.map +1 -1
- package/dist/route-styles.js.map +1 -1
- package/dist/routes.js.map +1 -1
- package/dist/runtime-cache.js.map +1 -1
- package/dist/runtime-state.js.map +1 -1
- package/dist/security-headers.js.map +1 -1
- package/dist/serve.js.map +1 -1
- package/dist/session.js.map +1 -1
- package/dist/source-jsx.js.map +1 -1
- package/dist/source-modules.js.map +1 -1
- package/dist/stream-list.js.map +1 -1
- package/dist/trace.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/upgrade.js.map +1 -1
- package/dist/vite-config.js.map +1 -1
- package/dist/vite-plugin-cache-key.js.map +1 -1
- package/dist/vite.js.map +1 -1
- package/dist/workspace-packages.js.map +1 -1
- package/package.json +11 -11
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport type { Dirent } from \"node:fs\";\nimport { copyFile, cp, mkdir, readdir, readFile, rm, stat, writeFile } from \"node:fs/promises\";\nimport { builtinModules } from \"node:module\";\nimport { dirname, join, relative, sep } from \"node:path\";\nimport {\n collectFormActionReferenceNames,\n collectStaticImportReferences,\n collectTopLevelValueExportNames,\n formatDiagnostic,\n hasModuleDirective,\n transform,\n} from \"@reckona/mreact-compiler\";\nimport { transformCompilerModuleContext } from \"@reckona/mreact-compiler/internal\";\nimport type { ServerOutputMode } from \"@reckona/mreact-compiler\";\nimport {\n buildClientRouteBatchOutput,\n buildNavigationRuntimeBundle,\n clientScriptForPath,\n compilerModuleContextForSource,\n collectClientRouteReferences,\n createClientRouteInferenceCache,\n detectClientNavigationHint,\n detectNavigationRuntimeHint,\n formatClientRouteInferenceDiagnostic,\n inferClientRouteModule,\n routeIdForPath,\n type BuildClientRouteOutputOptions,\n type ClientRouteManifestEntry,\n type ClientRouteInferenceCache,\n} from \"./client.js\";\nimport { bundleAppRouterSourceModule, importAppRouterSourceModule } from \"./module-runner.js\";\nimport { scanAppRoutes } from \"./routes.js\";\nimport type { AppRoute } from \"./routes.js\";\nimport {\n appFileConventionForRootFilename,\n} from \"./file-conventions.js\";\nimport {\n resolveAppRouterProjectOptions,\n resolveBuildTargets,\n type AppRouterProjectOptions,\n type AppRouterBuildTarget,\n type AppRouterClientSourceMapMode,\n type ResolvedAppRouterProject,\n} from \"./config.js\";\nimport type { ModuleMetadata } from \"@reckona/mreact-compiler\";\nimport type { RouteCachePolicy } from \"./cache.js\";\nimport { routeCachePolicyFromSource } from \"./cache.js\";\nimport { bundleMiddlewareModuleCode, renderAppRequest } from \"./render.js\";\nimport { createAppRouterImportPolicyPlugin, type AppRouterImportPolicy } from \"./import-policy.js\";\nimport {\n hasGenerateStaticParamsExport,\n hasLoaderExport,\n hasPrerenderExport,\n isStreamRouteSource,\n routeClosureMayUseAwaitBoundary,\n stripRouteBuildExports,\n stripRouteClientOnlyExports,\n stripRouteLoaderOnlyExports,\n stripRouteMetadataOnlyExports,\n stripRouteRequestOnlyExports,\n} from \"./route-source.js\";\nimport {\n bundleRouterModule,\n type RouterCompatPlugin,\n} from \"./bundle-pipeline.js\";\nimport { collectRouteCssFiles } from \"./route-styles.js\";\nimport { existingRouteShellCandidates } from \"./route-shells.js\";\nimport { sourceModuleCandidates } from \"./source-modules.js\";\nimport { workspacePackageFile } from \"./workspace-packages.js\";\nimport type { PluginOption, UserConfig } from \"vite\";\n\nconst nativeEscapeTransform = {\n batchImportName: \"escapeHtmlBatch\",\n batchImportSource: \"@reckona/mreact-router/native-escape\",\n} as const;\n\nexport interface BuildAppOptions extends AppRouterProjectOptions {\n outDir: string;\n targets?: readonly AppRouterBuildTarget[] | undefined;\n viteConfig?: Pick<UserConfig, \"plugins\"> | undefined;\n}\n\nexport interface BuildAppResult {\n routes: AppRoute[];\n}\n\nexport interface BuiltImportPolicyArtifact {\n byRoute: Record<string, string[]>;\n runtimePackages: string[];\n version: 1;\n}\n\nexport interface AwsLambdaArtifactManifest {\n files: Array<{ bytes: number; path: string }>;\n handler: string;\n runtime: \"aws-lambda\";\n totalBytes: number;\n version: 1;\n}\n\nexport interface PackageAwsLambdaArtifactOptions {\n fromDir: string;\n outDir: string;\n}\n\nexport interface BuiltServerManifest {\n allowedSourceDirs?: readonly string[];\n assetBaseUrl?: string;\n version: 1;\n files: Record<string, string>;\n prerenderedRoutes?: Record<string, BuiltPrerenderedRoute>;\n publicAssetBaseUrl?: string;\n routesDir?: string;\n serverActionManifest?: BuiltServerActionReference[];\n serverModuleFiles?: Record<string, string>;\n serverModuleRenderFiles?: Record<string, string>;\n serverModuleRequestFiles?: Record<string, string>;\n routes: AppRoute[];\n serverModules?: Record<string, BuiltServerModuleArtifact>;\n}\n\nexport interface BuiltServerActionReference {\n exportName: string;\n inferred?: boolean;\n moduleId: string;\n}\n\nexport interface BuiltServerModuleArtifact {\n analysis?: BuiltRouteSourceAnalysisSummary;\n loader?: BuiltServerModuleOutput;\n routeMetadata?: BuiltServerModuleOutput;\n request?: BuiltServerModuleOutput;\n stream?: BuiltServerModuleOutput;\n string?: BuiltServerModuleOutput;\n}\n\nexport interface BuiltRouteSourceAnalysisSummary {\n authIncludesClaims: boolean;\n cachePolicy?: RouteCachePolicy | undefined;\n clientBoundaryImports: readonly string[];\n clientRoute: boolean;\n hasLoader: boolean;\n routeCode: string;\n routePath: string;\n sourceHash: string;\n streamRoute: boolean;\n usesRuntimeCacheControl: boolean;\n}\n\nexport interface BuiltServerModuleOutput {\n bundleCode?: string;\n code: string;\n metadata?: ModuleMetadata;\n moduleFile?: string;\n sourceHash: string;\n}\n\nexport interface BuiltPrerenderedRoute {\n headers: Record<string, string>;\n html: string;\n status: number;\n}\n\ntype StaticParams = Record<string, string | number | boolean | readonly string[]>;\n\nexport async function buildApp(options: BuildAppOptions): Promise<BuildAppResult> {\n const project = resolveAppRouterProjectOptions(options);\n const buildTargets = resolveBuildTargets(options.targets ?? project.buildTargets);\n const shouldBuildCloudflare = buildTargets.includes(\"cloudflare\");\n const shouldBuildAwsLambda = buildTargets.includes(\"aws-lambda\");\n const routes = await scanAppRoutes({ appDir: project.routesDir });\n const vitePlugins = options.viteConfig?.plugins;\n const files = await collectBuildFiles(\n project.projectRoot,\n project.allowedSourceDirs,\n project.routesDir,\n );\n const serverDir = join(options.outDir, \"server\");\n const clientDir = join(options.outDir, \"client\");\n const cloudflareDir = join(options.outDir, \"cloudflare\");\n\n await validateProductionRoutes({ files, projectRoot: project.projectRoot, routes });\n\n await rm(options.outDir, { force: true, recursive: true });\n await mkdir(serverDir, { recursive: true });\n await mkdir(clientDir, { recursive: true });\n if (shouldBuildCloudflare) {\n await mkdir(cloudflareDir, { recursive: true });\n }\n await mkdir(join(clientDir, \".vite\"), { recursive: true });\n await mkdir(join(clientDir, \"assets\", \"routes\"), { recursive: true });\n await copyPublicAssets(project.publicDir, join(clientDir, \"public\"));\n const appConventionPublicAssets = await copyAppFileConventionAssets(\n project.routesDir,\n clientDir,\n );\n await copyPublicAssets(project.publicDir, clientDir);\n const publicAssets = [\n ...new Set([...(await collectPublicAssetPaths(project.publicDir)), ...appConventionPublicAssets]),\n ].sort();\n\n const serverActionManifest = collectBuildServerActionManifest({\n files,\n projectRoot: project.projectRoot,\n routes,\n routesDir: project.routesDir,\n });\n const clientRouteInferenceCache = createClientRouteInferenceCache();\n const serverModules = await buildServerModuleArtifacts({\n clientRouteInferenceCache,\n files,\n prebundleServerComponents: buildTargets.includes(\"node\") || shouldBuildAwsLambda,\n project,\n projectRoot: project.projectRoot,\n routes,\n vitePlugins,\n });\n const generatedImportPolicy = buildGeneratedImportPolicy({\n files,\n projectRoot: project.projectRoot,\n routes,\n routesDir: project.routesDir,\n });\n const serverModuleArtifacts = await writeServerModuleArtifactFiles(serverDir, serverModules);\n const serverRoutes = routes.map((route) => ({\n ...route,\n file: relative(project.projectRoot, route.file),\n }));\n const clientRoutes = await writeClientRouteBundles({\n appDir: project.routesDir,\n assetBaseUrl: project.assetBaseUrl,\n clientDir,\n clientRouteInferenceCache,\n projectRoot: project.projectRoot,\n routes,\n sourceMapDir: join(options.outDir, \"source-maps\", \"client\"),\n sourceMaps: project.clientSourceMaps,\n vitePlugins,\n });\n const navigationRuntimeScript = clientRoutes.some(\n (route) => route.navigation === true && !route.client,\n )\n ? await writeNavigationRuntimeBundle(clientDir)\n : undefined;\n const clientManifestRoutes =\n navigationRuntimeScript === undefined\n ? clientRoutes\n : clientRoutes.map((route) =>\n route.navigation === true && !route.client\n ? { ...route, navigationScript: navigationRuntimeScript }\n : route,\n );\n const prerenderedRoutes = await prerenderStaticRoutes({\n appDir: project.routesDir,\n assetBaseUrl: project.assetBaseUrl,\n clientRoutes: clientManifestRoutes,\n project,\n routes,\n serverModules,\n vitePlugins,\n });\n let cloudflareRouteModules: CloudflareRouteModulesOutput | undefined;\n if (shouldBuildCloudflare) {\n cloudflareRouteModules = await writeCloudflareRouteModules({\n cloudflareDir,\n files,\n prerenderedRoutes,\n projectRoot: project.projectRoot,\n routesDir: project.routesDir,\n routes,\n serverModules,\n vitePlugins,\n });\n }\n\n const serverManifest = {\n allowedSourceDirs: project.allowedSourceDirs.map((directory) =>\n relative(project.projectRoot, directory),\n ),\n ...(project.assetBaseUrl === undefined ? {} : { assetBaseUrl: project.assetBaseUrl }),\n version: 1,\n routes: serverRoutes,\n routesDir: relative(project.projectRoot, project.routesDir),\n files,\n prerenderedRoutes,\n ...(project.publicAssetBaseUrl === undefined\n ? {}\n : { publicAssetBaseUrl: project.publicAssetBaseUrl }),\n ...(serverActionManifest.length === 0 ? {} : { serverActionManifest }),\n ...(Object.keys(serverModuleArtifacts.files).length === 0\n ? {}\n : { serverModuleFiles: serverModuleArtifacts.files }),\n ...(Object.keys(serverModuleArtifacts.requestFiles).length === 0\n ? {}\n : { serverModuleRequestFiles: serverModuleArtifacts.requestFiles }),\n ...(Object.keys(serverModuleArtifacts.renderFiles).length === 0\n ? {}\n : { serverModuleRenderFiles: serverModuleArtifacts.renderFiles }),\n } satisfies BuiltServerManifest;\n const clientManifest = {\n ...(publicAssets.length === 0 ? {} : { publicAssets }),\n routes: clientManifestRoutes,\n };\n await writeFile(\n join(serverDir, \"manifest.json\"),\n JSON.stringify(serverManifest, null, 2),\n );\n await writeFile(\n join(serverDir, \"import-policy.json\"),\n JSON.stringify(generatedImportPolicy, null, 2),\n );\n await writeFile(\n join(clientDir, \"manifest.json\"),\n JSON.stringify(clientManifest, null, 2),\n );\n await writeFile(\n join(clientDir, \".vite\", \"manifest.json\"),\n JSON.stringify(viteManifestFromClientRoutes(clientManifestRoutes), null, 2),\n );\n if (shouldBuildAwsLambda) {\n await writeAwsLambdaHandlerArtifact(options.outDir);\n }\n if (shouldBuildCloudflare) {\n await writeCloudflareWorkerArtifact({\n cloudflareDir,\n clientManifest,\n modulesFile: cloudflareRouteModules?.registryFile ?? \"route-modules.mjs\",\n serverManifest,\n });\n }\n\n return { routes };\n}\n\nasync function writeServerModuleArtifactFiles(\n serverDir: string,\n serverModules: Record<string, BuiltServerModuleArtifact>,\n): Promise<{\n files: Record<string, string>;\n renderFiles: Record<string, string>;\n requestFiles: Record<string, string>;\n}> {\n const files: Record<string, string> = {};\n const renderFiles: Record<string, string> = {};\n const requestFiles: Record<string, string> = {};\n const modulesDir = join(serverDir, \"server-modules\");\n\n for (const [file, artifact] of Object.entries(serverModules)) {\n const externalized = await externalizeServerModuleArtifactCode(serverDir, artifact);\n const requestArtifact = requestServerModuleArtifact(externalized);\n const renderArtifact = renderServerModuleArtifact(externalized);\n\n await mkdir(modulesDir, { recursive: true });\n\n if (Object.keys(requestArtifact).length > 0 && Object.keys(renderArtifact).length > 0) {\n const requestJson = JSON.stringify(requestArtifact);\n const requestArtifactFile = `server-modules/request/${hashText(`${file}\\0request\\0${requestJson}`).slice(0, 16)}.json`;\n await mkdir(join(modulesDir, \"request\"), { recursive: true });\n await writeFile(join(serverDir, requestArtifactFile), requestJson);\n requestFiles[file] = requestArtifactFile;\n\n const renderJson = JSON.stringify(renderArtifact);\n const renderArtifactFile = `server-modules/render/${hashText(`${file}\\0render\\0${renderJson}`).slice(0, 16)}.json`;\n await mkdir(join(modulesDir, \"render\"), { recursive: true });\n await writeFile(join(serverDir, renderArtifactFile), renderJson);\n renderFiles[file] = renderArtifactFile;\n continue;\n }\n\n const json = JSON.stringify(externalized);\n const artifactFile = `server-modules/${hashText(`${file}\\0${json}`).slice(0, 16)}.json`;\n\n await writeFile(join(serverDir, artifactFile), json);\n files[file] = artifactFile;\n }\n\n return { files, renderFiles, requestFiles };\n}\n\nasync function externalizeServerModuleArtifactCode(\n serverDir: string,\n artifact: BuiltServerModuleArtifact,\n): Promise<BuiltServerModuleArtifact> {\n return {\n ...(artifact.analysis === undefined ? {} : { analysis: artifact.analysis }),\n ...(artifact.loader === undefined\n ? {}\n : { loader: await externalizeServerModuleOutputCode(serverDir, artifact.loader, \"code\") }),\n ...(artifact.routeMetadata === undefined\n ? {}\n : {\n routeMetadata: await externalizeServerModuleOutputCode(\n serverDir,\n artifact.routeMetadata,\n \"code\",\n ),\n }),\n ...(artifact.request === undefined\n ? {}\n : { request: await externalizeServerModuleOutputCode(serverDir, artifact.request, \"code\") }),\n ...(artifact.stream === undefined\n ? {}\n : { stream: await externalizeServerModuleOutputCode(serverDir, artifact.stream, \"bundle\") }),\n ...(artifact.string === undefined\n ? {}\n : { string: await externalizeServerModuleOutputCode(serverDir, artifact.string, \"bundle\") }),\n };\n}\n\nasync function externalizeServerModuleOutputCode(\n serverDir: string,\n output: BuiltServerModuleOutput,\n kind: \"bundle\" | \"code\",\n): Promise<BuiltServerModuleOutput> {\n const moduleCode = kind === \"bundle\" ? output.bundleCode : output.code;\n\n if (moduleCode === undefined || moduleCode.length === 0) {\n return output;\n }\n\n const moduleFile = `server-modules/code/${hashText(moduleCode).slice(0, 16)}.mjs`;\n await mkdir(join(serverDir, \"server-modules\", \"code\"), { recursive: true });\n await writeFile(join(serverDir, moduleFile), moduleCode);\n\n return {\n code: kind === \"code\" ? \"\" : output.code,\n ...(output.metadata === undefined ? {} : { metadata: output.metadata }),\n moduleFile,\n sourceHash: output.sourceHash,\n };\n}\n\nfunction requestServerModuleArtifact(\n artifact: BuiltServerModuleArtifact,\n): BuiltServerModuleArtifact {\n return {\n ...(artifact.analysis === undefined ? {} : { analysis: artifact.analysis }),\n ...(artifact.loader === undefined ? {} : { loader: artifact.loader }),\n ...(artifact.routeMetadata === undefined ? {} : { routeMetadata: artifact.routeMetadata }),\n ...(artifact.request === undefined ? {} : { request: artifact.request }),\n };\n}\n\nfunction renderServerModuleArtifact(\n artifact: BuiltServerModuleArtifact,\n): BuiltServerModuleArtifact {\n return {\n ...(artifact.stream === undefined ? {} : { stream: artifact.stream }),\n ...(artifact.string === undefined ? {} : { string: artifact.string }),\n };\n}\n\nconst nodeBuiltinPackages = new Set(builtinModules.flatMap((name) => [name, `node:${name}`]));\nconst frameworkRuntimePackages = new Set([\n \"@reckona/mreact\",\n \"@reckona/mreact-auth\",\n \"@reckona/mreact-compiler\",\n \"@reckona/mreact-query\",\n \"@reckona/mreact-reactive-core\",\n \"@reckona/mreact-router\",\n \"@reckona/mreact-server\",\n]);\n\nfunction buildGeneratedImportPolicy(options: {\n files: Record<string, string>;\n projectRoot: string;\n routes: readonly AppRoute[];\n routesDir: string;\n}): BuiltImportPolicyArtifact {\n const routePackages = new Map<string, string[]>();\n const allPackages = new Set<string>();\n const relativeRoutesDir = relative(options.projectRoot, options.routesDir);\n\n for (const route of options.routes) {\n const file = relative(options.projectRoot, route.file);\n const packages = collectRuntimePackagesForFile({\n file,\n files: options.files,\n projectRoot: options.projectRoot,\n seen: new Set(),\n });\n\n if (packages.length > 0) {\n routePackages.set(route.path, packages);\n for (const packageName of packages) {\n allPackages.add(packageName);\n }\n }\n }\n\n const middlewareFile = [\"middleware.ts\", \"middleware.mreact.ts\"]\n .map((file) => (relativeRoutesDir === \"\" ? file : `${relativeRoutesDir}/${file}`))\n .find((file) => options.files[file] !== undefined);\n\n if (middlewareFile !== undefined) {\n const packages = collectRuntimePackagesForFile({\n file: middlewareFile,\n files: options.files,\n projectRoot: options.projectRoot,\n seen: new Set(),\n });\n\n if (packages.length > 0) {\n routePackages.set(\"middleware\", packages);\n for (const packageName of packages) {\n allPackages.add(packageName);\n }\n }\n }\n\n return {\n byRoute: Object.fromEntries(\n [...routePackages.entries()].sort(([left], [right]) => left.localeCompare(right)),\n ),\n runtimePackages: [...allPackages].sort(),\n version: 1,\n };\n}\n\nfunction collectRuntimePackagesForFile(options: {\n file: string;\n files: Record<string, string>;\n projectRoot: string;\n seen: Set<string>;\n}): string[] {\n if (options.seen.has(options.file)) {\n return [];\n }\n\n const source = options.files[options.file];\n if (\n source === undefined ||\n hasModuleDirective({\n code: source,\n directive: \"use client\",\n filename: join(options.projectRoot, options.file),\n })\n ) {\n return [];\n }\n\n options.seen.add(options.file);\n const packages = new Set<string>();\n\n for (const reference of collectStaticImportReferences({\n code: source,\n filename: join(options.projectRoot, options.file),\n })) {\n if (isRuntimePackageSpecifier(reference.source)) {\n packages.add(runtimePackageNameForSpecifier(reference.source));\n continue;\n }\n\n const localFile = resolveBuildLocalSourceImport(options.files, options.file, reference.source);\n if (localFile === undefined) {\n continue;\n }\n\n for (const packageName of collectRuntimePackagesForFile({\n ...options,\n file: localFile,\n })) {\n packages.add(packageName);\n }\n }\n\n options.seen.delete(options.file);\n\n return [...packages].sort();\n}\n\nfunction isRuntimePackageSpecifier(specifier: string): boolean {\n if (specifier.startsWith(\".\") || specifier.startsWith(\"/\") || /^[A-Za-z][A-Za-z0-9+.-]*:/.test(specifier)) {\n return false;\n }\n\n const packageName = runtimePackageNameForSpecifier(specifier);\n return !nodeBuiltinPackages.has(specifier) && !frameworkRuntimePackages.has(packageName);\n}\n\nfunction runtimePackageNameForSpecifier(specifier: string): string {\n if (!specifier.startsWith(\"@\")) {\n return specifier.split(\"/\")[0] ?? specifier;\n }\n\n const [scope, name] = specifier.split(\"/\");\n return scope !== undefined && name !== undefined ? `${scope}/${name}` : specifier;\n}\n\nfunction collectBuildServerActionManifest(options: {\n files: Record<string, string>;\n projectRoot: string;\n routes: readonly AppRoute[];\n routesDir: string;\n}): BuiltServerActionReference[] {\n const entries = new Map<string, BuiltServerActionReference>();\n const relativeRoutesDir = relative(options.projectRoot, options.routesDir);\n const routeSourceFiles = new Set(\n options.routes\n .filter((route) => route.kind === \"page\")\n .map((route) => relative(options.projectRoot, route.file).split(sep).join(\"/\")),\n );\n\n for (const [file, code] of Object.entries(options.files)) {\n if (!isAppRelativeFile(file, relativeRoutesDir) || !isSourceModuleFile(file)) {\n continue;\n }\n\n if (hasModuleDirective({ code, directive: \"use server\", filename: file })) {\n const moduleId = moduleIdForBuildFile(file, relativeRoutesDir);\n\n for (const exportName of collectTopLevelValueExportNames({ code, filename: file })) {\n entries.set(`${moduleId}#${exportName}`, { moduleId, exportName });\n }\n }\n\n if (routeSourceFiles.has(file)) {\n for (const reference of collectBuildInferredServerActionReferences({\n file,\n files: options.files,\n relativeRoutesDir,\n source: code,\n })) {\n const key = `${reference.moduleId}#${reference.exportName}`;\n\n if (!entries.has(key)) {\n entries.set(key, reference);\n }\n }\n }\n }\n\n return [...entries.values()].sort((left, right) =>\n left.moduleId === right.moduleId\n ? left.exportName.localeCompare(right.exportName)\n : left.moduleId.localeCompare(right.moduleId),\n );\n}\n\nfunction collectBuildInferredServerActionReferences(options: {\n file: string;\n files: Record<string, string>;\n relativeRoutesDir: string;\n source: string;\n}): BuiltServerActionReference[] {\n const actionNames = collectFormActionNames(options.source);\n\n if (actionNames.size === 0) {\n return [];\n }\n\n const references: BuiltServerActionReference[] = [];\n\n for (const match of options.source.matchAll(\n /^import\\s+\\{\\s*(?<specifiers>[^}]+)\\s*\\}\\s+from\\s+[\"'](?<source>[^\"']+)[\"'];?/gm,\n )) {\n const source = match.groups?.source;\n const specifiers = match.groups?.specifiers;\n\n if (source === undefined || specifiers === undefined || !source.startsWith(\".\")) {\n continue;\n }\n\n const localFile = resolveBuildLocalSourceImport(options.files, options.file, source);\n\n if (localFile === undefined) {\n continue;\n }\n\n const moduleId = moduleIdForBuildFile(localFile, options.relativeRoutesDir);\n\n for (const specifier of specifiers.split(\",\")) {\n const [exportName, localName] = specifier.trim().split(/\\s+as\\s+/);\n const imported = exportName?.trim();\n const local = localName?.trim() ?? imported;\n\n if (\n imported !== undefined &&\n imported.length > 0 &&\n local !== undefined &&\n actionNames.has(local)\n ) {\n references.push({ moduleId, exportName: imported, inferred: true });\n }\n }\n }\n\n return references;\n}\n\nfunction collectFormActionNames(code: string): Set<string> {\n return new Set(collectFormActionReferenceNames({ code }));\n}\n\nfunction isSourceModuleFile(file: string): boolean {\n return /\\.(?:mreact\\.tsx|tsx?|jsx?|mjs|mts|cjs|cts)$/.test(file);\n}\n\nfunction isAppRelativeFile(file: string, relativeRoutesDir: string): boolean {\n return relativeRoutesDir === \"\" || file === relativeRoutesDir || file.startsWith(`${relativeRoutesDir}/`);\n}\n\nfunction moduleIdForBuildFile(file: string, relativeRoutesDir: string): string {\n return relativeRoutesDir === \"\" ? file : file.slice(relativeRoutesDir.length + 1);\n}\n\nasync function copyPublicAssets(publicDir: string, outDir: string): Promise<void> {\n try {\n await cp(publicDir, outDir, { force: true, recursive: true });\n } catch (error) {\n if (isNodeError(error) && error.code === \"ENOENT\") {\n return;\n }\n\n throw error;\n }\n}\n\nasync function collectPublicAssetPaths(publicDir: string): Promise<string[]> {\n try {\n const info = await stat(publicDir);\n\n if (!info.isDirectory()) {\n return [];\n }\n } catch (error) {\n if (isNodeError(error) && error.code === \"ENOENT\") {\n return [];\n }\n\n throw error;\n }\n\n const paths: string[] = [];\n await collectPublicAssetPathsInner(publicDir, \"\", paths);\n\n return paths.sort();\n}\n\nasync function copyAppFileConventionAssets(\n appDir: string,\n outDir: string,\n): Promise<string[]> {\n let entries: Dirent[];\n try {\n entries = await readdir(appDir, { withFileTypes: true });\n } catch (error) {\n if (isNodeError(error) && error.code === \"ENOENT\") {\n return [];\n }\n\n throw error;\n }\n\n const paths: string[] = [];\n await mkdir(outDir, { recursive: true });\n\n for (const entry of entries) {\n if (!entry.isFile()) {\n continue;\n }\n\n const convention = appFileConventionForRootFilename(entry.name);\n if (convention === undefined || convention.kind !== \"asset\") {\n continue;\n }\n\n const outputPath = convention.path.startsWith(\"/\")\n ? convention.path.slice(1)\n : convention.path;\n await copyFile(join(appDir, entry.name), join(outDir, outputPath));\n paths.push(convention.path);\n }\n\n return paths.sort();\n}\n\nasync function collectPublicAssetPathsInner(\n publicDir: string,\n relativeDir: string,\n paths: string[],\n): Promise<void> {\n const entries = await readdir(join(publicDir, relativeDir), { withFileTypes: true });\n\n for (const entry of entries) {\n const relativePath = relativeDir === \"\" ? entry.name : `${relativeDir}/${entry.name}`;\n\n if (entry.isDirectory()) {\n await collectPublicAssetPathsInner(publicDir, relativePath, paths);\n continue;\n }\n\n if (entry.isFile()) {\n paths.push(`/${relativePath}`);\n }\n }\n}\n\nfunction isNodeError(error: unknown): error is NodeJS.ErrnoException {\n return error instanceof Error && \"code\" in error;\n}\n\nasync function prerenderStaticRoutes(options: {\n appDir: string;\n assetBaseUrl?: string | undefined;\n clientRoutes: readonly ClientRouteManifestEntry[];\n project: ResolvedAppRouterProject;\n routes: readonly AppRoute[];\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<Record<string, BuiltPrerenderedRoute>> {\n const clientScripts = new Map(\n options.clientRoutes.flatMap((route) =>\n route.client && route.script !== undefined ? [[route.path, route.script]] : [],\n ),\n );\n const prerendered: Record<string, BuiltPrerenderedRoute> = {};\n const importPolicy = {\n allowedPackages: await readDeclaredProjectPackages(options.project.projectRoot),\n allowedSourceDirs: options.project.allowedSourceDirs,\n projectRoot: options.project.projectRoot,\n } satisfies AppRouterImportPolicy;\n const serverModuleMap = new Map(\n Object.entries(options.serverModules).map(([file, artifact]) => [\n join(options.project.projectRoot, file),\n artifact,\n ]),\n );\n\n for (const route of options.routes) {\n if (route.kind !== \"page\") {\n continue;\n }\n\n const source = await readFile(route.file, \"utf8\");\n\n if (!hasPrerenderExport(source)) {\n continue;\n }\n\n for (const pathname of await prerenderPathsForRoute(route, source, options.vitePlugins)) {\n const response = await renderAppRequest({\n appDir: options.appDir,\n assetBaseUrl: options.assetBaseUrl,\n clientScripts,\n importPolicy,\n request: new Request(`http://mreact.local${pathname}`),\n serverModules: serverModuleMap,\n vitePlugins: options.vitePlugins,\n });\n const headers: Record<string, string> = {};\n\n response.headers.forEach((value, key) => {\n headers[key] = value;\n });\n prerendered[pathname] = {\n headers,\n html: await response.text(),\n status: response.status,\n };\n }\n }\n\n return prerendered;\n}\n\nasync function prerenderPathsForRoute(\n route: AppRoute,\n source: string,\n vitePlugins: readonly PluginOption[] | undefined,\n): Promise<string[]> {\n if (route.segments.every((segment) => segment.kind === \"static\")) {\n return [route.path];\n }\n\n if (!hasGenerateStaticParamsExport(source)) {\n return [];\n }\n\n const module = await importAppRouterSourceModule<{\n generateStaticParams?: () => Iterable<StaticParams> | PromiseLike<Iterable<StaticParams>>;\n }>({\n code: source,\n label: `generate-static-params:${route.file}`,\n resolveDir: dirname(route.file),\n sourcefile: route.file,\n vitePlugins,\n });\n const params = await module.generateStaticParams?.();\n\n if (params === undefined) {\n return [];\n }\n\n return Array.from(params, (entry) => routePathFromParams(route, entry));\n}\n\nfunction routePathFromParams(route: AppRoute, params: StaticParams): string {\n const parts = route.segments.flatMap((segment) => {\n if (segment.kind === \"static\") {\n return [segment.value];\n }\n\n const value = params[segment.name];\n\n if (value === undefined) {\n throw new Error(`${route.file}: generateStaticParams() is missing \"${segment.name}\".`);\n }\n\n if (segment.kind === \"catch-all\") {\n const values = Array.isArray(value) ? value : String(value).split(\"/\");\n\n return values.map((part) => encodeURIComponent(String(part)));\n }\n\n return [encodeURIComponent(String(value))];\n });\n\n return `/${parts.join(\"/\")}`;\n}\n\nasync function buildServerModuleArtifacts(options: {\n clientRouteInferenceCache: ClientRouteInferenceCache;\n files: Record<string, string>;\n prebundleServerComponents: boolean;\n project: ResolvedAppRouterProject;\n projectRoot: string;\n routes: readonly AppRoute[];\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<Record<string, BuiltServerModuleArtifact>> {\n const routeByFile = new Map(\n options.routes.map((route) => [relative(options.projectRoot, route.file), route]),\n );\n const loaderArtifactFiles = new Set<string>();\n const metadataArtifactFiles = new Set<string>();\n const requestArtifactFiles = new Set<string>();\n const requestModuleImportPolicy = {\n allowedPackages: await readDeclaredProjectPackages(options.project.projectRoot),\n allowedSourceDirs: options.project.allowedSourceDirs,\n projectRoot: options.project.projectRoot,\n } satisfies AppRouterImportPolicy;\n const artifacts: Record<string, BuiltServerModuleArtifact> = {};\n\n for (const [file, source] of Object.entries(options.files)) {\n const absoluteFile = join(options.projectRoot, file);\n const route = routeByFile.get(file);\n\n if (isMiddlewareFile(options.project.routesDir, absoluteFile)) {\n requestArtifactFiles.add(file);\n }\n\n if (route?.kind === \"server\" || route?.kind === \"metadata\") {\n requestArtifactFiles.add(file);\n }\n\n if (route?.kind === \"page\" && hasLoaderExport(source)) {\n loaderArtifactFiles.add(file);\n }\n\n if (hasMetadataExport(source)) {\n metadataArtifactFiles.add(file);\n }\n }\n\n for (const [file, source] of Object.entries(options.files)) {\n const absoluteFile = join(options.projectRoot, file);\n const route = routeByFile.get(file);\n const artifact: BuiltServerModuleArtifact = {};\n\n if (\n requestArtifactFiles.has(file) ||\n loaderArtifactFiles.has(file) ||\n metadataArtifactFiles.has(file)\n ) {\n if (loaderArtifactFiles.has(file)) {\n const code = await bundleRouteLoaderModuleCode({\n appDir: options.project.routesDir,\n code: stripRouteLoaderOnlyExports(source),\n filename: absoluteFile,\n importPolicy: requestModuleImportPolicy,\n vitePlugins: options.vitePlugins,\n });\n artifact.loader = {\n code,\n sourceHash: hashText(source),\n };\n }\n\n if (metadataArtifactFiles.has(file)) {\n const code = await bundleRouteMetadataModuleCode({\n appDir: options.project.routesDir,\n code: stripRouteMetadataOnlyExports(source),\n filename: absoluteFile,\n importPolicy: requestModuleImportPolicy,\n vitePlugins: options.vitePlugins,\n });\n artifact.routeMetadata = {\n code,\n sourceHash: hashText(source),\n };\n }\n\n if (requestArtifactFiles.has(file)) {\n artifact.request = {\n code: await buildRequestModuleArtifactCode({\n appDir: options.project.routesDir,\n filename: absoluteFile,\n importPolicy: requestModuleImportPolicy,\n routeKind: route?.kind,\n source,\n vitePlugins: options.vitePlugins,\n }),\n sourceHash: hashText(source),\n };\n }\n }\n\n if (!isServerComponentFile(file)) {\n if (Object.keys(artifact).length > 0) {\n artifacts[file] = artifact;\n }\n continue;\n }\n\n const closureUsesAwait = shouldBuildRouteAsStream({\n filename: file,\n files: options.files,\n projectRoot: options.projectRoot,\n source,\n });\n const streamRoute = route !== undefined && closureUsesAwait;\n const serverOutputs =\n streamRoute || (route === undefined && closureUsesAwait)\n ? ([\"stream\", \"string\"] as const)\n : ([\"string\"] as const);\n const code = route === undefined ? source : stripRouteBuildExports(source);\n const clientInference = await inferClientRouteModule({\n ...(route === undefined ? {} : { appDir: options.project.routesDir }),\n cache: options.clientRouteInferenceCache,\n code: stripRouteClientOnlyExports(source),\n filename: join(options.projectRoot, file),\n ...(route === undefined ? {} : { routePath: route.path }),\n vitePlugins: options.vitePlugins,\n });\n const clientBoundaryImports = clientInference.clientBoundaryImports;\n\n for (const diagnostic of clientInference.diagnostics) {\n console.warn(formatClientRouteInferenceDiagnostic(diagnostic));\n }\n\n if (route?.kind === \"page\") {\n artifact.analysis = builtRouteSourceAnalysisSummary({\n clientBoundaryImports,\n clientRoute: clientInference.client,\n route,\n routeCode: code,\n source,\n streamRoute,\n });\n }\n\n for (const serverOutput of serverOutputs) {\n const output = transform({\n code,\n clientBoundaryImports,\n dev: false,\n filename: join(options.projectRoot, file),\n serverEscape: nativeEscapeTransform,\n serverOutput,\n target: \"server\",\n });\n const fatalDiagnostics = output.diagnostics.filter(\n (diagnostic) => diagnostic.code !== \"MR_UNSUPPORTED_SERVER_EVENT_HANDLER\",\n );\n\n if (fatalDiagnostics.length > 0) {\n if (\n serverOutput === \"string\" &&\n streamRoute &&\n route?.kind === \"page\" &&\n fatalDiagnostics.every(\n (diagnostic) => diagnostic.code === \"MR_UNSUPPORTED_AWAIT_INNER_COMPONENT\",\n )\n ) {\n continue;\n }\n\n throw new Error(\n fatalDiagnostics.map((diagnostic) => formatDiagnostic(file, diagnostic)).join(\"\\n\"),\n );\n }\n\n artifact[serverOutput] = {\n ...(options.prebundleServerComponents\n ? {\n bundleCode: await buildServerComponentBundleArtifactCode({\n clientRouteInferenceCache: options.clientRouteInferenceCache,\n code: output.code,\n filename: absoluteFile,\n serverOutput,\n vitePlugins: options.vitePlugins,\n }),\n }\n : {}),\n code: output.code,\n metadata: output.metadata,\n sourceHash: hashText(code),\n };\n }\n\n artifacts[file] = artifact;\n }\n\n return artifacts;\n}\n\nasync function buildServerComponentBundleArtifactCode(options: {\n clientRouteInferenceCache: ClientRouteInferenceCache;\n code: string;\n filename: string;\n serverOutput: ServerOutputMode;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n return await bundleAppRouterSourceModule({\n code: options.code,\n label: `server-component:${options.filename}`,\n resolveDir: dirname(options.filename),\n serverSourceTransform: {\n clientRouteInferenceCache: options.clientRouteInferenceCache,\n dev: false,\n serverOutput: options.serverOutput,\n vitePlugins: options.vitePlugins,\n },\n sourcefile: options.filename,\n vitePlugins: options.vitePlugins,\n });\n}\n\nfunction builtRouteSourceAnalysisSummary(options: {\n clientBoundaryImports: readonly string[];\n clientRoute: boolean;\n route: AppRoute;\n routeCode: string;\n source: string;\n streamRoute: boolean;\n}): BuiltRouteSourceAnalysisSummary {\n const cachePolicy = routeCachePolicyFromSource(options.source);\n\n return {\n authIncludesClaims: authIncludesClaims(options.source),\n ...(cachePolicy === undefined ? {} : { cachePolicy }),\n clientBoundaryImports: options.clientBoundaryImports,\n clientRoute: options.clientRoute,\n hasLoader: hasLoaderExport(options.source),\n routeCode: options.routeCode,\n routePath: options.route.path,\n sourceHash: hashText(options.source),\n streamRoute: options.streamRoute,\n usesRuntimeCacheControl: usesRuntimeCacheControl(options.source),\n };\n}\n\nfunction shouldBuildRouteAsStream(options: {\n filename: string;\n files: Record<string, string>;\n projectRoot: string;\n source: string;\n}): boolean {\n return (\n isStreamRouteSource(options.source) ||\n routeClosureMayUseAwaitBoundary({\n filename: options.filename,\n files: options.files,\n projectRoot: options.projectRoot,\n source: options.source,\n })\n );\n}\n\nfunction resolveBuildLocalSourceImport(\n files: Record<string, string>,\n importer: string,\n specifier: string,\n): string | undefined {\n if (!specifier.startsWith(\".\")) {\n return undefined;\n }\n\n const base = join(dirname(importer), specifier);\n\n for (const candidate of sourceModuleCandidates(base)) {\n if (files[candidate] !== undefined) {\n return candidate;\n }\n }\n\n return undefined;\n}\n\nfunction usesRuntimeCacheControl(code: string): boolean {\n return /\\bcacheControl\\s*\\(/.test(code);\n}\n\nfunction authIncludesClaims(code: string): boolean {\n return /\\bexport\\s+const\\s+auth\\s*=\\s*[\"']include-claims[\"']\\s*;?/.test(code);\n}\n\nasync function buildRequestModuleArtifactCode(options: {\n appDir: string;\n filename: string;\n importPolicy: AppRouterImportPolicy;\n routeKind?: AppRoute[\"kind\"] | undefined;\n source: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n if (isMiddlewareFile(options.appDir, options.filename)) {\n return await bundleMiddlewareModuleCode({\n appDir: options.appDir,\n code: options.source,\n file: options.filename,\n importPolicy: options.importPolicy,\n vitePlugins: options.vitePlugins,\n });\n }\n\n if (options.routeKind === \"server\" || options.routeKind === \"metadata\") {\n return await bundleAppRouterSourceModule({\n code: options.source,\n label: `server-route:${options.filename}`,\n resolveDir: dirname(options.filename),\n sourcefile: options.filename,\n vitePlugins: options.vitePlugins,\n });\n }\n\n return await bundleRouteLoaderModuleCode({\n appDir: options.appDir,\n code: stripRouteRequestOnlyExports(options.source),\n filename: options.filename,\n importPolicy: options.importPolicy,\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function bundleRouteLoaderModuleCode(options: {\n appDir: string;\n code: string;\n filename: string;\n importPolicy?: AppRouterImportPolicy | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n return await bundleRouteRequestModuleCode({\n ...options,\n label: \"Loader\",\n });\n}\n\nasync function bundleRouteMetadataModuleCode(options: {\n appDir: string;\n code: string;\n filename: string;\n importPolicy?: AppRouterImportPolicy | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n return await bundleRouteRequestModuleCode({\n ...options,\n label: \"Metadata\",\n });\n}\n\nasync function bundleRouteRequestModuleCode(options: {\n appDir: string;\n code: string;\n filename: string;\n importPolicy?: AppRouterImportPolicy | undefined;\n label: \"Loader\" | \"Metadata\";\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const output = await bundleRouterModule({\n code: options.code,\n filename: options.filename,\n platform: \"node\",\n vitePlugins: options.vitePlugins,\n plugins: [\n createAppRouterImportPolicyPlugin({\n appDir: options.appDir,\n importPolicy: options.importPolicy,\n label: options.label,\n }),\n ],\n });\n const code = output.code;\n\n if (code === undefined) {\n throw new Error(`Failed to compile ${options.label.toLowerCase()} for ${options.filename}.`);\n }\n\n return code;\n}\n\nfunction isMiddlewareFile(appDir: string, file: string): boolean {\n return file === join(appDir, \"middleware.ts\") || file === join(appDir, \"middleware.mreact.ts\");\n}\n\nfunction hasMetadataExport(code: string): boolean {\n return /\\bexport\\s+const\\s+metadata\\s*=/.test(code) ||\n /\\bexport\\s+(?:async\\s+)?function\\s+generateMetadata\\b/.test(code) ||\n /\\bexport\\s*\\{[^}]*\\bgenerateMetadata\\b[^}]*\\}/.test(code);\n}\n\nasync function readDeclaredProjectPackages(projectRoot: string): Promise<string[]> {\n try {\n const json = JSON.parse(await readFile(join(projectRoot, \"package.json\"), \"utf8\")) as {\n dependencies?: Record<string, unknown> | undefined;\n devDependencies?: Record<string, unknown> | undefined;\n optionalDependencies?: Record<string, unknown> | undefined;\n peerDependencies?: Record<string, unknown> | undefined;\n };\n\n return [\n ...Object.keys(json.dependencies ?? {}),\n ...Object.keys(json.devDependencies ?? {}),\n ...Object.keys(json.optionalDependencies ?? {}),\n ...Object.keys(json.peerDependencies ?? {}),\n ];\n } catch {\n return [];\n }\n}\n\ninterface CloudflareRouteModulesOutput {\n registryFile: string;\n}\n\nasync function writeCloudflareRouteModules(options: {\n cloudflareDir: string;\n files: Record<string, string>;\n prerenderedRoutes: Record<string, BuiltPrerenderedRoute>;\n projectRoot: string;\n routesDir: string;\n routes: readonly AppRoute[];\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<CloudflareRouteModulesOutput> {\n const routesDir = join(options.cloudflareDir, \"routes\");\n const requiredRoutes = options.routes.filter((route) =>\n cloudflareRouteRequiresGeneratedModule(route, options.prerenderedRoutes),\n );\n const registryEntries: string[] = [];\n\n await mkdir(routesDir, { recursive: true });\n\n for (const route of requiredRoutes) {\n const routeFile = relative(options.projectRoot, route.file).replaceAll(sep, \"/\");\n const source = await readFile(route.file, \"utf8\");\n const routeId = routeIdForPath(route.path);\n const routeModuleFile = `routes/${routeId}.mjs`;\n let routeModuleExports: string[];\n\n if (route.kind === \"server\" || route.kind === \"metadata\") {\n try {\n const routeOutput = await buildCloudflareServerRouteModule({\n filename: route.file,\n vitePlugins: options.vitePlugins,\n });\n const serverRouteFile = `routes/${routeId}.${hashText(routeOutput).slice(0, 8)}.server.mjs`;\n\n await writeFile(join(options.cloudflareDir, serverRouteFile), routeOutput);\n const serverRouteImport = `./${serverRouteFile.split(\"/\").pop() ?? serverRouteFile}`;\n routeModuleExports = [\n `export * from ${JSON.stringify(serverRouteImport)};`,\n ...(route.kind === \"metadata\"\n ? [`export { default } from ${JSON.stringify(serverRouteImport)};`]\n : []),\n ];\n } catch (error) {\n throw new Error(\n `Failed to build Cloudflare ${route.kind} route module for ${routeFile}: ${errorMessage(error)}`,\n );\n }\n\n await writeFile(join(options.cloudflareDir, routeModuleFile), `${routeModuleExports.join(\"\\n\")}\\n`);\n registryEntries.push(\n `${JSON.stringify(routeFile)}: () => import(${JSON.stringify(`./${routeModuleFile}`)})`,\n );\n continue;\n }\n\n const serverOutput =\n options.serverModules[routeFile]?.analysis?.streamRoute === true ||\n shouldBuildRouteAsStream({\n filename: routeFile,\n files: options.files,\n projectRoot: options.projectRoot,\n source,\n })\n ? \"stream\"\n : \"string\";\n\n try {\n const componentOutput =\n serverOutput === \"stream\"\n ? await buildCloudflareStreamRouteComponentModule({\n filename: route.file,\n projectRoot: options.projectRoot,\n routesDir: options.routesDir,\n serverModules: options.serverModules,\n vitePlugins: options.vitePlugins,\n })\n : await buildCloudflareStringRouteComponentModule({\n filename: route.file,\n projectRoot: options.projectRoot,\n routesDir: options.routesDir,\n serverModules: options.serverModules,\n vitePlugins: options.vitePlugins,\n });\n const componentFile = `routes/${routeId}.${hashText(componentOutput).slice(0, 8)}.component.mjs`;\n\n await writeFile(join(options.cloudflareDir, componentFile), componentOutput);\n\n const componentImport = `./${componentFile.split(\"/\").pop() ?? componentFile}`;\n routeModuleExports = [\n `export { default, App, slots } from ${JSON.stringify(componentImport)};`,\n ];\n } catch (error) {\n throw new Error(\n `Failed to build Cloudflare route module for ${routeFile}: ${errorMessage(error)}`,\n );\n }\n\n if (hasLoaderExport(source)) {\n try {\n const loaderOutput = await buildCloudflareRouteLoaderModule({\n filename: route.file,\n projectRoot: options.projectRoot,\n vitePlugins: options.vitePlugins,\n });\n const loaderFile = `routes/${routeId}.${hashText(loaderOutput).slice(0, 8)}.loader.mjs`;\n\n await writeFile(join(options.cloudflareDir, loaderFile), loaderOutput);\n const loaderImport = `./${loaderFile.split(\"/\").pop() ?? loaderFile}`;\n routeModuleExports.push(`export { loader } from ${JSON.stringify(loaderImport)};`);\n } catch (error) {\n throw new Error(\n `Failed to build Cloudflare loader module for ${routeFile}: ${errorMessage(error)}`,\n );\n }\n }\n\n await writeFile(join(options.cloudflareDir, routeModuleFile), `${routeModuleExports.join(\"\\n\")}\\n`);\n registryEntries.push(\n `${JSON.stringify(routeFile)}: () => import(${JSON.stringify(`./${routeModuleFile}`)})`,\n );\n }\n\n const registrySource = [\n `export const routeModules = {`,\n ...registryEntries.map((entry) => ` ${entry},`),\n `};`,\n `export default routeModules;`,\n ``,\n ].join(\"\\n\");\n\n await writeFile(join(options.cloudflareDir, \"route-modules.mjs\"), registrySource);\n\n return { registryFile: \"route-modules.mjs\" };\n}\n\ninterface CloudflareShellFile {\n file: string;\n id: string;\n kind: \"layout\" | \"template\";\n}\n\nasync function buildCloudflareServerComponentModule(options: {\n filename: string;\n projectRoot: string;\n serverOutput: ServerOutputMode;\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const metadataModule = await buildCloudflareRouteMetadataExportModule({\n filename: options.filename,\n vitePlugins: options.vitePlugins,\n });\n const entry = `import * as routeModule from ${JSON.stringify(options.filename)};\n${metadataModule === undefined ? \"const metadataModule = {};\" : 'import * as metadataModule from \"mreact:metadata\";'}\n\nconst component = routeModule.default ?? routeModule.App ?? Object.values(routeModule).find((value) => typeof value === \"function\");\nexport const App = component;\nexport default component;\nexport const generateMetadata = metadataModule.generateMetadata;\nexport const metadata = metadataModule.metadata;\nexport const slots = routeModule.slots;`;\n\n return bundleCloudflareVirtualModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-component.js`,\n modules: metadataModule === undefined\n ? new Map()\n : new Map([[\"mreact:metadata\", metadataModule]]),\n plugins: [\n cloudflareServerSourceTransformPlugin({\n projectRoot: options.projectRoot,\n serverOutput: options.serverOutput,\n serverModules: options.serverModules,\n vitePlugins: options.vitePlugins,\n }),\n cloudflareWorkspaceRuntimePlugin(),\n ],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function buildCloudflareStringRouteComponentModule(options: {\n filename: string;\n projectRoot: string;\n routesDir: string;\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const shellFiles = await cloudflareShellFilesForPage(options.routesDir, options.filename);\n\n if (shellFiles.length === 0) {\n return buildCloudflareServerComponentModule({\n filename: options.filename,\n projectRoot: options.projectRoot,\n serverModules: options.serverModules,\n serverOutput: \"string\",\n vitePlugins: options.vitePlugins,\n });\n }\n\n const pageModule = await buildCloudflareComponentExportModule({\n filename: options.filename,\n projectRoot: options.projectRoot,\n serverModules: options.serverModules,\n serverOutput: \"string\",\n vitePlugins: options.vitePlugins,\n });\n const shellModules = await Promise.all(\n shellFiles.map((shell) =>\n buildCloudflareComponentExportModule({\n filename: shell.file,\n projectRoot: options.projectRoot,\n serverModules: options.serverModules,\n serverOutput: \"string\",\n vitePlugins: options.vitePlugins,\n }),\n ),\n );\n const shellImports = shellFiles.map((_, index) => `import * as shell${index} from \"mreact:shell-${index}\";`);\n const shellDefinitions = shellFiles.map(\n (shell, index) =>\n `{ component: selectComponent(shell${index}, ${JSON.stringify(shell.file)}), id: ${JSON.stringify(shell.id)}, kind: ${JSON.stringify(shell.kind)}, module: shell${index} }`,\n );\n const entry = `import * as pageModule from \"mreact:page\";\n${shellImports.join(\"\\n\")}\n\nconst pageComponent = selectComponent(pageModule, ${JSON.stringify(options.filename)});\nconst shells = [${shellDefinitions.join(\", \")}];\nexport const slots = pageModule.slots;\nexport const App = renderCloudflareStringRoute;\nexport default renderCloudflareStringRoute;\n\nasync function renderCloudflareStringRoute(props) {\n const slotHtml = await renderRouteSlots(pageModule.slots, props);\n const layoutShells = await renderLayoutShells(shells, props, slotHtml);\n const metadata = await resolveRouteMetadata([...shells.map((shell) => shell.module), pageModule], props);\n let html = \"<!DOCTYPE html>\";\n for (const shell of layoutShells) {\n html += shell.prefix;\n }\n html += String(await pageComponent(props) ?? \"\");\n for (const shell of [...layoutShells].reverse()) {\n html += shell.suffix;\n }\n html = injectCloudflareHead(html, metadata, cloudflareRouteHeadTags(props.clientManifest, props.route.path));\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html; charset=utf-8\"\n }\n });\n}\n\nfunction selectComponent(module, label) {\n const component = module.default ?? module.App ?? Object.values(module).find((value) => typeof value === \"function\");\n if (typeof component !== \"function\") {\n throw new Error(\\`No Cloudflare component export was found for \\${label}.\\`);\n }\n return component;\n}\n\nasync function renderRouteSlots(slots, props) {\n if (slots === undefined) {\n return {};\n }\n const rendered = {};\n for (const [name, value] of Object.entries(slots)) {\n rendered[name] = typeof value === \"function\" ? String(await value(props) ?? \"\") : String(value ?? \"\");\n }\n return rendered;\n}\n\n${cloudflareShellRuntimeSource()}`;\n\n return bundleCloudflareVirtualModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-string-route.js`,\n modules: new Map([\n [\"mreact:page\", pageModule],\n ...shellModules.map((source, index) => [`mreact:shell-${index}`, source] as const),\n ]),\n plugins: [cloudflareWorkspaceRuntimePlugin()],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function buildCloudflareStreamRouteComponentModule(options: {\n filename: string;\n projectRoot: string;\n routesDir: string;\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const pageModule = await buildCloudflareComponentExportModule({\n filename: options.filename,\n projectRoot: options.projectRoot,\n serverModules: options.serverModules,\n serverOutput: \"stream\",\n vitePlugins: options.vitePlugins,\n });\n const shellFiles = await cloudflareShellFilesForPage(options.routesDir, options.filename);\n const shellModules = await Promise.all(\n shellFiles.map((shell) =>\n buildCloudflareComponentExportModule({\n filename: shell.file,\n projectRoot: options.projectRoot,\n serverModules: options.serverModules,\n serverOutput: \"string\",\n vitePlugins: options.vitePlugins,\n }),\n ),\n );\n const shellImports = shellFiles.map((_, index) => `import * as shell${index} from \"mreact:shell-${index}\";`);\n const shellDefinitions = shellFiles.map(\n (shell, index) =>\n `{ component: selectComponent(shell${index}, ${JSON.stringify(shell.file)}), id: ${JSON.stringify(shell.id)}, kind: ${JSON.stringify(shell.kind)}, module: shell${index} }`,\n );\n const entry = `import { createStringSink, renderOutOfOrderReorderScript, renderToReadableStream } from \"@reckona/mreact-server\";\nimport * as pageModule from \"mreact:page\";\n${shellImports.join(\"\\n\")}\n\nconst pageComponent = selectComponent(pageModule, ${JSON.stringify(options.filename)});\nconst shells = [${shellDefinitions.join(\", \")}];\nexport const slots = pageModule.slots;\nexport const App = renderCloudflareStreamRoute;\nexport default renderCloudflareStreamRoute;\n\nfunction renderCloudflareStreamRoute(props) {\n const body = renderToReadableStream(async ($sink) => {\n const slotHtml = await renderRouteSlots(pageModule.slots, props);\n const layoutShells = await renderLayoutShells(shells, props, slotHtml);\n const metadata = await resolveRouteMetadata([...shells.map((shell) => shell.module), pageModule], props);\n const routeHeadTags = cloudflareRouteHeadTags(props.clientManifest, props.route.path);\n $sink.append(\"<!DOCTYPE html>\");\n if (layoutShells.length === 0) {\n $sink.append(injectCloudflareHead(\"\", metadata, routeHeadTags));\n }\n for (let index = 0; index < layoutShells.length; index += 1) {\n const shell = layoutShells[index];\n $sink.append(index === 0 ? injectCloudflareHead(shell.prefix, metadata, routeHeadTags) : shell.prefix);\n }\n await pageComponent($sink, props);\n renderOutOfOrderReorderScript($sink);\n for (const shell of [...layoutShells].reverse()) {\n $sink.append(shell.suffix);\n }\n });\n return new Response(body, {\n headers: {\n \"content-type\": \"text/html; charset=utf-8\",\n \"x-mreact-stream\": \"1\"\n }\n });\n}\n\nfunction selectComponent(module, label) {\n const component = module.default ?? module.App ?? Object.values(module).find((value) => typeof value === \"function\");\n if (typeof component !== \"function\") {\n throw new Error(\\`No Cloudflare component export was found for \\${label}.\\`);\n }\n return component;\n}\n\nasync function renderRouteSlots(slots, props) {\n if (slots === undefined) {\n return {};\n }\n const rendered = {};\n for (const [name, value] of Object.entries(slots)) {\n if (typeof value !== \"function\") {\n rendered[name] = String(value ?? \"\");\n continue;\n }\n const sink = createStringSink();\n await value(sink, props);\n await sink.drain();\n rendered[name] = sink.toString();\n }\n return rendered;\n}\n\n${cloudflareShellRuntimeSource()}`;\n\n return bundleCloudflareVirtualModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-stream-route.js`,\n modules: new Map([\n [\"mreact:page\", pageModule],\n ...shellModules.map((source, index) => [`mreact:shell-${index}`, source] as const),\n ]),\n plugins: [cloudflareWorkspaceRuntimePlugin()],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nfunction cloudflareShellRuntimeSource(): string {\n return `async function renderLayoutShells(shells, props, namedSlots) {\n const slotContext = { consumedSlots: new Set(), namedSlots };\n const rendered = [];\n for (const shell of shells) {\n const html = await shell.component(props);\n rendered.push(splitLayoutSlot(markShellBoundary(String(html ?? \"\"), shell), slotContext));\n }\n return rendered;\n}\n\nfunction splitLayoutSlot(layoutHtml, slotContext) {\n const html = replaceNamedLayoutSlots(layoutHtml, slotContext);\n const match = findDefaultLayoutSlot(html);\n if (match === null) {\n return { prefix: html, suffix: \"\" };\n }\n return {\n prefix: html.slice(0, match.index),\n suffix: html.slice(match.index + match[0].length),\n };\n}\n\nfunction markShellBoundary(html, shell) {\n const attributeName = shell.kind === \"layout\" ? \"data-mreact-layout-boundary\" : \"data-mreact-template-boundary\";\n if (html.includes(\\`\\${attributeName}=\\`)) {\n return html;\n }\n return html.replace(/<([A-Za-z][^\\\\s/>]*)([^>]*)>/, \\`<$1$2 \\${attributeName}=\"\\${escapeHtmlAttribute(shell.id)}\">\\`);\n}\n\nconst SLOT_TAG_PATTERN = /<slot\\\\b([^>]*)>(?:<\\\\/slot\\\\s*>)?/g;\n\nfunction replaceNamedLayoutSlots(layoutHtml, slotContext) {\n return layoutHtml.replace(SLOT_TAG_PATTERN, (source, openAttributes) => {\n const name = readSlotName(openAttributes);\n if (name === undefined || name === \"default\") {\n return source;\n }\n if (Object.hasOwn(slotContext.namedSlots, name)) {\n slotContext.consumedSlots.add(name);\n return slotContext.namedSlots[name] ?? \"\";\n }\n return \"\";\n });\n}\n\nfunction findDefaultLayoutSlot(html) {\n SLOT_TAG_PATTERN.lastIndex = 0;\n for (;;) {\n const match = SLOT_TAG_PATTERN.exec(html);\n if (match === null) {\n return null;\n }\n const name = readSlotName(match[1] ?? \"\");\n if (name === undefined || name === \"default\") {\n return match;\n }\n }\n}\n\nfunction readSlotName(attributes) {\n const match = /\\\\bname\\\\s*=\\\\s*(?:\"([^\"]*)\"|'([^']*)')/.exec(attributes);\n return match?.[1] ?? match?.[2];\n}\n\nasync function resolveRouteMetadata(modules, props) {\n const metadata = [];\n const context = {\n data: props.data,\n params: props.params,\n request: props.request\n };\n for (const module of modules) {\n let next = module.metadata;\n if (typeof module.generateMetadata === \"function\") {\n const generated = await module.generateMetadata(context);\n next = mergeRouteMetadata([next, generated].filter(Boolean));\n }\n if (next !== undefined) {\n metadata.push(next);\n }\n }\n return mergeRouteMetadata(metadata);\n}\n\nfunction mergeRouteMetadata(metadata) {\n if (metadata.length === 0) {\n return undefined;\n }\n return metadata.reduce((merged, next) => ({\n ...merged,\n ...next,\n alternates: mergeObject(merged.alternates, next.alternates),\n csp: mergeObject(merged.csp, next.csp),\n head: mergeArrays(merged.head, next.head),\n icons: mergeObject(merged.icons, next.icons),\n openGraph: {\n ...mergeObject(merged.openGraph, next.openGraph),\n images: mergeArrays(merged.openGraph?.images, next.openGraph?.images),\n },\n }), {});\n}\n\nfunction mergeObject(left, right) {\n if (left === undefined) {\n return right;\n }\n if (right === undefined) {\n return left;\n }\n return { ...left, ...right };\n}\n\nfunction mergeArrays(left, right) {\n if (left === undefined || left.length === 0) {\n return right;\n }\n if (right === undefined || right.length === 0) {\n return left;\n }\n return [...left, ...right];\n}\n\nfunction injectCloudflareHead(html, metadata, routeHeadTags) {\n const metadataTags = routeMetadataHeadTags(metadata);\n const tags = routeHeadTags + metadataTags;\n let nextHtml = metadata?.lang === undefined ? html : injectHtmlLangAttribute(html, metadataString(metadata.lang));\n\n if (metadata?.title !== undefined) {\n nextHtml = nextHtml.replace(/<title\\\\b[^>]*>[\\\\s\\\\S]*?<\\\\/title\\\\s*>/i, \"\");\n }\n\n if (tags === \"\") {\n return nextHtml;\n }\n if (/<head(?:\\\\s[^>]*)?>/i.test(nextHtml)) {\n return nextHtml.replace(/<head(\\\\s[^>]*)?>/i, (match) => \\`\\${match}\\${tags}\\`);\n }\n if (/<html(?:\\\\s[^>]*)?>/i.test(nextHtml)) {\n return nextHtml.replace(/<html(\\\\s[^>]*)?>/i, (match) => \\`\\${match}<head>\\${tags}</head>\\`);\n }\n return \\`<head>\\${tags}</head>\\${nextHtml}\\`;\n}\n\nfunction routeMetadataHeadTags(metadata) {\n if (metadata === undefined) {\n return \"\";\n }\n const tags = [\n metadata.title === undefined ? undefined : \\`<title>\\${escapeHtml(metadataString(metadata.title))}</title>\\`,\n metadata.description === undefined ? undefined : \\`<meta name=\"description\" content=\"\\${escapeHtmlAttribute(metadataString(metadata.description))}\">\\`,\n metadata.alternates?.canonical === undefined ? undefined : \\`<link rel=\"canonical\" href=\"\\${escapeHtmlAttribute(metadataString(metadata.alternates.canonical))}\">\\`,\n metadata.openGraph?.title === undefined ? undefined : \\`<meta property=\"og:title\" content=\"\\${escapeHtmlAttribute(metadataString(metadata.openGraph.title))}\">\\`,\n metadata.openGraph?.description === undefined ? undefined : \\`<meta property=\"og:description\" content=\"\\${escapeHtmlAttribute(metadataString(metadata.openGraph.description))}\">\\`,\n ...openGraphImages(metadata.openGraph).map((image) => \\`<meta property=\"og:image\" content=\"\\${escapeHtmlAttribute(image)}\">\\`),\n metadata.icons?.icon === undefined ? undefined : \\`<link rel=\"icon\" href=\"\\${escapeHtmlAttribute(metadataString(metadata.icons.icon))}\">\\`,\n metadata.icons?.apple === undefined ? undefined : \\`<link rel=\"apple-touch-icon\" href=\"\\${escapeHtmlAttribute(metadataString(metadata.icons.apple))}\">\\`,\n ...headDescriptorTags(metadata.head, metadata.csp?.nonce),\n ];\n return tags.filter((tag) => tag !== undefined).join(\"\");\n}\n\nfunction openGraphImages(openGraph) {\n if (openGraph?.images !== undefined && openGraph.images.length > 0) {\n return openGraph.images.map(metadataImageUrl);\n }\n return openGraph?.image === undefined ? [] : [metadataImageUrl(openGraph.image)];\n}\n\nfunction headDescriptorTags(descriptors, nonce) {\n return (descriptors ?? []).flatMap((descriptor) => {\n const descriptorNonce = descriptor.nonce === true ? nonce : descriptor.nonce || undefined;\n const attrs = {\n ...descriptor.attrs,\n ...(descriptorNonce === undefined ? {} : { nonce: descriptorNonce }),\n };\n const attrText = Object.entries(attrs)\n .flatMap(([name, value]) => {\n if (value === undefined || value === false) {\n return [];\n }\n return value === true\n ? [escapeHtmlAttribute(name)]\n : [\\`\\${escapeHtmlAttribute(name)}=\"\\${escapeHtmlAttribute(String(value))}\"\\`];\n })\n .join(\" \");\n const open = attrText === \"\" ? \\`<\\${descriptor.tag}>\\` : \\`<\\${descriptor.tag} \\${attrText}>\\`;\n if (descriptor.tag === \"meta\" || descriptor.tag === \"link\" || descriptor.tag === \"base\") {\n return [open.slice(0, -1) + \">\"];\n }\n return [\\`\\${open}\\${String(descriptor.content ?? \"\").replaceAll(\"<\", \"\\\\\\\\u003c\")}</\\${descriptor.tag}>\\`];\n });\n}\n\nfunction injectHtmlLangAttribute(html, lang) {\n const escapedLang = escapeHtmlAttribute(lang);\n if (!/<html(?:\\\\s[^>]*)?>/i.test(html)) {\n return html;\n }\n return html.replace(/<html(\\\\s[^>]*)?>/i, (_match, attrs = \"\") => {\n const strippedAttrs = String(attrs).replace(/\\\\s+lang=(?:\"[^\"]*\"|'[^']*'|[^\\\\s>]+)/i, \"\");\n return \\`<html lang=\"\\${escapedLang}\"\\${strippedAttrs}>\\`;\n });\n}\n\nfunction metadataString(value) {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n return String(value);\n }\n throw new Error(\"Invalid metadata field: expected string, number, or boolean.\");\n}\n\nfunction metadataImageUrl(value) {\n if (typeof value === \"object\" && value !== null && \"url\" in value) {\n return metadataString(value.url);\n }\n return metadataString(value);\n}\n\nfunction cloudflareRouteHeadTags(manifest, routePath) {\n const route = manifest.routes.find((route) => route.path === routePath);\n const css = route?.css ?? [];\n const styles = css\n .map((styleSheet) => \\`<link rel=\"stylesheet\" href=\"/_mreact/client/\\${escapeHtmlAttribute(styleSheet)}\">\\`)\n .join(\"\");\n const script = route?.script;\n const preload = script === undefined\n ? \"\"\n : \\`<link rel=\"modulepreload\" href=\"/_mreact/client/\\${escapeHtmlAttribute(script)}\">\\`;\n return styles + preload;\n}\n\nfunction escapeHtmlAttribute(value) {\n return String(value ?? \"\")\n .replaceAll(\"&\", \"&\")\n .replaceAll('\"', \""\")\n .replaceAll(\"<\", \"<\");\n}\n\nfunction escapeHtml(value) {\n return String(value ?? \"\")\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\");\n}`;\n}\n\nasync function buildCloudflareComponentExportModule(options: {\n filename: string;\n projectRoot: string;\n serverModules: Record<string, BuiltServerModuleArtifact>;\n serverOutput: ServerOutputMode;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const metadataModule = await buildCloudflareRouteMetadataExportModule({\n filename: options.filename,\n vitePlugins: options.vitePlugins,\n });\n const entry = `import * as routeModule from ${JSON.stringify(options.filename)};\n${metadataModule === undefined ? \"const metadataModule = {};\" : 'import * as metadataModule from \"mreact:metadata\";'}\n\nconst component = routeModule.default ?? routeModule.App ?? Object.values(routeModule).find((value) => typeof value === \"function\");\nexport const App = component;\nexport default component;\nexport const generateMetadata = metadataModule.generateMetadata;\nexport const metadata = metadataModule.metadata;\nexport const slots = routeModule.slots;`;\n\n return bundleCloudflareVirtualModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-${options.serverOutput}-component.js`,\n modules: metadataModule === undefined\n ? new Map()\n : new Map([[\"mreact:metadata\", metadataModule]]),\n plugins: [\n cloudflareServerSourceTransformPlugin({\n projectRoot: options.projectRoot,\n serverOutput: options.serverOutput,\n serverModules: options.serverModules,\n vitePlugins: options.vitePlugins,\n }),\n cloudflareWorkspaceRuntimePlugin(),\n ],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function buildCloudflareRouteLoaderModule(options: {\n filename: string;\n projectRoot: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const entry = `export { loader } from ${JSON.stringify(options.filename)};`;\n\n return bundleCloudflareModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-loader.js`,\n plugins: [cloudflareWorkspaceRuntimePlugin()],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function buildCloudflareRouteMetadataExportModule(options: {\n filename: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string | undefined> {\n const source = await readFile(options.filename, \"utf8\");\n\n if (!hasMetadataExport(source)) {\n return undefined;\n }\n\n const entry = `import * as routeMetadataModule from ${JSON.stringify(options.filename)};\nexport const generateMetadata = routeMetadataModule.generateMetadata;\nexport const metadata = routeMetadataModule.metadata;`;\n\n return bundleCloudflareModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-metadata.js`,\n plugins: [cloudflareWorkspaceRuntimePlugin()],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function buildCloudflareServerRouteModule(options: {\n filename: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const entry = `import * as routeModule from ${JSON.stringify(options.filename)};\n\nexport const GET = routeModule.GET;\nexport const HEAD = routeModule.HEAD;\nexport const POST = routeModule.POST;\nexport const PUT = routeModule.PUT;\nexport const PATCH = routeModule.PATCH;\nexport const DELETE = routeModule.DELETE;\nexport const OPTIONS = routeModule.OPTIONS;\nexport const ALL = routeModule.ALL;\nconst defaultHandler = routeModule.default;\nexport default defaultHandler;`;\n\n return bundleCloudflareModule({\n entry,\n filename: `${options.filename}.mreact-cloudflare-server-route.js`,\n plugins: [cloudflareWorkspaceRuntimePlugin()],\n resolveDir: dirname(options.filename),\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function bundleCloudflareModule(options: {\n entry: string;\n filename: string;\n plugins: RouterCompatPlugin[];\n resolveDir: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const output = await bundleRouterModule({\n code: options.entry,\n filename: options.filename,\n minify: true,\n platform: \"browser\",\n preserveExports: true,\n plugins: options.plugins,\n target: \"es2022\",\n vitePlugins: options.vitePlugins,\n });\n const code = output.code;\n\n if (code === undefined) {\n throw new Error(`Failed to build Cloudflare route module for ${options.filename}.`);\n }\n\n return code;\n}\n\nasync function bundleCloudflareVirtualModule(options: {\n entry: string;\n filename: string;\n modules: ReadonlyMap<string, string>;\n plugins: RouterCompatPlugin[];\n resolveDir: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n return bundleCloudflareModule({\n entry: options.entry,\n filename: options.filename,\n plugins: [\n {\n name: \"mreact-cloudflare-virtual-modules\",\n setup(buildApi) {\n buildApi.onResolve({ filter: /^mreact:/ }, (args) => ({\n namespace: \"mreact-cloudflare-virtual\",\n path: args.path,\n }));\n buildApi.onLoad({ filter: /.*/, namespace: \"mreact-cloudflare-virtual\" }, (args) => {\n const contents = options.modules.get(args.path);\n\n if (contents === undefined) {\n throw new Error(`Missing virtual Cloudflare module ${args.path}.`);\n }\n\n return {\n contents,\n loader: \"js\",\n resolveDir: options.resolveDir,\n };\n });\n },\n },\n ...options.plugins,\n ],\n resolveDir: options.resolveDir,\n vitePlugins: options.vitePlugins,\n });\n}\n\nasync function cloudflareShellFilesForPage(\n routesDir: string,\n pageFile: string,\n): Promise<CloudflareShellFile[]> {\n const shells = await existingRouteShellCandidates(routesDir, pageFile, async (file) => {\n try {\n return (await stat(file)).isFile();\n } catch {\n return false;\n }\n });\n\n return shells.map((shell) => ({\n file: shell.file,\n id: cloudflareShellBoundaryId(routesDir, shell.directory),\n kind: shell.kind,\n }));\n}\n\nfunction cloudflareShellBoundaryId(routesDir: string, directory: string): string {\n const relativeDirectory = relative(routesDir, directory);\n\n return relativeDirectory === \"\"\n ? \"root\"\n : relativeDirectory.replaceAll(sep, \"/\").replace(/[^A-Za-z0-9_$/-]/g, \"_\");\n}\n\nfunction cloudflareServerSourceTransformPlugin(options: {\n projectRoot: string;\n serverOutput: ServerOutputMode;\n serverModules: Record<string, BuiltServerModuleArtifact>;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): RouterCompatPlugin {\n const clientRouteInferenceCache = createClientRouteInferenceCache();\n\n return {\n name: \"mreact-cloudflare-server-source-transform\",\n setup(buildApi) {\n buildApi.onLoad({ filter: /(?:\\.mreact)?\\.[cm]?[jt]sx$/ }, async (args) => {\n if (args.path.includes(`${sep}node_modules${sep}`)) {\n return undefined;\n }\n\n const source = await readFile(args.path, \"utf8\");\n const serverSource = isServerComponentFile(args.path) ? stripRouteBuildExports(source) : source;\n const sourceHash = hashText(serverSource);\n const routeFile = relative(options.projectRoot, args.path).replaceAll(sep, \"/\");\n const artifact = options.serverModules[routeFile]?.[options.serverOutput];\n const contents =\n artifact !== undefined && artifact.sourceHash === sourceHash\n ? artifact.code\n : await transformCloudflareServerSource({\n cache: clientRouteInferenceCache,\n filename: args.path,\n serverOutput: options.serverOutput,\n source: serverSource,\n vitePlugins: options.vitePlugins,\n });\n\n return {\n contents,\n loader: \"js\",\n resolveDir: dirname(args.path),\n };\n });\n },\n };\n}\n\nasync function transformCloudflareServerSource(options: {\n cache: ClientRouteInferenceCache;\n filename: string;\n serverOutput: ServerOutputMode;\n source: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string> {\n const moduleContext = await compilerModuleContextForSource({\n cache: options.cache,\n code: options.source,\n filename: options.filename,\n });\n const clientInference = await inferClientRouteModule({\n cache: options.cache,\n code: options.source,\n filename: options.filename,\n moduleContext,\n vitePlugins: options.vitePlugins,\n });\n\n for (const diagnostic of clientInference.diagnostics) {\n console.warn(formatClientRouteInferenceDiagnostic(diagnostic));\n }\n\n const output = transformCompilerModuleContext({\n code: options.source,\n clientBoundaryImports: clientInference.clientBoundaryImports,\n dev: false,\n filename: options.filename,\n moduleContext,\n serverEscape: nativeEscapeTransform,\n serverOutput: options.serverOutput,\n target: \"server\",\n });\n const fatalDiagnostics = output.diagnostics.filter(\n (diagnostic) => diagnostic.code !== \"MR_UNSUPPORTED_SERVER_EVENT_HANDLER\",\n );\n\n if (fatalDiagnostics.length > 0) {\n throw new Error(\n fatalDiagnostics.map((diagnostic) => formatDiagnostic(options.filename, diagnostic)).join(\"\\n\"),\n );\n }\n\n return output.code;\n}\n\nfunction cloudflareWorkspaceRuntimePlugin(): RouterCompatPlugin {\n const packageFile = (\n monorepoDir: string,\n packageName: string,\n entry: string,\n sourceExtension?: \"ts\" | \"tsx\" | undefined,\n ): string =>\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry,\n monorepoDir,\n packageName,\n ...(sourceExtension === undefined ? {} : { sourceExtension }),\n });\n const routerCachePath = packageFile(\"router\", \"@reckona/mreact-router\", \"cache\");\n const routerCookiesPath = packageFile(\"router\", \"@reckona/mreact-router\", \"cookies\");\n const routerCsrfPath = packageFile(\"router\", \"@reckona/mreact-router\", \"csrf\");\n const routerDeferredPath = packageFile(\"router\", \"@reckona/mreact-router\", \"deferred\");\n const routerI18nPath = packageFile(\"router\", \"@reckona/mreact-router\", \"i18n\");\n const routerLinkPath = packageFile(\"router\", \"@reckona/mreact-router\", \"link\");\n const routerMultipartPath = packageFile(\"router\", \"@reckona/mreact-router\", \"multipart\");\n const routerNavigationPath = packageFile(\"router\", \"@reckona/mreact-router\", \"navigation\");\n const routerRuntimeStatePath = packageFile(\"router\", \"@reckona/mreact-router\", \"runtime-state\");\n const routerStreamListPath = packageFile(\"router\", \"@reckona/mreact-router\", \"stream-list\");\n const runtimePaths = new Map([\n [\"@reckona/mreact\", packageFile(\"react\", \"@reckona/mreact\", \"index\")],\n [\"@reckona/mreact/jsx-dev-runtime\", packageFile(\"react\", \"@reckona/mreact\", \"jsx-dev-runtime\")],\n [\"@reckona/mreact/jsx-runtime\", packageFile(\"react\", \"@reckona/mreact\", \"jsx-runtime\")],\n [\"@reckona/mreact-auth\", packageFile(\"auth\", \"@reckona/mreact-auth\", \"index\")],\n [\"@reckona/mreact-compat\", packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"index\")],\n [\n \"@reckona/mreact-compat/event-priority\",\n packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"event-priority\"),\n ],\n [\"@reckona/mreact-compat/flight\", packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"flight\")],\n [\"@reckona/mreact-compat/internal\", packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"internal\")],\n [\n \"@reckona/mreact-compat/jsx-dev-runtime\",\n packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"jsx-dev-runtime\"),\n ],\n [\n \"@reckona/mreact-compat/jsx-runtime\",\n packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"jsx-runtime\"),\n ],\n [\"@reckona/mreact-compat/scheduler\", packageFile(\"react-compat\", \"@reckona/mreact-compat\", \"scheduler\")],\n [\"@reckona/mreact-query\", packageFile(\"query\", \"@reckona/mreact-query\", \"index\")],\n [\"@reckona/mreact-reactive-core\", packageFile(\"reactive-core\", \"@reckona/mreact-reactive-core\", \"index\")],\n [\"@reckona/mreact-router/link\", routerLinkPath],\n [\"@reckona/mreact-router/runtime-state\", routerRuntimeStatePath],\n [\"@reckona/mreact-router/session\", packageFile(\"router\", \"@reckona/mreact-router\", \"session\")],\n [\"@reckona/mreact-router/stream-list\", routerStreamListPath],\n [\"@reckona/mreact-server\", packageFile(\"server\", \"@reckona/mreact-server\", \"index\")],\n [\n \"@reckona/mreact-shared/html-escape\",\n packageFile(\"shared\", \"@reckona/mreact-shared\", \"html-escape\"),\n ],\n ]);\n\n return {\n name: \"mreact-cloudflare-workspace-runtime\",\n setup(buildApi) {\n buildApi.onResolve({ filter: /^@reckona\\/mreact-router\\/(?:internal\\/)?native-escape$/ }, () => ({\n namespace: \"mreact-cloudflare-native-escape\",\n path: \"native-escape\",\n }));\n buildApi.onResolve({ filter: /^@reckona\\/mreact-router$/ }, () => ({\n namespace: \"mreact-cloudflare-router-index\",\n path: \"index\",\n }));\n buildApi.onResolve({ filter: /^@reckona\\/mreact(?:-[\\w-]+)?(?:\\/[\\w/-]+)?$/ }, (args) => {\n const path = runtimePaths.get(args.path);\n\n return path === undefined ? undefined : { path };\n });\n buildApi.onLoad({ filter: /^native-escape$/, namespace: \"mreact-cloudflare-native-escape\" }, () => ({\n contents: `function escapeHtml(value) {\n return String(value ?? \"\").replace(/[&<>\"']/g, (char) =>\n char === \"&\" ? \"&\" : char === \"<\" ? \"<\" : char === \">\" ? \">\" : char === '\"' ? \""\" : \"'\"\n );\n}\nexport function escapeHtmlBatch(values) {\n return values.map(escapeHtml);\n}`,\n loader: \"js\",\n }));\n buildApi.onLoad({ filter: /^index$/, namespace: \"mreact-cloudflare-router-index\" }, () => ({\n contents: `export { cacheControl, revalidatePath } from ${JSON.stringify(routerCachePath)};\nexport { deleteCookie, parseCookieHeader, serializeCookie, setCookie } from ${JSON.stringify(routerCookiesPath)};\nexport { createFormCsrfToken, formCsrfCookie, formCsrfFieldName, serverActionCookie, validateFormCsrf } from ${JSON.stringify(routerCsrfPath)};\nexport { defer, isDeferredLoaderData } from ${JSON.stringify(routerDeferredPath)};\nexport { defineMessages, detectLocale } from ${JSON.stringify(routerI18nPath)};\nexport { Link, linkProps } from ${JSON.stringify(routerLinkPath)};\nexport { parseMultipartStream } from ${JSON.stringify(routerMultipartPath)};\nexport { cookies, headers, html, json, next, notFound, redirect, redirectExternal, rewrite } from ${JSON.stringify(routerNavigationPath)};\nexport { getServerRuntimeState } from ${JSON.stringify(routerRuntimeStatePath)};`,\n loader: \"js\",\n resolveDir: dirname(routerNavigationPath),\n }));\n buildApi.onLoad({ filter: /(?:^|[/\\\\])packages[/\\\\]server[/\\\\](?:src|dist)[/\\\\]native-flight\\.[jt]s$/ }, () => ({\n contents: `export function getNativeFlight() {\n return undefined;\n}`,\n loader: \"js\",\n }));\n },\n };\n}\n\nfunction cloudflareRouteRequiresGeneratedModule(\n route: AppRoute,\n prerenderedRoutes: Record<string, BuiltPrerenderedRoute>,\n): boolean {\n return (\n route.kind === \"metadata\" ||\n route.kind === \"server\" ||\n (route.kind === \"page\" &&\n (route.segments.some((segment) => segment.kind !== \"static\") ||\n prerenderedRoutes[route.path] === undefined))\n );\n}\n\nfunction isServerComponentFile(file: string): boolean {\n return /(?:^|\\/)(?:page|layout|template|loading|error|not-found)(?:\\.mreact)?\\.tsx$/.test(file);\n}\n\nfunction viteManifestFromClientRoutes(routes: ClientRouteManifestEntry[]): Record<\n string,\n {\n css?: readonly string[];\n file: string;\n imports?: readonly string[];\n isEntry: true;\n name: string;\n src: string;\n }\n> {\n const manifest: Record<\n string,\n {\n file: string;\n imports?: readonly string[];\n isEntry: true;\n name: string;\n src: string;\n }\n > = {};\n\n for (const route of routes) {\n if (!route.client || route.script === undefined || route.devScript === undefined) {\n continue;\n }\n\n manifest[route.devScript] = {\n ...(route.css === undefined ? {} : { css: route.css }),\n file: route.script,\n ...(route.imports === undefined ? {} : { imports: route.imports }),\n isEntry: true,\n name: route.routeId ?? routeIdForPath(route.path),\n src: route.devScript,\n };\n }\n\n return manifest;\n}\n\nasync function writeClientRouteBundles(options: {\n appDir: string;\n assetBaseUrl?: string | undefined;\n clientDir: string;\n clientRouteInferenceCache: ClientRouteInferenceCache;\n projectRoot: string;\n routes: readonly AppRoute[];\n sourceMapDir: string;\n sourceMaps: AppRouterClientSourceMapMode;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<ClientRouteManifestEntry[]> {\n type PreparedClientRouteEntry = {\n build: BuildClientRouteOutputOptions;\n css: string[];\n navigation: boolean;\n route: AppRoute & { kind: \"page\" };\n };\n type PreparedClientManifestEntry = { manifest: ClientRouteManifestEntry };\n type PreparedRouteEntry = PreparedClientRouteEntry | PreparedClientManifestEntry;\n const entries: PreparedRouteEntry[] = await Promise.all(\n options.routes.map(async (route) => {\n if (route.kind !== \"page\") {\n return {\n manifest: { path: route.path, kind: route.kind, client: false },\n };\n }\n\n const css = await writeRouteCssAssets({\n appDir: options.appDir,\n clientDir: options.clientDir,\n pageFile: route.file,\n projectRoot: options.projectRoot,\n routeId: routeIdForPath(route.path),\n vitePlugins: options.vitePlugins,\n });\n const source = await readFile(route.file, \"utf8\");\n const clientSource = stripRouteClientOnlyExports(source);\n const navigation = detectNavigationRuntimeHint(source);\n const references = await collectClientRouteReferences({\n appDir: options.appDir,\n cache: options.clientRouteInferenceCache,\n code: clientSource,\n filename: route.file,\n vitePlugins: options.vitePlugins,\n });\n\n for (const diagnostic of references.diagnostics) {\n console.warn(formatClientRouteInferenceDiagnostic(diagnostic));\n }\n\n if (!references.client) {\n return {\n manifest: {\n path: route.path,\n kind: route.kind,\n client: false,\n ...(css.length === 0 ? {} : { css }),\n ...(navigation ? { navigation } : {}),\n },\n };\n }\n\n return {\n css,\n navigation,\n route: route as AppRoute & { kind: \"page\" },\n build: {\n code: clientSource,\n clientBoundaryImports: references.clientBoundaryImports,\n clientReferenceImports: references.clientReferenceImports,\n clientReferenceManifest: references.clientReferenceManifest,\n clientNavigation: detectClientNavigationHint(source),\n filename: route.file,\n minify: true,\n routePath: route.path,\n sourceMap: options.sourceMaps !== \"none\",\n vitePlugins: options.vitePlugins,\n },\n };\n }),\n );\n const clientEntries = entries.filter(\n (entry): entry is PreparedClientRouteEntry => \"build\" in entry,\n );\n\n if (clientEntries.length === 0) {\n return entries.flatMap((entry) => (\"manifest\" in entry ? [entry.manifest] : []));\n }\n\n let output: Awaited<ReturnType<typeof buildClientRouteBatchOutput>>;\n\n try {\n output = await buildClientRouteBatchOutput({\n assetBaseUrl: options.assetBaseUrl,\n minify: true,\n projectRoot: options.projectRoot,\n routes: clientEntries.map((entry) => entry.build),\n sourceMap: options.sourceMaps !== \"none\",\n vitePlugins: options.vitePlugins,\n });\n } catch (error) {\n const routeContexts = clientEntries\n .map((entry) => `Failed to build client bundle for ${entry.route.path} (${entry.route.file}).`)\n .join(\"\\n\");\n\n throw new Error(`${routeContexts}\\nFailed to build client route bundles.\\n${errorMessage(error)}`, {\n cause: error,\n });\n }\n\n const routeOutputs = new Map(output.routes.map((route) => [route.routePath, route]));\n const mapAssets = new Map(\n output.chunks.flatMap((chunk) =>\n chunk.map === undefined ? [] : [[`${chunk.fileName}.map`, chunk.map] as const]\n ),\n );\n\n for (const chunk of output.chunks) {\n const scriptBasename = chunk.fileName.split(\"/\").pop() ?? \"chunk.js\";\n const code = applyClientSourceMapReference({\n code: chunk.code,\n scriptBasename,\n sourceMaps: options.sourceMaps,\n });\n\n await mkdir(dirname(join(options.clientDir, chunk.fileName)), { recursive: true });\n await writeFile(join(options.clientDir, chunk.fileName), code);\n }\n\n for (const [sourceMap, map] of mapAssets) {\n const mapBaseDir = options.sourceMaps === \"hidden\" ? options.sourceMapDir : options.clientDir;\n\n await mkdir(dirname(join(mapBaseDir, sourceMap)), { recursive: true });\n await writeFile(join(mapBaseDir, sourceMap), map);\n }\n\n for (const asset of output.assets ?? []) {\n const source =\n typeof asset.source === \"string\"\n ? asset.source\n : Buffer.from(asset.source).toString(\"utf8\");\n\n await mkdir(dirname(join(options.clientDir, asset.fileName)), { recursive: true });\n await writeFile(join(options.clientDir, asset.fileName), source);\n }\n\n return entries.map((entry) => {\n if (!(\"build\" in entry)) {\n return entry.manifest;\n }\n\n const routeOutput = routeOutputs.get(entry.route.path);\n\n if (routeOutput === undefined) {\n throw new Error(`Failed to build client bundle for ${entry.route.path}: missing output.`);\n }\n\n const routeId = routeIdForPath(entry.route.path);\n const sourceMap = `${routeOutput.chunk.fileName}.map`;\n const code = applyClientSourceMapReference({\n code: routeOutput.chunk.code,\n scriptBasename: routeOutput.chunk.fileName.split(\"/\").pop() ?? \"route.js\",\n sourceMaps: options.sourceMaps,\n });\n\n return {\n bytes: Buffer.byteLength(code),\n path: entry.route.path,\n kind: entry.route.kind,\n client: true,\n ...(entry.css.length === 0 ? {} : { css: entry.css }),\n ...(routeOutput.chunk.imports.length === 0 ? {} : { imports: routeOutput.chunk.imports }),\n ...(entry.navigation ? { navigation: entry.navigation } : {}),\n routeId,\n script: routeOutput.chunk.fileName,\n ...(options.sourceMaps === \"linked\" ? { sourceMap } : {}),\n devScript: clientScriptForPath(entry.route.path),\n };\n });\n}\n\nasync function writeRouteCssAssets(options: {\n appDir: string;\n clientDir: string;\n pageFile: string;\n projectRoot: string;\n routeId: string;\n vitePlugins?: readonly PluginOption[] | undefined;\n}): Promise<string[]> {\n const cssFiles = await collectRouteCssFiles({\n appDir: options.appDir,\n pageFile: options.pageFile,\n projectRoot: options.projectRoot,\n });\n\n if (cssFiles.length === 0) {\n return [];\n }\n\n const code = [\n ...cssFiles.map((file) => `import ${JSON.stringify(file)};`),\n \"export default undefined;\",\n ].join(\"\\n\");\n const output = await bundleRouterModule({\n code,\n filename: options.pageFile,\n minify: true,\n platform: \"browser\",\n vitePlugins: options.vitePlugins,\n });\n const cssAssets = (output.assets ?? []).filter((asset) => asset.fileName.endsWith(\".css\"));\n const written: string[] = [];\n\n for (const asset of cssAssets) {\n const source =\n typeof asset.source === \"string\"\n ? asset.source\n : Buffer.from(asset.source).toString(\"utf8\");\n const hash = createHash(\"sha256\").update(source).digest(\"hex\").slice(0, 8);\n const cssFile = `assets/routes/${options.routeId}.${hash}.css`;\n\n await mkdir(dirname(join(options.clientDir, cssFile)), { recursive: true });\n await writeFile(join(options.clientDir, cssFile), source);\n written.push(cssFile);\n }\n\n return written;\n}\n\nfunction applyClientSourceMapReference(options: {\n code: string;\n scriptBasename: string;\n sourceMaps: AppRouterClientSourceMapMode;\n}): string {\n const sourceMappingUrlPattern = /\\n?\\/\\/# sourceMappingURL=route\\.js\\.map\\s*$/;\n\n if (options.sourceMaps === \"none\") {\n return options.code;\n }\n\n if (options.sourceMaps === \"hidden\") {\n return options.code.replace(sourceMappingUrlPattern, \"\");\n }\n\n const code = options.code.replace(\n sourceMappingUrlPattern,\n `\\n//# sourceMappingURL=${options.scriptBasename}.map`,\n );\n\n return code.includes(\"sourceMappingURL=\")\n ? code\n : `${code}\\n//# sourceMappingURL=${options.scriptBasename}.map`;\n}\n\nasync function writeNavigationRuntimeBundle(clientDir: string): Promise<string> {\n const output = await buildNavigationRuntimeBundle({\n minify: true,\n sourceMap: false,\n });\n const hash = createHash(\"sha256\").update(output.code).digest(\"hex\").slice(0, 8);\n const script = `assets/navigation.${hash}.js`;\n\n await mkdir(dirname(join(clientDir, script)), { recursive: true });\n await writeFile(join(clientDir, script), output.code);\n\n return script;\n}\n\nasync function writeAwsLambdaHandlerArtifact(outDir: string): Promise<void> {\n const awsLambdaDir = join(outDir, \"aws-lambda\");\n await mkdir(awsLambdaDir, { recursive: true });\n await writeFile(join(awsLambdaDir, \"mreact-handler.mjs\"), awsLambdaHandlerSource(\"..\"));\n}\n\nasync function writeCloudflareWorkerArtifact(options: {\n cloudflareDir: string;\n clientManifest: { publicAssets?: readonly string[]; routes: readonly ClientRouteManifestEntry[] };\n modulesFile: string;\n serverManifest: BuiltServerManifest;\n}): Promise<void> {\n await writeFile(\n join(options.cloudflareDir, \"worker.mjs\"),\n [\n `import { createCloudflareBuiltRequestHandler, createCloudflareRouteModuleRenderer, createCloudflareStaticAssetLoader } from \"@reckona/mreact-router/adapters/cloudflare\";`,\n `import { routeModules } from ${JSON.stringify(`./${options.modulesFile}`)};`,\n ``,\n `const serverManifest = ${JSON.stringify(options.serverManifest, null, 2)};`,\n `const clientManifest = ${JSON.stringify(options.clientManifest, null, 2)};`,\n ``,\n `export default createCloudflareBuiltRequestHandler({`,\n ` assets: createCloudflareStaticAssetLoader({`,\n ` binding: (env) => env?.ASSETS,`,\n ` clientManifest,`,\n ` }),`,\n ` clientManifest,`,\n ` renderRoute: createCloudflareRouteModuleRenderer({ modules: routeModules }),`,\n ` serverManifest,`,\n `});`,\n ``,\n ].join(\"\\n\"),\n );\n}\n\nexport async function packageAwsLambdaArtifact(\n options: PackageAwsLambdaArtifactOptions,\n): Promise<AwsLambdaArtifactManifest> {\n await assertRequiredBuildFile(join(options.fromDir, \"server\", \"manifest.json\"));\n await assertRequiredBuildFile(join(options.fromDir, \"server\", \"import-policy.json\"));\n await assertRequiredBuildFile(join(options.fromDir, \"client\", \"manifest.json\"));\n\n await rm(options.outDir, { force: true, recursive: true });\n await mkdir(options.outDir, { recursive: true });\n await cp(options.fromDir, join(options.outDir, \".mreact\"), {\n force: true,\n recursive: true,\n });\n await copyAwsLambdaProjectMetadata({\n fromDir: dirname(options.fromDir),\n outDir: options.outDir,\n });\n await writeFile(join(options.outDir, \"mreact-handler.mjs\"), awsLambdaHandlerSource(\".mreact\"));\n\n const files = await collectAwsLambdaArtifactFiles(options.outDir, \"\");\n const manifest = {\n files,\n handler: \"mreact-handler.handler\",\n runtime: \"aws-lambda\",\n totalBytes: files.reduce((total, file) => total + file.bytes, 0),\n version: 1,\n } satisfies AwsLambdaArtifactManifest;\n\n await writeFile(\n join(options.outDir, \"mreact-lambda-artifact.json\"),\n JSON.stringify(manifest, null, 2),\n );\n\n return manifest;\n}\n\nasync function assertRequiredBuildFile(path: string): Promise<void> {\n try {\n const info = await stat(path);\n if (info.isFile()) {\n return;\n }\n } catch {\n // Throw the actionable error below.\n }\n\n throw new Error(`Missing required mreact build artifact: ${path}`);\n}\n\nasync function copyAwsLambdaProjectMetadata(options: {\n fromDir: string;\n outDir: string;\n}): Promise<void> {\n for (const file of [\n \"package.json\",\n \"package-lock.json\",\n \"npm-shrinkwrap.json\",\n \"pnpm-lock.yaml\",\n \"pnpm-workspace.yaml\",\n \"bun.lock\",\n ]) {\n try {\n await cp(join(options.fromDir, file), join(options.outDir, file), { force: true });\n } catch (error) {\n if (!isNodeError(error) || error.code !== \"ENOENT\") {\n throw error;\n }\n }\n }\n}\n\nasync function collectAwsLambdaArtifactFiles(\n rootDir: string,\n relativeDir: string,\n): Promise<Array<{ bytes: number; path: string }>> {\n const entries = await readdir(join(rootDir, relativeDir), { withFileTypes: true });\n const files: Array<{ bytes: number; path: string }> = [];\n\n for (const entry of entries) {\n const relativePath = relativeDir === \"\" ? entry.name : `${relativeDir}/${entry.name}`;\n const absolutePath = join(rootDir, relativePath);\n\n if (entry.isDirectory()) {\n files.push(...(await collectAwsLambdaArtifactFiles(rootDir, relativePath)));\n continue;\n }\n\n if (entry.isFile()) {\n const info = await stat(absolutePath);\n files.push({ bytes: info.size, path: relativePath });\n }\n }\n\n return files.sort((left, right) => right.bytes - left.bytes || left.path.localeCompare(right.path));\n}\n\nfunction awsLambdaHandlerSource(outDirRelativeToHandler: string): string {\n return `import { fileURLToPath } from \"node:url\";\nimport { dirname, resolve } from \"node:path\";\nimport { createPreloadedAwsLambdaRequestHandler } from \"@reckona/mreact-router/adapters/aws-lambda\";\n\nconst here = dirname(fileURLToPath(import.meta.url));\n\nexport const handler = await createPreloadedAwsLambdaRequestHandler({\n importPolicy: \"generated\",\n outDir: resolve(here, ${JSON.stringify(outDirRelativeToHandler)}),\n timings: process.env.MREACT_ROUTER_TIMINGS === \"1\",\n});\n`;\n}\n\nasync function validateProductionRoutes(options: {\n files: Record<string, string>;\n projectRoot: string;\n routes: readonly AppRoute[];\n}): Promise<void> {\n for (const route of options.routes) {\n if (route.kind !== \"page\") {\n continue;\n }\n\n const source = await readFile(route.file, \"utf8\");\n const filename = relative(options.projectRoot, route.file);\n const output = transform({\n code: stripRouteBuildExports(source),\n dev: false,\n filename: route.file,\n serverEscape: nativeEscapeTransform,\n serverOutput: shouldBuildRouteAsStream({\n filename,\n files: options.files,\n projectRoot: options.projectRoot,\n source,\n })\n ? \"stream\"\n : \"string\",\n target: \"server\",\n });\n const fatalDiagnostics = output.diagnostics.filter(\n (diagnostic) => diagnostic.code !== \"MR_UNSUPPORTED_SERVER_EVENT_HANDLER\",\n );\n\n if (fatalDiagnostics.length > 0) {\n throw new Error(\n fatalDiagnostics.map((diagnostic) => formatDiagnostic(route.file, diagnostic)).join(\"\\n\"),\n );\n }\n }\n}\n\nasync function collectBuildFiles(\n projectRoot: string,\n allowedSourceDirs: readonly string[],\n appDir: string,\n): Promise<Record<string, string>> {\n const files: Record<string, string> = {};\n\n for (const directory of allowedSourceDirs) {\n for (const file of await collectFiles(directory)) {\n if (isAppFileConventionAsset(file, appDir)) {\n continue;\n }\n\n const relativeFile = relative(projectRoot, file);\n\n if (relativeFile === \"\" || relativeFile.startsWith(\"..\") || relativeFile.startsWith(sep)) {\n continue;\n }\n\n files[relativeFile] = await readFile(file, \"utf8\");\n }\n }\n\n return files;\n}\n\nfunction isAppFileConventionAsset(file: string, appDir: string): boolean {\n const relativeFile = relative(appDir, file);\n if (relativeFile === \"\" || relativeFile.startsWith(\"..\") || relativeFile.includes(sep)) {\n return false;\n }\n\n return appFileConventionForRootFilename(relativeFile)?.kind === \"asset\";\n}\n\nasync function collectFiles(directory: string): Promise<string[]> {\n const entries = await readdir(directory, { withFileTypes: true });\n const files: string[] = [];\n\n for (const entry of entries) {\n const path = join(directory, entry.name);\n\n if (entry.isDirectory()) {\n files.push(...(await collectFiles(path)));\n continue;\n }\n\n if (entry.isFile()) {\n files.push(path);\n }\n }\n\n return files;\n}\n\nfunction hashText(text: string): string {\n return createHash(\"sha256\").update(text).digest(\"hex\").slice(0, 16);\n}\n\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n"]}
|