one 2.9.0 → 2.9.2
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/cjs/cli/build.cjs +8 -10
- package/dist/cjs/cli/build.native.cjs +27 -29
- package/dist/cjs/cli/build.native.js +27 -29
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +2 -11
- package/dist/cjs/cli/buildPage.native.cjs +11 -39
- package/dist/cjs/cli/buildPage.native.js +11 -39
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +2 -5
- package/dist/cjs/platform/ui/Pager.cjs +2 -1
- package/dist/cjs/platform/ui/Pager.native.cjs +3 -0
- package/dist/cjs/platform/ui/Pager.native.js +3 -0
- package/dist/cjs/platform/ui/Pager.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +2 -1
- package/dist/cjs/router/router.native.cjs +5 -2
- package/dist/cjs/router/router.native.js +5 -2
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/utils/getNativeStackReplaceAction.cjs +54 -0
- package/dist/cjs/router/utils/getNativeStackReplaceAction.native.cjs +58 -0
- package/dist/cjs/router/utils/getNativeStackReplaceAction.native.js +60 -0
- package/dist/cjs/router/utils/getNativeStackReplaceAction.native.js.map +1 -0
- package/dist/esm/cli/build.mjs +8 -10
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +27 -29
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +2 -11
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +11 -39
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/createApp.mjs +2 -5
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/platform/ui/Pager.mjs +2 -1
- package/dist/esm/platform/ui/Pager.mjs.map +1 -1
- package/dist/esm/platform/ui/Pager.native.js +3 -0
- package/dist/esm/platform/ui/Pager.native.js.map +1 -1
- package/dist/esm/router/router.mjs +1 -1
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +5 -2
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/utils/getNativeStackReplaceAction.mjs +35 -0
- package/dist/esm/router/utils/getNativeStackReplaceAction.mjs.map +1 -0
- package/dist/esm/router/utils/getNativeStackReplaceAction.native.js +37 -0
- package/dist/esm/router/utils/getNativeStackReplaceAction.native.js.map +1 -0
- package/package.json +18 -17
- package/src/cli/build.ts +9 -11
- package/src/cli/buildPage.ts +11 -22
- package/src/cli/workerPool.test.ts +1 -1
- package/src/cli/workerPool.ts +1 -1
- package/src/createApp.tsx +4 -2
- package/src/layouts/stack-utils/StackScreen.tsx +15 -5
- package/src/platform/ui/Pager.native.tsx +3 -0
- package/src/platform/ui/Pager.tsx +1 -0
- package/src/platform/ui/pagerTypes.ts +6 -1
- package/src/router/router.ts +9 -2
- package/src/router/utils/getNativeStackReplaceAction.ts +55 -0
- package/src/types.ts +1 -1
- package/src/vite/types.ts +2 -2
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/buildPage.d.ts +1 -1
- package/types/cli/buildPage.d.ts.map +1 -1
- package/types/cli/workerPool.d.ts +1 -1
- package/types/cli/workerPool.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/layouts/stack-utils/StackScreen.d.ts +4 -5
- package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
- package/types/platform/ui/Pager.d.ts.map +1 -1
- package/types/platform/ui/Pager.native.d.ts.map +1 -1
- package/types/platform/ui/pagerTypes.d.ts +6 -1
- package/types/platform/ui/pagerTypes.d.ts.map +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/router/utils/getNativeStackReplaceAction.d.ts +12 -0
- package/types/router/utils/getNativeStackReplaceAction.d.ts.map +1 -0
- package/types/types.d.ts +1 -1
- package/types/types.d.ts.map +1 -1
- package/types/vite/types.d.ts +1 -1
- package/types/vite/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","names":["vxrnBuild","viteBuild"],"sources":["esm/cli/build.js"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { cpus } from \"node:os\";\nimport Path, { join, posix, relative, resolve } from \"node:path\";\nimport { resolvePath } from \"@vxrn/resolve\";\nimport FSExtra from \"fs-extra\";\nimport MicroMatch from \"micromatch\";\nimport {\n createBuilder,\n mergeConfig,\n normalizePath,\n build as viteBuild\n} from \"vite\";\nimport {\n getOptimizeDeps,\n rollupRemoveUnusedImportsPlugin,\n build as vxrnBuild\n} from \"vxrn\";\nimport * as constants from \"../constants\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nimport { environmentGuardPlugin } from \"../vite/plugins/environmentGuardPlugin\";\nimport { writeBuildOutputPointer } from \"../utils/buildOutputPointer\";\nimport { getPathnameFromFilePath } from \"../utils/getPathnameFromFilePath\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isRolldown } from \"../utils/isRolldown\";\nimport { toAbsolute } from \"../utils/toAbsolute\";\nimport { buildVercelOutputDirectory } from \"../vercel/build/buildVercelOutputDirectory\";\nimport {\n createCloudflareWranglerConfig,\n getCloudflareProjectName,\n isPlainObject,\n loadUserWranglerConfig\n} from \"../vite/cloudflareWranglerConfig\";\nimport { getManifest } from \"../vite/getManifest\";\nimport { loadUserOneOptions } from \"../vite/loadConfig\";\nimport { runWithAsyncLocalContext } from \"../vite/one-server-only\";\nimport { buildPage, printBuildTimings } from \"./buildPage\";\nimport { checkNodeVersion } from \"./checkNodeVersion\";\nimport { getWorkerPool, terminateWorkerPool } from \"./workerPool\";\nimport { generateSitemap } from \"./generateSitemap\";\nimport { labelProcess } from \"./label-process\";\nimport { getRouteExports } from \"./serverRouteModules\";\nimport { pLimit } from \"../utils/pLimit\";\nimport { getCriticalCSSOutputPaths } from \"../vite/plugins/criticalCSSPlugin\";\nimport { absorbedPackageAliases } from \"../utils/absorbedPackages\";\nimport {\n formatErrorSafely,\n installPrepareStackTraceGuard\n} from \"./install-error-handlers\";\nconst { ensureDir, writeJSON } = FSExtra;\nfunction normalizeDeploy(deploy) {\n if (!deploy) return void 0;\n if (typeof deploy === \"string\") return { target: deploy };\n return deploy;\n}\nconst CLOUDFLARE_DEPLOY_WRANGLER_RULES = [\n { type: \"ESModule\", globs: [\"assets/**/*.js\", \"assets/**/*.mjs\"] }\n];\nfunction omitEmptyJsonValues(value) {\n if (Array.isArray(value)) {\n const items = value.map((item) => omitEmptyJsonValues(item)).filter((item) => item !== void 0);\n return items.length > 0 ? items : void 0;\n }\n if (isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, item]) => [key, omitEmptyJsonValues(item)]).filter((entry) => entry[1] !== void 0);\n return entries.length > 0 ? Object.fromEntries(entries) : void 0;\n }\n return value;\n}\nasync function finalizeCloudflareWranglerDeployConfig(configPath) {\n const parsed = JSON.parse(await FSExtra.readFile(configPath, \"utf-8\"));\n if (!isPlainObject(parsed)) {\n throw new Error(\n `Expected ${relative(process.cwd(), configPath)} to contain a JSON object`\n );\n }\n parsed.rules = CLOUDFLARE_DEPLOY_WRANGLER_RULES;\n const config = omitEmptyJsonValues(parsed);\n if (!isPlainObject(config)) {\n throw new Error(\n `Expected ${relative(process.cwd(), configPath)} to contain deploy config`\n );\n }\n await FSExtra.writeFile(configPath, `${JSON.stringify(config, null, 2)}\n`);\n}\nprocess.env.ONE_CACHE_KEY = constants.CACHE_KEY;\nfunction shouldUseWorkers(oneOptions) {\n if (process.env.ONE_BUILD_WORKERS === \"0\") return false;\n if (process.env.ONE_BUILD_WORKERS === \"1\") return true;\n return oneOptions?.build?.workers !== false;\n}\ninstallPrepareStackTraceGuard();\nlet buildErrorHandlersInstalled = false;\nfunction installBuildErrorHandlers() {\n if (buildErrorHandlersInstalled) return;\n buildErrorHandlersInstalled = true;\n process.on(\"uncaughtException\", (err) => {\n try {\n process.stderr.write(`[one build] uncaught exception\n${formatErrorSafely(err)}\n`);\n } catch {\n }\n process.exit(1);\n });\n process.on(\"unhandledRejection\", (reason) => {\n try {\n process.stderr.write(\n `[one build] unhandled rejection\n${formatErrorSafely(reason)}\n`\n );\n } catch {\n }\n process.exit(1);\n });\n}\nconst HOOK_KEYS = [\n \"resolveId\",\n \"load\",\n \"transform\",\n \"renderChunk\",\n \"generateBundle\",\n \"writeBundle\",\n \"buildStart\",\n \"buildEnd\",\n \"moduleParsed\"\n];\nfunction clonePluginHooks(config) {\n if (!config.plugins) return config;\n return {\n ...config,\n plugins: config.plugins.map((p) => {\n if (!p || typeof p !== \"object\") return p;\n const cloned = { ...p };\n for (const key of HOOK_KEYS) {\n if (cloned[key] && typeof cloned[key] === \"object\" && \"handler\" in cloned[key]) {\n cloned[key] = { ...cloned[key] };\n }\n }\n return cloned;\n })\n };\n}\nasync function build(args) {\n installBuildErrorHandlers();\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`\n );\n }\n labelProcess(\"build\");\n checkNodeVersion();\n setServerGlobals();\n const { oneOptions, config: viteLoadedConfig } = await loadUserOneOptions(\"build\");\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\n const configuredBuildConcurrency = process.env.ONE_BUILD_CONCURRENCY ?? oneOptions.build?.concurrency;\n const buildConcurrency = configuredBuildConcurrency === void 0 ? Math.max(1, Math.min(cpus().length, 2)) : Number(configuredBuildConcurrency);\n if (!Number.isInteger(buildConcurrency) || buildConcurrency < 1) {\n throw new Error(\n `build.concurrency must be a positive integer, received ${JSON.stringify(\n configuredBuildConcurrency\n )}`\n );\n }\n if (oneOptions.web?.defaultRenderMode) {\n process.env.ONE_DEFAULT_RENDER_MODE = oneOptions.web.defaultRenderMode;\n }\n const deployConfig = normalizeDeploy(oneOptions.web?.deploy);\n if (!process.env.ONE_SERVER_URL && deployConfig) {\n const url = deployConfig.url ?? (deployConfig.target === \"cloudflare\" ? `https://${await getCloudflareProjectName(process.cwd())}.workers.dev` : void 0);\n if (url) {\n process.env.ONE_SERVER_URL = url;\n console.info(`\n \\u2601\\uFE0F ONE_SERVER_URL: ${url}\n`);\n }\n }\n const outDir = viteLoadedConfig?.config?.build?.outDir ?? \"dist\";\n const manifest = getManifest({\n routerRoot,\n ignoredRouteFiles: oneOptions.router?.ignoredRouteFiles\n });\n const serverOutputFormat = oneOptions.build?.server === false ? \"esm\" : oneOptions.build?.server?.outputFormat ?? \"esm\";\n const buildStartTime = performance.now();\n const vxrnOutput = await vxrnBuild(\n {\n skipEnv: args.skipEnv ?? oneOptions.skipEnv,\n server: oneOptions.server,\n build: {\n analyze: true,\n server: oneOptions.build?.server === false ? false : {\n outputFormat: serverOutputFormat\n }\n }\n },\n args\n );\n const bundleTime = performance.now() - buildStartTime;\n console.info(`\n \\u23F1\\uFE0F vite bundle: ${(bundleTime / 1e3).toFixed(2)}s\n`);\n if (!vxrnOutput || args.platform !== \"web\") {\n return;\n }\n const { options } = vxrnOutput;\n const { optimizeDeps } = getOptimizeDeps(\"build\");\n const { rolldownOptions: _rolldownOptions, ...optimizeDepsNoRolldown } = optimizeDeps;\n const serverOpts = oneOptions.build?.server;\n const isUnified = typeof serverOpts === \"object\" && serverOpts !== null && serverOpts.unified === true;\n let baseForApi = isUnified ? clonePluginHooks(vxrnOutput.serverBuildConfig ?? vxrnOutput.webBuildConfig) : clonePluginHooks(vxrnOutput.webBuildConfig);\n if (isUnified) {\n const clone = {\n ...baseForApi,\n build: baseForApi.build ? { ...baseForApi.build } : void 0,\n plugins: baseForApi.plugins ? baseForApi.plugins.filter(\n (p) => p && typeof p === \"object\" && p.name !== \"omit-api-routes\"\n ) : void 0\n };\n if (clone.build && clone.build.rolldownOptions) {\n const ro = { ...clone.build.rolldownOptions };\n delete ro.input;\n clone.build.rolldownOptions = ro;\n }\n if (clone.build) {\n delete clone.build.outDir;\n }\n baseForApi = clone;\n }\n const apiBuildConfig = mergeConfig(baseForApi, {\n configFile: false,\n appType: \"custom\",\n optimizeDeps: optimizeDepsNoRolldown,\n environments: {\n client: {\n optimizeDeps: { rolldownOptions: _rolldownOptions }\n }\n }\n });\n async function buildCustomRoutes(subFolder, routes) {\n const input = routes.reduce((entries, { page, file }) => {\n entries[page.slice(1) + \".js\"] = join(routerRoot, file);\n return entries;\n }, {});\n const outputFormat = oneOptions?.build?.api?.outputFormat ?? serverOutputFormat;\n const treeshake = oneOptions?.build?.api?.treeshake;\n const mergedConfig = mergeConfig(apiBuildConfig, {\n appType: \"custom\",\n configFile: false,\n define: vxrnOutput.processEnvDefines,\n ssr: isUnified ? {\n // in unified mode let the base (serverBuildConfig) set ssr.noExternal\n // — default is now ['react', 'react-dom'] instead of `true`, so\n // rolldown can externalize the rest.\n optimizeDeps: optimizeDepsNoRolldown\n } : {\n noExternal: true,\n external: [\"react\", \"react-dom\"],\n optimizeDeps: optimizeDepsNoRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: { rolldownOptions: _rolldownOptions }\n }\n },\n build: {\n ssr: true,\n emptyOutDir: false,\n outDir: `${outDir}/${subFolder}`,\n copyPublicDir: false,\n minify: false,\n rolldownOptions: {\n treeshake: treeshake ?? {\n moduleSideEffects: false\n },\n plugins: [\n // otherwise rollup is leaving commonjs-only top level imports...\n outputFormat === \"esm\" ? rollupRemoveUnusedImportsPlugin : null\n ].filter(Boolean),\n // too many issues\n // treeshake: {\n // moduleSideEffects: false,\n // },\n // prevents it from shaking out the exports\n preserveEntrySignatures: \"strict\",\n input,\n // in unified mode, inherit externals from serverBuildConfig (user\n // ssr.external / rolldownOptions.external). the legacy path resets\n // them to [] so per-route files bundle everything.\n ...isUnified ? {} : { external: [] },\n output: {\n entryFileNames: \"[name]\",\n exports: \"auto\",\n ...outputFormat === \"esm\" ? {\n format: \"esm\",\n esModule: true\n } : {\n format: \"cjs\",\n // Preserve folder structure and use .cjs extension\n entryFileNames: (chunkInfo) => {\n const name = chunkInfo.name.replace(/\\.js$/, \".cjs\");\n return name;\n },\n chunkFileNames: (chunkInfo) => {\n const chunkName = normalizePath(chunkInfo.name);\n const dir = posix.dirname(chunkName);\n const name = posix.basename(chunkName, posix.extname(chunkName));\n return posix.join(dir, `${name}-[hash].cjs`);\n },\n assetFileNames: (assetInfo) => {\n const assetName = normalizePath(assetInfo.name ?? \"\");\n const dir = posix.dirname(assetName);\n const baseName = posix.basename(assetName, posix.extname(assetName));\n const ext = posix.extname(assetName);\n return posix.join(dir, `${baseName}-[hash]${ext}`);\n }\n }\n }\n }\n }\n });\n const userApiBuildConf = oneOptions.build?.api?.config;\n const finalApiBuildConf = userApiBuildConf ? mergeConfig(mergedConfig, userApiBuildConf) : mergedConfig;\n const output = await viteBuild(\n // allow user merging api build config\n finalApiBuildConf\n );\n return output;\n }\n const builtMiddlewares = {};\n const apiPromise = manifest.apiRoutes.length ? (console.info(`\n \\u{1F528} build api routes\n`), buildCustomRoutes(\"api\", manifest.apiRoutes)) : Promise.resolve(null);\n const middlewarePromise = manifest.middlewareRoutes.length ? (console.info(`\n \\u{1F528} build middlewares\n`), buildCustomRoutes(\"middlewares\", manifest.middlewareRoutes)) : Promise.resolve(null);\n const [apiOutput, middlewareBuildInfo] = await Promise.all([\n apiPromise,\n middlewarePromise\n ]);\n if (middlewareBuildInfo) {\n for (const middleware of manifest.middlewareRoutes) {\n const absoluteRoot = resolve(process.cwd(), options.root);\n const fullPath = normalizePath(join(absoluteRoot, routerRoot, middleware.file));\n const outChunks = middlewareBuildInfo.output.filter((x) => x.type === \"chunk\");\n const chunk = outChunks.find((x) => x.facadeModuleId === fullPath);\n if (!chunk) throw new Error(`internal err finding middleware`);\n builtMiddlewares[middleware.file] = posix.join(\n outDir,\n \"middlewares\",\n chunk.fileName\n );\n }\n }\n globalThis[\"require\"] = createRequire(import.meta.dirname + \"/\");\n const assets = [];\n const builtRoutes = [];\n const sitemapData = [];\n const collectImportsCache = /* @__PURE__ */ new Map();\n const collectImportsInFlight = /* @__PURE__ */ new Set();\n const cssFileContentsCache = /* @__PURE__ */ new Map();\n const criticalCSSOutputPaths = getCriticalCSSOutputPaths(vxrnOutput.clientManifest);\n const limit = pLimit(buildConcurrency);\n const useWorkers = shouldUseWorkers(oneOptions);\n const workerPool = useWorkers ? getWorkerPool(buildConcurrency) : null;\n if (workerPool) {\n const serializableOptions = JSON.parse(\n JSON.stringify(\n oneOptions,\n (_key, value) => typeof value === \"function\" ? void 0 : value\n )\n );\n await workerPool.initialize(serializableOptions);\n }\n const staticStartTime = performance.now();\n const modeLabel = useWorkers ? `workers: ${workerPool?.size}` : `concurrency: ${buildConcurrency}`;\n console.info(`\n \\u{1F528} build static routes (${modeLabel})\n`);\n const staticDir = join(`${outDir}/static`);\n const clientDir = join(`${outDir}/client`);\n await ensureDir(staticDir);\n if (!vxrnOutput.serverOutput) {\n throw new Error(`No server output`);\n }\n const clientChunksBySource = /* @__PURE__ */ new Map();\n if (vxrnOutput.clientOutput) {\n for (const chunk of vxrnOutput.clientOutput) {\n if (chunk.type !== \"chunk\") continue;\n const info = { fileName: chunk.fileName, imports: chunk.imports || [] };\n for (const moduleId of chunk.moduleIds ?? []) {\n clientChunksBySource.set(moduleId, info);\n }\n }\n for (const chunk of vxrnOutput.clientOutput) {\n if (chunk.type !== \"chunk\" || !chunk.facadeModuleId) continue;\n clientChunksBySource.set(chunk.facadeModuleId, {\n fileName: chunk.fileName,\n imports: chunk.imports || []\n });\n }\n }\n const clientManifestByFile = /* @__PURE__ */ new Map();\n for (const entry of Object.values(vxrnOutput.clientManifest)) {\n if (entry.file) {\n clientManifestByFile.set(entry.file, entry);\n }\n }\n const outputEntries = [...vxrnOutput.serverOutput.entries()];\n const layoutServerPaths = /* @__PURE__ */ new Map();\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") continue;\n const id = output.facadeModuleId || \"\";\n const file = Path.basename(id);\n if (file.startsWith(\"_layout\") && id.includes(`/${routerRoot}/`)) {\n const relativePath = normalizePath(relative(process.cwd(), id)).replace(\n `${routerRoot}/`,\n \"\"\n );\n const contextKey = `./${relativePath}`;\n layoutServerPaths.set(contextKey, output.fileName);\n }\n }\n const routeByPath = /* @__PURE__ */ new Map();\n for (const route of manifest.pageRoutes) {\n if (route.file) {\n const routePath = `${routerRoot}${route.file.slice(1)}`;\n routeByPath.set(routePath, route);\n }\n }\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") {\n assets.push(output);\n }\n }\n const moduleIdToServerChunk = /* @__PURE__ */ new Map();\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") continue;\n const moduleIds = output.moduleIds || (output.facadeModuleId ? [output.facadeModuleId] : []);\n for (const moduleId of moduleIds) {\n moduleIdToServerChunk.set(moduleId, output.fileName);\n if (moduleId.includes(\"?one-spa-build\")) {\n moduleIdToServerChunk.set(\n moduleId.slice(0, moduleId.indexOf(\"?\")),\n output.fileName\n );\n }\n }\n }\n for (const foundRoute of manifest.pageRoutes) {\n let collectImports = function(entry, { type = \"js\" } = {}) {\n const { imports = [], css } = entry;\n const cacheKey = `${entry.file || imports.join(\",\")}:${type}`;\n const cached = collectImportsCache.get(cacheKey);\n if (cached) return cached;\n if (collectImportsInFlight.has(cacheKey)) return [];\n collectImportsInFlight.add(cacheKey);\n const result = [\n ...new Set(\n [\n ...type === \"js\" ? imports : css || [],\n ...imports.flatMap((name) => {\n const found = vxrnOutput.clientManifest[name];\n if (!found) {\n console.warn(`No found imports`, name, vxrnOutput.clientManifest);\n }\n return collectImports(found, { type });\n })\n ].flat().filter((x) => x && (type === \"css\" || x.endsWith(\".js\"))).map(\n (x) => type === \"css\" ? x : x.startsWith(\"assets/\") ? x : `assets/${x.slice(1)}`\n )\n )\n ];\n collectImportsInFlight.delete(cacheKey);\n collectImportsCache.set(cacheKey, result);\n return result;\n };\n if (!foundRoute.file) {\n continue;\n }\n const routeModulePath = normalizePath(\n join(resolve(process.cwd(), options.root), routerRoot, foundRoute.file.slice(2))\n );\n const serverFileName = moduleIdToServerChunk.get(routeModulePath);\n if (!serverFileName) {\n if (foundRoute.type === \"spa\") {\n throw new Error(\n `[one] No build-only server chunk for SPA route: ${foundRoute.file}`\n );\n }\n console.warn(`[one] No server chunk found for route: ${foundRoute.file}`);\n continue;\n }\n const onlyBuild = vxrnOutput.buildArgs?.only;\n if (onlyBuild) {\n const relativeId2 = foundRoute.file.slice(1);\n if (!MicroMatch.contains(relativeId2, onlyBuild)) {\n continue;\n }\n }\n const clientChunk = clientChunksBySource.get(routeModulePath);\n const manifestKey = `${routerRoot}${foundRoute.file.slice(1)}`;\n const clientManifestEntry = vxrnOutput.clientManifest[manifestKey] ?? (clientChunk ? clientManifestByFile.get(clientChunk.fileName) : void 0);\n if (!clientChunk && foundRoute.type !== \"spa\" && foundRoute.type !== \"ssg\") {\n console.warn(`No client chunk found for route: ${routeModulePath}`);\n continue;\n }\n foundRoute.loaderServerPath = serverFileName;\n const relativeId = foundRoute.file.replace(/^\\.\\//, \"/\");\n if (foundRoute.layouts) {\n for (const layout of foundRoute.layouts) {\n const serverPath = layoutServerPaths.get(layout.contextKey);\n if (serverPath) {\n layout.loaderServerPath = serverPath;\n }\n }\n }\n const entryImports = collectImports(clientManifestEntry || {});\n const layoutEntries = foundRoute.layouts?.flatMap((layout) => {\n const clientKey = `${routerRoot}${layout.contextKey.slice(1)}`;\n const found = vxrnOutput.clientManifest[clientKey];\n return found ? found : [];\n }) ?? [];\n const layoutImports = layoutEntries.flatMap((entry) => {\n return [entry.file, ...collectImports(entry)];\n });\n const routePreloads = {};\n const rootLayoutKey = `${routerRoot}/_layout.tsx`;\n const rootLayoutEntry = vxrnOutput.clientManifest[rootLayoutKey];\n if (rootLayoutEntry) {\n routePreloads[`/${rootLayoutKey}`] = `/${rootLayoutEntry.file}`;\n }\n if (foundRoute.layouts) {\n for (const layout of foundRoute.layouts) {\n const clientKey = `${routerRoot}${layout.contextKey.slice(1)}`;\n const entry = vxrnOutput.clientManifest[clientKey];\n if (entry) {\n routePreloads[`/${clientKey}`] = `/${entry.file}`;\n }\n }\n }\n const routeChunkFile = clientChunk?.fileName ?? clientManifestEntry?.file;\n if (routeChunkFile) {\n routePreloads[`/${routerRoot}${foundRoute.file.slice(1)}`] = `/${routeChunkFile}`;\n }\n const preloadSetupFilePreloads = (() => {\n if (!oneOptions.setupFile) return [];\n const clientSetupFile = typeof oneOptions.setupFile === \"string\" ? oneOptions.setupFile : oneOptions.setupFile.client;\n if (!clientSetupFile) return [];\n const needle = clientSetupFile.replace(/^\\.\\//, \"\");\n for (const file in vxrnOutput.clientManifest) {\n if (file === needle) {\n const entry = vxrnOutput.clientManifest[file];\n return [\n entry.file\n // getting 404s for preloading the imports as well?\n // ...(entry.imports as string[])\n ];\n }\n }\n return [];\n })();\n const allPreloads = [\n .../* @__PURE__ */ new Set([\n ...preloadSetupFilePreloads,\n // add the route entry js (like ./app/index.ts) - prefer direct chunk lookup\n ...clientChunk ? [clientChunk.fileName] : clientManifestEntry ? [clientManifestEntry.file] : [],\n // add the virtual entry\n vxrnOutput.clientManifest[\"virtual:one-entry\"].file,\n ...entryImports,\n ...layoutImports\n ])\n ].map((path) => `/${path}`);\n const scriptLoadingMode = oneOptions.web?.experimental_scriptLoading;\n const useDeferredLoading = scriptLoadingMode === \"defer-non-critical\";\n const useAggressiveLCP = scriptLoadingMode === \"after-lcp-aggressive\";\n const needsSeparatedPreloads = useDeferredLoading || useAggressiveLCP;\n const criticalPreloads = needsSeparatedPreloads ? [\n .../* @__PURE__ */ new Set([\n ...preloadSetupFilePreloads,\n // add the virtual entry (framework bootstrap)\n vxrnOutput.clientManifest[\"virtual:one-entry\"].file,\n // add the route entry js (like ./app/index.ts) - prefer direct chunk lookup\n ...clientChunk ? [clientChunk.fileName] : clientManifestEntry ? [clientManifestEntry.file] : [],\n // add layout files (but not their deep imports)\n ...layoutEntries.map((entry) => entry.file)\n ])\n ].map((path) => `/${path}`) : void 0;\n const deferredPreloads = needsSeparatedPreloads ? [\n .../* @__PURE__ */ new Set([\n ...entryImports,\n ...layoutEntries.flatMap((entry) => collectImports(entry))\n ])\n ].filter((path) => !criticalPreloads.includes(`/${path}`)).map((path) => `/${path}`) : void 0;\n const preloads2 = needsSeparatedPreloads ? [...criticalPreloads, ...deferredPreloads] : allPreloads;\n const allEntries = [clientManifestEntry, ...layoutEntries].filter(Boolean);\n const layoutCSS = [\n ...new Set(\n layoutEntries.flatMap((entry) => collectImports(entry, { type: \"css\" })).map((path) => `/${path}`)\n )\n ];\n const allCSS = [\n .../* @__PURE__ */ new Set([\n ...layoutCSS,\n // css from page entry\n ...clientManifestEntry ? collectImports(clientManifestEntry, { type: \"css\" }).map((path) => `/${path}`) : [],\n // root-level css for cssCodeSplit: false (vite emits a single\n // top-level `style.css` entry whose `src` equals `style.css`). when\n // cssCodeSplit is true (default), the manifest also contains a\n // per-component css entry for every chunk that ships any css — those\n // are owned by their JS chunk and must NOT be injected globally, or\n // every SSG page ends up preloading every css chunk in the project\n // (the prod /download was loading 23 stylesheets with editor/IDE\n // chunks despite being a marketing route).\n ...Object.entries(vxrnOutput.clientManifest).filter(([key, entry]) => {\n if (!key.endsWith(\".css\")) return false;\n const src = entry.src;\n return src === \"style.css\";\n }).map(([, entry]) => `/${entry.file}`)\n ])\n ];\n const hasCriticalCSS = allCSS.some((p) => criticalCSSOutputPaths.has(p));\n const needsCSSContents = oneOptions.web?.inlineLayoutCSS || hasCriticalCSS;\n let allCSSContents;\n if (needsCSSContents) {\n allCSSContents = await Promise.all(\n allCSS.map(async (cssPath) => {\n if (!oneOptions.web?.inlineLayoutCSS && !criticalCSSOutputPaths.has(cssPath)) {\n return \"\";\n }\n const cached = cssFileContentsCache.get(cssPath);\n if (cached !== void 0) return cached;\n const filePath = join(clientDir, cssPath);\n try {\n const content = await FSExtra.readFile(filePath, \"utf-8\");\n cssFileContentsCache.set(cssPath, content);\n return content;\n } catch (err) {\n console.warn(`[one] Warning: Could not read CSS file ${filePath}`);\n cssFileContentsCache.set(cssPath, \"\");\n return \"\";\n }\n })\n );\n }\n if (process.env.DEBUG) {\n console.info(\"[one] building routes\", {\n foundRoute,\n layoutEntries,\n allEntries,\n allCSS\n });\n }\n const serverJsPath = posix.join(outDir, \"server\", serverFileName);\n let exported;\n try {\n exported = await getRouteExports(\n vxrnOutput.serverEntry,\n routerRoot,\n foundRoute.file\n );\n } catch (err) {\n console.error(`Error importing page (original error)`, err);\n throw new Error(`Error importing page: ${foundRoute.file}`, {\n cause: err\n });\n }\n foundRoute.hasLoader = typeof exported.loader === \"function\";\n const isDynamic = !!Object.keys(foundRoute.routeKeys).length;\n if (foundRoute.type === \"ssg\" && isDynamic && !foundRoute.page.includes(\"+not-found\") && !foundRoute.page.includes(\"_sitemap\") && !exported.generateStaticParams) {\n throw new Error(`[one] Error: Missing generateStaticParams\n\n Route ${foundRoute.page} of type ${foundRoute.type} must export generateStaticParams so build can complete.\n\n See docs on generateStaticParams:\n https://onestack.dev/docs/routing-exports#generatestaticparams\n\n`);\n }\n const paramsList = await exported.generateStaticParams?.() ?? [{}];\n console.info(`\n [build] page ${relativeId} (with ${paramsList.length} routes)\n`);\n if (process.env.DEBUG) {\n console.info(`paramsList`, JSON.stringify(paramsList, null, 2));\n }\n const routeSitemapExport = exported.sitemap;\n const isAfterLCPMode = scriptLoadingMode === \"after-lcp\" || scriptLoadingMode === \"after-lcp-aggressive\";\n const useAfterLCP = foundRoute.type === \"ssg\" && isAfterLCPMode;\n const useAfterLCPAggressive = foundRoute.type === \"ssg\" && scriptLoadingMode === \"after-lcp-aggressive\";\n const shouldCollectSitemap = foundRoute.type !== \"api\" && foundRoute.type !== \"layout\" && !foundRoute.isNotFound && !foundRoute.page.includes(\"+not-found\") && !foundRoute.page.includes(\"_sitemap\");\n const pageBuilds = paramsList.map((params) => {\n const path = getPathnameFromFilePath(relativeId, params, foundRoute.type === \"ssg\");\n if (workerPool) {\n console.info(` \\u21A6 route ${path}`);\n return workerPool.buildPage({\n serverEntry: vxrnOutput.serverEntry,\n routerRoot,\n path,\n relativeId,\n params,\n foundRoute,\n clientManifestEntry,\n staticDir,\n clientDir,\n builtMiddlewares,\n serverJsPath,\n preloads: preloads2,\n allCSS,\n layoutCSS,\n routePreloads,\n allCSSContents,\n criticalPreloads,\n deferredPreloads,\n useAfterLCP,\n useAfterLCPAggressive\n }).then((built) => ({ built, path }));\n }\n return limit(async () => {\n console.info(` \\u21A6 route ${path}`);\n const built = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n vxrnOutput.serverEntry,\n routerRoot,\n path,\n relativeId,\n params,\n foundRoute,\n clientManifestEntry,\n staticDir,\n clientDir,\n builtMiddlewares,\n serverJsPath,\n preloads2,\n allCSS,\n layoutCSS,\n routePreloads,\n allCSSContents,\n criticalPreloads,\n deferredPreloads,\n useAfterLCP,\n useAfterLCPAggressive\n );\n });\n return { built, path };\n });\n });\n const results = await Promise.all(pageBuilds);\n for (const { built, path } of results) {\n builtRoutes.push(built);\n if (shouldCollectSitemap) {\n sitemapData.push({\n path,\n routeExport: routeSitemapExport\n });\n }\n }\n }\n if (workerPool) {\n await terminateWorkerPool();\n }\n const staticTime = performance.now() - staticStartTime;\n console.info(\n `\n \\u23F1\\uFE0F static routes: ${(staticTime / 1e3).toFixed(2)}s (${builtRoutes.length} pages)\n`\n );\n printBuildTimings();\n await moveAllFiles(staticDir, clientDir);\n await FSExtra.remove(staticDir);\n const routeMap = {};\n const routeToBuildInfo = {};\n const pathToRoute = {};\n const preloads = {};\n const cssPreloads = {};\n const loaders = {};\n let cssContentsByPath;\n for (const route of builtRoutes) {\n if (!route.cleanPath.includes(\"*\")) {\n routeMap[route.cleanPath] = route.htmlPath;\n }\n const {\n // dont include loaderData it can be huge\n loaderData: _loaderData,\n cssContents,\n ...rest\n } = route;\n if (cssContents) {\n const contentsByPath = cssContentsByPath ||= {};\n route.css.forEach((cssPath, index) => {\n const content = cssContents[index];\n if (content) contentsByPath[cssPath] = content;\n });\n }\n routeToBuildInfo[route.routeFile] = rest;\n for (const p of getCleanPaths([route.path, route.cleanPath])) {\n pathToRoute[p] = route.routeFile;\n }\n preloads[route.preloadPath] = true;\n cssPreloads[route.cssPreloadPath] = true;\n loaders[route.loaderPath] = true;\n }\n function createBuildManifestRoute(route) {\n const { layouts, ...built } = route;\n if (layouts?.length) {\n ;\n built.layouts = layouts.map((layout) => ({\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath\n }));\n }\n const buildInfo = builtRoutes.find((x) => x.routeFile === route.file);\n if (built.middlewares) {\n for (const [index, mw] of built.middlewares.entries()) {\n const viaBuildInfo = buildInfo?.middlewares?.[index];\n if (viaBuildInfo) {\n mw.contextKey = viaBuildInfo;\n continue;\n }\n const viaMiddlewareMap = builtMiddlewares[mw.contextKey];\n if (viaMiddlewareMap) {\n mw.contextKey = viaMiddlewareMap;\n }\n }\n }\n if (buildInfo) {\n built.loaderPath = buildInfo.loaderPath;\n }\n return built;\n }\n const buildInfoForWriting = {\n outDir,\n oneOptions,\n routeToBuildInfo,\n cssContentsByPath,\n pathToRoute,\n manifest: {\n pageRoutes: manifest.pageRoutes.map(createBuildManifestRoute),\n apiRoutes: manifest.apiRoutes.map(createBuildManifestRoute),\n allRoutes: manifest.allRoutes.map(createBuildManifestRoute)\n },\n routeMap,\n constants: JSON.parse(JSON.stringify({ ...constants })),\n preloads,\n cssPreloads,\n loaders,\n useRolldown: await isRolldown()\n };\n await writeJSON(toAbsolute(`${outDir}/buildInfo.json`), buildInfoForWriting);\n await writeBuildOutputPointer(outDir);\n await FSExtra.writeFile(\n join(clientDir, \"version.json\"),\n JSON.stringify({ version: constants.CACHE_KEY })\n );\n console.info(`\n \\u{1F6E1} skew protection: emitted version.json\n`);\n const sitemapConfig = oneOptions.web?.sitemap;\n if (sitemapConfig) {\n const sitemapOptions = typeof sitemapConfig === \"boolean\" ? {} : sitemapConfig;\n const sitemapXml = generateSitemap(sitemapData, sitemapOptions);\n const sitemapPath = join(clientDir, \"sitemap.xml\");\n await FSExtra.writeFile(sitemapPath, sitemapXml);\n console.info(`\n \\u{1F4C4} generated sitemap.xml (${sitemapData.length} URLs)\n`);\n }\n const postBuildLogs = [];\n const platform = deployConfig?.target;\n if (platform) {\n postBuildLogs.push(`[one.build] platform ${platform}`);\n }\n switch (platform) {\n case \"vercel\": {\n const vercelJsonPath = join(options.root, \"vercel.json\");\n if (FSExtra.existsSync(vercelJsonPath)) {\n try {\n const vercelConfig = JSON.parse(FSExtra.readFileSync(vercelJsonPath, \"utf-8\"));\n if (!vercelConfig.cleanUrls) {\n console.warn(`\n \\u26A0\\uFE0F Warning: Your vercel.json is missing \"cleanUrls\": true`);\n console.warn(` Without this, direct navigation to SSG pages will 404.`);\n console.warn(` Add \"cleanUrls\": true to your vercel.json to fix this.\n`);\n }\n } catch {\n }\n }\n await buildVercelOutputDirectory({\n apiOutput,\n buildInfoForWriting,\n clientDir,\n oneOptionsRoot: options.root,\n postBuildLogs\n });\n break;\n }\n case \"cloudflare\": {\n const workerSrcDir = join(options.root, outDir);\n const getWorkerSourceImportPath = (routeFile) => {\n const importPath = normalizePath(\n relative(workerSrcDir, join(options.root, routerRoot, routeFile))\n );\n return importPath.startsWith(\".\") ? importPath : `./${importPath}`;\n };\n const apiRouteMap = [];\n const middlewareRouteMap = [];\n for (const route of buildInfoForWriting.manifest.apiRoutes) {\n if (route.file) {\n const importPath = getWorkerSourceImportPath(route.file);\n apiRouteMap.push(` '${route.page}': () => import('${importPath}')`);\n }\n }\n for (const [sourceFile, builtPath] of Object.entries(builtMiddlewares)) {\n const importPath = getWorkerSourceImportPath(sourceFile);\n middlewareRouteMap.push(` '${builtPath}': () => import('${importPath}')`);\n }\n const workerSrcPath = join(options.root, outDir, \"_worker-src.js\");\n const workerCode = `// Polyfill MessageChannel for React SSR (not available in Cloudflare Workers by default)\nif (typeof MessageChannel === 'undefined') {\n globalThis.MessageChannel = class MessageChannel {\n constructor() {\n this.port1 = { postMessage: () => {}, onmessage: null, close: () => {} }\n this.port2 = { postMessage: () => {}, onmessage: null, close: () => {} }\n }\n }\n}\n\nimport { serve, setFetchStaticHtml, withRange } from 'one/serve-worker'\n\n// Lazy import map - modules load on-demand when route is matched\nconst lazyRoutes = {\n serverEntry: () => import('./server/_virtual_one-entry.js'),\n api: {\n${apiRouteMap.join(\",\\n\")}\n },\n middlewares: {\n${middlewareRouteMap.join(\",\\n\")}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfoForWriting)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n if (!server) {\n server = await serve(buildInfo, lazyRoutes)\n }\n\n // set up static HTML fetcher for this request (uses ASSETS binding)\n if (env.ASSETS) {\n setFetchStaticHtml(async (path) => {\n try {\n const url = new URL(request.url)\n url.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(url))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch (e) {\n // asset not found\n }\n return null\n })\n }\n\n try {\n const response = await server.fetch(request, env, ctx)\n\n // no route matched or 404 \\u2192 try static assets\n if (!response || response.status === 404) {\n if (env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return await withRange(request, assetResponse)\n }\n } catch (e) {\n // asset not found, continue with original response\n }\n }\n }\n\n return response\n } finally {\n setFetchStaticHtml(null)\n }\n }\n}\n`;\n await FSExtra.writeFile(workerSrcPath, workerCode);\n const projectName = await getCloudflareProjectName(options.root);\n const userWranglerConfig = await loadUserWranglerConfig(options.root);\n const wranglerInputConfig = createCloudflareWranglerConfig(\n projectName,\n userWranglerConfig?.config\n );\n wranglerInputConfig.main = normalizePath(\n relative(join(options.root, outDir), workerSrcPath)\n );\n const wranglerInputPath = join(options.root, outDir, \"_wrangler.input.jsonc\");\n await FSExtra.writeFile(\n wranglerInputPath,\n `${JSON.stringify(wranglerInputConfig, null, 2)}\n`\n );\n const ssrExternal = viteLoadedConfig?.config?.ssr?.external;\n const workerExternals = Array.isArray(ssrExternal) ? ssrExternal : [];\n console.info(\"\\n [cloudflare] Bundling worker...\");\n const { cloudflare } = await import(\"@cloudflare/vite-plugin\");\n const builder = await createBuilder({\n root: options.root,\n mode: \"production\",\n logLevel: \"warn\",\n configFile: false,\n define: {\n \"process.env.NODE_ENV\": JSON.stringify(\"production\"),\n \"process.env.VITE_ENVIRONMENT\": JSON.stringify(\"ssr\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(constants.CACHE_KEY)\n },\n plugins: [\n // the cloudflare worker IS a server, but this build runs with\n // configFile:false so the user vite.config (where the user-level\n // `one()` plugin registers environmentGuardPlugin via vite.config)\n // doesn't apply. register the guard plugin directly here so\n // `import 'server-only'` resolves to an empty module in the\n // worker bundle instead of inlining the package's throwing\n // index.js — which would crash the deployed worker on the first\n // /api request that loads any server-only-importing module.\n environmentGuardPlugin(oneOptions.environmentGuards),\n cloudflare({\n configPath: wranglerInputPath,\n viteEnvironment: { name: \"worker\" }\n })\n ],\n resolve: {\n alias: [\n // rolldown can't parse react-native's Flow syntax; alias to react-native-web for ssr\n {\n find: /^react-native\\/Libraries\\/.*/,\n replacement: resolvePath(\"@vxrn/utils/empty\", options.root)\n },\n {\n // react native 0.87 removed @react-native/assets-registry, but libraries\n // like react-native-svg still import its registry\n find: /^(react-native\\/asset-registry|@react-native\\/assets-registry\\/registry)$/,\n replacement: \"react-native-web/dist/modules/AssetRegistry\"\n },\n {\n find: \"react-native/package.json\",\n replacement: \"react-native-web/package.json\"\n },\n {\n find: \"react-native\",\n replacement: \"react-native-web\"\n },\n ...Object.entries(absorbedPackageAliases(options.root, \"web\")).map(\n ([find, replacement]) => ({ find, replacement })\n )\n ],\n // the aliases name react-native-web by package, so it resolves from\n // the app root only once something imports react-native: an app\n // with no react-native imports needs no react-native-web.\n dedupe: [\"react-native-web\"]\n },\n build: {\n outDir,\n emptyOutDir: false,\n rolldownOptions: {\n // packages the app keeps out of its ssr bundle (native bindings\n // used only by build-time loaders) stay out of the worker too\n external: workerExternals,\n // Match the main web build behavior so RN packages that import\n // native-only symbols from react-native can still bundle against\n // the react-native-web alias in the worker graph.\n shimMissingExports: true,\n // cloudflare's module worker can contain circular shared chunks\n // when one package is used by both browser-facing SSR code and API\n // routes. preserve source import order so a dependent chunk cannot\n // evaluate against partially initialized exports.\n output: {\n strictExecutionOrder: true\n }\n }\n }\n });\n const workerEnv = builder.environments.worker;\n if (!workerEnv) {\n throw new Error('[one] plugin did not register \"worker\" environment');\n }\n await builder.build(workerEnv);\n await FSExtra.remove(workerSrcPath);\n await FSExtra.remove(wranglerInputPath);\n await finalizeCloudflareWranglerDeployConfig(\n join(options.root, outDir, \"worker\", \"wrangler.json\")\n );\n if (userWranglerConfig) {\n console.info(\n ` [cloudflare] Merging ${relative(options.root, userWranglerConfig.path)} into ${outDir}/worker/wrangler.json`\n );\n }\n postBuildLogs.push(`Cloudflare worker bundled at ${outDir}/worker/index.js`);\n postBuildLogs.push(`To deploy: wrangler deploy`);\n break;\n }\n }\n const securityScanOption = oneOptions.build?.securityScan;\n const securityScanLevel = securityScanOption === false ? null : securityScanOption === true || securityScanOption === void 0 ? \"warn\" : typeof securityScanOption === \"string\" ? securityScanOption : securityScanOption.level ?? \"warn\";\n const securitySafePatterns = typeof securityScanOption === \"object\" && securityScanOption !== null ? securityScanOption.safePatterns : void 0;\n if (securityScanLevel) {\n const { runSecurityScan } = await import(\"./securityScan\");\n const passed = await runSecurityScan(\n clientDir,\n securityScanLevel,\n securitySafePatterns\n );\n if (!passed) {\n process.exit(1);\n }\n }\n if (postBuildLogs.length) {\n console.info(`\n\n`);\n postBuildLogs.forEach((log) => {\n console.info(` \\xB7 ${log}`);\n });\n }\n console.info(`\n \\u{1F49B} build complete\n`);\n}\nconst TRAILING_INDEX_REGEX = /\\/index(\\.(web))?/;\nfunction getCleanPaths(possiblePaths) {\n return Array.from(\n new Set(\n Array.from(new Set(possiblePaths)).flatMap((p) => {\n const paths = [p];\n if (p.match(TRAILING_INDEX_REGEX)) {\n const pathWithTrailingIndexRemoved = p.replace(TRAILING_INDEX_REGEX, \"\");\n paths.push(pathWithTrailingIndexRemoved);\n paths.push(pathWithTrailingIndexRemoved + \"/\");\n }\n return paths;\n })\n )\n );\n}\nasync function moveAllFiles(src, dest) {\n try {\n await FSExtra.copy(src, dest, { overwrite: true, errorOnExist: false });\n } catch (err) {\n console.error(\"Error moving files:\", err);\n }\n}\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","names":["vxrnBuild","viteBuild"],"sources":["esm/cli/build.js"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { cpus } from \"node:os\";\nimport Path, { join, posix, relative, resolve } from \"node:path\";\nimport { resolvePath } from \"@vxrn/resolve\";\nimport FSExtra from \"fs-extra\";\nimport MicroMatch from \"micromatch\";\nimport {\n createBuilder,\n mergeConfig,\n normalizePath,\n build as viteBuild\n} from \"vite\";\nimport {\n getOptimizeDeps,\n rollupRemoveUnusedImportsPlugin,\n build as vxrnBuild\n} from \"vxrn\";\nimport * as constants from \"../constants\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nimport { environmentGuardPlugin } from \"../vite/plugins/environmentGuardPlugin\";\nimport { writeBuildOutputPointer } from \"../utils/buildOutputPointer\";\nimport { getPathnameFromFilePath } from \"../utils/getPathnameFromFilePath\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isRolldown } from \"../utils/isRolldown\";\nimport { toAbsolute } from \"../utils/toAbsolute\";\nimport { buildVercelOutputDirectory } from \"../vercel/build/buildVercelOutputDirectory\";\nimport {\n createCloudflareWranglerConfig,\n getCloudflareProjectName,\n isPlainObject,\n loadUserWranglerConfig\n} from \"../vite/cloudflareWranglerConfig\";\nimport { getManifest } from \"../vite/getManifest\";\nimport { loadUserOneOptions } from \"../vite/loadConfig\";\nimport { runWithAsyncLocalContext } from \"../vite/one-server-only\";\nimport { buildPage, printBuildTimings } from \"./buildPage\";\nimport { checkNodeVersion } from \"./checkNodeVersion\";\nimport { getWorkerPool, terminateWorkerPool } from \"./workerPool\";\nimport { generateSitemap } from \"./generateSitemap\";\nimport { labelProcess } from \"./label-process\";\nimport { getRouteExports } from \"./serverRouteModules\";\nimport { pLimit } from \"../utils/pLimit\";\nimport { getCriticalCSSOutputPaths } from \"../vite/plugins/criticalCSSPlugin\";\nimport { absorbedPackageAliases } from \"../utils/absorbedPackages\";\nimport {\n formatErrorSafely,\n installPrepareStackTraceGuard\n} from \"./install-error-handlers\";\nconst { ensureDir, writeJSON } = FSExtra;\nfunction normalizeDeploy(deploy) {\n if (!deploy) return void 0;\n if (typeof deploy === \"string\") return { target: deploy };\n return deploy;\n}\nconst CLOUDFLARE_DEPLOY_WRANGLER_RULES = [\n { type: \"ESModule\", globs: [\"assets/**/*.js\", \"assets/**/*.mjs\"] }\n];\nfunction omitEmptyJsonValues(value) {\n if (Array.isArray(value)) {\n const items = value.map((item) => omitEmptyJsonValues(item)).filter((item) => item !== void 0);\n return items.length > 0 ? items : void 0;\n }\n if (isPlainObject(value)) {\n const entries = Object.entries(value).map(([key, item]) => [key, omitEmptyJsonValues(item)]).filter((entry) => entry[1] !== void 0);\n return entries.length > 0 ? Object.fromEntries(entries) : void 0;\n }\n return value;\n}\nasync function finalizeCloudflareWranglerDeployConfig(configPath) {\n const parsed = JSON.parse(await FSExtra.readFile(configPath, \"utf-8\"));\n if (!isPlainObject(parsed)) {\n throw new Error(\n `Expected ${relative(process.cwd(), configPath)} to contain a JSON object`\n );\n }\n parsed.rules = CLOUDFLARE_DEPLOY_WRANGLER_RULES;\n const config = omitEmptyJsonValues(parsed);\n if (!isPlainObject(config)) {\n throw new Error(\n `Expected ${relative(process.cwd(), configPath)} to contain deploy config`\n );\n }\n await FSExtra.writeFile(configPath, `${JSON.stringify(config, null, 2)}\n`);\n}\nprocess.env.ONE_CACHE_KEY = constants.CACHE_KEY;\nfunction shouldUseWorkers(oneOptions) {\n if (process.env.ONE_BUILD_WORKERS === \"0\") return false;\n if (process.env.ONE_BUILD_WORKERS === \"1\") return true;\n return oneOptions?.build?.workers !== false;\n}\ninstallPrepareStackTraceGuard();\nlet buildErrorHandlersInstalled = false;\nfunction installBuildErrorHandlers() {\n if (buildErrorHandlersInstalled) return;\n buildErrorHandlersInstalled = true;\n process.on(\"uncaughtException\", (err) => {\n try {\n process.stderr.write(`[one build] uncaught exception\n${formatErrorSafely(err)}\n`);\n } catch {\n }\n process.exit(1);\n });\n process.on(\"unhandledRejection\", (reason) => {\n try {\n process.stderr.write(\n `[one build] unhandled rejection\n${formatErrorSafely(reason)}\n`\n );\n } catch {\n }\n process.exit(1);\n });\n}\nconst HOOK_KEYS = [\n \"resolveId\",\n \"load\",\n \"transform\",\n \"renderChunk\",\n \"generateBundle\",\n \"writeBundle\",\n \"buildStart\",\n \"buildEnd\",\n \"moduleParsed\"\n];\nfunction clonePluginHooks(config) {\n if (!config.plugins) return config;\n return {\n ...config,\n plugins: config.plugins.map((p) => {\n if (!p || typeof p !== \"object\") return p;\n const cloned = { ...p };\n for (const key of HOOK_KEYS) {\n if (cloned[key] && typeof cloned[key] === \"object\" && \"handler\" in cloned[key]) {\n cloned[key] = { ...cloned[key] };\n }\n }\n return cloned;\n })\n };\n}\nasync function build(args) {\n installBuildErrorHandlers();\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`\n );\n }\n labelProcess(\"build\");\n checkNodeVersion();\n setServerGlobals();\n const { oneOptions, config: viteLoadedConfig } = await loadUserOneOptions(\"build\");\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\n const configuredBuildConcurrency = process.env.ONE_BUILD_CONCURRENCY ?? oneOptions.build?.concurrency;\n const buildConcurrency = configuredBuildConcurrency === void 0 ? Math.max(1, Math.min(cpus().length, 2)) : Number(configuredBuildConcurrency);\n if (!Number.isInteger(buildConcurrency) || buildConcurrency < 1) {\n throw new Error(\n `build.concurrency must be a positive integer, received ${JSON.stringify(\n configuredBuildConcurrency\n )}`\n );\n }\n if (oneOptions.web?.defaultRenderMode) {\n process.env.ONE_DEFAULT_RENDER_MODE = oneOptions.web.defaultRenderMode;\n }\n const deployConfig = normalizeDeploy(oneOptions.web?.deploy);\n if (!process.env.ONE_SERVER_URL && deployConfig) {\n const url = deployConfig.url ?? (deployConfig.target === \"cloudflare\" ? `https://${await getCloudflareProjectName(process.cwd())}.workers.dev` : void 0);\n if (url) {\n process.env.ONE_SERVER_URL = url;\n console.info(`\n \\u2601\\uFE0F ONE_SERVER_URL: ${url}\n`);\n }\n }\n const outDir = viteLoadedConfig?.config?.build?.outDir ?? \"dist\";\n const manifest = getManifest({\n routerRoot,\n ignoredRouteFiles: oneOptions.router?.ignoredRouteFiles\n });\n const serverOutputFormat = oneOptions.build?.server === false ? \"esm\" : oneOptions.build?.server?.outputFormat ?? \"esm\";\n const buildStartTime = performance.now();\n const vxrnOutput = await vxrnBuild(\n {\n skipEnv: args.skipEnv ?? oneOptions.skipEnv,\n server: oneOptions.server,\n build: {\n analyze: true,\n server: oneOptions.build?.server === false ? false : {\n outputFormat: serverOutputFormat\n }\n }\n },\n args\n );\n const bundleTime = performance.now() - buildStartTime;\n console.info(`\n \\u23F1\\uFE0F vite bundle: ${(bundleTime / 1e3).toFixed(2)}s\n`);\n if (!vxrnOutput || args.platform !== \"web\") {\n return;\n }\n const { options } = vxrnOutput;\n const { optimizeDeps } = getOptimizeDeps(\"build\");\n const { rolldownOptions: _rolldownOptions, ...optimizeDepsNoRolldown } = optimizeDeps;\n const serverOpts = oneOptions.build?.server;\n const isUnified = typeof serverOpts === \"object\" && serverOpts !== null && serverOpts.unified === true;\n let baseForApi = isUnified ? clonePluginHooks(vxrnOutput.serverBuildConfig ?? vxrnOutput.webBuildConfig) : clonePluginHooks(vxrnOutput.webBuildConfig);\n if (isUnified) {\n const clone = {\n ...baseForApi,\n build: baseForApi.build ? { ...baseForApi.build } : void 0,\n plugins: baseForApi.plugins ? baseForApi.plugins.filter(\n (p) => p && typeof p === \"object\" && p.name !== \"omit-api-routes\"\n ) : void 0\n };\n if (clone.build && clone.build.rolldownOptions) {\n const ro = { ...clone.build.rolldownOptions };\n delete ro.input;\n clone.build.rolldownOptions = ro;\n }\n if (clone.build) {\n delete clone.build.outDir;\n }\n baseForApi = clone;\n }\n const apiBuildConfig = mergeConfig(baseForApi, {\n configFile: false,\n appType: \"custom\",\n optimizeDeps: optimizeDepsNoRolldown,\n environments: {\n client: {\n optimizeDeps: { rolldownOptions: _rolldownOptions }\n }\n }\n });\n async function buildCustomRoutes(subFolder, routes) {\n const input = routes.reduce((entries, { page, file }) => {\n entries[page.slice(1) + \".js\"] = join(routerRoot, file);\n return entries;\n }, {});\n const outputFormat = oneOptions?.build?.api?.outputFormat ?? serverOutputFormat;\n const treeshake = oneOptions?.build?.api?.treeshake;\n const mergedConfig = mergeConfig(apiBuildConfig, {\n appType: \"custom\",\n configFile: false,\n define: vxrnOutput.processEnvDefines,\n ssr: isUnified ? {\n // in unified mode let the base (serverBuildConfig) set ssr.noExternal\n // — default is now ['react', 'react-dom'] instead of `true`, so\n // rolldown can externalize the rest.\n optimizeDeps: optimizeDepsNoRolldown\n } : {\n noExternal: true,\n external: [\"react\", \"react-dom\"],\n optimizeDeps: optimizeDepsNoRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: { rolldownOptions: _rolldownOptions }\n }\n },\n build: {\n ssr: true,\n emptyOutDir: false,\n outDir: `${outDir}/${subFolder}`,\n copyPublicDir: false,\n minify: false,\n rolldownOptions: {\n treeshake: treeshake ?? {\n moduleSideEffects: false\n },\n plugins: [\n // otherwise rollup is leaving commonjs-only top level imports...\n outputFormat === \"esm\" ? rollupRemoveUnusedImportsPlugin : null\n ].filter(Boolean),\n // too many issues\n // treeshake: {\n // moduleSideEffects: false,\n // },\n // prevents it from shaking out the exports\n preserveEntrySignatures: \"strict\",\n input,\n // in unified mode, inherit externals from serverBuildConfig (user\n // ssr.external / rolldownOptions.external). the legacy path resets\n // them to [] so per-route files bundle everything.\n ...isUnified ? {} : { external: [] },\n output: {\n entryFileNames: \"[name]\",\n exports: \"auto\",\n ...outputFormat === \"esm\" ? {\n format: \"esm\",\n esModule: true\n } : {\n format: \"cjs\",\n // Preserve folder structure and use .cjs extension\n entryFileNames: (chunkInfo) => {\n const name = chunkInfo.name.replace(/\\.js$/, \".cjs\");\n return name;\n },\n chunkFileNames: (chunkInfo) => {\n const chunkName = normalizePath(chunkInfo.name);\n const dir = posix.dirname(chunkName);\n const name = posix.basename(chunkName, posix.extname(chunkName));\n return posix.join(dir, `${name}-[hash].cjs`);\n },\n assetFileNames: (assetInfo) => {\n const assetName = normalizePath(assetInfo.name ?? \"\");\n const dir = posix.dirname(assetName);\n const baseName = posix.basename(assetName, posix.extname(assetName));\n const ext = posix.extname(assetName);\n return posix.join(dir, `${baseName}-[hash]${ext}`);\n }\n }\n }\n }\n }\n });\n const userApiBuildConf = oneOptions.build?.api?.config;\n const finalApiBuildConf = userApiBuildConf ? mergeConfig(mergedConfig, userApiBuildConf) : mergedConfig;\n const output = await viteBuild(\n // allow user merging api build config\n finalApiBuildConf\n );\n return output;\n }\n const builtMiddlewares = {};\n const apiPromise = manifest.apiRoutes.length ? (console.info(`\n \\u{1F528} build api routes\n`), buildCustomRoutes(\"api\", manifest.apiRoutes)) : Promise.resolve(null);\n const middlewarePromise = manifest.middlewareRoutes.length ? (console.info(`\n \\u{1F528} build middlewares\n`), buildCustomRoutes(\"middlewares\", manifest.middlewareRoutes)) : Promise.resolve(null);\n const [apiOutput, middlewareBuildInfo] = await Promise.all([\n apiPromise,\n middlewarePromise\n ]);\n if (middlewareBuildInfo) {\n for (const middleware of manifest.middlewareRoutes) {\n const absoluteRoot = resolve(process.cwd(), options.root);\n const fullPath = normalizePath(join(absoluteRoot, routerRoot, middleware.file));\n const outChunks = middlewareBuildInfo.output.filter((x) => x.type === \"chunk\");\n const chunk = outChunks.find((x) => x.facadeModuleId === fullPath);\n if (!chunk) throw new Error(`internal err finding middleware`);\n builtMiddlewares[middleware.file] = posix.join(\n outDir,\n \"middlewares\",\n chunk.fileName\n );\n }\n }\n globalThis[\"require\"] = createRequire(import.meta.dirname + \"/\");\n const assets = [];\n const builtRoutes = [];\n const sitemapData = [];\n const collectImportsCache = /* @__PURE__ */ new Map();\n const collectImportsInFlight = /* @__PURE__ */ new Set();\n const cssFileContentsCache = /* @__PURE__ */ new Map();\n const criticalCSSOutputPaths = getCriticalCSSOutputPaths(vxrnOutput.clientManifest);\n const limit = pLimit(buildConcurrency);\n const useWorkers = shouldUseWorkers(oneOptions);\n const workerPool = useWorkers ? getWorkerPool(buildConcurrency) : null;\n if (workerPool) {\n const serializableOptions = JSON.parse(\n JSON.stringify(\n oneOptions,\n (_key, value) => typeof value === \"function\" ? void 0 : value\n )\n );\n await workerPool.initialize(serializableOptions);\n }\n const staticStartTime = performance.now();\n const modeLabel = useWorkers ? `workers: ${workerPool?.size}` : `concurrency: ${buildConcurrency}`;\n console.info(`\n \\u{1F528} build static routes (${modeLabel})\n`);\n const staticDir = join(`${outDir}/static`);\n const clientDir = join(`${outDir}/client`);\n await ensureDir(staticDir);\n if (!vxrnOutput.serverOutput) {\n throw new Error(`No server output`);\n }\n const clientChunksBySource = /* @__PURE__ */ new Map();\n if (vxrnOutput.clientOutput) {\n for (const chunk of vxrnOutput.clientOutput) {\n if (chunk.type !== \"chunk\") continue;\n const info = { fileName: chunk.fileName, imports: chunk.imports || [] };\n for (const moduleId of chunk.moduleIds ?? []) {\n clientChunksBySource.set(moduleId, info);\n }\n }\n for (const chunk of vxrnOutput.clientOutput) {\n if (chunk.type !== \"chunk\" || !chunk.facadeModuleId) continue;\n clientChunksBySource.set(chunk.facadeModuleId, {\n fileName: chunk.fileName,\n imports: chunk.imports || []\n });\n }\n }\n const clientManifestByFile = /* @__PURE__ */ new Map();\n for (const entry of Object.values(vxrnOutput.clientManifest)) {\n if (entry.file) {\n clientManifestByFile.set(entry.file, entry);\n }\n }\n const outputEntries = [...vxrnOutput.serverOutput.entries()];\n const layoutServerPaths = /* @__PURE__ */ new Map();\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") continue;\n const id = output.facadeModuleId || \"\";\n const file = Path.basename(id);\n if (file.startsWith(\"_layout\") && id.includes(`/${routerRoot}/`)) {\n const relativePath = normalizePath(relative(process.cwd(), id)).replace(\n `${routerRoot}/`,\n \"\"\n );\n const contextKey = `./${relativePath}`;\n layoutServerPaths.set(contextKey, output.fileName);\n }\n }\n const routeByPath = /* @__PURE__ */ new Map();\n for (const route of manifest.pageRoutes) {\n if (route.file) {\n const routePath = `${routerRoot}${route.file.slice(1)}`;\n routeByPath.set(routePath, route);\n }\n }\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") {\n assets.push(output);\n }\n }\n const moduleIdToServerChunk = /* @__PURE__ */ new Map();\n for (const [, output] of outputEntries) {\n if (output.type === \"asset\") continue;\n const moduleIds = output.moduleIds || (output.facadeModuleId ? [output.facadeModuleId] : []);\n for (const moduleId of moduleIds) {\n moduleIdToServerChunk.set(moduleId, output.fileName);\n if (moduleId.includes(\"?one-spa-build\")) {\n moduleIdToServerChunk.set(\n moduleId.slice(0, moduleId.indexOf(\"?\")),\n output.fileName\n );\n }\n }\n }\n for (const foundRoute of manifest.pageRoutes) {\n let collectImports = function(entry, { type = \"js\" } = {}) {\n const { imports = [], css } = entry;\n const cacheKey = `${entry.file || imports.join(\",\")}:${type}`;\n const cached = collectImportsCache.get(cacheKey);\n if (cached) return cached;\n if (collectImportsInFlight.has(cacheKey)) return [];\n collectImportsInFlight.add(cacheKey);\n const result = [\n ...new Set(\n [\n ...type === \"js\" ? imports : css || [],\n ...imports.flatMap((name) => {\n const found = vxrnOutput.clientManifest[name];\n if (!found) {\n console.warn(`No found imports`, name, vxrnOutput.clientManifest);\n }\n return collectImports(found, { type });\n })\n ].flat().filter((x) => x && (type === \"css\" || x.endsWith(\".js\"))).map(\n (x) => type === \"css\" ? x : x.startsWith(\"assets/\") ? x : `assets/${x.slice(1)}`\n )\n )\n ];\n collectImportsInFlight.delete(cacheKey);\n collectImportsCache.set(cacheKey, result);\n return result;\n };\n if (!foundRoute.file) {\n continue;\n }\n const routeModulePath = normalizePath(\n join(resolve(process.cwd(), options.root), routerRoot, foundRoute.file.slice(2))\n );\n const serverFileName = moduleIdToServerChunk.get(routeModulePath);\n if (!serverFileName) {\n if (foundRoute.type === \"spa\") {\n throw new Error(\n `[one] No build-only server chunk for SPA route: ${foundRoute.file}`\n );\n }\n console.warn(`[one] No server chunk found for route: ${foundRoute.file}`);\n continue;\n }\n const onlyBuild = vxrnOutput.buildArgs?.only;\n if (onlyBuild) {\n const relativeId2 = foundRoute.file.slice(1);\n if (!MicroMatch.contains(relativeId2, onlyBuild)) {\n continue;\n }\n }\n const clientChunk = clientChunksBySource.get(routeModulePath);\n const manifestKey = `${routerRoot}${foundRoute.file.slice(1)}`;\n const clientManifestEntry = vxrnOutput.clientManifest[manifestKey] ?? (clientChunk ? clientManifestByFile.get(clientChunk.fileName) : void 0);\n if (!clientChunk && foundRoute.type !== \"spa\" && foundRoute.type !== \"ssg\") {\n console.warn(`No client chunk found for route: ${routeModulePath}`);\n continue;\n }\n foundRoute.loaderServerPath = serverFileName;\n const relativeId = foundRoute.file.replace(/^\\.\\//, \"/\");\n if (foundRoute.layouts) {\n for (const layout of foundRoute.layouts) {\n const serverPath = layoutServerPaths.get(layout.contextKey);\n if (serverPath) {\n layout.loaderServerPath = serverPath;\n }\n }\n }\n const entryImports = collectImports(clientManifestEntry || {});\n const layoutEntries = foundRoute.layouts?.flatMap((layout) => {\n const clientKey = `${routerRoot}${layout.contextKey.slice(1)}`;\n const found = vxrnOutput.clientManifest[clientKey];\n return found ? found : [];\n }) ?? [];\n const layoutImports = layoutEntries.flatMap((entry) => {\n return [entry.file, ...collectImports(entry)];\n });\n const routePreloadKeys = /* @__PURE__ */ new Set();\n const rootLayoutKey = `${routerRoot}/_layout.tsx`;\n if (vxrnOutput.clientManifest[rootLayoutKey]) {\n routePreloadKeys.add(`/${rootLayoutKey}`);\n }\n if (foundRoute.layouts) {\n for (const layout of foundRoute.layouts) {\n const clientKey = `${routerRoot}${layout.contextKey.slice(1)}`;\n if (vxrnOutput.clientManifest[clientKey]) {\n routePreloadKeys.add(`/${clientKey}`);\n }\n }\n }\n if (clientChunk || clientManifestEntry) {\n routePreloadKeys.add(`/${routerRoot}${foundRoute.file.slice(1)}`);\n }\n const routePreloads = [...routePreloadKeys];\n const preloadSetupFilePreloads = (() => {\n if (!oneOptions.setupFile) return [];\n const clientSetupFile = typeof oneOptions.setupFile === \"string\" ? oneOptions.setupFile : oneOptions.setupFile.client;\n if (!clientSetupFile) return [];\n const needle = clientSetupFile.replace(/^\\.\\//, \"\");\n for (const file in vxrnOutput.clientManifest) {\n if (file === needle) {\n const entry = vxrnOutput.clientManifest[file];\n return [\n entry.file\n // getting 404s for preloading the imports as well?\n // ...(entry.imports as string[])\n ];\n }\n }\n return [];\n })();\n const allPreloads = [\n .../* @__PURE__ */ new Set([\n ...preloadSetupFilePreloads,\n // add the route entry js (like ./app/index.ts) - prefer direct chunk lookup\n ...clientChunk ? [clientChunk.fileName] : clientManifestEntry ? [clientManifestEntry.file] : [],\n // add the virtual entry\n vxrnOutput.clientManifest[\"virtual:one-entry\"].file,\n ...entryImports,\n ...layoutImports\n ])\n ].map((path) => `/${path}`);\n const scriptLoadingMode = oneOptions.web?.experimental_scriptLoading;\n const useDeferredLoading = scriptLoadingMode === \"defer-non-critical\";\n const useAggressiveLCP = scriptLoadingMode === \"after-lcp-aggressive\";\n const needsSeparatedPreloads = useDeferredLoading || useAggressiveLCP;\n const criticalPreloads = needsSeparatedPreloads ? [\n .../* @__PURE__ */ new Set([\n ...preloadSetupFilePreloads,\n // add the virtual entry (framework bootstrap)\n vxrnOutput.clientManifest[\"virtual:one-entry\"].file,\n // add the route entry js (like ./app/index.ts) - prefer direct chunk lookup\n ...clientChunk ? [clientChunk.fileName] : clientManifestEntry ? [clientManifestEntry.file] : [],\n // add layout files (but not their deep imports)\n ...layoutEntries.map((entry) => entry.file)\n ])\n ].map((path) => `/${path}`) : void 0;\n const deferredPreloads = needsSeparatedPreloads ? [\n .../* @__PURE__ */ new Set([\n ...entryImports,\n ...layoutEntries.flatMap((entry) => collectImports(entry))\n ])\n ].filter((path) => !criticalPreloads.includes(`/${path}`)).map((path) => `/${path}`) : void 0;\n const preloads2 = needsSeparatedPreloads ? [...criticalPreloads, ...deferredPreloads] : allPreloads;\n const allEntries = [clientManifestEntry, ...layoutEntries].filter(Boolean);\n const layoutCSS = [\n ...new Set(\n layoutEntries.flatMap((entry) => collectImports(entry, { type: \"css\" })).map((path) => `/${path}`)\n )\n ];\n const allCSS = [\n .../* @__PURE__ */ new Set([\n ...layoutCSS,\n // css from page entry\n ...clientManifestEntry ? collectImports(clientManifestEntry, { type: \"css\" }).map((path) => `/${path}`) : [],\n // root-level css for cssCodeSplit: false (vite emits a single\n // top-level `style.css` entry whose `src` equals `style.css`). when\n // cssCodeSplit is true (default), the manifest also contains a\n // per-component css entry for every chunk that ships any css — those\n // are owned by their JS chunk and must NOT be injected globally, or\n // every SSG page ends up preloading every css chunk in the project\n // (the prod /download was loading 23 stylesheets with editor/IDE\n // chunks despite being a marketing route).\n ...Object.entries(vxrnOutput.clientManifest).filter(([key, entry]) => {\n if (!key.endsWith(\".css\")) return false;\n const src = entry.src;\n return src === \"style.css\";\n }).map(([, entry]) => `/${entry.file}`)\n ])\n ];\n const hasCriticalCSS = allCSS.some((p) => criticalCSSOutputPaths.has(p));\n const needsCSSContents = oneOptions.web?.inlineLayoutCSS || hasCriticalCSS;\n let allCSSContents;\n if (needsCSSContents) {\n allCSSContents = await Promise.all(\n allCSS.map(async (cssPath) => {\n if (!oneOptions.web?.inlineLayoutCSS && !criticalCSSOutputPaths.has(cssPath)) {\n return \"\";\n }\n const cached = cssFileContentsCache.get(cssPath);\n if (cached !== void 0) return cached;\n const filePath = join(clientDir, cssPath);\n try {\n const content = await FSExtra.readFile(filePath, \"utf-8\");\n cssFileContentsCache.set(cssPath, content);\n return content;\n } catch (err) {\n console.warn(`[one] Warning: Could not read CSS file ${filePath}`);\n cssFileContentsCache.set(cssPath, \"\");\n return \"\";\n }\n })\n );\n }\n if (process.env.DEBUG) {\n console.info(\"[one] building routes\", {\n foundRoute,\n layoutEntries,\n allEntries,\n allCSS\n });\n }\n const serverJsPath = posix.join(outDir, \"server\", serverFileName);\n let exported;\n try {\n exported = await getRouteExports(\n vxrnOutput.serverEntry,\n routerRoot,\n foundRoute.file\n );\n } catch (err) {\n console.error(`Error importing page (original error)`, err);\n throw new Error(`Error importing page: ${foundRoute.file}`, {\n cause: err\n });\n }\n foundRoute.hasLoader = typeof exported.loader === \"function\";\n const isDynamic = !!Object.keys(foundRoute.routeKeys).length;\n if (foundRoute.type === \"ssg\" && isDynamic && !foundRoute.page.includes(\"+not-found\") && !foundRoute.page.includes(\"_sitemap\") && !exported.generateStaticParams) {\n throw new Error(`[one] Error: Missing generateStaticParams\n\n Route ${foundRoute.page} of type ${foundRoute.type} must export generateStaticParams so build can complete.\n\n See docs on generateStaticParams:\n https://onestack.dev/docs/routing-exports#generatestaticparams\n\n`);\n }\n const paramsList = await exported.generateStaticParams?.() ?? [{}];\n console.info(`\n [build] page ${relativeId} (with ${paramsList.length} routes)\n`);\n if (process.env.DEBUG) {\n console.info(`paramsList`, JSON.stringify(paramsList, null, 2));\n }\n const routeSitemapExport = exported.sitemap;\n const isAfterLCPMode = scriptLoadingMode === \"after-lcp\" || scriptLoadingMode === \"after-lcp-aggressive\";\n const useAfterLCP = foundRoute.type === \"ssg\" && isAfterLCPMode;\n const useAfterLCPAggressive = foundRoute.type === \"ssg\" && scriptLoadingMode === \"after-lcp-aggressive\";\n const shouldCollectSitemap = foundRoute.type !== \"api\" && foundRoute.type !== \"layout\" && !foundRoute.isNotFound && !foundRoute.page.includes(\"+not-found\") && !foundRoute.page.includes(\"_sitemap\");\n const pageBuilds = paramsList.map((params) => {\n const path = getPathnameFromFilePath(relativeId, params, foundRoute.type === \"ssg\");\n if (workerPool) {\n console.info(` \\u21A6 route ${path}`);\n return workerPool.buildPage({\n serverEntry: vxrnOutput.serverEntry,\n routerRoot,\n path,\n relativeId,\n params,\n foundRoute,\n clientManifestEntry,\n staticDir,\n clientDir,\n builtMiddlewares,\n serverJsPath,\n preloads: preloads2,\n allCSS,\n layoutCSS,\n routePreloads,\n allCSSContents,\n criticalPreloads,\n deferredPreloads,\n useAfterLCP,\n useAfterLCPAggressive\n }).then((built) => ({ built, path }));\n }\n return limit(async () => {\n console.info(` \\u21A6 route ${path}`);\n const built = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n vxrnOutput.serverEntry,\n routerRoot,\n path,\n relativeId,\n params,\n foundRoute,\n clientManifestEntry,\n staticDir,\n clientDir,\n builtMiddlewares,\n serverJsPath,\n preloads2,\n allCSS,\n layoutCSS,\n routePreloads,\n allCSSContents,\n criticalPreloads,\n deferredPreloads,\n useAfterLCP,\n useAfterLCPAggressive\n );\n });\n return { built, path };\n });\n });\n const results = await Promise.all(pageBuilds);\n for (const { built, path } of results) {\n builtRoutes.push(built);\n if (shouldCollectSitemap) {\n sitemapData.push({\n path,\n routeExport: routeSitemapExport\n });\n }\n }\n }\n if (workerPool) {\n await terminateWorkerPool();\n }\n const staticTime = performance.now() - staticStartTime;\n console.info(\n `\n \\u23F1\\uFE0F static routes: ${(staticTime / 1e3).toFixed(2)}s (${builtRoutes.length} pages)\n`\n );\n printBuildTimings();\n await moveAllFiles(staticDir, clientDir);\n await FSExtra.remove(staticDir);\n const routeMap = {};\n const routeToBuildInfo = {};\n const pathToRoute = {};\n const preloads = {};\n const cssPreloads = {};\n const loaders = {};\n let cssContentsByPath;\n for (const route of builtRoutes) {\n if (!route.cleanPath.includes(\"*\")) {\n routeMap[route.cleanPath] = route.htmlPath;\n }\n const {\n // dont include loaderData it can be huge\n loaderData: _loaderData,\n cssContents,\n ...rest\n } = route;\n if (cssContents) {\n const contentsByPath = cssContentsByPath ||= {};\n route.css.forEach((cssPath, index) => {\n const content = cssContents[index];\n if (content) contentsByPath[cssPath] = content;\n });\n }\n routeToBuildInfo[route.routeFile] = rest;\n for (const p of getCleanPaths([route.path, route.cleanPath])) {\n pathToRoute[p] = route.routeFile;\n }\n preloads[route.preloadPath] = true;\n cssPreloads[route.cssPreloadPath] = true;\n loaders[route.loaderPath] = true;\n }\n function createBuildManifestRoute(route) {\n const { layouts, ...built } = route;\n if (layouts?.length) {\n ;\n built.layouts = layouts.map((layout) => ({\n contextKey: layout.contextKey,\n loaderServerPath: layout.loaderServerPath\n }));\n }\n const buildInfo = builtRoutes.find((x) => x.routeFile === route.file);\n if (built.middlewares) {\n for (const [index, mw] of built.middlewares.entries()) {\n const viaBuildInfo = buildInfo?.middlewares?.[index];\n if (viaBuildInfo) {\n mw.contextKey = viaBuildInfo;\n continue;\n }\n const viaMiddlewareMap = builtMiddlewares[mw.contextKey];\n if (viaMiddlewareMap) {\n mw.contextKey = viaMiddlewareMap;\n }\n }\n }\n if (buildInfo) {\n built.loaderPath = buildInfo.loaderPath;\n }\n return built;\n }\n const buildInfoForWriting = {\n outDir,\n oneOptions,\n routeToBuildInfo,\n cssContentsByPath,\n pathToRoute,\n manifest: {\n pageRoutes: manifest.pageRoutes.map(createBuildManifestRoute),\n apiRoutes: manifest.apiRoutes.map(createBuildManifestRoute),\n allRoutes: manifest.allRoutes.map(createBuildManifestRoute)\n },\n routeMap,\n constants: JSON.parse(JSON.stringify({ ...constants })),\n preloads,\n cssPreloads,\n loaders,\n useRolldown: await isRolldown()\n };\n await writeJSON(toAbsolute(`${outDir}/buildInfo.json`), buildInfoForWriting);\n await writeBuildOutputPointer(outDir);\n await FSExtra.writeFile(\n join(clientDir, \"version.json\"),\n JSON.stringify({ version: constants.CACHE_KEY })\n );\n console.info(`\n \\u{1F6E1} skew protection: emitted version.json\n`);\n const sitemapConfig = oneOptions.web?.sitemap;\n if (sitemapConfig) {\n const sitemapOptions = typeof sitemapConfig === \"boolean\" ? {} : sitemapConfig;\n const sitemapXml = generateSitemap(sitemapData, sitemapOptions);\n const sitemapPath = join(clientDir, \"sitemap.xml\");\n await FSExtra.writeFile(sitemapPath, sitemapXml);\n console.info(`\n \\u{1F4C4} generated sitemap.xml (${sitemapData.length} URLs)\n`);\n }\n const postBuildLogs = [];\n const platform = deployConfig?.target;\n if (platform) {\n postBuildLogs.push(`[one.build] platform ${platform}`);\n }\n switch (platform) {\n case \"vercel\": {\n const vercelJsonPath = join(options.root, \"vercel.json\");\n if (FSExtra.existsSync(vercelJsonPath)) {\n try {\n const vercelConfig = JSON.parse(FSExtra.readFileSync(vercelJsonPath, \"utf-8\"));\n if (!vercelConfig.cleanUrls) {\n console.warn(`\n \\u26A0\\uFE0F Warning: Your vercel.json is missing \"cleanUrls\": true`);\n console.warn(` Without this, direct navigation to SSG pages will 404.`);\n console.warn(` Add \"cleanUrls\": true to your vercel.json to fix this.\n`);\n }\n } catch {\n }\n }\n await buildVercelOutputDirectory({\n apiOutput,\n buildInfoForWriting,\n clientDir,\n oneOptionsRoot: options.root,\n postBuildLogs\n });\n break;\n }\n case \"cloudflare\": {\n const workerSrcDir = join(options.root, outDir);\n const getWorkerSourceImportPath = (routeFile) => {\n const importPath = normalizePath(\n relative(workerSrcDir, join(options.root, routerRoot, routeFile))\n );\n return importPath.startsWith(\".\") ? importPath : `./${importPath}`;\n };\n const apiRouteMap = [];\n const middlewareRouteMap = [];\n for (const route of buildInfoForWriting.manifest.apiRoutes) {\n if (route.file) {\n const importPath = getWorkerSourceImportPath(route.file);\n apiRouteMap.push(` '${route.page}': () => import('${importPath}')`);\n }\n }\n for (const [sourceFile, builtPath] of Object.entries(builtMiddlewares)) {\n const importPath = getWorkerSourceImportPath(sourceFile);\n middlewareRouteMap.push(` '${builtPath}': () => import('${importPath}')`);\n }\n const workerSrcPath = join(options.root, outDir, \"_worker-src.js\");\n const workerCode = `// Polyfill MessageChannel for React SSR (not available in Cloudflare Workers by default)\nif (typeof MessageChannel === 'undefined') {\n globalThis.MessageChannel = class MessageChannel {\n constructor() {\n this.port1 = { postMessage: () => {}, onmessage: null, close: () => {} }\n this.port2 = { postMessage: () => {}, onmessage: null, close: () => {} }\n }\n }\n}\n\nimport { serve, setFetchStaticHtml, withRange } from 'one/serve-worker'\n\n// Lazy import map - modules load on-demand when route is matched\nconst lazyRoutes = {\n serverEntry: () => import('./server/_virtual_one-entry.js'),\n api: {\n${apiRouteMap.join(\",\\n\")}\n },\n middlewares: {\n${middlewareRouteMap.join(\",\\n\")}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfoForWriting)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n if (!server) {\n server = await serve(buildInfo, lazyRoutes)\n }\n\n // set up static HTML fetcher for this request (uses ASSETS binding)\n if (env.ASSETS) {\n setFetchStaticHtml(async (path) => {\n try {\n const url = new URL(request.url)\n url.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(url))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch (e) {\n // asset not found\n }\n return null\n })\n }\n\n try {\n const response = await server.fetch(request, env, ctx)\n\n // no route matched or 404 \\u2192 try static assets\n if (!response || response.status === 404) {\n if (env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return await withRange(request, assetResponse)\n }\n } catch (e) {\n // asset not found, continue with original response\n }\n }\n }\n\n return response\n } finally {\n setFetchStaticHtml(null)\n }\n }\n}\n`;\n await FSExtra.writeFile(workerSrcPath, workerCode);\n const projectName = await getCloudflareProjectName(options.root);\n const userWranglerConfig = await loadUserWranglerConfig(options.root);\n const wranglerInputConfig = createCloudflareWranglerConfig(\n projectName,\n userWranglerConfig?.config\n );\n wranglerInputConfig.main = normalizePath(\n relative(join(options.root, outDir), workerSrcPath)\n );\n const wranglerInputPath = join(options.root, outDir, \"_wrangler.input.jsonc\");\n await FSExtra.writeFile(\n wranglerInputPath,\n `${JSON.stringify(wranglerInputConfig, null, 2)}\n`\n );\n const ssrExternal = viteLoadedConfig?.config?.ssr?.external;\n const workerExternals = Array.isArray(ssrExternal) ? ssrExternal : [];\n console.info(\"\\n [cloudflare] Bundling worker...\");\n const { cloudflare } = await import(\"@cloudflare/vite-plugin\");\n const builder = await createBuilder({\n root: options.root,\n mode: \"production\",\n logLevel: \"warn\",\n configFile: false,\n define: {\n \"process.env.NODE_ENV\": JSON.stringify(\"production\"),\n \"process.env.VITE_ENVIRONMENT\": JSON.stringify(\"ssr\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(constants.CACHE_KEY)\n },\n plugins: [\n // the cloudflare worker IS a server, but this build runs with\n // configFile:false so the user vite.config (where the user-level\n // `one()` plugin registers environmentGuardPlugin via vite.config)\n // doesn't apply. register the guard plugin directly here so\n // `import 'server-only'` resolves to an empty module in the\n // worker bundle instead of inlining the package's throwing\n // index.js — which would crash the deployed worker on the first\n // /api request that loads any server-only-importing module.\n environmentGuardPlugin(oneOptions.environmentGuards),\n cloudflare({\n configPath: wranglerInputPath,\n viteEnvironment: { name: \"worker\" }\n })\n ],\n resolve: {\n alias: [\n // rolldown can't parse react-native's Flow syntax; alias to react-native-web for ssr\n {\n find: /^react-native\\/Libraries\\/.*/,\n replacement: resolvePath(\"@vxrn/utils/empty\", options.root)\n },\n {\n // react native 0.87 removed @react-native/assets-registry, but libraries\n // like react-native-svg still import its registry\n find: /^(react-native\\/asset-registry|@react-native\\/assets-registry\\/registry)$/,\n replacement: \"react-native-web/dist/modules/AssetRegistry\"\n },\n {\n find: \"react-native/package.json\",\n replacement: \"react-native-web/package.json\"\n },\n {\n find: \"react-native\",\n replacement: \"react-native-web\"\n },\n ...Object.entries(absorbedPackageAliases(options.root, \"web\")).map(\n ([find, replacement]) => ({ find, replacement })\n )\n ],\n // the aliases name react-native-web by package, so it resolves from\n // the app root only once something imports react-native: an app\n // with no react-native imports needs no react-native-web.\n dedupe: [\"react-native-web\"]\n },\n build: {\n outDir,\n emptyOutDir: false,\n rolldownOptions: {\n // packages the app keeps out of its ssr bundle (native bindings\n // used only by build-time loaders) stay out of the worker too\n external: workerExternals,\n // Match the main web build behavior so RN packages that import\n // native-only symbols from react-native can still bundle against\n // the react-native-web alias in the worker graph.\n shimMissingExports: true,\n // cloudflare's module worker can contain circular shared chunks\n // when one package is used by both browser-facing SSR code and API\n // routes. preserve source import order so a dependent chunk cannot\n // evaluate against partially initialized exports.\n output: {\n strictExecutionOrder: true\n }\n }\n }\n });\n const workerEnv = builder.environments.worker;\n if (!workerEnv) {\n throw new Error('[one] plugin did not register \"worker\" environment');\n }\n await builder.build(workerEnv);\n await FSExtra.remove(workerSrcPath);\n await FSExtra.remove(wranglerInputPath);\n await finalizeCloudflareWranglerDeployConfig(\n join(options.root, outDir, \"worker\", \"wrangler.json\")\n );\n if (userWranglerConfig) {\n console.info(\n ` [cloudflare] Merging ${relative(options.root, userWranglerConfig.path)} into ${outDir}/worker/wrangler.json`\n );\n }\n postBuildLogs.push(`Cloudflare worker bundled at ${outDir}/worker/index.js`);\n postBuildLogs.push(`To deploy: wrangler deploy`);\n break;\n }\n }\n const securityScanOption = oneOptions.build?.securityScan;\n const securityScanLevel = securityScanOption === false ? null : securityScanOption === true || securityScanOption === void 0 ? \"warn\" : typeof securityScanOption === \"string\" ? securityScanOption : securityScanOption.level ?? \"warn\";\n const securitySafePatterns = typeof securityScanOption === \"object\" && securityScanOption !== null ? securityScanOption.safePatterns : void 0;\n if (securityScanLevel) {\n const { runSecurityScan } = await import(\"./securityScan\");\n const passed = await runSecurityScan(\n clientDir,\n securityScanLevel,\n securitySafePatterns\n );\n if (!passed) {\n process.exit(1);\n }\n }\n if (postBuildLogs.length) {\n console.info(`\n\n`);\n postBuildLogs.forEach((log) => {\n console.info(` \\xB7 ${log}`);\n });\n }\n console.info(`\n \\u{1F49B} build complete\n`);\n}\nconst TRAILING_INDEX_REGEX = /\\/index(\\.(web))?/;\nfunction getCleanPaths(possiblePaths) {\n return Array.from(\n new Set(\n Array.from(new Set(possiblePaths)).flatMap((p) => {\n const paths = [p];\n if (p.match(TRAILING_INDEX_REGEX)) {\n const pathWithTrailingIndexRemoved = p.replace(TRAILING_INDEX_REGEX, \"\");\n paths.push(pathWithTrailingIndexRemoved);\n paths.push(pathWithTrailingIndexRemoved + \"/\");\n }\n return paths;\n })\n )\n );\n}\nasync function moveAllFiles(src, dest) {\n try {\n await FSExtra.copy(src, dest, { overwrite: true, errorOnExist: false });\n } catch (err) {\n console.error(\"Error moving files:\", err);\n }\n}\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":"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"}
|
|
@@ -589,7 +589,7 @@ async function build(args) {
|
|
|
589
589
|
try {
|
|
590
590
|
var _loop1 = async function() {
|
|
591
591
|
var foundRoute = _step10.value;
|
|
592
|
-
var _vxrnOutput_clientManifest_manifestKey, _ref2, _ref12
|
|
592
|
+
var _vxrnOutput_clientManifest_manifestKey, _ref2, _ref12;
|
|
593
593
|
var _vxrnOutput_buildArgs, _foundRoute_layouts, _oneOptions_web3, _oneOptions_web12, _exported_generateStaticParams;
|
|
594
594
|
if (!foundRoute.file) {
|
|
595
595
|
return "continue";
|
|
@@ -644,10 +644,10 @@ async function build(args) {
|
|
|
644
644
|
}
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
|
-
function collectImports(
|
|
647
|
+
function collectImports(entry2) {
|
|
648
648
|
var { type = "js" } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
649
|
-
var { imports = [], css } =
|
|
650
|
-
var cacheKey = `${
|
|
649
|
+
var { imports = [], css } = entry2;
|
|
650
|
+
var cacheKey = `${entry2.file || imports.join(",")}:${type}`;
|
|
651
651
|
var cached = collectImportsCache.get(cacheKey);
|
|
652
652
|
if (cached) return cached;
|
|
653
653
|
if (collectImportsInFlight.has(cacheKey)) return [];
|
|
@@ -673,14 +673,13 @@ async function build(args) {
|
|
|
673
673
|
var found = vxrnOutput.clientManifest[clientKey2];
|
|
674
674
|
return found ? found : [];
|
|
675
675
|
})) !== null && _ref2 !== void 0 ? _ref2 : [];
|
|
676
|
-
var layoutImports = layoutEntries.flatMap(function(
|
|
677
|
-
return [
|
|
676
|
+
var layoutImports = layoutEntries.flatMap(function(entry2) {
|
|
677
|
+
return [entry2.file, ...collectImports(entry2)];
|
|
678
678
|
});
|
|
679
|
-
var
|
|
679
|
+
var routePreloadKeys = /* @__PURE__ */ new Set();
|
|
680
680
|
var rootLayoutKey = `${routerRoot}/_layout.tsx`;
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
routePreloads[`/${rootLayoutKey}`] = `/${rootLayoutEntry.file}`;
|
|
681
|
+
if (vxrnOutput.clientManifest[rootLayoutKey]) {
|
|
682
|
+
routePreloadKeys.add(`/${rootLayoutKey}`);
|
|
684
683
|
}
|
|
685
684
|
if (foundRoute.layouts) {
|
|
686
685
|
var _iteratorNormalCompletion15 = true, _didIteratorError15 = false, _iteratorError15 = void 0;
|
|
@@ -688,9 +687,8 @@ async function build(args) {
|
|
|
688
687
|
for (var _iterator15 = foundRoute.layouts[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) {
|
|
689
688
|
var layout1 = _step15.value;
|
|
690
689
|
var clientKey = `${routerRoot}${layout1.contextKey.slice(1)}`;
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
routePreloads[`/${clientKey}`] = `/${entry2.file}`;
|
|
690
|
+
if (vxrnOutput.clientManifest[clientKey]) {
|
|
691
|
+
routePreloadKeys.add(`/${clientKey}`);
|
|
694
692
|
}
|
|
695
693
|
}
|
|
696
694
|
} catch (err) {
|
|
@@ -708,10 +706,10 @@ async function build(args) {
|
|
|
708
706
|
}
|
|
709
707
|
}
|
|
710
708
|
}
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
routePreloads[`/${routerRoot}${foundRoute.file.slice(1)}`] = `/${routeChunkFile}`;
|
|
709
|
+
if (clientChunk || clientManifestEntry) {
|
|
710
|
+
routePreloadKeys.add(`/${routerRoot}${foundRoute.file.slice(1)}`);
|
|
714
711
|
}
|
|
712
|
+
var routePreloads = [...routePreloadKeys];
|
|
715
713
|
var preloadSetupFilePreloads = (function() {
|
|
716
714
|
if (!oneOptions.setupFile) return [];
|
|
717
715
|
var clientSetupFile = typeof oneOptions.setupFile === "string" ? oneOptions.setupFile : oneOptions.setupFile.client;
|
|
@@ -719,8 +717,8 @@ async function build(args) {
|
|
|
719
717
|
var needle = clientSetupFile.replace(/^\.\//, "");
|
|
720
718
|
for (var file2 in vxrnOutput.clientManifest) {
|
|
721
719
|
if (file2 === needle) {
|
|
722
|
-
var
|
|
723
|
-
return [
|
|
720
|
+
var entry2 = vxrnOutput.clientManifest[file2];
|
|
721
|
+
return [entry2.file];
|
|
724
722
|
}
|
|
725
723
|
}
|
|
726
724
|
return [];
|
|
@@ -742,14 +740,14 @@ async function build(args) {
|
|
|
742
740
|
...preloadSetupFilePreloads,
|
|
743
741
|
vxrnOutput.clientManifest["virtual:one-entry"].file,
|
|
744
742
|
...clientChunk ? [clientChunk.fileName] : clientManifestEntry ? [clientManifestEntry.file] : [],
|
|
745
|
-
...layoutEntries.map(function(
|
|
746
|
-
return
|
|
743
|
+
...layoutEntries.map(function(entry2) {
|
|
744
|
+
return entry2.file;
|
|
747
745
|
})
|
|
748
746
|
])].map(function(path2) {
|
|
749
747
|
return `/${path2}`;
|
|
750
748
|
}) : void 0;
|
|
751
|
-
var deferredPreloads = needsSeparatedPreloads ? [.../* @__PURE__ */ new Set([...entryImports, ...layoutEntries.flatMap(function(
|
|
752
|
-
return collectImports(
|
|
749
|
+
var deferredPreloads = needsSeparatedPreloads ? [.../* @__PURE__ */ new Set([...entryImports, ...layoutEntries.flatMap(function(entry2) {
|
|
750
|
+
return collectImports(entry2);
|
|
753
751
|
})])].filter(function(path2) {
|
|
754
752
|
return !criticalPreloads.includes(`/${path2}`);
|
|
755
753
|
}).map(function(path2) {
|
|
@@ -757,8 +755,8 @@ async function build(args) {
|
|
|
757
755
|
}) : void 0;
|
|
758
756
|
var preloads2 = needsSeparatedPreloads ? [...criticalPreloads, ...deferredPreloads] : allPreloads;
|
|
759
757
|
var allEntries = [clientManifestEntry, ...layoutEntries].filter(Boolean);
|
|
760
|
-
var layoutCSS = [...new Set(layoutEntries.flatMap(function(
|
|
761
|
-
return collectImports(
|
|
758
|
+
var layoutCSS = [...new Set(layoutEntries.flatMap(function(entry2) {
|
|
759
|
+
return collectImports(entry2, { type: "css" });
|
|
762
760
|
}).map(function(path2) {
|
|
763
761
|
return `/${path2}`;
|
|
764
762
|
}))];
|
|
@@ -768,13 +766,13 @@ async function build(args) {
|
|
|
768
766
|
return `/${path2}`;
|
|
769
767
|
}) : [],
|
|
770
768
|
...Object.entries(vxrnOutput.clientManifest).filter(function(param) {
|
|
771
|
-
var [key,
|
|
769
|
+
var [key, entry2] = param;
|
|
772
770
|
if (!key.endsWith(".css")) return false;
|
|
773
|
-
var src =
|
|
771
|
+
var src = entry2.src;
|
|
774
772
|
return src === "style.css";
|
|
775
773
|
}).map(function(param) {
|
|
776
|
-
var [,
|
|
777
|
-
return `/${
|
|
774
|
+
var [, entry2] = param;
|
|
775
|
+
return `/${entry2.file}`;
|
|
778
776
|
})
|
|
779
777
|
])];
|
|
780
778
|
var hasCriticalCSS = allCSS.some(function(p) {
|
|
@@ -830,7 +828,7 @@ async function build(args) {
|
|
|
830
828
|
|
|
831
829
|
`);
|
|
832
830
|
}
|
|
833
|
-
var paramsList = (
|
|
831
|
+
var paramsList = (_ref12 = await ((_exported_generateStaticParams = exported.generateStaticParams) === null || _exported_generateStaticParams === void 0 ? void 0 : _exported_generateStaticParams.call(exported))) !== null && _ref12 !== void 0 ? _ref12 : [{}];
|
|
834
832
|
console.info(`
|
|
835
833
|
[build] page ${relativeId1} (with ${paramsList.length} routes)
|
|
836
834
|
`);
|