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
|
@@ -28,7 +28,7 @@ function printBuildTimings() {
|
|
|
28
28
|
console.info(` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {
|
|
31
|
+
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders) {
|
|
32
32
|
let t0 = performance.now();
|
|
33
33
|
const render = await getRender(serverEntry);
|
|
34
34
|
recordTiming("getRender", performance.now() - t0);
|
|
@@ -177,17 +177,21 @@ prefetchCSS()
|
|
|
177
177
|
__oneRedirectStatus: loaderRedirectInfo.status
|
|
178
178
|
});
|
|
179
179
|
await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
if (!skipNativeLoaders) {
|
|
181
|
+
const nativeCjs = `exports.loader = function(){return ${redirectData}}`;
|
|
182
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs);
|
|
183
|
+
await outputFile(uncachedNativePath, nativeCjs);
|
|
184
|
+
}
|
|
183
185
|
loaderPath = getLoaderPath(path);
|
|
184
186
|
loaderData = {};
|
|
185
187
|
} else {
|
|
186
188
|
const data = JSON.stringify(loaderData);
|
|
187
189
|
await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
190
|
+
if (!skipNativeLoaders) {
|
|
191
|
+
const nativeCjs = `exports.loader = function(){return ${data}}`;
|
|
192
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs);
|
|
193
|
+
await outputFile(uncachedNativePath, nativeCjs);
|
|
194
|
+
}
|
|
191
195
|
loaderPath = getLoaderPath(path);
|
|
192
196
|
}
|
|
193
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPage.js","names":[],"sources":["esm/cli/buildPage.js"],"sourcesContent":["import { join } from \"node:path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport {\n encodeReservedFilenameChars,\n getLoaderPath,\n getPreloadCSSPath,\n getPreloadPath\n} from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nconst { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n const parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nconst buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nconst timings = {};\nfunction recordTiming(label, ms) {\n if (!buildTiming) return;\n (timings[label] ||= []).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n for (const [label, times] of Object.entries(timings)) {\n const total = times.reduce((a, b) => a + b, 0);\n const avg = total / times.length;\n console.info(\n ` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`\n );\n }\n}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {\n let t0 = performance.now();\n const render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n const htmlPath = encodeReservedFilenameChars(\n `${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`\n );\n const clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n const htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n const preloadPath = getPreloadPath(path);\n const cssPreloadPath = getPreloadCSSPath(path);\n let loaderPath = \"\";\n let loaderData = {};\n try {\n const preloadContent = [\n // static imports for cache warming\n ...preloads.map((preload) => `import \"${preload}\"`),\n `const routes = globalThis.__importMetaGlobbed`,\n `await Promise.all(${JSON.stringify(routePreloads)}.map((key) => routes[key]().then((mod) => window.__oneRegisterPreloadedRoute(key, mod))))`\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(\n join(clientDir, urlPathToFilePath(preloadPath)),\n preloadContent\n );\n recordTiming(\"writePreload\", performance.now() - t0);\n const uniqueCSS = [...new Set(allCSS)];\n const cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(\n join(clientDir, urlPathToFilePath(cssPreloadPath)),\n cssPreloadContent\n );\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n const exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n const loaderProps = { path, params };\n const matches = [];\n t0 = performance.now();\n if (foundRoute.layouts?.length) {\n const layoutResults = await Promise.all(\n foundRoute.layouts.map(async (layout) => {\n try {\n if (!layout.loaderServerPath) {\n return { contextKey: layout.contextKey, loaderData: void 0 };\n }\n const layoutExported = await getRouteExports(\n serverEntry,\n routerRoot,\n layout.contextKey\n );\n const layoutLoaderData = await layoutExported?.loader?.(loaderProps);\n return { contextKey: layout.contextKey, loaderData: layoutLoaderData };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(\n `[one] Warning: layout loader failed for ${layout.contextKey}:`,\n err\n );\n return { contextKey: layout.contextKey, loaderData: void 0 };\n }\n })\n );\n for (const result of layoutResults) {\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\n });\n }\n }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n let loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n try {\n loaderData = await exported.loader?.(loaderProps) ?? null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || loaderData?.constructor?.name === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n const uncachedNativePath = loaderPartialPath.replace(\n constants.LOADER_JS_POSTFIX,\n NATIVE_LOADER_JS_POSTFIX_UNCACHED\n );\n if (loaderRedirectInfo) {\n const redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(\n loaderPartialPath,\n `export function loader(){return ${redirectData}}`\n );\n const nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n const data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n const nativeCjs = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n globalThis[\"__vxrnresetState\"]?.();\n if (foundRoute.type === \"ssg\") {\n const renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n const renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n let html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(\n html,\n useAfterLCPAggressive ? criticalPreloads || preloads : preloads\n );\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n const needsSpaShell = foundRoute.layouts?.some(\n (layout) => layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\"\n );\n if (needsSpaShell) {\n globalThis[\"__vxrnresetState\"]?.();\n const renderPreloads = criticalPreloads || preloads;\n const renderDeferredPreloads = deferredPreloads || [];\n const layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n let html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(\n html,\n useAfterLCPAggressive ? criticalPreloads || preloads : preloads\n );\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag = function(file, index) {\n const content = allCSSContents?.[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n const layoutCSSSet = new Set(layoutCSS);\n const layoutCssOutput = allCSS.map((file, i) => layoutCSSSet.has(file) ? renderCSSTag(file, i) : \"\").filter(Boolean).join(\"\\n\");\n const pageCssOutput = allCSS.map((file, i) => !layoutCSSSet.has(file) ? renderCSSTag(file, i) : \"\").filter(Boolean).join(\"\\n\");\n const criticalScripts = (criticalPreloads || preloads).map((preload) => ` <script type=\"module\" src=\"${preload}\"></script>`).join(\"\\n\");\n await outputFile(\n htmlOutPath,\n `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({ serverContext: { loaderProps, loaderData } })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`\n );\n }\n }\n }\n } catch (err) {\n const errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(\n `Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`\n );\n console.error(err);\n throw err;\n }\n const middlewares = (foundRoute.middlewares || []).map(\n (x) => builtMiddlewares[x.contextKey]\n );\n const cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n const serverImport = await import(toAbsoluteUrl(serverEntry));\n const render = serverImport.default.render || // for an unknown reason this is necessary\n serverImport.default.default?.render;\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n const location = response.headers.get(\"location\");\n if (location) {\n try {\n const url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch {\n return { path: location, status: response.status };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n const loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n // hydration must not start while the parser is still adding server markup\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', function() { waitIdle(5); });\n } else {\n waitIdle(5);\n }\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildPage.js","names":[],"sources":["esm/cli/buildPage.js"],"sourcesContent":["import { join } from \"node:path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport {\n encodeReservedFilenameChars,\n getLoaderPath,\n getPreloadCSSPath,\n getPreloadPath\n} from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nconst { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n const parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nconst buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nconst timings = {};\nfunction recordTiming(label, ms) {\n if (!buildTiming) return;\n (timings[label] ||= []).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n for (const [label, times] of Object.entries(timings)) {\n const total = times.reduce((a, b) => a + b, 0);\n const avg = total / times.length;\n console.info(\n ` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`\n );\n }\n}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders) {\n let t0 = performance.now();\n const render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n const htmlPath = encodeReservedFilenameChars(\n `${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`\n );\n const clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n const htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n const preloadPath = getPreloadPath(path);\n const cssPreloadPath = getPreloadCSSPath(path);\n let loaderPath = \"\";\n let loaderData = {};\n try {\n const preloadContent = [\n // static imports for cache warming\n ...preloads.map((preload) => `import \"${preload}\"`),\n `const routes = globalThis.__importMetaGlobbed`,\n `await Promise.all(${JSON.stringify(routePreloads)}.map((key) => routes[key]().then((mod) => window.__oneRegisterPreloadedRoute(key, mod))))`\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(\n join(clientDir, urlPathToFilePath(preloadPath)),\n preloadContent\n );\n recordTiming(\"writePreload\", performance.now() - t0);\n const uniqueCSS = [...new Set(allCSS)];\n const cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(\n join(clientDir, urlPathToFilePath(cssPreloadPath)),\n cssPreloadContent\n );\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n const exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n const loaderProps = { path, params };\n const matches = [];\n t0 = performance.now();\n if (foundRoute.layouts?.length) {\n const layoutResults = await Promise.all(\n foundRoute.layouts.map(async (layout) => {\n try {\n if (!layout.loaderServerPath) {\n return { contextKey: layout.contextKey, loaderData: void 0 };\n }\n const layoutExported = await getRouteExports(\n serverEntry,\n routerRoot,\n layout.contextKey\n );\n const layoutLoaderData = await layoutExported?.loader?.(loaderProps);\n return { contextKey: layout.contextKey, loaderData: layoutLoaderData };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(\n `[one] Warning: layout loader failed for ${layout.contextKey}:`,\n err\n );\n return { contextKey: layout.contextKey, loaderData: void 0 };\n }\n })\n );\n for (const result of layoutResults) {\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\n });\n }\n }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n let loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n try {\n loaderData = await exported.loader?.(loaderProps) ?? null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || loaderData?.constructor?.name === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n const uncachedNativePath = loaderPartialPath.replace(\n constants.LOADER_JS_POSTFIX,\n NATIVE_LOADER_JS_POSTFIX_UNCACHED\n );\n if (loaderRedirectInfo) {\n const redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(\n loaderPartialPath,\n `export function loader(){return ${redirectData}}`\n );\n if (!skipNativeLoaders) {\n const nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n }\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n const data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n if (!skipNativeLoaders) {\n const nativeCjs = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n }\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n globalThis[\"__vxrnresetState\"]?.();\n if (foundRoute.type === \"ssg\") {\n const renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n const renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n let html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(\n html,\n useAfterLCPAggressive ? criticalPreloads || preloads : preloads\n );\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n const needsSpaShell = foundRoute.layouts?.some(\n (layout) => layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\"\n );\n if (needsSpaShell) {\n globalThis[\"__vxrnresetState\"]?.();\n const renderPreloads = criticalPreloads || preloads;\n const renderDeferredPreloads = deferredPreloads || [];\n const layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n let html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(\n html,\n useAfterLCPAggressive ? criticalPreloads || preloads : preloads\n );\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag = function(file, index) {\n const content = allCSSContents?.[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n const layoutCSSSet = new Set(layoutCSS);\n const layoutCssOutput = allCSS.map((file, i) => layoutCSSSet.has(file) ? renderCSSTag(file, i) : \"\").filter(Boolean).join(\"\\n\");\n const pageCssOutput = allCSS.map((file, i) => !layoutCSSSet.has(file) ? renderCSSTag(file, i) : \"\").filter(Boolean).join(\"\\n\");\n const criticalScripts = (criticalPreloads || preloads).map((preload) => ` <script type=\"module\" src=\"${preload}\"></script>`).join(\"\\n\");\n await outputFile(\n htmlOutPath,\n `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({ serverContext: { loaderProps, loaderData } })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`\n );\n }\n }\n }\n } catch (err) {\n const errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(\n `Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`\n );\n console.error(err);\n throw err;\n }\n const middlewares = (foundRoute.middlewares || []).map(\n (x) => builtMiddlewares[x.contextKey]\n );\n const cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n const serverImport = await import(toAbsoluteUrl(serverEntry));\n const render = serverImport.default.render || // for an unknown reason this is necessary\n serverImport.default.default?.render;\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n const location = response.headers.get(\"location\");\n if (location) {\n try {\n const url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch {\n return { path: location, status: response.status };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n const loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n // hydration must not start while the parser is still adding server markup\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', function() { waitIdle(5); });\n } else {\n waitIdle(5);\n }\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ function printBuildTimings() {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {
|
|
51
|
+
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders) {
|
|
52
52
|
var t0 = performance.now();
|
|
53
53
|
var render = await getRender(serverEntry);
|
|
54
54
|
recordTiming("getRender", performance.now() - t0);
|
|
@@ -221,17 +221,21 @@ prefetchCSS()
|
|
|
221
221
|
__oneRedirectStatus: loaderRedirectInfo.status
|
|
222
222
|
});
|
|
223
223
|
await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
if (!skipNativeLoaders) {
|
|
225
|
+
var nativeCjs = `exports.loader = function(){return ${redirectData}}`;
|
|
226
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs);
|
|
227
|
+
await outputFile(uncachedNativePath, nativeCjs);
|
|
228
|
+
}
|
|
227
229
|
loaderPath = getLoaderPath(path);
|
|
228
230
|
loaderData = {};
|
|
229
231
|
} else {
|
|
230
232
|
var data = JSON.stringify(loaderData);
|
|
231
233
|
await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
234
|
+
if (!skipNativeLoaders) {
|
|
235
|
+
var nativeCjs1 = `exports.loader = function(){return ${data}}`;
|
|
236
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs1);
|
|
237
|
+
await outputFile(uncachedNativePath, nativeCjs1);
|
|
238
|
+
}
|
|
235
239
|
loaderPath = getLoaderPath(path);
|
|
236
240
|
}
|
|
237
241
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPage.native.js","names":[],"sources":["esm/cli/buildPage.native.js"],"sourcesContent":["import { join } from \"path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport { encodeReservedFilenameChars, getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nvar { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nvar buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nvar timings = {};\nfunction recordTiming(label, ms) {\n var _timings, _label;\n if (!buildTiming) return;\n ((_timings = timings)[_label = label] || (_timings[_label] = [])).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(timings)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [label, times] = _step.value;\n var total = times.reduce(function(a, b) {\n return a + b;\n }, 0);\n var avg = total / times.length;\n console.info(` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`);\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}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {\n var t0 = performance.now();\n var render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n var htmlPath = encodeReservedFilenameChars(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n var preloadPath = getPreloadPath(path);\n var cssPreloadPath = getPreloadCSSPath(path);\n var loaderPath = \"\";\n var loaderData = {};\n try {\n var _foundRoute_layouts;\n var preloadContent = [\n // static imports for cache warming\n ...preloads.map(function(preload) {\n return `import \"${preload}\"`;\n }),\n `const routes = globalThis.__importMetaGlobbed`,\n `await Promise.all(${JSON.stringify(routePreloads)}.map((key) => routes[key]().then((mod) => window.__oneRegisterPreloadedRoute(key, mod))))`\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(preloadPath)), preloadContent);\n recordTiming(\"writePreload\", performance.now() - t0);\n var uniqueCSS = [\n ...new Set(allCSS)\n ];\n var cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n var loaderProps = {\n path,\n params\n };\n var matches = [];\n t0 = performance.now();\n if ((_foundRoute_layouts = foundRoute.layouts) === null || _foundRoute_layouts === void 0 ? void 0 : _foundRoute_layouts.length) {\n var layoutResults = await Promise.all(foundRoute.layouts.map(async function(layout) {\n try {\n var _layoutExported_loader;\n if (!layout.loaderServerPath) {\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n var layoutExported = await getRouteExports(serverEntry, routerRoot, layout.contextKey);\n var layoutLoaderData = await (layoutExported === null || layoutExported === void 0 ? void 0 : (_layoutExported_loader = layoutExported.loader) === null || _layoutExported_loader === void 0 ? void 0 : _layoutExported_loader.call(layoutExported, loaderProps));\n return {\n contextKey: layout.contextKey,\n loaderData: layoutLoaderData\n };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(`[one] Warning: layout loader failed for ${layout.contextKey}:`, err);\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n }));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutResults[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var result = _step.value;\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\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 }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n var loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n var _loaderData_constructor;\n try {\n var _ref;\n var _exported_loader;\n loaderData = (_ref = await ((_exported_loader = exported.loader) === null || _exported_loader === void 0 ? void 0 : _exported_loader.call(exported, loaderProps))) !== null && _ref !== void 0 ? _ref : null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || (loaderData === null || loaderData === void 0 ? void 0 : (_loaderData_constructor = loaderData.constructor) === null || _loaderData_constructor === void 0 ? void 0 : _loaderData_constructor.name) === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n var loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, NATIVE_LOADER_JS_POSTFIX_UNCACHED);\n if (loaderRedirectInfo) {\n var redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);\n var nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n var data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n var nativeCjs1 = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs1);\n await outputFile(uncachedNativePath, nativeCjs1);\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n var _globalThis___vxrnresetState, _globalThis;\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n if (foundRoute.type === \"ssg\") {\n var renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n var renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n var html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(html, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n var _foundRoute_layouts1;\n var needsSpaShell = (_foundRoute_layouts1 = foundRoute.layouts) === null || _foundRoute_layouts1 === void 0 ? void 0 : _foundRoute_layouts1.some(function(layout) {\n return layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n var _globalThis___vxrnresetState1, _globalThis1;\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var renderPreloads1 = criticalPreloads || preloads;\n var renderDeferredPreloads1 = deferredPreloads || [];\n var layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n var html1 = await render({\n path,\n preloads: renderPreloads1,\n deferredPreloads: renderDeferredPreloads1,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html1 = applyAfterLCPScriptLoad(html1, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html1);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag2 = function(file, index) {\n var content = allCSSContents === null || allCSSContents === void 0 ? void 0 : allCSSContents[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n var renderCSSTag = renderCSSTag2;\n var layoutCSSSet = new Set(layoutCSS);\n var layoutCssOutput = allCSS.map(function(file, i) {\n return layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var pageCssOutput = allCSS.map(function(file, i) {\n return !layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var criticalScripts = (criticalPreloads || preloads).map(function(preload) {\n return ` <script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\\n\");\n await outputFile(htmlOutPath, `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({\n serverContext: {\n loaderProps,\n loaderData\n }\n })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`);\n }\n }\n }\n } catch (err) {\n var errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(`Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`);\n console.error(err);\n throw err;\n }\n var middlewares = (foundRoute.middlewares || []).map(function(x) {\n return builtMiddlewares[x.contextKey];\n });\n var cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n var _serverImport_default_default;\n var serverImport = await import(toAbsoluteUrl(serverEntry));\n var render = serverImport.default.render || ((_serverImport_default_default = serverImport.default.default) === null || _serverImport_default_default === void 0 ? void 0 : _serverImport_default_default.render);\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n var location = response.headers.get(\"location\");\n if (location) {\n try {\n var url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch (unused) {\n return {\n path: location,\n status: response.status\n };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n var loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n // hydration must not start while the parser is still adding server markup\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', function() { waitIdle(5); });\n } else {\n waitIdle(5);\n }\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildPage.native.js","names":[],"sources":["esm/cli/buildPage.native.js"],"sourcesContent":["import { join } from \"path\";\nimport FSExtra from \"fs-extra\";\nimport { normalizePath } from \"vite\";\nimport * as constants from \"../constants\";\nimport { NATIVE_LOADER_JS_POSTFIX_UNCACHED } from \"../constants\";\nimport { encodeReservedFilenameChars, getLoaderPath, getPreloadCSSPath, getPreloadPath } from \"../utils/cleanUrl\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { toAbsolute, toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { getRouteExports } from \"./serverRouteModules\";\nvar { outputFile } = FSExtra;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return join(...parts);\n}\nvar buildTiming = process.env.ONE_BUILD_TIMING === \"1\";\nvar timings = {};\nfunction recordTiming(label, ms) {\n var _timings, _label;\n if (!buildTiming) return;\n ((_timings = timings)[_label = label] || (_timings[_label] = [])).push(ms);\n}\nfunction printBuildTimings() {\n if (!buildTiming) return;\n console.info(\"\\n\\u{1F4CA} Build timing breakdown:\");\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(timings)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [label, times] = _step.value;\n var total = times.reduce(function(a, b) {\n return a + b;\n }, 0);\n var avg = total / times.length;\n console.info(` ${label}: ${avg.toFixed(1)}ms avg, ${total.toFixed(0)}ms total (${times.length} calls)`);\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}\nasync function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders) {\n var t0 = performance.now();\n var render = await getRender(serverEntry);\n recordTiming(\"getRender\", performance.now() - t0);\n var htmlPath = encodeReservedFilenameChars(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? normalizePath(join(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = toAbsolute(join(staticDir, htmlPath));\n var preloadPath = getPreloadPath(path);\n var cssPreloadPath = getPreloadCSSPath(path);\n var loaderPath = \"\";\n var loaderData = {};\n try {\n var _foundRoute_layouts;\n var preloadContent = [\n // static imports for cache warming\n ...preloads.map(function(preload) {\n return `import \"${preload}\"`;\n }),\n `const routes = globalThis.__importMetaGlobbed`,\n `await Promise.all(${JSON.stringify(routePreloads)}.map((key) => routes[key]().then((mod) => window.__oneRegisterPreloadedRoute(key, mod))))`\n ].join(\"\\n\");\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(preloadPath)), preloadContent);\n recordTiming(\"writePreload\", performance.now() - t0);\n var uniqueCSS = [\n ...new Set(allCSS)\n ];\n var cssPreloadContent = `\nconst CSS_TIMEOUT = 1000\nconst cssUrls = ${JSON.stringify(uniqueCSS)}\n\n// Global cache for loaded CSS - avoids DOM queries and tracks across navigations\nconst loaded = (window.__oneLoadedCSS ||= new Set())\n\n// Prefetch CSS without applying - called on link hover\nexport function prefetchCSS() {\n cssUrls.forEach(href => {\n if (loaded.has(href)) return\n if (document.querySelector(\\`link[href=\"\\${href}\"]\\`)) return\n const link = document.createElement('link')\n link.rel = 'prefetch'\n link.as = 'style'\n link.href = href\n document.head.appendChild(link)\n })\n}\n\n// Inject CSS to apply styles - called on actual navigation\nexport function injectCSS() {\n return Promise.all(cssUrls.map(href => {\n // Skip if already loaded\n if (loaded.has(href)) return Promise.resolve()\n // Remove any prefetch link for this href\n const prefetchLink = document.querySelector(\\`link[rel=\"prefetch\"][href=\"\\${href}\"]\\`)\n if (prefetchLink) prefetchLink.remove()\n // Skip if stylesheet already exists in DOM\n if (document.querySelector(\\`link[rel=\"stylesheet\"][href=\"\\${href}\"]\\`)) {\n loaded.add(href)\n return Promise.resolve()\n }\n return new Promise(resolve => {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = href\n const timeoutId = setTimeout(() => {\n console.warn('[one] CSS load timeout:', href)\n loaded.add(href)\n resolve()\n }, CSS_TIMEOUT)\n link.onload = link.onerror = () => {\n clearTimeout(timeoutId)\n loaded.add(href)\n resolve()\n }\n document.head.appendChild(link)\n })\n }))\n}\n\n// For backwards compatibility, also prefetch on import\nprefetchCSS()\n`;\n t0 = performance.now();\n await FSExtra.writeFile(join(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await getRouteExports(serverEntry, routerRoot, foundRoute.file);\n recordTiming(\"importServerModule\", performance.now() - t0);\n var loaderProps = {\n path,\n params\n };\n var matches = [];\n t0 = performance.now();\n if ((_foundRoute_layouts = foundRoute.layouts) === null || _foundRoute_layouts === void 0 ? void 0 : _foundRoute_layouts.length) {\n var layoutResults = await Promise.all(foundRoute.layouts.map(async function(layout) {\n try {\n var _layoutExported_loader;\n if (!layout.loaderServerPath) {\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n var layoutExported = await getRouteExports(serverEntry, routerRoot, layout.contextKey);\n var layoutLoaderData = await (layoutExported === null || layoutExported === void 0 ? void 0 : (_layoutExported_loader = layoutExported.loader) === null || _layoutExported_loader === void 0 ? void 0 : _layoutExported_loader.call(layoutExported, loaderProps));\n return {\n contextKey: layout.contextKey,\n loaderData: layoutLoaderData\n };\n } catch (err) {\n if (isResponse(err)) {\n throw err;\n }\n console.warn(`[one] Warning: layout loader failed for ${layout.contextKey}:`, err);\n return {\n contextKey: layout.contextKey,\n loaderData: void 0\n };\n }\n }));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutResults[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var result = _step.value;\n matches.push({\n routeId: result.contextKey,\n pathname: path,\n params: params || {},\n loaderData: result.loaderData\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 }\n recordTiming(\"layoutLoaders\", performance.now() - t0);\n t0 = performance.now();\n var loaderRedirectInfo = null;\n if (exported.loader && foundRoute.type !== \"ssr\") {\n var _loaderData_constructor;\n try {\n var _ref;\n var _exported_loader;\n loaderData = (_ref = await ((_exported_loader = exported.loader) === null || _exported_loader === void 0 ? void 0 : _exported_loader.call(exported, loaderProps))) !== null && _ref !== void 0 ? _ref : null;\n } catch (err) {\n if (isResponse(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && (isResponse(loaderData) || loaderData instanceof Response || (loaderData === null || loaderData === void 0 ? void 0 : (_loaderData_constructor = loaderData.constructor) === null || _loaderData_constructor === void 0 ? void 0 : _loaderData_constructor.name) === \"Response\")) {\n loaderRedirectInfo = extractRedirectInfo(loaderData);\n loaderData = {};\n }\n if (clientJsPath) {\n var loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, NATIVE_LOADER_JS_POSTFIX_UNCACHED);\n if (loaderRedirectInfo) {\n var redirectData = JSON.stringify({\n __oneRedirect: loaderRedirectInfo.path,\n __oneRedirectStatus: loaderRedirectInfo.status\n });\n await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);\n if (!skipNativeLoaders) {\n var nativeCjs = `exports.loader = function(){return ${redirectData}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs);\n await outputFile(uncachedNativePath, nativeCjs);\n }\n loaderPath = getLoaderPath(path);\n loaderData = {};\n } else {\n var data = JSON.stringify(loaderData);\n await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);\n if (!skipNativeLoaders) {\n var nativeCjs1 = `exports.loader = function(){return ${data}}`;\n await outputFile(loaderPartialPath.replace(/\\.js$/, \".native.js\"), nativeCjs1);\n await outputFile(uncachedNativePath, nativeCjs1);\n }\n loaderPath = getLoaderPath(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = join(clientDir, urlPathToFilePath(getLoaderPath(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = getLoaderPath(path);\n }\n recordTiming(\"pageLoader\", performance.now() - t0);\n matches.push({\n routeId: foundRoute.file,\n pathname: path,\n params: params || {},\n loaderData\n });\n if (foundRoute.type !== \"ssr\") {\n var _globalThis___vxrnresetState, _globalThis;\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n if (foundRoute.type === \"ssg\") {\n var renderPreloads = useAfterLCPAggressive ? [] : criticalPreloads || preloads;\n var renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads;\n t0 = performance.now();\n var html = await render({\n path,\n preloads: renderPreloads,\n deferredPreloads: renderDeferredPreloads,\n loaderProps,\n loaderData,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"ssg\",\n routePreloads,\n matches\n });\n recordTiming(\"ssrRender\", performance.now() - t0);\n if (useAfterLCP) {\n html = applyAfterLCPScriptLoad(html, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else if (foundRoute.type === \"spa\") {\n var _foundRoute_layouts1;\n var needsSpaShell = (_foundRoute_layouts1 = foundRoute.layouts) === null || _foundRoute_layouts1 === void 0 ? void 0 : _foundRoute_layouts1.some(function(layout) {\n return layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n var _globalThis___vxrnresetState1, _globalThis1;\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var renderPreloads1 = criticalPreloads || preloads;\n var renderDeferredPreloads1 = deferredPreloads || [];\n var layoutMatches = matches.slice(0, -1);\n t0 = performance.now();\n var html1 = await render({\n path,\n preloads: renderPreloads1,\n deferredPreloads: renderDeferredPreloads1,\n loaderProps,\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n css: allCSS,\n cssContents: allCSSContents,\n mode: \"spa-shell\",\n routePreloads,\n matches: layoutMatches\n });\n recordTiming(\"spaShellRender\", performance.now() - t0);\n if (useAfterLCP) {\n html1 = applyAfterLCPScriptLoad(html1, useAfterLCPAggressive ? criticalPreloads || preloads : preloads);\n }\n t0 = performance.now();\n await outputFile(htmlOutPath, html1);\n recordTiming(\"writeHTML\", performance.now() - t0);\n } else {\n let renderCSSTag2 = function(file, index) {\n var content = allCSSContents === null || allCSSContents === void 0 ? void 0 : allCSSContents[index];\n if (content) {\n return ` <style>${content}</style>`;\n }\n return ` <link rel=\"stylesheet\" href=${file} />`;\n };\n var renderCSSTag = renderCSSTag2;\n var layoutCSSSet = new Set(layoutCSS);\n var layoutCssOutput = allCSS.map(function(file, i) {\n return layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var pageCssOutput = allCSS.map(function(file, i) {\n return !layoutCSSSet.has(file) ? renderCSSTag2(file, i) : \"\";\n }).filter(Boolean).join(\"\\n\");\n var criticalScripts = (criticalPreloads || preloads).map(function(preload) {\n return ` <script type=\"module\" src=\"${preload}\"></script>`;\n }).join(\"\\n\");\n await outputFile(htmlOutPath, `<!DOCTYPE html><html><head>\n ${constants.getSpaHeaderElements({\n serverContext: {\n loaderProps,\n loaderData\n }\n })}\n ${layoutCssOutput}\n ${criticalScripts}\n ${pageCssOutput}\n </head><body></body></html>`);\n }\n }\n }\n } catch (err) {\n var errMsg = err instanceof Error ? `${err.message}\n${err.stack}` : `${err}`;\n console.error(`Error building static page at ${path} with id ${relativeId}:\n\n${errMsg}\n\nloaderData:\n\n${JSON.stringify(loaderData || null, null, 2)}\nparams:\n\n${JSON.stringify(params || null, null, 2)}`);\n console.error(err);\n throw err;\n }\n var middlewares = (foundRoute.middlewares || []).map(function(x) {\n return builtMiddlewares[x.contextKey];\n });\n var cleanPath = path === \"/\" ? path : removeTrailingSlash(path);\n return {\n type: foundRoute.type,\n css: allCSS,\n layoutCSS,\n cssContents: allCSSContents,\n routeFile: foundRoute.file,\n middlewares,\n cleanPath,\n preloadPath,\n cssPreloadPath,\n loaderPath,\n clientJsPath,\n serverJsPath: foundRoute.type === \"spa\" ? \"\" : serverJsPath,\n htmlPath,\n loaderData,\n params,\n path,\n preloads,\n criticalPreloads,\n deferredPreloads\n };\n}\nasync function getRender(serverEntry) {\n try {\n var _serverImport_default_default;\n var serverImport = await import(toAbsoluteUrl(serverEntry));\n var render = serverImport.default.render || ((_serverImport_default_default = serverImport.default.default) === null || _serverImport_default_default === void 0 ? void 0 : _serverImport_default_default.render);\n if (typeof render !== \"function\") {\n throw new Error(`didn't find render function in entry: ${serverEntry}`);\n }\n return render;\n } catch (err) {\n console.error(`\\u274C Error importing the root entry:`);\n console.error(` This error happened in the built file: ${serverEntry}`);\n console.error(err[\"stack\"]);\n throw err;\n }\n}\nfunction removeTrailingSlash(path) {\n return path.endsWith(\"/\") ? path.slice(0, path.length - 1) : path;\n}\nfunction extractRedirectInfo(response) {\n if (response.status >= 300 && response.status < 400) {\n var location = response.headers.get(\"location\");\n if (location) {\n try {\n var url = new URL(location);\n return {\n path: url.pathname + url.search + url.hash,\n status: response.status\n };\n } catch (unused) {\n return {\n path: location,\n status: response.status\n };\n }\n }\n }\n return null;\n}\nfunction applyAfterLCPScriptLoad(html, preloads) {\n html = html.replace(/<script\\s+type=\"module\"[^>]*async[^>]*><\\/script>/gi, \"\");\n var loaderScript = `\n<script>\n(function() {\n var scripts = ${JSON.stringify(preloads)};\n function loadScripts() {\n scripts.forEach(function(src) {\n var script = document.createElement('script');\n script.type = 'module';\n script.src = src;\n document.head.appendChild(script);\n });\n }\n function waitIdle(n) {\n if (n <= 0) {\n requestAnimationFrame(function() {\n requestAnimationFrame(loadScripts);\n });\n return;\n }\n setTimeout(function() {\n setTimeout(function() {\n waitIdle(n - 1);\n }, 0);\n }, 0);\n }\n // hydration must not start while the parser is still adding server markup\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', function() { waitIdle(5); });\n } else {\n waitIdle(5);\n }\n})();\n</script>`;\n html = html.replace(\"</head>\", `${loaderScript}</head>`);\n return html;\n}\nexport {\n buildPage,\n printBuildTimings\n};\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ parentPort.on("message", async (msg) => {
|
|
|
48
48
|
try {
|
|
49
49
|
const { buildPage, runWithAsyncLocalContext } = await ensureImports();
|
|
50
50
|
const result = await runWithAsyncLocalContext(async () => {
|
|
51
|
-
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);
|
|
51
|
+
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive, msg.args.skipNativeLoaders);
|
|
52
52
|
});
|
|
53
53
|
const { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
54
54
|
parentPort.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPageWorker.js","names":[],"sources":["esm/cli/buildPageWorker.js"],"sourcesContent":["import { parentPort } from \"node:worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nlet buildPageFn = null;\nlet runWithAsyncLocalContextFn = null;\nlet initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n const mod = await workerImport(\n \"./buildPage\",\n import.meta.url\n );\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n const mod = await workerImport(\n \"../vite/one-server-only\",\n import.meta.url\n );\n runWithAsyncLocalContextFn = mod.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async (msg) => {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({ type: \"init-done\", id: msg.id });\n return;\n }\n if (msg.type === \"build\") {\n try {\n const { buildPage, runWithAsyncLocalContext } = await ensureImports();\n const result = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n msg.args.serverEntry,\n msg.args.routerRoot,\n msg.args.path,\n msg.args.relativeId,\n msg.args.params,\n msg.args.foundRoute,\n msg.args.clientManifestEntry,\n msg.args.staticDir,\n msg.args.clientDir,\n msg.args.builtMiddlewares,\n msg.args.serverJsPath,\n msg.args.preloads,\n msg.args.allCSS,\n msg.args.layoutCSS,\n msg.args.routePreloads,\n msg.args.allCSSContents,\n msg.args.criticalPreloads,\n msg.args.deferredPreloads,\n msg.args.useAfterLCP,\n msg.args.useAfterLCPAggressive\n );\n });\n const { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({ type: \"done\", id: msg.id, result: buildInfo });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({ type: \"ready\" });\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,MAAM,MAAM,MAAM,aAChB,eACA,YAAY,GACd;EACA,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,MAAM,MAAM,MAAM,aAChB,2BACA,YAAY,GACd;EACA,6BAA6B,IAAI;CACnC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,OAAO,QAAQ;CACtC,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GAAE,MAAM;GAAa,IAAI,IAAI;EAAG,CAAC;EACxD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,MAAM,EAAE,WAAW,6BAA6B,MAAM,cAAc;GACpE,MAAM,SAAS,MAAM,yBAAyB,YAAY;IACxD,OAAO,MAAM,UACX,IAAI,KAAK,aACT,IAAI,KAAK,YACT,IAAI,KAAK,MACT,IAAI,KAAK,YACT,IAAI,KAAK,QACT,IAAI,KAAK,YACT,IAAI,KAAK,qBACT,IAAI,KAAK,WACT,IAAI,KAAK,WACT,IAAI,KAAK,kBACT,IAAI,KAAK,cACT,IAAI,KAAK,UACT,IAAI,KAAK,QACT,IAAI,KAAK,WACT,IAAI,KAAK,eACT,IAAI,KAAK,gBACT,IAAI,KAAK,kBACT,IAAI,KAAK,kBACT,IAAI,KAAK,aACT,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"buildPageWorker.js","names":[],"sources":["esm/cli/buildPageWorker.js"],"sourcesContent":["import { parentPort } from \"node:worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nlet buildPageFn = null;\nlet runWithAsyncLocalContextFn = null;\nlet initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n const mod = await workerImport(\n \"./buildPage\",\n import.meta.url\n );\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n const mod = await workerImport(\n \"../vite/one-server-only\",\n import.meta.url\n );\n runWithAsyncLocalContextFn = mod.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async (msg) => {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({ type: \"init-done\", id: msg.id });\n return;\n }\n if (msg.type === \"build\") {\n try {\n const { buildPage, runWithAsyncLocalContext } = await ensureImports();\n const result = await runWithAsyncLocalContext(async () => {\n return await buildPage(\n msg.args.serverEntry,\n msg.args.routerRoot,\n msg.args.path,\n msg.args.relativeId,\n msg.args.params,\n msg.args.foundRoute,\n msg.args.clientManifestEntry,\n msg.args.staticDir,\n msg.args.clientDir,\n msg.args.builtMiddlewares,\n msg.args.serverJsPath,\n msg.args.preloads,\n msg.args.allCSS,\n msg.args.layoutCSS,\n msg.args.routePreloads,\n msg.args.allCSSContents,\n msg.args.criticalPreloads,\n msg.args.deferredPreloads,\n msg.args.useAfterLCP,\n msg.args.useAfterLCPAggressive,\n msg.args.skipNativeLoaders\n );\n });\n const { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({ type: \"done\", id: msg.id, result: buildInfo });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({ type: \"ready\" });\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,MAAM,MAAM,MAAM,aAChB,eACA,YAAY,GACd;EACA,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,MAAM,MAAM,MAAM,aAChB,2BACA,YAAY,GACd;EACA,6BAA6B,IAAI;CACnC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,OAAO,QAAQ;CACtC,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GAAE,MAAM;GAAa,IAAI,IAAI;EAAG,CAAC;EACxD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,MAAM,EAAE,WAAW,6BAA6B,MAAM,cAAc;GACpE,MAAM,SAAS,MAAM,yBAAyB,YAAY;IACxD,OAAO,MAAM,UACX,IAAI,KAAK,aACT,IAAI,KAAK,YACT,IAAI,KAAK,MACT,IAAI,KAAK,YACT,IAAI,KAAK,QACT,IAAI,KAAK,YACT,IAAI,KAAK,qBACT,IAAI,KAAK,WACT,IAAI,KAAK,WACT,IAAI,KAAK,kBACT,IAAI,KAAK,cACT,IAAI,KAAK,UACT,IAAI,KAAK,QACT,IAAI,KAAK,WACT,IAAI,KAAK,eACT,IAAI,KAAK,gBACT,IAAI,KAAK,kBACT,IAAI,KAAK,kBACT,IAAI,KAAK,aACT,IAAI,KAAK,uBACT,IAAI,KAAK,iBACX;GACF,CAAC;GACD,MAAM,EAAE,YAAY,aAAa,aAAa,cAAc,GAAG,cAAc;GAC7E,WAAW,YAAY;IAAE,MAAM;IAAQ,IAAI,IAAI;IAAI,QAAQ;GAAU,CAAC;EACxE,SAAS,KAAK;GACZ,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;IACtD,OAAO,eAAe,QAAQ,IAAI,QAAQ,KAAK;GACjD,CAAC;EACH;CACF;AACF,CAAC;AACD,WAAW,YAAY,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -48,7 +48,7 @@ parentPort.on("message", async function(msg) {
|
|
|
48
48
|
try {
|
|
49
49
|
var { buildPage, runWithAsyncLocalContext } = await ensureImports();
|
|
50
50
|
var result = await runWithAsyncLocalContext(async function() {
|
|
51
|
-
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);
|
|
51
|
+
return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive, msg.args.skipNativeLoaders);
|
|
52
52
|
});
|
|
53
53
|
var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
54
54
|
parentPort.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPageWorker.native.js","names":[],"sources":["esm/cli/buildPageWorker.native.js"],"sourcesContent":["import { parentPort } from \"worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nvar buildPageFn = null;\nvar runWithAsyncLocalContextFn = null;\nvar initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n var mod = await workerImport(\"./buildPage\", import.meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await workerImport(\"../vite/one-server-only\", import.meta.url);\n runWithAsyncLocalContextFn = mod1.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({\n type: \"init-done\",\n id: msg.id\n });\n return;\n }\n if (msg.type === \"build\") {\n try {\n var { buildPage, runWithAsyncLocalContext } = await ensureImports();\n var result = await runWithAsyncLocalContext(async function() {\n return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive);\n });\n var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result: buildInfo\n });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,IAAI,MAAM,MAAM,aAAa,eAAe,YAAY,GAAG;EAC3D,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,MAAM,aAAa,2BAA2B,YAAY,GAAG;EACxE,6BAA6B,KAAK;CACpC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,eAAe,KAAK;CAC3C,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GACrB,MAAM;GACN,IAAI,IAAI;EACV,CAAC;EACD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,IAAI,EAAE,WAAW,6BAA6B,MAAM,cAAc;GAClE,IAAI,SAAS,MAAM,yBAAyB,iBAAiB;IAC3D,OAAO,MAAM,UAAU,IAAI,KAAK,aAAa,IAAI,KAAK,YAAY,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,KAAK,qBAAqB,IAAI,KAAK,WAAW,IAAI,KAAK,WAAW,IAAI,KAAK,kBAAkB,IAAI,KAAK,cAAc,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ,IAAI,KAAK,WAAW,IAAI,KAAK,eAAe,IAAI,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAAI,KAAK,kBAAkB,IAAI,KAAK,aAAa,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"buildPageWorker.native.js","names":[],"sources":["esm/cli/buildPageWorker.native.js"],"sourcesContent":["import { parentPort } from \"worker_threads\";\nimport { workerImport } from \"../utils/workerImport\";\nimport { setServerGlobals } from \"../server/setServerGlobals\";\nif (!parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\nsetServerGlobals();\nif (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n}\nvar buildPageFn = null;\nvar runWithAsyncLocalContextFn = null;\nvar initialized = false;\nasync function ensureImports() {\n if (!buildPageFn) {\n var mod = await workerImport(\"./buildPage\", import.meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await workerImport(\"../vite/one-server-only\", import.meta.url);\n runWithAsyncLocalContextFn = mod1.runWithAsyncLocalContext;\n }\n return {\n buildPage: buildPageFn,\n runWithAsyncLocalContext: runWithAsyncLocalContextFn\n };\n}\nasync function initializeWorker(oneOptions) {\n if (initialized) return;\n if (!oneOptions) {\n throw new Error(\"Worker must receive oneOptions from main thread\");\n }\n globalThis[\"__vxrnPluginConfig__\"] = oneOptions;\n initialized = true;\n}\nparentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n parentPort.postMessage({\n type: \"init-done\",\n id: msg.id\n });\n return;\n }\n if (msg.type === \"build\") {\n try {\n var { buildPage, runWithAsyncLocalContext } = await ensureImports();\n var result = await runWithAsyncLocalContext(async function() {\n return await buildPage(msg.args.serverEntry, msg.args.routerRoot, msg.args.path, msg.args.relativeId, msg.args.params, msg.args.foundRoute, msg.args.clientManifestEntry, msg.args.staticDir, msg.args.clientDir, msg.args.builtMiddlewares, msg.args.serverJsPath, msg.args.preloads, msg.args.allCSS, msg.args.layoutCSS, msg.args.routePreloads, msg.args.allCSSContents, msg.args.criticalPreloads, msg.args.deferredPreloads, msg.args.useAfterLCP, msg.args.useAfterLCPAggressive, msg.args.skipNativeLoaders);\n });\n var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;\n parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result: buildInfo\n });\n } catch (err) {\n parentPort.postMessage({\n type: \"error\",\n id: msg.id,\n error: err instanceof Error ? err.message : String(err),\n stack: err instanceof Error ? err.stack : void 0\n });\n }\n }\n});\nparentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;;;AAGA,IAAI,CAAC,YAAY;CACf,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;AACA,iBAAiB;AACjB,IAAI,CAAC,QAAQ,IAAI,UAAU;CACzB,QAAQ,IAAI,WAAW;AACzB;AACA,IAAI,cAAc;AAClB,IAAI,6BAA6B;AACjC,IAAI,cAAc;AAClB,eAAe,gBAAgB;CAC7B,IAAI,CAAC,aAAa;EAChB,IAAI,MAAM,MAAM,aAAa,eAAe,YAAY,GAAG;EAC3D,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,MAAM,aAAa,2BAA2B,YAAY,GAAG;EACxE,6BAA6B,KAAK;CACpC;CACA,OAAO;EACL,WAAW;EACX,0BAA0B;CAC5B;AACF;AACA,eAAe,iBAAiB,YAAY;CAC1C,IAAI,aAAa;CACjB,IAAI,CAAC,YAAY;EACf,MAAM,IAAI,MAAM,iDAAiD;CACnE;CACA,WAAW,0BAA0B;CACrC,cAAc;AAChB;AACA,WAAW,GAAG,WAAW,eAAe,KAAK;CAC3C,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,WAAW,YAAY;GACrB,MAAM;GACN,IAAI,IAAI;EACV,CAAC;EACD;CACF;CACA,IAAI,IAAI,SAAS,SAAS;EACxB,IAAI;GACF,IAAI,EAAE,WAAW,6BAA6B,MAAM,cAAc;GAClE,IAAI,SAAS,MAAM,yBAAyB,iBAAiB;IAC3D,OAAO,MAAM,UAAU,IAAI,KAAK,aAAa,IAAI,KAAK,YAAY,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,KAAK,qBAAqB,IAAI,KAAK,WAAW,IAAI,KAAK,WAAW,IAAI,KAAK,kBAAkB,IAAI,KAAK,cAAc,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ,IAAI,KAAK,WAAW,IAAI,KAAK,eAAe,IAAI,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAAI,KAAK,kBAAkB,IAAI,KAAK,aAAa,IAAI,KAAK,uBAAuB,IAAI,KAAK,iBAAiB;GACrf,CAAC;GACD,IAAI,EAAE,YAAY,aAAa,aAAa,cAAc,GAAG,cAAc;GAC3E,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,QAAQ;GACV,CAAC;EACH,SAAS,KAAK;GACZ,WAAW,YAAY;IACrB,MAAM;IACN,IAAI,IAAI;IACR,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;IACtD,OAAO,eAAe,QAAQ,IAAI,QAAQ,KAAK;GACjD,CAAC;EACH;CACF;AACF,CAAC;AACD,WAAW,YAAY,EACrB,MAAM,QACR,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { pathToFileURL } from "node:url";
|
|
3
|
+
|
|
4
|
+
async function initializeDevAllocator() {
|
|
5
|
+
const options = {
|
|
6
|
+
MIMALLOC_DISALLOW_ARENA_ALLOC: "1",
|
|
7
|
+
MIMALLOC_PURGE_DELAY: "0"
|
|
8
|
+
};
|
|
9
|
+
const previous = new Map(Object.keys(options).map((key) => [key, process.env[key]]));
|
|
10
|
+
for (const [key, value] of Object.entries(options)) process.env[key] ??= value;
|
|
11
|
+
try {
|
|
12
|
+
const requireFromVite = createRequire(import.meta.resolve("vite"));
|
|
13
|
+
await import(pathToFileURL(requireFromVite.resolve("rolldown")).href);
|
|
14
|
+
} finally {
|
|
15
|
+
for (const [key, value] of previous) {
|
|
16
|
+
if (value === void 0) delete process.env[key];
|
|
17
|
+
else process.env[key] = value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { initializeDevAllocator };
|
|
23
|
+
//# sourceMappingURL=cli-dev-memory.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-dev-memory.js","names":[],"sources":["esm/cli-dev-memory.js"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { pathToFileURL } from \"node:url\";\nasync function initializeDevAllocator() {\n const options = {\n MIMALLOC_DISALLOW_ARENA_ALLOC: \"1\",\n MIMALLOC_PURGE_DELAY: \"0\"\n };\n const previous = new Map(Object.keys(options).map((key) => [key, process.env[key]]));\n for (const [key, value] of Object.entries(options)) process.env[key] ??= value;\n try {\n const requireFromVite = createRequire(import.meta.resolve(\"vite\"));\n await import(pathToFileURL(requireFromVite.resolve(\"rolldown\")).href);\n } finally {\n for (const [key, value] of previous) {\n if (value === void 0) delete process.env[key];\n else process.env[key] = value;\n }\n }\n}\nexport {\n initializeDevAllocator\n};\n//# sourceMappingURL=cli-dev-memory.js.map\n"],"mappings":";;;;AAEA,eAAe,yBAAyB;CACtC,MAAM,UAAU;EACd,+BAA+B;EAC/B,sBAAsB;CACxB;CACA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC;CACnF,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,GAAG,QAAQ,IAAI,SAAS;CACzE,IAAI;EACF,MAAM,kBAAkB,cAAc,YAAY,QAAQ,MAAM,CAAC;EACjE,MAAM,OAAO,cAAc,gBAAgB,QAAQ,UAAU,CAAC,CAAC,CAAC;CAClE,UAAU;EACR,KAAK,MAAM,CAAC,KAAK,UAAU,UAAU;GACnC,IAAI,UAAU,KAAK,GAAG,OAAO,QAAQ,IAAI;QACpC,QAAQ,IAAI,OAAO;EAC1B;CACF;AACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createRequire } from "module";
|
|
2
|
+
import { pathToFileURL } from "url";
|
|
3
|
+
|
|
4
|
+
async function initializeDevAllocator() {
|
|
5
|
+
var _process_env, _key, _;
|
|
6
|
+
var options = {
|
|
7
|
+
MIMALLOC_DISALLOW_ARENA_ALLOC: "1",
|
|
8
|
+
MIMALLOC_PURGE_DELAY: "0"
|
|
9
|
+
};
|
|
10
|
+
var previous = new Map(Object.keys(options).map(function(key2) {
|
|
11
|
+
return [key2, process.env[key2]];
|
|
12
|
+
}));
|
|
13
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
14
|
+
try {
|
|
15
|
+
for (var _iterator = Object.entries(options)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
16
|
+
var [key, value] = _step.value;
|
|
17
|
+
(_ = (_process_env = process.env)[_key = key]) !== null && _ !== void 0 ? _ : _process_env[_key] = value;
|
|
18
|
+
}
|
|
19
|
+
} catch (err) {
|
|
20
|
+
_didIteratorError = true;
|
|
21
|
+
_iteratorError = err;
|
|
22
|
+
} finally {
|
|
23
|
+
try {
|
|
24
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
25
|
+
_iterator.return();
|
|
26
|
+
}
|
|
27
|
+
} finally {
|
|
28
|
+
if (_didIteratorError) {
|
|
29
|
+
throw _iteratorError;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
var requireFromVite = createRequire(import.meta.resolve("vite"));
|
|
35
|
+
await import(pathToFileURL(requireFromVite.resolve("rolldown")).href);
|
|
36
|
+
} finally {
|
|
37
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
38
|
+
try {
|
|
39
|
+
for (var _iterator1 = previous[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
40
|
+
var [key1, value1] = _step1.value;
|
|
41
|
+
if (value1 === void 0) delete process.env[key1];
|
|
42
|
+
else process.env[key1] = value1;
|
|
43
|
+
}
|
|
44
|
+
} catch (err) {
|
|
45
|
+
_didIteratorError1 = true;
|
|
46
|
+
_iteratorError1 = err;
|
|
47
|
+
} finally {
|
|
48
|
+
try {
|
|
49
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
50
|
+
_iterator1.return();
|
|
51
|
+
}
|
|
52
|
+
} finally {
|
|
53
|
+
if (_didIteratorError1) {
|
|
54
|
+
throw _iteratorError1;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { initializeDevAllocator };
|
|
62
|
+
//# sourceMappingURL=cli-dev-memory.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-dev-memory.native.js","names":[],"sources":["esm/cli-dev-memory.native.js"],"sourcesContent":["import { createRequire } from \"module\";\nimport { pathToFileURL } from \"url\";\nasync function initializeDevAllocator() {\n var _process_env, _key, _;\n var options = {\n MIMALLOC_DISALLOW_ARENA_ALLOC: \"1\",\n MIMALLOC_PURGE_DELAY: \"0\"\n };\n var previous = new Map(Object.keys(options).map(function(key2) {\n return [\n key2,\n process.env[key2]\n ];\n }));\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(options)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, value] = _step.value;\n (_ = (_process_env = process.env)[_key = key]) !== null && _ !== void 0 ? _ : _process_env[_key] = value;\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 try {\n var requireFromVite = createRequire(import.meta.resolve(\"vite\"));\n await import(pathToFileURL(requireFromVite.resolve(\"rolldown\")).href);\n } finally {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = previous[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [key1, value1] = _step1.value;\n if (value1 === void 0) delete process.env[key1];\n else process.env[key1] = value1;\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 }\n}\nexport {\n initializeDevAllocator\n};\n//# sourceMappingURL=cli-dev-memory.js.map\n"],"mappings":";;;;AAEA,eAAe,yBAAyB;CACtC,IAAI,cAAc,MAAM;CACxB,IAAI,UAAU;EACZ,+BAA+B;EAC/B,sBAAsB;CACxB;CACA,IAAI,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,IAAI,SAAS,MAAM;EAC7D,OAAO,CACL,MACA,QAAQ,IAAI,KACd;CACF,CAAC,CAAC;CACF,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,OAAO,QAAQ,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GACxK,IAAI,CAAC,KAAK,SAAS,MAAM;GACzB,CAAC,KAAK,eAAe,QAAQ,IAAG,CAAE,OAAO,UAAU,QAAQ,MAAM,KAAK,IAAI,IAAI,aAAa,QAAQ;EACrG;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,IAAI;EACF,IAAI,kBAAkB,cAAc,YAAY,QAAQ,MAAM,CAAC;EAC/D,MAAM,OAAO,cAAc,gBAAgB,QAAQ,UAAU,CAAC,CAAC,CAAC;CAClE,UAAU;EACR,IAAI,6BAA6B,MAAM,qBAAqB,OAAO,kBAAkB,KAAK;EAC1F,IAAI;GACF,KAAK,IAAI,aAAa,SAAS,OAAO,SAAS,CAAC,GAAG,QAAQ,EAAE,8BAA8B,SAAS,WAAW,KAAK,EAAC,CAAE,OAAO,6BAA6B,MAAM;IAC/J,IAAI,CAAC,MAAM,UAAU,OAAO;IAC5B,IAAI,WAAW,KAAK,GAAG,OAAO,QAAQ,IAAI;SACrC,QAAQ,IAAI,QAAQ;GAC3B;EACF,SAAS,KAAK;GACZ,qBAAqB;GACrB,kBAAkB;EACpB,UAAU;GACR,IAAI;IACF,IAAI,CAAC,8BAA8B,WAAW,UAAU,MAAM;KAC5D,WAAW,OAAO;IACpB;GACF,UAAU;IACR,IAAI,oBAAoB;KACtB,MAAM;IACR;GACF;EACF;CACF;AACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createWorkerHandler, createWorkerHandler as createWorkerHandler$1 } from "./server/workerHandler.mjs";
|
|
2
2
|
import { compileManifest } from "./createHandleRequest.mjs";
|
|
3
|
-
import { getFetchStaticHtml, setFetchStaticHtml } from "./server/staticHtmlFetcher.mjs";
|
|
4
3
|
import { setServerGlobals } from "./server/setServerGlobals.mjs";
|
|
5
4
|
import { setupBuildInfo } from "./server/setupBuildOptions.mjs";
|
|
6
5
|
|
|
@@ -24,7 +23,7 @@ async function createServer(options) {
|
|
|
24
23
|
lazyRoutes: options.routes
|
|
25
24
|
});
|
|
26
25
|
return {
|
|
27
|
-
/** handle
|
|
26
|
+
/** handle a request with an optional request-scoped static HTML reader */
|
|
28
27
|
fetch: handler.handleRequest,
|
|
29
28
|
/** hot-swap the route table without recreating the server */
|
|
30
29
|
updateRoutes(newManifest, newRoutes) {
|
|
@@ -38,5 +37,5 @@ async function createServer(options) {
|
|
|
38
37
|
};
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
export { compileManifest, createServer, createWorkerHandler
|
|
40
|
+
export { compileManifest, createServer, createWorkerHandler };
|
|
42
41
|
//# sourceMappingURL=headless-server.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-server.js","names":["createWorkerHandler2"],"sources":["esm/headless-server.js"],"sourcesContent":["import { createWorkerHandler } from \"./server/workerHandler\";\nimport { compileManifest } from \"./createHandleRequest\";\nimport {
|
|
1
|
+
{"version":3,"file":"headless-server.js","names":["createWorkerHandler2"],"sources":["esm/headless-server.js"],"sourcesContent":["import { createWorkerHandler } from \"./server/workerHandler\";\nimport { compileManifest } from \"./createHandleRequest\";\nimport { setServerGlobals } from \"./server/setServerGlobals\";\nimport { setupBuildInfo } from \"./server/setupBuildOptions\";\nimport { createWorkerHandler as createWorkerHandler2 } from \"./server/workerHandler\";\nasync function createServer(options) {\n const manifest = options.manifest || options.buildInfo?.manifest;\n if (!manifest) throw new Error(\"one/headless-server: manifest is required\");\n const buildInfo = {\n manifest,\n oneOptions: options.oneOptions,\n routeToBuildInfo: options.buildInfo?.routeToBuildInfo ?? {},\n cssContentsByPath: options.buildInfo?.cssContentsByPath,\n routeMap: options.buildInfo?.routeMap,\n preloads: options.buildInfo?.preloads ?? {},\n cssPreloads: options.buildInfo?.cssPreloads ?? {}\n };\n setupBuildInfo(buildInfo);\n setServerGlobals();\n const handler = createWorkerHandler2({\n oneOptions: options.oneOptions,\n buildInfo,\n lazyRoutes: options.routes\n });\n return {\n /** handle a request with an optional request-scoped static HTML reader */\n fetch: handler.handleRequest,\n /** hot-swap the route table without recreating the server */\n updateRoutes(newManifest, newRoutes) {\n const newBuildInfo = {\n ...buildInfo,\n manifest: newManifest\n };\n setupBuildInfo(newBuildInfo);\n handler.updateRoutes(newBuildInfo, newRoutes);\n }\n };\n}\nexport {\n compileManifest,\n createServer,\n createWorkerHandler\n};\n//# sourceMappingURL=headless-server.js.map\n"],"mappings":";;;;;;AAKA,eAAe,aAAa,SAAS;CACnC,MAAM,WAAW,QAAQ,YAAY,QAAQ,WAAW;CACxD,IAAI,CAAC,UAAU,MAAM,IAAI,MAAM,2CAA2C;CAC1E,MAAM,YAAY;EAChB;EACA,YAAY,QAAQ;EACpB,kBAAkB,QAAQ,WAAW,oBAAoB,CAAC;EAC1D,mBAAmB,QAAQ,WAAW;EACtC,UAAU,QAAQ,WAAW;EAC7B,UAAU,QAAQ,WAAW,YAAY,CAAC;EAC1C,aAAa,QAAQ,WAAW,eAAe,CAAC;CAClD;CACA,eAAe,SAAS;CACxB,iBAAiB;CACjB,MAAM,UAAUA,sBAAqB;EACnC,YAAY,QAAQ;EACpB;EACA,YAAY,QAAQ;CACtB,CAAC;CACD,OAAO;;EAEL,OAAO,QAAQ;;EAEf,aAAa,aAAa,WAAW;GACnC,MAAM,eAAe;IACnB,GAAG;IACH,UAAU;GACZ;GACA,eAAe,YAAY;GAC3B,QAAQ,aAAa,cAAc,SAAS;EAC9C;CACF;AACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createWorkerHandler, createWorkerHandler as createWorkerHandler$1 } from "./server/workerHandler.native.js";
|
|
2
2
|
import { compileManifest } from "./createHandleRequest.native.js";
|
|
3
|
-
import { getFetchStaticHtml, setFetchStaticHtml } from "./server/staticHtmlFetcher.native.js";
|
|
4
3
|
import { setServerGlobals } from "./server/setServerGlobals.native.js";
|
|
5
4
|
import { setupBuildInfo } from "./server/setupBuildOptions.native.js";
|
|
6
5
|
|
|
@@ -26,7 +25,7 @@ async function createServer(options) {
|
|
|
26
25
|
lazyRoutes: options.routes
|
|
27
26
|
});
|
|
28
27
|
return {
|
|
29
|
-
/** handle
|
|
28
|
+
/** handle a request with an optional request-scoped static HTML reader */
|
|
30
29
|
fetch: handler.handleRequest,
|
|
31
30
|
/** hot-swap the route table without recreating the server */
|
|
32
31
|
updateRoutes(newManifest, newRoutes) {
|
|
@@ -40,5 +39,5 @@ async function createServer(options) {
|
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
41
|
|
|
43
|
-
export { compileManifest, createServer, createWorkerHandler
|
|
42
|
+
export { compileManifest, createServer, createWorkerHandler };
|
|
44
43
|
//# sourceMappingURL=headless-server.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-server.native.js","names":["createWorkerHandler2"],"sources":["esm/headless-server.native.js"],"sourcesContent":["import { createWorkerHandler } from \"./server/workerHandler\";\nimport { compileManifest } from \"./createHandleRequest\";\nimport {
|
|
1
|
+
{"version":3,"file":"headless-server.native.js","names":["createWorkerHandler2"],"sources":["esm/headless-server.native.js"],"sourcesContent":["import { createWorkerHandler } from \"./server/workerHandler\";\nimport { compileManifest } from \"./createHandleRequest\";\nimport { setServerGlobals } from \"./server/setServerGlobals\";\nimport { setupBuildInfo } from \"./server/setupBuildOptions\";\nimport { createWorkerHandler as createWorkerHandler2 } from \"./server/workerHandler\";\nasync function createServer(options) {\n var _ref, _ref1, _ref2;\n var _options_buildInfo, _options_buildInfo1, _options_buildInfo2, _options_buildInfo3, _options_buildInfo4, _options_buildInfo5;\n var manifest = options.manifest || ((_options_buildInfo = options.buildInfo) === null || _options_buildInfo === void 0 ? void 0 : _options_buildInfo.manifest);\n if (!manifest) throw new Error(\"one/headless-server: manifest is required\");\n var buildInfo = {\n manifest,\n oneOptions: options.oneOptions,\n routeToBuildInfo: (_ref = (_options_buildInfo1 = options.buildInfo) === null || _options_buildInfo1 === void 0 ? void 0 : _options_buildInfo1.routeToBuildInfo) !== null && _ref !== void 0 ? _ref : {},\n cssContentsByPath: (_options_buildInfo2 = options.buildInfo) === null || _options_buildInfo2 === void 0 ? void 0 : _options_buildInfo2.cssContentsByPath,\n routeMap: (_options_buildInfo3 = options.buildInfo) === null || _options_buildInfo3 === void 0 ? void 0 : _options_buildInfo3.routeMap,\n preloads: (_ref1 = (_options_buildInfo4 = options.buildInfo) === null || _options_buildInfo4 === void 0 ? void 0 : _options_buildInfo4.preloads) !== null && _ref1 !== void 0 ? _ref1 : {},\n cssPreloads: (_ref2 = (_options_buildInfo5 = options.buildInfo) === null || _options_buildInfo5 === void 0 ? void 0 : _options_buildInfo5.cssPreloads) !== null && _ref2 !== void 0 ? _ref2 : {}\n };\n setupBuildInfo(buildInfo);\n setServerGlobals();\n var handler = createWorkerHandler2({\n oneOptions: options.oneOptions,\n buildInfo,\n lazyRoutes: options.routes\n });\n return {\n /** handle a request with an optional request-scoped static HTML reader */\n fetch: handler.handleRequest,\n /** hot-swap the route table without recreating the server */\n updateRoutes(newManifest, newRoutes) {\n var newBuildInfo = {\n ...buildInfo,\n manifest: newManifest\n };\n setupBuildInfo(newBuildInfo);\n handler.updateRoutes(newBuildInfo, newRoutes);\n }\n };\n}\nexport {\n compileManifest,\n createServer,\n createWorkerHandler\n};\n//# sourceMappingURL=headless-server.js.map\n"],"mappings":";;;;;;AAKA,eAAe,aAAa,SAAS;CACnC,IAAI,MAAM,OAAO;CACjB,IAAI,oBAAoB,qBAAqB,qBAAqB,qBAAqB,qBAAqB;CAC5G,IAAI,WAAW,QAAQ,cAAc,qBAAqB,QAAQ,eAAe,QAAQ,uBAAuB,KAAK,IAAI,KAAK,IAAI,mBAAmB;CACrJ,IAAI,CAAC,UAAU,MAAM,IAAI,MAAM,2CAA2C;CAC1E,IAAI,YAAY;EACd;EACA,YAAY,QAAQ;EACpB,mBAAmB,QAAQ,sBAAsB,QAAQ,eAAe,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB,sBAAsB,QAAQ,SAAS,KAAK,IAAI,OAAO,CAAC;EACtM,oBAAoB,sBAAsB,QAAQ,eAAe,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB;EACvI,WAAW,sBAAsB,QAAQ,eAAe,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB;EAC9H,WAAW,SAAS,sBAAsB,QAAQ,eAAe,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB,cAAc,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC;EACzL,cAAc,SAAS,sBAAsB,QAAQ,eAAe,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB,iBAAiB,QAAQ,UAAU,KAAK,IAAI,QAAQ,CAAC;CACjM;CACA,eAAe,SAAS;CACxB,iBAAiB;CACjB,IAAI,UAAUA,sBAAqB;EACjC,YAAY,QAAQ;EACpB;EACA,YAAY,QAAQ;CACtB,CAAC;CACD,OAAO;;EAEL,OAAO,QAAQ;;EAEf,aAAa,aAAa,WAAW;GACnC,IAAI,eAAe;IACjB,GAAG;IACH,UAAU;GACZ;GACA,eAAe,YAAY;GAC3B,QAAQ,aAAa,cAAc,SAAS;EAC9C;CACF;AACF"}
|