one 2.11.5 → 2.12.1
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/android/src/main/java/com/margelo/nitro/one/HybridOneAudio.kt +309 -124
- package/dist/cjs/cli/build.cjs +31 -33
- package/dist/cjs/cli/build.native.cjs +31 -33
- package/dist/cjs/cli/build.native.js +31 -33
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +11 -7
- package/dist/cjs/cli/buildPage.native.cjs +11 -7
- package/dist/cjs/cli/buildPage.native.js +11 -7
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.cjs +1 -1
- package/dist/cjs/cli/buildPageWorker.native.cjs +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/cli-dev-memory.cjs +43 -0
- package/dist/cjs/cli-dev-memory.native.cjs +84 -0
- package/dist/cjs/cli-dev-memory.native.js +86 -0
- package/dist/cjs/cli-dev-memory.native.js.map +1 -0
- package/dist/cjs/headless-server.cjs +2 -5
- package/dist/cjs/headless-server.native.cjs +2 -5
- package/dist/cjs/headless-server.native.js +2 -5
- package/dist/cjs/headless-server.native.js.map +1 -1
- package/dist/cjs/platform/audio/index.cjs +83 -76
- package/dist/cjs/platform/audio/index.native.cjs +2 -2
- package/dist/cjs/platform/audio/index.native.js +2 -2
- package/dist/cjs/platform/audio/index.native.js.map +1 -1
- package/dist/cjs/platform/audio/nowPlaying.cjs +126 -0
- package/dist/cjs/platform/audio/nowPlaying.native.cjs +160 -0
- package/dist/cjs/platform/audio/nowPlaying.native.js +162 -0
- package/dist/cjs/platform/audio/nowPlaying.native.js.map +1 -0
- package/dist/cjs/platform/audio/player.cjs +15 -0
- package/dist/cjs/platform/audio/player.native.cjs +14 -0
- package/dist/cjs/platform/audio/player.native.js +14 -0
- package/dist/cjs/platform/audio/player.native.js.map +1 -1
- package/dist/cjs/platform/audio/unavailable.cjs +1 -1
- package/dist/cjs/platform/audio/unavailable.native.cjs +1 -1
- package/dist/cjs/platform/audio/unavailable.native.js +1 -1
- package/dist/cjs/platform/audio/unavailable.native.js.map +1 -1
- package/dist/cjs/serve-worker.cjs +0 -3
- package/dist/cjs/serve-worker.native.cjs +0 -3
- package/dist/cjs/serve-worker.native.js +0 -3
- package/dist/cjs/serve-worker.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +0 -6
- package/dist/cjs/server/oneServe.native.cjs +0 -6
- package/dist/cjs/server/oneServe.native.js +0 -6
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/workerHandler.cjs +12 -10
- package/dist/cjs/server/workerHandler.native.cjs +14 -10
- package/dist/cjs/server/workerHandler.native.js +14 -10
- package/dist/cjs/server/workerHandler.native.js.map +1 -1
- package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
- package/dist/esm/cli/build.mjs +31 -33
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +31 -33
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +11 -7
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +11 -7
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/buildPageWorker.mjs +1 -1
- package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
- package/dist/esm/cli/buildPageWorker.native.js +1 -1
- package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
- package/dist/esm/cli-dev-memory.mjs +23 -0
- package/dist/esm/cli-dev-memory.mjs.map +1 -0
- package/dist/esm/cli-dev-memory.native.js +62 -0
- package/dist/esm/cli-dev-memory.native.js.map +1 -0
- package/dist/esm/headless-server.mjs +2 -3
- package/dist/esm/headless-server.mjs.map +1 -1
- package/dist/esm/headless-server.native.js +2 -3
- package/dist/esm/headless-server.native.js.map +1 -1
- package/dist/esm/platform/audio/index.mjs +83 -76
- package/dist/esm/platform/audio/index.mjs.map +1 -1
- package/dist/esm/platform/audio/index.native.js +2 -2
- package/dist/esm/platform/audio/index.native.js.map +1 -1
- package/dist/esm/platform/audio/nowPlaying.mjs +102 -0
- package/dist/esm/platform/audio/nowPlaying.mjs.map +1 -0
- package/dist/esm/platform/audio/nowPlaying.native.js +134 -0
- package/dist/esm/platform/audio/nowPlaying.native.js.map +1 -0
- package/dist/esm/platform/audio/player.mjs +15 -0
- package/dist/esm/platform/audio/player.mjs.map +1 -1
- package/dist/esm/platform/audio/player.native.js +14 -0
- package/dist/esm/platform/audio/player.native.js.map +1 -1
- package/dist/esm/platform/audio/unavailable.mjs +1 -1
- package/dist/esm/platform/audio/unavailable.mjs.map +1 -1
- package/dist/esm/platform/audio/unavailable.native.js +1 -1
- package/dist/esm/platform/audio/unavailable.native.js.map +1 -1
- package/dist/esm/serve-worker.mjs +1 -2
- package/dist/esm/serve-worker.mjs.map +1 -1
- package/dist/esm/serve-worker.native.js +1 -2
- package/dist/esm/serve-worker.native.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +0 -6
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +0 -6
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/workerHandler.mjs +12 -10
- package/dist/esm/server/workerHandler.mjs.map +1 -1
- package/dist/esm/server/workerHandler.native.js +14 -10
- package/dist/esm/server/workerHandler.native.js.map +1 -1
- package/dist/esm/vite/plugins/workerdDevPlugin.mjs +33 -37
- package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/workerdDevPlugin.native.js +33 -37
- package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
- package/ios/Nitro/HybridOneAudio.swift +309 -96
- package/nitrogen/generated/android/c++/JAudioPlayOptions.hpp +61 -0
- package/nitrogen/generated/android/c++/JAudioRemoteCommandEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_AudioRemoteCommandEvent.hpp +1 -0
- package/nitrogen/generated/android/c++/JHybridOneAudioSpec.cpp +37 -3
- package/nitrogen/generated/android/c++/JHybridOneAudioSpec.hpp +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioPlayOptions.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioRemoteCommandEvent.kt +9 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneAudioSpec.kt +40 -32
- package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridOneAudioSpecSwift.hpp +21 -2
- package/nitrogen/generated/ios/swift/AudioPlayOptions.swift +60 -0
- package/nitrogen/generated/ios/swift/AudioRemoteCommandEvent.swift +19 -1
- package/nitrogen/generated/ios/swift/HybridOneAudioSpec.swift +3 -1
- package/nitrogen/generated/ios/swift/HybridOneAudioSpec_cxx.swift +70 -32
- package/nitrogen/generated/shared/c++/AudioPlayOptions.hpp +87 -0
- package/nitrogen/generated/shared/c++/AudioRemoteCommandEvent.hpp +7 -2
- package/nitrogen/generated/shared/c++/HybridOneAudioSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridOneAudioSpec.hpp +6 -1
- package/package.json +13 -13
- package/run.mjs +5 -1
- package/src/cli/build.ts +35 -32
- package/src/cli/buildPage.test.ts +152 -0
- package/src/cli/buildPage.ts +14 -9
- package/src/cli/buildPageWorker.ts +2 -1
- package/src/cli/workerPool.ts +1 -0
- package/src/cli-dev-memory.ts +24 -0
- package/src/headless-server.ts +2 -2
- package/src/index.ts +1 -0
- package/src/platform/audio/index.native.ts +4 -2
- package/src/platform/audio/index.ts +102 -74
- package/src/platform/audio/nowPlaying.ts +122 -0
- package/src/platform/audio/player.native.ts +17 -1
- package/src/platform/audio/player.ts +23 -1
- package/src/platform/audio/types.ts +6 -1
- package/src/platform/audio/unavailable.ts +3 -1
- package/src/platform/index.native.ts +1 -0
- package/src/platform/index.ts +1 -0
- package/src/platform/specs/OneAudio.nitro.ts +11 -1
- package/src/serve-worker.ts +2 -3
- package/src/server/oneServe.ts +0 -6
- package/src/server/workerHandler.ts +34 -18
- package/src/vite/plugins/workerdDevPlugin.ts +33 -37
- package/src/vite/resolveResponse.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 -0
- package/types/cli/workerPool.d.ts.map +1 -1
- package/types/cli-dev-memory.d.ts +2 -0
- package/types/cli-dev-memory.d.ts.map +1 -0
- package/types/headless-server.d.ts +3 -3
- package/types/headless-server.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/platform/audio/index.d.ts +2 -2
- package/types/platform/audio/index.d.ts.map +1 -1
- package/types/platform/audio/index.native.d.ts +3 -3
- package/types/platform/audio/index.native.d.ts.map +1 -1
- package/types/platform/audio/nowPlaying.d.ts +12 -0
- package/types/platform/audio/nowPlaying.d.ts.map +1 -0
- package/types/platform/audio/player.d.ts +3 -1
- package/types/platform/audio/player.d.ts.map +1 -1
- package/types/platform/audio/player.native.d.ts +3 -1
- package/types/platform/audio/player.native.d.ts.map +1 -1
- package/types/platform/audio/types.d.ts +3 -1
- package/types/platform/audio/types.d.ts.map +1 -1
- package/types/platform/audio/unavailable.d.ts +3 -3
- package/types/platform/audio/unavailable.d.ts.map +1 -1
- package/types/platform/index.d.ts +1 -1
- package/types/platform/index.d.ts.map +1 -1
- package/types/platform/index.native.d.ts +1 -1
- package/types/platform/index.native.d.ts.map +1 -1
- package/types/platform/specs/OneAudio.nitro.d.ts +8 -1
- package/types/platform/specs/OneAudio.nitro.d.ts.map +1 -1
- package/types/serve-worker.d.ts +3 -3
- package/types/serve-worker.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/workerHandler.d.ts +1 -1
- package/types/server/workerHandler.d.ts.map +1 -1
- package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts +1 -1
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.cjs +0 -33
- package/dist/cjs/server/staticHtmlFetcher.native.cjs +0 -35
- package/dist/cjs/server/staticHtmlFetcher.native.js +0 -37
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +0 -1
- package/dist/esm/server/staticHtmlFetcher.mjs +0 -10
- package/dist/esm/server/staticHtmlFetcher.mjs.map +0 -1
- package/dist/esm/server/staticHtmlFetcher.native.js +0 -10
- package/dist/esm/server/staticHtmlFetcher.native.js.map +0 -1
- package/src/server/staticHtmlFetcher.ts +0 -12
- package/types/server/staticHtmlFetcher.d.ts +0 -3
- package/types/server/staticHtmlFetcher.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerdDevPlugin.native.js","names":[],"sources":["cjs/vite/plugins/workerdDevPlugin.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar workerdDevPlugin_exports = {};\n__export(workerdDevPlugin_exports, {\n createWorkerdDevPlugins: () => createWorkerdDevPlugins,\n generateWorkerdDevEntryModule: () => generateWorkerdDevEntryModule,\n shouldEnableWorkerdDev: () => import_cloudflareWranglerConfig.shouldEnableWorkerdDev,\n workerdDevEntryId: () => workerdDevEntryId\n});\nmodule.exports = __toCommonJS(workerdDevPlugin_exports);\nvar import_fs = require(\"fs\");\nvar import_path = require(\"path\");\nvar import_url = require(\"url\");\nvar import_resolve = require(\"@vxrn/resolve\");\nvar import_vite_plugin = require(\"@cloudflare/vite-plugin\");\nvar import_utils = require(\"@vxrn/utils\");\nvar import_filter = require(\"rolldown/filter\");\nvar import_constants = require(\"../../constants\");\nvar import_virtualEntryConstants = require(\"./virtualEntryConstants\");\nvar import_getManifest = require(\"../getManifest\");\nvar import_getRouterRootFromOneOptions = require(\"../../utils/getRouterRootFromOneOptions\");\nvar import_absorbedPackages = require(\"../../utils/absorbedPackages\");\nvar import_cloudflareWranglerConfig = require(\"../cloudflareWranglerConfig\");\nvar workerdDevEntryId = \"virtual:one-workerd-dev-entry\";\nvar resolvedWorkerdDevEntryId = `\\0${workerdDevEntryId}`;\nvar WORKERD_DEV_DIR = \"node_modules/.one-workerd-dev\";\nfunction serveOnly(plugin) {\n var existing = plugin.apply;\n return {\n ...plugin,\n apply(config, env) {\n if (env.command !== \"serve\") return false;\n if (typeof existing === \"function\") return existing(config, env);\n if (existing === \"build\") return false;\n return true;\n }\n };\n}\nfunction toImportHref(root, routerRoot, routeFile) {\n var rel = routeFile.replace(/^\\.\\//, \"\");\n return (0, import_url.pathToFileURL)((0, import_path.resolve)(root, routerRoot, rel)).href;\n}\nfunction serializeImportMap(entries) {\n return entries.map(function(param) {\n var [key, href] = param;\n return ` ${JSON.stringify(key)}: () => import(${JSON.stringify(href)})`;\n }).join(\",\\n\");\n}\nfunction stripRouteForWorker(route) {\n var { layouts, middlewares, ...rest } = route;\n return {\n ...rest,\n // live-render SSG in dev the same way the node middleware does\n type: route.type === \"ssg\" ? \"ssr\" : route.type,\n layouts: layouts === null || layouts === void 0 ? void 0 : layouts.map(function(layout) {\n return {\n contextKey: layout.contextKey\n };\n }),\n middlewares: middlewares === null || middlewares === void 0 ? void 0 : middlewares.map(function(middleware) {\n return {\n contextKey: middleware.contextKey\n };\n })\n };\n}\nfunction stubRouteBuildInfo(route, preloads) {\n var _ref;\n var _route_middlewares;\n var pageType = route.type === \"ssg\" ? \"ssr\" : route.type;\n return {\n type: pageType,\n path: route.page,\n routeFile: route.file,\n middlewares: (_ref = (_route_middlewares = route.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.map(function(middleware) {\n return middleware.contextKey;\n })) !== null && _ref !== void 0 ? _ref : [],\n preloadPath: \"\",\n cssPreloadPath: \"\",\n loaderPath: \"\",\n cleanPath: route.urlCleanPath || route.page,\n htmlPath: \"\",\n clientJsPath: \"\",\n serverJsPath: \"\",\n params: {},\n preloads,\n css: [],\n layoutCSS: []\n };\n}\nfunction generateWorkerdDevEntryModule(args) {\n var _options_router;\n var { root, options, routerRoot, routePaths, preloads } = args;\n var manifest = (0, import_getManifest.getManifest)({\n routerRoot: (0, import_path.resolve)(root, routerRoot),\n ignoredRouteFiles: (_options_router = options.router) === null || _options_router === void 0 ? void 0 : _options_router.ignoredRouteFiles,\n routePaths\n });\n if (!manifest) {\n throw new Error(\"[one] workerd dev: no routes manifest\");\n }\n var apiImports = /* @__PURE__ */ new Map();\n var middlewareImports = /* @__PURE__ */ new Map();\n var routeToBuildInfo = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = manifest.pageRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var route = _step.value;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (route.middlewares || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var middleware = _step1.value;\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(middleware.contextKey, toImportHref(root, routerRoot, middleware.contextKey));\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (route.file) {\n routeToBuildInfo[route.file] = stubRouteBuildInfo(route, preloads);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = manifest.apiRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route1 = _step2.value;\n if (route1.file) {\n apiImports.set(route1.page, toImportHref(root, routerRoot, route1.file));\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = (route1.middlewares || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var middleware1 = _step3.value;\n if (!middleware1.contextKey || middlewareImports.has(middleware1.contextKey)) continue;\n middlewareImports.set(middleware1.contextKey, toImportHref(root, routerRoot, middleware1.contextKey));\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var pageRoutes = manifest.pageRoutes.map(stripRouteForWorker);\n var apiRoutes = manifest.apiRoutes.map(stripRouteForWorker);\n var buildInfo = {\n constants: {\n CACHE_KEY: import_constants.CACHE_KEY\n },\n oneOptions: options,\n routeToBuildInfo,\n pathToRoute: {},\n routeMap: {},\n manifest: {\n pageRoutes,\n apiRoutes,\n allRoutes: [\n ...pageRoutes,\n ...apiRoutes\n ]\n },\n preloads: Object.fromEntries(preloads.map(function(preload) {\n return [\n preload,\n true\n ];\n })),\n cssPreloads: {},\n loaders: {}\n };\n var spaPreloadScripts = preloads.map(function(preload) {\n return `<script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\");\n return `if (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 } from 'one/serve-worker'\n\nconst lazyRoutes = {\n serverEntry: () => import(${JSON.stringify(import_virtualEntryConstants.virtualEntryId)}),\n api: {\n${serializeImportMap([\n ...apiImports\n ])}\n },\n middlewares: {\n${serializeImportMap([\n ...middlewareImports\n ])}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfo)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n const url = new URL(request.url)\n const pathname = url.pathname\n\n if (pathname === '/status' || pathname.startsWith('/status?')) {\n return new Response('packager-status:running', {\n headers: { 'content-type': 'text/plain' },\n })\n }\n\n if (!server) {\n server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })\n }\n\n if (env && env.ASSETS) {\n setFetchStaticHtml(async (path) => {\n try {\n const assetUrl = new URL(request.url)\n assetUrl.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch {}\n return null\n })\n }\n\n try {\n const response = await server.fetch(request, env, ctx)\n\n if (!response || response.status === 404) {\n if (env && env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return assetResponse\n }\n } catch {}\n }\n }\n\n if (!response) {\n if (request.method === 'GET' || request.method === 'HEAD') {\n return new Response(\n '<!DOCTYPE html><html><head>' +\n ${JSON.stringify(spaPreloadScripts)} +\n '</head></html>',\n { headers: { 'content-type': 'text/html' } }\n )\n }\n return new Response('Not Found', { status: 404 })\n }\n\n return response\n } finally {\n setFetchStaticHtml(null)\n }\n }\n}\n`;\n}\nfunction createWorkerdDevPlugins(options, root, routeIndex) {\n var _options_web, _options_web1;\n if (!(0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)((_options_web = options.web) === null || _options_web === void 0 ? void 0 : _options_web.deploy, root)) {\n return [];\n }\n var cacheDir = (0, import_path.join)(root, WORKERD_DEV_DIR);\n var wranglerInputPath = (0, import_path.join)(cacheDir, \"_wrangler.input.jsonc\");\n var workerEntryPath = (0, import_path.join)(cacheDir, \"worker-entry.js\");\n (0, import_fs.mkdirSync)(cacheDir, {\n recursive: true\n });\n (0, import_fs.writeFileSync)(workerEntryPath, `export { default } from ${JSON.stringify(workerdDevEntryId)}\n`);\n var userWranglerConfig = (0, import_cloudflareWranglerConfig.loadUserWranglerConfigSync)(root);\n var projectName = (0, import_cloudflareWranglerConfig.getCloudflareProjectNameSync)(root);\n var wranglerInputConfig = (0, import_cloudflareWranglerConfig.createCloudflareWranglerConfig)(projectName, userWranglerConfig === null || userWranglerConfig === void 0 ? void 0 : userWranglerConfig.config);\n wranglerInputConfig.main = \"worker-entry.js\";\n (0, import_fs.writeFileSync)(wranglerInputPath, `${JSON.stringify(wranglerInputConfig, null, 2)}\n`);\n var preloads = ((_options_web1 = options.web) === null || _options_web1 === void 0 ? void 0 : _options_web1.experimentalBundledDev) ? [\n \"/bundledDevClient.mjs\",\n \"/assets/_virtual_one-entry.js\"\n ] : [\n \"/@vite/client\",\n import_virtualEntryConstants.virtalEntryIdClient\n ];\n var empty = (0, import_resolve.resolvePath)(\"@vxrn/utils/empty\", root);\n var absorbed = (0, import_absorbedPackages.absorbedPackageAliases)(root, \"web\");\n var preparePlugin = {\n name: \"one:workerd-dev-prepare\",\n apply: \"serve\",\n enforce: \"pre\",\n config() {\n return {\n environments: {\n worker: {\n define: {\n ...(0, import_utils.getPlatformEnvDefine)(\"ssr\"),\n \"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(\"1\"),\n \"process.env.TAMAGUI_KEEP_THEMES\": JSON.stringify(\"1\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(import_constants.CACHE_KEY)\n },\n optimizeDeps: {\n include: [\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react-dom/server.browser\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\"\n ]\n },\n build: {\n rolldownOptions: {\n shimMissingExports: true\n }\n }\n }\n }\n };\n },\n // environment resolve options have no alias field; match the production\n // worker aliases with a worker-only resolveId (rolldown cannot parse RN Flow)\n resolveId: {\n filter: {\n id: /^(react-native(\\/|$|-safe-area-context$)|@react-native\\/assets-registry\\/registry$)/\n },\n handler(source) {\n if (this.environment.name !== \"worker\") return;\n if (/^react-native\\/Libraries\\//.test(source)) return empty;\n if (source === \"react-native/asset-registry\" || source === \"@react-native/assets-registry/registry\") return (0, import_resolve.resolvePath)(\"react-native-web/dist/modules/AssetRegistry\", root);\n if (source === \"react-native/package.json\") return (0, import_resolve.resolvePath)(\"react-native-web/package.json\", root);\n if (source === \"react-native\") return (0, import_resolve.resolvePath)(\"react-native-web\", root);\n if (source in absorbed) return absorbed[source];\n }\n },\n configureServer(server) {\n if (!server.environments.worker) {\n throw new Error(`[one] ONE_EXPERIMENTAL_WORKER_DEV=1 is set but @cloudflare/vite-plugin did not register a \"worker\" environment. Expected wrangler config at ${wranglerInputPath}.`);\n }\n console.info(\"[one] experimental workerd dev enabled (ONE_EXPERIMENTAL_WORKER_DEV=1)\");\n }\n };\n var virtualPlugin = {\n name: \"one:workerd-dev-entry\",\n apply: \"serve\",\n resolveId: {\n filter: {\n id: (0, import_filter.exactRegex)(workerdDevEntryId)\n },\n handler(id) {\n if (this.environment.name !== \"worker\") return;\n if (id === workerdDevEntryId) return resolvedWorkerdDevEntryId;\n }\n },\n load: {\n filter: {\n id: (0, import_filter.exactRegex)(resolvedWorkerdDevEntryId)\n },\n handler() {\n if (this.environment.name !== \"worker\") return;\n return generateWorkerdDevEntryModule({\n root,\n options,\n routerRoot: (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options),\n routePaths: routeIndex.getPaths(),\n preloads\n });\n }\n },\n hotUpdate(param) {\n var { file } = param;\n if (this.environment.name !== \"worker\") return;\n var graph = this.environment.moduleGraph;\n var entry = graph.getModuleById(resolvedWorkerdDevEntryId);\n if (!entry) return;\n var modules = graph.getModulesByFile(file);\n if (!(modules === null || modules === void 0 ? void 0 : modules.size)) return;\n graph.invalidateModule(entry);\n }\n };\n var cloudflarePlugins = (0, import_vite_plugin.cloudflare)({\n configPath: wranglerInputPath,\n viteEnvironment: {\n name: \"worker\"\n }\n }).map(serveOnly);\n return [\n preparePlugin,\n virtualPlugin,\n ...cloudflarePlugins\n ];\n}\n//# sourceMappingURL=workerdDevPlugin.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workerdDevPlugin.native.js","names":[],"sources":["cjs/vite/plugins/workerdDevPlugin.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar workerdDevPlugin_exports = {};\n__export(workerdDevPlugin_exports, {\n createWorkerdDevPlugins: () => createWorkerdDevPlugins,\n generateWorkerdDevEntryModule: () => generateWorkerdDevEntryModule,\n shouldEnableWorkerdDev: () => import_cloudflareWranglerConfig.shouldEnableWorkerdDev,\n workerdDevEntryId: () => workerdDevEntryId\n});\nmodule.exports = __toCommonJS(workerdDevPlugin_exports);\nvar import_fs = require(\"fs\");\nvar import_path = require(\"path\");\nvar import_url = require(\"url\");\nvar import_resolve = require(\"@vxrn/resolve\");\nvar import_vite_plugin = require(\"@cloudflare/vite-plugin\");\nvar import_utils = require(\"@vxrn/utils\");\nvar import_filter = require(\"rolldown/filter\");\nvar import_constants = require(\"../../constants\");\nvar import_virtualEntryConstants = require(\"./virtualEntryConstants\");\nvar import_getManifest = require(\"../getManifest\");\nvar import_getRouterRootFromOneOptions = require(\"../../utils/getRouterRootFromOneOptions\");\nvar import_absorbedPackages = require(\"../../utils/absorbedPackages\");\nvar import_cloudflareWranglerConfig = require(\"../cloudflareWranglerConfig\");\nvar workerdDevEntryId = \"virtual:one-workerd-dev-entry\";\nvar resolvedWorkerdDevEntryId = `\\0${workerdDevEntryId}`;\nvar WORKERD_DEV_DIR = \"node_modules/.one-workerd-dev\";\nfunction serveOnly(plugin) {\n var existing = plugin.apply;\n return {\n ...plugin,\n apply(config, env) {\n if (env.command !== \"serve\") return false;\n if (typeof existing === \"function\") return existing(config, env);\n if (existing === \"build\") return false;\n return true;\n }\n };\n}\nfunction toImportHref(root, routerRoot, routeFile) {\n var rel = routeFile.replace(/^\\.\\//, \"\");\n return (0, import_url.pathToFileURL)((0, import_path.resolve)(root, routerRoot, rel)).href;\n}\nfunction serializeImportMap(entries) {\n return entries.map(function(param) {\n var [key, href] = param;\n return ` ${JSON.stringify(key)}: () => import(${JSON.stringify(href)})`;\n }).join(\",\\n\");\n}\nfunction stripRouteForWorker(route) {\n var { layouts, middlewares, ...rest } = route;\n return {\n ...rest,\n // live-render SSG in dev the same way the node middleware does\n type: route.type === \"ssg\" ? \"ssr\" : route.type,\n layouts: layouts === null || layouts === void 0 ? void 0 : layouts.map(function(layout) {\n return {\n contextKey: layout.contextKey\n };\n }),\n middlewares: middlewares === null || middlewares === void 0 ? void 0 : middlewares.map(function(middleware) {\n return {\n contextKey: middleware.contextKey\n };\n })\n };\n}\nfunction stubRouteBuildInfo(route, preloads) {\n var _ref;\n var _route_middlewares;\n var pageType = route.type === \"ssg\" ? \"ssr\" : route.type;\n return {\n type: pageType,\n path: route.page,\n routeFile: route.file,\n middlewares: (_ref = (_route_middlewares = route.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.map(function(middleware) {\n return middleware.contextKey;\n })) !== null && _ref !== void 0 ? _ref : [],\n preloadPath: \"\",\n cssPreloadPath: \"\",\n loaderPath: \"\",\n cleanPath: route.urlCleanPath || route.page,\n htmlPath: \"\",\n clientJsPath: \"\",\n serverJsPath: \"\",\n params: {},\n preloads,\n css: [],\n layoutCSS: []\n };\n}\nfunction generateWorkerdDevEntryModule(args) {\n var _options_router;\n var { root, options, routerRoot, routePaths, preloads } = args;\n var manifest = (0, import_getManifest.getManifest)({\n routerRoot: (0, import_path.resolve)(root, routerRoot),\n ignoredRouteFiles: (_options_router = options.router) === null || _options_router === void 0 ? void 0 : _options_router.ignoredRouteFiles,\n routePaths\n });\n if (!manifest) {\n throw new Error(\"[one] workerd dev: no routes manifest\");\n }\n var apiImports = /* @__PURE__ */ new Map();\n var middlewareImports = /* @__PURE__ */ new Map();\n var routeToBuildInfo = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = manifest.pageRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var route = _step.value;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = (route.middlewares || [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var middleware = _step1.value;\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(middleware.contextKey, toImportHref(root, routerRoot, middleware.contextKey));\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n if (route.file) {\n routeToBuildInfo[route.file] = stubRouteBuildInfo(route, preloads);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = manifest.apiRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route1 = _step2.value;\n if (route1.file) {\n apiImports.set(route1.page, toImportHref(root, routerRoot, route1.file));\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = (route1.middlewares || [])[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var middleware1 = _step3.value;\n if (!middleware1.contextKey || middlewareImports.has(middleware1.contextKey)) continue;\n middlewareImports.set(middleware1.contextKey, toImportHref(root, routerRoot, middleware1.contextKey));\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n var pageRoutes = manifest.pageRoutes.map(stripRouteForWorker);\n var apiRoutes = manifest.apiRoutes.map(stripRouteForWorker);\n var buildInfo = {\n constants: {\n CACHE_KEY: import_constants.CACHE_KEY\n },\n oneOptions: options,\n routeToBuildInfo,\n pathToRoute: {},\n routeMap: {},\n manifest: {\n pageRoutes,\n apiRoutes,\n allRoutes: [\n ...pageRoutes,\n ...apiRoutes\n ]\n },\n preloads: Object.fromEntries(preloads.map(function(preload) {\n return [\n preload,\n true\n ];\n })),\n cssPreloads: {},\n loaders: {}\n };\n var spaPreloadScripts = preloads.map(function(preload) {\n return `<script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\");\n return `if (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 } from 'one/serve-worker'\n\nconst lazyRoutes = {\n serverEntry: () => import(${JSON.stringify(import_virtualEntryConstants.virtualEntryId)}),\n api: {\n${serializeImportMap([\n ...apiImports\n ])}\n },\n middlewares: {\n${serializeImportMap([\n ...middlewareImports\n ])}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfo)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n const url = new URL(request.url)\n const pathname = url.pathname\n\n if (pathname === '/status' || pathname.startsWith('/status?')) {\n return new Response('packager-status:running', {\n headers: { 'content-type': 'text/plain' },\n })\n }\n\n if (!server) {\n server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })\n }\n\n const fetchStaticHtml = env && env.ASSETS\n ? async (path) => {\n try {\n const assetUrl = new URL(request.url)\n assetUrl.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch {}\n return null\n }\n : undefined\n\n const response = await server.fetch(request, env, ctx, fetchStaticHtml)\n\n if (!response || response.status === 404) {\n if (env && env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return assetResponse\n }\n } catch {}\n }\n }\n\n if (!response) {\n if (request.method === 'GET' || request.method === 'HEAD') {\n return new Response(\n '<!DOCTYPE html><html><head>' +\n ${JSON.stringify(spaPreloadScripts)} +\n '</head></html>',\n { headers: { 'content-type': 'text/html' } }\n )\n }\n return new Response('Not Found', { status: 404 })\n }\n\n return response\n }\n}\n`;\n}\nfunction createWorkerdDevPlugins(options, root, routeIndex) {\n var _options_web, _options_web1;\n if (!(0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)((_options_web = options.web) === null || _options_web === void 0 ? void 0 : _options_web.deploy, root)) {\n return [];\n }\n var cacheDir = (0, import_path.join)(root, WORKERD_DEV_DIR);\n var wranglerInputPath = (0, import_path.join)(cacheDir, \"_wrangler.input.jsonc\");\n var workerEntryPath = (0, import_path.join)(cacheDir, \"worker-entry.js\");\n (0, import_fs.mkdirSync)(cacheDir, {\n recursive: true\n });\n (0, import_fs.writeFileSync)(workerEntryPath, `export { default } from ${JSON.stringify(workerdDevEntryId)}\n`);\n var userWranglerConfig = (0, import_cloudflareWranglerConfig.loadUserWranglerConfigSync)(root);\n var projectName = (0, import_cloudflareWranglerConfig.getCloudflareProjectNameSync)(root);\n var wranglerInputConfig = (0, import_cloudflareWranglerConfig.createCloudflareWranglerConfig)(projectName, userWranglerConfig === null || userWranglerConfig === void 0 ? void 0 : userWranglerConfig.config);\n wranglerInputConfig.main = \"worker-entry.js\";\n (0, import_fs.writeFileSync)(wranglerInputPath, `${JSON.stringify(wranglerInputConfig, null, 2)}\n`);\n var preloads = ((_options_web1 = options.web) === null || _options_web1 === void 0 ? void 0 : _options_web1.experimentalBundledDev) ? [\n \"/bundledDevClient.mjs\",\n \"/assets/_virtual_one-entry.js\"\n ] : [\n \"/@vite/client\",\n import_virtualEntryConstants.virtalEntryIdClient\n ];\n var empty = (0, import_resolve.resolvePath)(\"@vxrn/utils/empty\", root);\n var absorbed = (0, import_absorbedPackages.absorbedPackageAliases)(root, \"web\");\n var preparePlugin = {\n name: \"one:workerd-dev-prepare\",\n apply: \"serve\",\n enforce: \"pre\",\n config() {\n return {\n environments: {\n worker: {\n define: {\n ...(0, import_utils.getPlatformEnvDefine)(\"ssr\"),\n \"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(\"1\"),\n \"process.env.TAMAGUI_KEEP_THEMES\": JSON.stringify(\"1\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(import_constants.CACHE_KEY)\n },\n optimizeDeps: {\n include: [\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react-dom/server.browser\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\"\n ]\n },\n build: {\n rolldownOptions: {\n shimMissingExports: true\n }\n }\n }\n }\n };\n },\n // environment resolve options have no alias field; match the production\n // worker aliases with a worker-only resolveId (rolldown cannot parse RN Flow)\n resolveId: {\n filter: {\n id: /^(react-native(\\/|$|-safe-area-context$)|@react-native\\/assets-registry\\/registry$)/\n },\n handler(source) {\n if (this.environment.name !== \"worker\") return;\n if (/^react-native\\/Libraries\\//.test(source)) return empty;\n if (source === \"react-native/asset-registry\" || source === \"@react-native/assets-registry/registry\") return (0, import_resolve.resolvePath)(\"react-native-web/dist/modules/AssetRegistry\", root);\n if (source === \"react-native/package.json\") return (0, import_resolve.resolvePath)(\"react-native-web/package.json\", root);\n if (source === \"react-native\") return (0, import_resolve.resolvePath)(\"react-native-web\", root);\n if (source in absorbed) return absorbed[source];\n }\n },\n configureServer(server) {\n if (!server.environments.worker) {\n throw new Error(`[one] ONE_EXPERIMENTAL_WORKER_DEV=1 is set but @cloudflare/vite-plugin did not register a \"worker\" environment. Expected wrangler config at ${wranglerInputPath}.`);\n }\n console.info(\"[one] experimental workerd dev enabled (ONE_EXPERIMENTAL_WORKER_DEV=1)\");\n }\n };\n var virtualPlugin = {\n name: \"one:workerd-dev-entry\",\n apply: \"serve\",\n resolveId: {\n filter: {\n id: (0, import_filter.exactRegex)(workerdDevEntryId)\n },\n handler(id) {\n if (this.environment.name !== \"worker\") return;\n if (id === workerdDevEntryId) return resolvedWorkerdDevEntryId;\n }\n },\n load: {\n filter: {\n id: (0, import_filter.exactRegex)(resolvedWorkerdDevEntryId)\n },\n handler() {\n if (this.environment.name !== \"worker\") return;\n return generateWorkerdDevEntryModule({\n root,\n options,\n routerRoot: (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options),\n routePaths: routeIndex.getPaths(),\n preloads\n });\n }\n },\n hotUpdate(param) {\n var { file } = param;\n if (this.environment.name !== \"worker\") return;\n var graph = this.environment.moduleGraph;\n var entry = graph.getModuleById(resolvedWorkerdDevEntryId);\n if (!entry) return;\n var modules = graph.getModulesByFile(file);\n if (!(modules === null || modules === void 0 ? void 0 : modules.size)) return;\n graph.invalidateModule(entry);\n }\n };\n var cloudflarePlugins = (0, import_vite_plugin.cloudflare)({\n configPath: wranglerInputPath,\n viteEnvironment: {\n name: \"worker\"\n }\n }).map(serveOnly);\n return [\n preparePlugin,\n virtualPlugin,\n ...cloudflarePlugins\n ];\n}\n//# sourceMappingURL=workerdDevPlugin.js.map\n"],"mappings":"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"}
|
package/dist/esm/cli/build.mjs
CHANGED
|
@@ -316,6 +316,7 @@ async function build(args) {
|
|
|
316
316
|
const cssFileContentsCache = /* @__PURE__ */ new Map();
|
|
317
317
|
const criticalCSSOutputPaths = getCriticalCSSOutputPaths(vxrnOutput.clientManifest);
|
|
318
318
|
const limit = pLimit(buildConcurrency);
|
|
319
|
+
const skipNativeLoaders = oneOptions.native === false;
|
|
319
320
|
const useWorkers = shouldUseWorkers(oneOptions);
|
|
320
321
|
const workerPool = useWorkers ? getWorkerPool(buildConcurrency) : null;
|
|
321
322
|
if (workerPool) {
|
|
@@ -604,7 +605,8 @@ async function build(args) {
|
|
|
604
605
|
criticalPreloads,
|
|
605
606
|
deferredPreloads,
|
|
606
607
|
useAfterLCP,
|
|
607
|
-
useAfterLCPAggressive
|
|
608
|
+
useAfterLCPAggressive,
|
|
609
|
+
skipNativeLoaders
|
|
608
610
|
}).then((built) => ({
|
|
609
611
|
built,
|
|
610
612
|
path
|
|
@@ -613,7 +615,7 @@ async function build(args) {
|
|
|
613
615
|
return limit(async () => {
|
|
614
616
|
console.info(` \u21A6 route ${path}`);
|
|
615
617
|
const built = await runWithAsyncLocalContext(async () => {
|
|
616
|
-
return await buildPage(vxrnOutput.serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads2, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive);
|
|
618
|
+
return await buildPage(vxrnOutput.serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads2, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders);
|
|
617
619
|
});
|
|
618
620
|
return {
|
|
619
621
|
built,
|
|
@@ -789,7 +791,7 @@ if (typeof MessageChannel === 'undefined') {
|
|
|
789
791
|
}
|
|
790
792
|
}
|
|
791
793
|
|
|
792
|
-
import { serve,
|
|
794
|
+
import { serve, withRange } from 'one/serve-worker'
|
|
793
795
|
|
|
794
796
|
// Lazy import map - modules load on-demand when route is matched
|
|
795
797
|
const lazyRoutes = {
|
|
@@ -812,44 +814,40 @@ export default {
|
|
|
812
814
|
server = await serve(buildInfo, lazyRoutes)
|
|
813
815
|
}
|
|
814
816
|
|
|
815
|
-
//
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
817
|
+
// keep the asset binding and origin scoped to this request
|
|
818
|
+
const fetchStaticHtml = env.ASSETS
|
|
819
|
+
? async (path) => {
|
|
820
|
+
try {
|
|
821
|
+
const url = new URL(request.url)
|
|
822
|
+
url.pathname = path
|
|
823
|
+
const assetResponse = await env.ASSETS.fetch(new Request(url))
|
|
824
|
+
if (assetResponse && assetResponse.ok) {
|
|
825
|
+
return await assetResponse.text()
|
|
826
|
+
}
|
|
827
|
+
} catch (e) {
|
|
828
|
+
// asset not found
|
|
824
829
|
}
|
|
825
|
-
|
|
826
|
-
// asset not found
|
|
830
|
+
return null
|
|
827
831
|
}
|
|
828
|
-
|
|
829
|
-
})
|
|
830
|
-
}
|
|
832
|
+
: undefined
|
|
831
833
|
|
|
832
|
-
|
|
833
|
-
const response = await server.fetch(request, env, ctx)
|
|
834
|
+
const response = await server.fetch(request, env, ctx, fetchStaticHtml)
|
|
834
835
|
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
}
|
|
843
|
-
} catch (e) {
|
|
844
|
-
// asset not found, continue with original response
|
|
836
|
+
// no route matched or 404 \u2192 try static assets
|
|
837
|
+
if (!response || response.status === 404) {
|
|
838
|
+
if (env.ASSETS) {
|
|
839
|
+
try {
|
|
840
|
+
const assetResponse = await env.ASSETS.fetch(request)
|
|
841
|
+
if (assetResponse && assetResponse.status !== 404) {
|
|
842
|
+
return await withRange(request, assetResponse)
|
|
845
843
|
}
|
|
844
|
+
} catch (e) {
|
|
845
|
+
// asset not found, continue with original response
|
|
846
846
|
}
|
|
847
847
|
}
|
|
848
|
-
|
|
849
|
-
return response
|
|
850
|
-
} finally {
|
|
851
|
-
setFetchStaticHtml(null)
|
|
852
848
|
}
|
|
849
|
+
|
|
850
|
+
return response
|
|
853
851
|
}
|
|
854
852
|
}
|
|
855
853
|
`;
|
|
@@ -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 previousBuildInfo = args.platform === \"web\" && args.step === \"generate\" ? await FSExtra.readJSON(toAbsolute(`${outDir}/buildInfo.json`)) : void 0;\n if (previousBuildInfo) {\n constants.setCacheKey(previousBuildInfo.constants.CACHE_KEY);\n process.env.ONE_CACHE_KEY = constants.CACHE_KEY;\n }\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 if (previousBuildInfo) {\n const generatedFiles = /* @__PURE__ */ new Set([\n ...Object.values(previousBuildInfo.routeMap),\n ...Object.keys(previousBuildInfo.preloads),\n ...Object.keys(previousBuildInfo.cssPreloads),\n ...Object.keys(previousBuildInfo.loaders)\n ]);\n for (const loaderPath of Object.keys(previousBuildInfo.loaders)) {\n if (!loaderPath) continue;\n generatedFiles.add(loaderPath.replace(/\\.js$/, \".native.js\"));\n generatedFiles.add(\n loaderPath.replace(\n constants.LOADER_JS_POSTFIX,\n constants.NATIVE_LOADER_JS_POSTFIX_UNCACHED\n )\n );\n }\n await Promise.all([\n ...[\"api\", \"middlewares\", \"static\"].map(\n (folder) => FSExtra.remove(join(outDir, folder))\n ),\n ...[...generatedFiles].filter(Boolean).map((file) => FSExtra.remove(join(outDir, \"client\", file)))\n ]);\n }\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 };\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 });\n }\n } else if (previousBuildInfo) {\n for (const route of Object.values(previousBuildInfo.routeToBuildInfo)) {\n if (!route.clientJsPath) continue;\n const modulePath = normalizePath(\n join(resolve(process.cwd(), options.root), routerRoot, route.routeFile.slice(2))\n );\n clientChunksBySource.set(modulePath, {\n fileName: normalizePath(relative(clientDir, route.clientJsPath))\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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"}
|
|
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 previousBuildInfo = args.platform === \"web\" && args.step === \"generate\" ? await FSExtra.readJSON(toAbsolute(`${outDir}/buildInfo.json`)) : void 0;\n if (previousBuildInfo) {\n constants.setCacheKey(previousBuildInfo.constants.CACHE_KEY);\n process.env.ONE_CACHE_KEY = constants.CACHE_KEY;\n }\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 if (previousBuildInfo) {\n const generatedFiles = /* @__PURE__ */ new Set([\n ...Object.values(previousBuildInfo.routeMap),\n ...Object.keys(previousBuildInfo.preloads),\n ...Object.keys(previousBuildInfo.cssPreloads),\n ...Object.keys(previousBuildInfo.loaders)\n ]);\n for (const loaderPath of Object.keys(previousBuildInfo.loaders)) {\n if (!loaderPath) continue;\n generatedFiles.add(loaderPath.replace(/\\.js$/, \".native.js\"));\n generatedFiles.add(\n loaderPath.replace(\n constants.LOADER_JS_POSTFIX,\n constants.NATIVE_LOADER_JS_POSTFIX_UNCACHED\n )\n );\n }\n await Promise.all([\n ...[\"api\", \"middlewares\", \"static\"].map(\n (folder) => FSExtra.remove(join(outDir, folder))\n ),\n ...[...generatedFiles].filter(Boolean).map((file) => FSExtra.remove(join(outDir, \"client\", file)))\n ]);\n }\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 skipNativeLoaders = oneOptions.native === false;\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 };\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 });\n }\n } else if (previousBuildInfo) {\n for (const route of Object.values(previousBuildInfo.routeToBuildInfo)) {\n if (!route.clientJsPath) continue;\n const modulePath = normalizePath(\n join(resolve(process.cwd(), options.root), routerRoot, route.routeFile.slice(2))\n );\n clientChunksBySource.set(modulePath, {\n fileName: normalizePath(relative(clientDir, route.clientJsPath))\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 skipNativeLoaders\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 skipNativeLoaders\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, 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 // keep the asset binding and origin scoped to this request\n const fetchStaticHtml = env.ASSETS\n ? 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 : undefined\n\n const response = await server.fetch(request, env, ctx, fetchStaticHtml)\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 }\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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"}
|