one 2.11.5 → 2.12.0
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/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/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/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/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/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
|
@@ -81,7 +81,7 @@ function printBuildTimings() {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {
|
|
84
|
+
async function buildPage(serverEntry, routerRoot, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, layoutCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive, skipNativeLoaders) {
|
|
85
85
|
var t0 = performance.now();
|
|
86
86
|
var render = await getRender(serverEntry);
|
|
87
87
|
recordTiming("getRender", performance.now() - t0);
|
|
@@ -254,17 +254,21 @@ prefetchCSS()
|
|
|
254
254
|
__oneRedirectStatus: loaderRedirectInfo.status
|
|
255
255
|
});
|
|
256
256
|
await outputFile(loaderPartialPath, `export function loader(){return ${redirectData}}`);
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
257
|
+
if (!skipNativeLoaders) {
|
|
258
|
+
var nativeCjs = `exports.loader = function(){return ${redirectData}}`;
|
|
259
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs);
|
|
260
|
+
await outputFile(uncachedNativePath, nativeCjs);
|
|
261
|
+
}
|
|
260
262
|
loaderPath = (0, import_cleanUrl.getLoaderPath)(path);
|
|
261
263
|
loaderData = {};
|
|
262
264
|
} else {
|
|
263
265
|
var data = JSON.stringify(loaderData);
|
|
264
266
|
await outputFile(loaderPartialPath, `export function loader(){return ${data}}`);
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
if (!skipNativeLoaders) {
|
|
268
|
+
var nativeCjs1 = `exports.loader = function(){return ${data}}`;
|
|
269
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, ".native.js"), nativeCjs1);
|
|
270
|
+
await outputFile(uncachedNativePath, nativeCjs1);
|
|
271
|
+
}
|
|
268
272
|
loaderPath = (0, import_cleanUrl.getLoaderPath)(path);
|
|
269
273
|
}
|
|
270
274
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPage.native.js","names":[],"sources":["cjs/cli/buildPage.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar buildPage_exports = {};\n__export(buildPage_exports, {\n buildPage: () => buildPage,\n printBuildTimings: () => printBuildTimings\n});\nmodule.exports = __toCommonJS(buildPage_exports);\nvar import_path = require(\"path\");\nvar import_fs_extra = __toESM(require(\"fs-extra\"), 1);\nvar import_vite = require(\"vite\");\nvar constants = __toESM(require(\"../constants\"), 1);\nvar import_constants = require(\"../constants\");\nvar import_cleanUrl = require(\"../utils/cleanUrl\");\nvar import_isResponse = require(\"../utils/isResponse\");\nvar import_toAbsolute = require(\"../utils/toAbsolute\");\nvar import_serverRouteModules = require(\"./serverRouteModules\");\nvar { outputFile } = import_fs_extra.default;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return (0, import_path.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 = (0, import_cleanUrl.encodeReservedFilenameChars)(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? (0, import_vite.normalizePath)((0, import_path.join)(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = (0, import_toAbsolute.toAbsolute)((0, import_path.join)(staticDir, htmlPath));\n var preloadPath = (0, import_cleanUrl.getPreloadPath)(path);\n var cssPreloadPath = (0, import_cleanUrl.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 import_fs_extra.default.writeFile((0, import_path.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 import_fs_extra.default.writeFile((0, import_path.join)(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await (0, import_serverRouteModules.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 (0, import_serverRouteModules.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 ((0, import_isResponse.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 ((0, import_isResponse.isResponse)(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && ((0, import_isResponse.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 = (0, import_path.join)(clientDir, urlPathToFilePath((0, import_cleanUrl.getLoaderPath)(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, import_constants.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 = (0, import_cleanUrl.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 = (0, import_cleanUrl.getLoaderPath)(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = (0, import_path.join)(clientDir, urlPathToFilePath((0, import_cleanUrl.getLoaderPath)(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = (0, import_cleanUrl.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((0, import_toAbsolute.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}\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildPage.native.js","names":[],"sources":["cjs/cli/buildPage.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar buildPage_exports = {};\n__export(buildPage_exports, {\n buildPage: () => buildPage,\n printBuildTimings: () => printBuildTimings\n});\nmodule.exports = __toCommonJS(buildPage_exports);\nvar import_path = require(\"path\");\nvar import_fs_extra = __toESM(require(\"fs-extra\"), 1);\nvar import_vite = require(\"vite\");\nvar constants = __toESM(require(\"../constants\"), 1);\nvar import_constants = require(\"../constants\");\nvar import_cleanUrl = require(\"../utils/cleanUrl\");\nvar import_isResponse = require(\"../utils/isResponse\");\nvar import_toAbsolute = require(\"../utils/toAbsolute\");\nvar import_serverRouteModules = require(\"./serverRouteModules\");\nvar { outputFile } = import_fs_extra.default;\nfunction urlPathToFilePath(urlPath) {\n var parts = urlPath.replace(/^\\//, \"\").split(\"/\");\n return (0, import_path.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 = (0, import_cleanUrl.encodeReservedFilenameChars)(`${path.endsWith(\"/\") ? `${removeTrailingSlash(path)}/index` : path}.html`);\n var clientJsPath = clientManifestEntry ? (0, import_vite.normalizePath)((0, import_path.join)(clientDir, clientManifestEntry.file)) : \"\";\n var htmlOutPath = (0, import_toAbsolute.toAbsolute)((0, import_path.join)(staticDir, htmlPath));\n var preloadPath = (0, import_cleanUrl.getPreloadPath)(path);\n var cssPreloadPath = (0, import_cleanUrl.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 import_fs_extra.default.writeFile((0, import_path.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 import_fs_extra.default.writeFile((0, import_path.join)(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent);\n recordTiming(\"writeCSSPreload\", performance.now() - t0);\n t0 = performance.now();\n var exported = await (0, import_serverRouteModules.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 (0, import_serverRouteModules.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 ((0, import_isResponse.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 ((0, import_isResponse.isResponse)(err)) {\n loaderRedirectInfo = extractRedirectInfo(err);\n } else {\n throw err;\n }\n }\n if (!loaderRedirectInfo && loaderData && ((0, import_isResponse.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 = (0, import_path.join)(clientDir, urlPathToFilePath((0, import_cleanUrl.getLoaderPath)(path)));\n var uncachedNativePath = loaderPartialPath.replace(constants.LOADER_JS_POSTFIX, import_constants.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 = (0, import_cleanUrl.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 = (0, import_cleanUrl.getLoaderPath)(path);\n }\n }\n }\n if (!exported.loader && foundRoute.type === \"spa\") {\n var loaderPartialPath1 = (0, import_path.join)(clientDir, urlPathToFilePath((0, import_cleanUrl.getLoaderPath)(path)));\n await outputFile(loaderPartialPath1, \"export function loader() { return undefined }\");\n loaderPath = (0, import_cleanUrl.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((0, import_toAbsolute.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}\n//# sourceMappingURL=buildPage.js.map\n"],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ import_node_worker_threads.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
|
import_node_worker_threads.parentPort.postMessage({
|
|
@@ -50,7 +50,7 @@ import_worker_threads.parentPort.on("message", async function(msg) {
|
|
|
50
50
|
try {
|
|
51
51
|
var { buildPage, runWithAsyncLocalContext } = await ensureImports();
|
|
52
52
|
var result = await runWithAsyncLocalContext(async function() {
|
|
53
|
-
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);
|
|
53
|
+
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);
|
|
54
54
|
});
|
|
55
55
|
var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
56
56
|
import_worker_threads.parentPort.postMessage({
|
|
@@ -50,7 +50,7 @@ import_worker_threads.parentPort.on("message", async function(msg) {
|
|
|
50
50
|
try {
|
|
51
51
|
var { buildPage, runWithAsyncLocalContext } = await ensureImports();
|
|
52
52
|
var result = await runWithAsyncLocalContext(async function() {
|
|
53
|
-
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);
|
|
53
|
+
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);
|
|
54
54
|
});
|
|
55
55
|
var { loaderData: _loaderData, cssContents: _cssContents, ...buildInfo } = result;
|
|
56
56
|
import_worker_threads.parentPort.postMessage({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPageWorker.native.js","names":[],"sources":["cjs/cli/buildPageWorker.native.js"],"sourcesContent":["\"use strict\";\nvar import_worker_threads = require(\"worker_threads\");\nvar import_workerImport = require(\"../utils/workerImport\");\nvar import_setServerGlobals = require(\"../server/setServerGlobals\");\nconst import_meta = {};\nif (!import_worker_threads.parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\n(0, import_setServerGlobals.setServerGlobals)();\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 (0, import_workerImport.workerImport)(\"./buildPage\", import_meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await (0, import_workerImport.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}\nimport_worker_threads.parentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n import_worker_threads.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 import_worker_threads.parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result: buildInfo\n });\n } catch (err) {\n import_worker_threads.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});\nimport_worker_threads.parentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;AACA,IAAI,wBAAwB,QAAQ,gBAAgB;AACpD,IAAI,sBAAsB,QAAQ,iCAAuB;AACzD,IAAI,0BAA0B,QAAQ,sCAA4B;AAClE,MAAM,cAAc,CAAC;AACrB,IAAI,CAAC,sBAAsB,YAAY;CACrC,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;CACC,GAAG,wBAAwB,iBAAgB,CAAE;AAC9C,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,OAAO,GAAG,oBAAoB,aAAY,CAAE,eAAe,YAAY,GAAG;EACpF,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,OAAO,GAAG,oBAAoB,aAAY,CAAE,2BAA2B,YAAY,GAAG;EACjG,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,sBAAsB,WAAW,GAAG,WAAW,eAAe,KAAK;CACjE,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,sBAAsB,WAAW,YAAY;GAC3C,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":["cjs/cli/buildPageWorker.native.js"],"sourcesContent":["\"use strict\";\nvar import_worker_threads = require(\"worker_threads\");\nvar import_workerImport = require(\"../utils/workerImport\");\nvar import_setServerGlobals = require(\"../server/setServerGlobals\");\nconst import_meta = {};\nif (!import_worker_threads.parentPort) {\n console.error(\"Must be run as a worker thread\");\n process.exit(1);\n}\n(0, import_setServerGlobals.setServerGlobals)();\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 (0, import_workerImport.workerImport)(\"./buildPage\", import_meta.url);\n buildPageFn = mod.buildPage;\n }\n if (!runWithAsyncLocalContextFn) {\n var mod1 = await (0, import_workerImport.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}\nimport_worker_threads.parentPort.on(\"message\", async function(msg) {\n if (msg.type === \"init\") {\n await initializeWorker(msg.oneOptions);\n import_worker_threads.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 import_worker_threads.parentPort.postMessage({\n type: \"done\",\n id: msg.id,\n result: buildInfo\n });\n } catch (err) {\n import_worker_threads.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});\nimport_worker_threads.parentPort.postMessage({\n type: \"ready\"\n});\n//# sourceMappingURL=buildPageWorker.js.map\n"],"mappings":";;;AACA,IAAI,wBAAwB,QAAQ,gBAAgB;AACpD,IAAI,sBAAsB,QAAQ,iCAAuB;AACzD,IAAI,0BAA0B,QAAQ,sCAA4B;AAClE,MAAM,cAAc,CAAC;AACrB,IAAI,CAAC,sBAAsB,YAAY;CACrC,QAAQ,MAAM,gCAAgC;CAC9C,QAAQ,KAAK,CAAC;AAChB;CACC,GAAG,wBAAwB,iBAAgB,CAAE;AAC9C,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,OAAO,GAAG,oBAAoB,aAAY,CAAE,eAAe,YAAY,GAAG;EACpF,cAAc,IAAI;CACpB;CACA,IAAI,CAAC,4BAA4B;EAC/B,IAAI,OAAO,OAAO,GAAG,oBAAoB,aAAY,CAAE,2BAA2B,YAAY,GAAG;EACjG,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,sBAAsB,WAAW,GAAG,WAAW,eAAe,KAAK;CACjE,IAAI,IAAI,SAAS,QAAQ;EACvB,MAAM,iBAAiB,IAAI,UAAU;EACrC,sBAAsB,WAAW,YAAY;GAC3C,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,sBAAsB,WAAW,YAAY;IAC3C,MAAM;IACN,IAAI,IAAI;IACR,QAAQ;GACV,CAAC;EACH,SAAS,KAAK;GACZ,sBAAsB,WAAW,YAAY;IAC3C,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,sBAAsB,WAAW,YAAY,EAC3C,MAAM,QACR,CAAC"}
|
|
@@ -22,14 +22,11 @@ var headless_server_exports = {};
|
|
|
22
22
|
__export(headless_server_exports, {
|
|
23
23
|
compileManifest: () => import_createHandleRequest.compileManifest,
|
|
24
24
|
createServer: () => createServer,
|
|
25
|
-
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
26
|
-
getFetchStaticHtml: () => import_staticHtmlFetcher.getFetchStaticHtml,
|
|
27
|
-
setFetchStaticHtml: () => import_staticHtmlFetcher.setFetchStaticHtml
|
|
25
|
+
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
28
26
|
});
|
|
29
27
|
module.exports = __toCommonJS(headless_server_exports);
|
|
30
28
|
var import_workerHandler = require("./server/workerHandler.cjs");
|
|
31
29
|
var import_createHandleRequest = require("./createHandleRequest.cjs");
|
|
32
|
-
var import_staticHtmlFetcher = require("./server/staticHtmlFetcher.cjs");
|
|
33
30
|
var import_setServerGlobals = require("./server/setServerGlobals.cjs");
|
|
34
31
|
var import_setupBuildOptions = require("./server/setupBuildOptions.cjs");
|
|
35
32
|
var import_workerHandler2 = require("./server/workerHandler.cjs");
|
|
@@ -53,7 +50,7 @@ async function createServer(options) {
|
|
|
53
50
|
lazyRoutes: options.routes
|
|
54
51
|
});
|
|
55
52
|
return {
|
|
56
|
-
/** handle
|
|
53
|
+
/** handle a request with an optional request-scoped static HTML reader */
|
|
57
54
|
fetch: handler.handleRequest,
|
|
58
55
|
/** hot-swap the route table without recreating the server */
|
|
59
56
|
updateRoutes(newManifest, newRoutes) {
|
|
@@ -24,14 +24,11 @@ var headless_server_exports = {};
|
|
|
24
24
|
__export(headless_server_exports, {
|
|
25
25
|
compileManifest: () => import_createHandleRequest.compileManifest,
|
|
26
26
|
createServer: () => createServer,
|
|
27
|
-
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
28
|
-
getFetchStaticHtml: () => import_staticHtmlFetcher.getFetchStaticHtml,
|
|
29
|
-
setFetchStaticHtml: () => import_staticHtmlFetcher.setFetchStaticHtml
|
|
27
|
+
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
30
28
|
});
|
|
31
29
|
module.exports = __toCommonJS(headless_server_exports);
|
|
32
30
|
var import_workerHandler = require("./server/workerHandler.native.js");
|
|
33
31
|
var import_createHandleRequest = require("./createHandleRequest.native.js");
|
|
34
|
-
var import_staticHtmlFetcher = require("./server/staticHtmlFetcher.native.js");
|
|
35
32
|
var import_setServerGlobals = require("./server/setServerGlobals.native.js");
|
|
36
33
|
var import_setupBuildOptions = require("./server/setupBuildOptions.native.js");
|
|
37
34
|
var import_workerHandler2 = require("./server/workerHandler.native.js");
|
|
@@ -57,7 +54,7 @@ async function createServer(options) {
|
|
|
57
54
|
lazyRoutes: options.routes
|
|
58
55
|
});
|
|
59
56
|
return {
|
|
60
|
-
/** handle
|
|
57
|
+
/** handle a request with an optional request-scoped static HTML reader */
|
|
61
58
|
fetch: handler.handleRequest,
|
|
62
59
|
/** hot-swap the route table without recreating the server */
|
|
63
60
|
updateRoutes(newManifest, newRoutes) {
|
|
@@ -24,14 +24,11 @@ var headless_server_exports = {};
|
|
|
24
24
|
__export(headless_server_exports, {
|
|
25
25
|
compileManifest: () => import_createHandleRequest.compileManifest,
|
|
26
26
|
createServer: () => createServer,
|
|
27
|
-
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
28
|
-
getFetchStaticHtml: () => import_staticHtmlFetcher.getFetchStaticHtml,
|
|
29
|
-
setFetchStaticHtml: () => import_staticHtmlFetcher.setFetchStaticHtml
|
|
27
|
+
createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
30
28
|
});
|
|
31
29
|
module.exports = __toCommonJS(headless_server_exports);
|
|
32
30
|
var import_workerHandler = require("./server/workerHandler.native.js");
|
|
33
31
|
var import_createHandleRequest = require("./createHandleRequest.native.js");
|
|
34
|
-
var import_staticHtmlFetcher = require("./server/staticHtmlFetcher.native.js");
|
|
35
32
|
var import_setServerGlobals = require("./server/setServerGlobals.native.js");
|
|
36
33
|
var import_setupBuildOptions = require("./server/setupBuildOptions.native.js");
|
|
37
34
|
var import_workerHandler2 = require("./server/workerHandler.native.js");
|
|
@@ -57,7 +54,7 @@ async function createServer(options) {
|
|
|
57
54
|
lazyRoutes: options.routes
|
|
58
55
|
});
|
|
59
56
|
return {
|
|
60
|
-
/** handle
|
|
57
|
+
/** handle a request with an optional request-scoped static HTML reader */
|
|
61
58
|
fetch: handler.handleRequest,
|
|
62
59
|
/** hot-swap the route table without recreating the server */
|
|
63
60
|
updateRoutes(newManifest, newRoutes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless-server.native.js","names":[],"sources":["cjs/headless-server.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar headless_server_exports = {};\n__export(headless_server_exports, {\n compileManifest: () => import_createHandleRequest.compileManifest,\n createServer: () => createServer,\n createWorkerHandler: () => import_workerHandler.createWorkerHandler
|
|
1
|
+
{"version":3,"file":"headless-server.native.js","names":[],"sources":["cjs/headless-server.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar headless_server_exports = {};\n__export(headless_server_exports, {\n compileManifest: () => import_createHandleRequest.compileManifest,\n createServer: () => createServer,\n createWorkerHandler: () => import_workerHandler.createWorkerHandler\n});\nmodule.exports = __toCommonJS(headless_server_exports);\nvar import_workerHandler = require(\"./server/workerHandler\");\nvar import_createHandleRequest = require(\"./createHandleRequest\");\nvar import_setServerGlobals = require(\"./server/setServerGlobals\");\nvar import_setupBuildOptions = require(\"./server/setupBuildOptions\");\nvar import_workerHandler2 = require(\"./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 (0, import_setupBuildOptions.setupBuildInfo)(buildInfo);\n (0, import_setServerGlobals.setServerGlobals)();\n var handler = (0, import_workerHandler2.createWorkerHandler)({\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 (0, import_setupBuildOptions.setupBuildInfo)(newBuildInfo);\n handler.updateRoutes(newBuildInfo, newRoutes);\n }\n };\n}\n//# sourceMappingURL=headless-server.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,0BAA0B,CAAC;AAC/B,SAAS,yBAAyB;CAChC,uBAAuB,2BAA2B;CAClD,oBAAoB;CACpB,2BAA2B,qBAAqB;AAClD,CAAC;AACD,OAAO,UAAU,aAAa,uBAAuB;AACrD,IAAI,uBAAuB,QAAQ,kCAAwB;AAC3D,IAAI,6BAA6B,QAAQ,iCAAuB;AAChE,IAAI,0BAA0B,QAAQ,qCAA2B;AACjE,IAAI,2BAA2B,QAAQ,sCAA4B;AACnE,IAAI,wBAAwB,QAAQ,kCAAwB;AAC5D,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,CAAC,GAAG,yBAAyB,eAAc,CAAE,SAAS;CACtD,CAAC,GAAG,wBAAwB,iBAAgB,CAAE;CAC9C,IAAI,WAAW,GAAG,sBAAsB,oBAAmB,CAAE;EAC3D,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,CAAC,GAAG,yBAAyB,eAAc,CAAE,YAAY;GACzD,QAAQ,aAAa,cAAc,SAAS;EAC9C;CACF;AACF"}
|
|
@@ -23,14 +23,14 @@ __export(audio_exports, { Audio: () => Audio });
|
|
|
23
23
|
module.exports = __toCommonJS(audio_exports);
|
|
24
24
|
var import_unavailable = require("./unavailable.cjs");
|
|
25
25
|
var import_validateCallback = require("../validateCallback.cjs");
|
|
26
|
+
var import_nowPlaying = require("./nowPlaying.cjs");
|
|
26
27
|
var import_player = require("./player.cjs");
|
|
27
28
|
let player;
|
|
29
|
+
let pendingLoad;
|
|
28
30
|
let playbackError;
|
|
29
31
|
let permission = "undetermined";
|
|
30
32
|
let openingRecording = false;
|
|
31
33
|
let recording;
|
|
32
|
-
const remoteListeners = /* @__PURE__ */ new Set();
|
|
33
|
-
let remoteInstalled = false;
|
|
34
34
|
async function getRecordingPermissionStatus() {
|
|
35
35
|
if (typeof window === "undefined" || !navigator.mediaDevices?.getUserMedia) return "denied";
|
|
36
36
|
try {
|
|
@@ -66,7 +66,7 @@ function playbackStatus() {
|
|
|
66
66
|
positionMs: 0
|
|
67
67
|
};
|
|
68
68
|
return {
|
|
69
|
-
state: player.error || playbackError ? "failed" : player.ended ? "ended" : player.readyState < 2 ? "loading" : player.paused ? "paused" : "playing",
|
|
69
|
+
state: player.error || playbackError ? "failed" : player.ended ? "ended" : pendingLoad || player.readyState < 2 ? "loading" : player.paused ? "paused" : "playing",
|
|
70
70
|
uri: player.src,
|
|
71
71
|
positionMs: player.currentTime * 1e3,
|
|
72
72
|
...Number.isFinite(player.duration) && { durationMs: player.duration * 1e3 },
|
|
@@ -78,7 +78,9 @@ function requirePlayer() {
|
|
|
78
78
|
return player;
|
|
79
79
|
}
|
|
80
80
|
function clearPlayer() {
|
|
81
|
-
|
|
81
|
+
(0, import_nowPlaying.releaseNowPlaying)("global");
|
|
82
|
+
pendingLoad?.cancel?.();
|
|
83
|
+
pendingLoad = void 0;
|
|
82
84
|
if (player) {
|
|
83
85
|
player.pause();
|
|
84
86
|
player.removeAttribute("src");
|
|
@@ -134,56 +136,46 @@ function recorderChange(event) {
|
|
|
134
136
|
}
|
|
135
137
|
});
|
|
136
138
|
}
|
|
137
|
-
function
|
|
138
|
-
|
|
139
|
-
return
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
function installRemote() {
|
|
172
|
-
if (remoteInstalled) return;
|
|
173
|
-
const session = mediaSession();
|
|
174
|
-
session.setActionHandler("play", () => remote({ type: "play" }));
|
|
175
|
-
session.setActionHandler("pause", () => remote({ type: "pause" }));
|
|
176
|
-
session.setActionHandler("seekto", (event) => remote({
|
|
177
|
-
type: "seek",
|
|
178
|
-
positionMs: (event.seekTime ?? 0) * 1e3
|
|
179
|
-
}));
|
|
180
|
-
remoteInstalled = true;
|
|
139
|
+
function prepareAt(load, positionMs) {
|
|
140
|
+
const { audio } = load;
|
|
141
|
+
return new Promise((resolve, reject) => {
|
|
142
|
+
const cleanup = () => {
|
|
143
|
+
audio.removeEventListener("loadedmetadata", ready);
|
|
144
|
+
audio.removeEventListener("seeked", done);
|
|
145
|
+
audio.removeEventListener("error", failed);
|
|
146
|
+
load.cancel = void 0;
|
|
147
|
+
};
|
|
148
|
+
let seconds = 0;
|
|
149
|
+
const done = () => {
|
|
150
|
+
cleanup();
|
|
151
|
+
if (Math.abs(audio.currentTime - seconds) > .25) reject(new Error("Audio.play: the source cannot seek to the position"));
|
|
152
|
+
else resolve();
|
|
153
|
+
};
|
|
154
|
+
const failed = () => {
|
|
155
|
+
cleanup();
|
|
156
|
+
reject(new Error(`Audio.play: ${audio.error?.message || "decoding failed"}`));
|
|
157
|
+
};
|
|
158
|
+
function ready() {
|
|
159
|
+
audio.removeEventListener("loadedmetadata", ready);
|
|
160
|
+
seconds = Math.min(positionMs / 1e3, Number.isFinite(audio.duration) ? audio.duration : Infinity);
|
|
161
|
+
if (audio.currentTime === seconds) return done();
|
|
162
|
+
audio.addEventListener("seeked", done, { once: true });
|
|
163
|
+
audio.currentTime = seconds;
|
|
164
|
+
}
|
|
165
|
+
load.cancel = () => {
|
|
166
|
+
cleanup();
|
|
167
|
+
reject(new Error("Audio.play: playback was replaced"));
|
|
168
|
+
};
|
|
169
|
+
audio.addEventListener("error", failed, { once: true });
|
|
170
|
+
if (audio.readyState >= 1) ready();
|
|
171
|
+
else audio.addEventListener("loadedmetadata", ready, { once: true });
|
|
172
|
+
});
|
|
181
173
|
}
|
|
182
174
|
const Audio = Object.freeze({
|
|
183
175
|
getRecordingPermissionStatus,
|
|
184
176
|
requestRecordingPermission,
|
|
185
|
-
play: async (uri) => {
|
|
186
|
-
if (typeof window === "undefined") return import_unavailable.Audio.play(uri);
|
|
177
|
+
play: async (uri, options) => {
|
|
178
|
+
if (typeof window === "undefined") return import_unavailable.Audio.play(uri, options);
|
|
187
179
|
if (openingRecording || recording) throw new Error("Audio.play: stop the current recording first");
|
|
188
180
|
const url = new URL(uri, document.baseURI);
|
|
189
181
|
if (![
|
|
@@ -192,17 +184,35 @@ const Audio = Object.freeze({
|
|
|
192
184
|
"blob:",
|
|
193
185
|
"data:"
|
|
194
186
|
].includes(url.protocol)) throw new Error("Audio.play: invalid browser audio URI");
|
|
187
|
+
const prepare = options?.positionMs !== void 0 || options?.paused !== void 0;
|
|
188
|
+
const positionMs = options?.positionMs ?? 0;
|
|
189
|
+
if (typeof positionMs !== "number" || !Number.isFinite(positionMs) || positionMs < 0) throw new Error("Audio.play: position must be finite and nonnegative");
|
|
195
190
|
clearPlayer();
|
|
196
191
|
const audio = new window.Audio(url.href);
|
|
197
192
|
player = audio;
|
|
198
|
-
for (const event of [
|
|
199
|
-
"play",
|
|
200
|
-
"pause",
|
|
201
|
-
"ended"
|
|
202
|
-
]) audio.addEventListener(event, syncNowPlaying);
|
|
203
193
|
audio.addEventListener("error", () => {
|
|
204
194
|
if (player === audio) playbackError = audio.error?.message ?? "Audio.play: decoding failed";
|
|
205
195
|
});
|
|
196
|
+
if (prepare) {
|
|
197
|
+
const load = {
|
|
198
|
+
audio,
|
|
199
|
+
paused: options?.paused ?? false
|
|
200
|
+
};
|
|
201
|
+
pendingLoad = load;
|
|
202
|
+
audio.preload = "auto";
|
|
203
|
+
try {
|
|
204
|
+
await prepareAt(load, positionMs);
|
|
205
|
+
} catch (error) {
|
|
206
|
+
if (pendingLoad === load) {
|
|
207
|
+
pendingLoad = void 0;
|
|
208
|
+
playbackError = error.message;
|
|
209
|
+
}
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
if (player !== audio || pendingLoad !== load) throw new Error("Audio.play: playback was replaced");
|
|
213
|
+
pendingLoad = void 0;
|
|
214
|
+
if (load.paused) return playbackStatus();
|
|
215
|
+
}
|
|
206
216
|
try {
|
|
207
217
|
await audio.play();
|
|
208
218
|
} catch (error) {
|
|
@@ -216,6 +226,10 @@ const Audio = Object.freeze({
|
|
|
216
226
|
pause: async () => {
|
|
217
227
|
if (typeof window === "undefined") return import_unavailable.Audio.pause();
|
|
218
228
|
const audio = requirePlayer();
|
|
229
|
+
if (pendingLoad) {
|
|
230
|
+
pendingLoad.paused = true;
|
|
231
|
+
return playbackStatus();
|
|
232
|
+
}
|
|
219
233
|
if (!audio.paused) await new Promise((resolve) => {
|
|
220
234
|
audio.addEventListener("pause", () => resolve(), { once: true });
|
|
221
235
|
audio.pause();
|
|
@@ -225,6 +239,10 @@ const Audio = Object.freeze({
|
|
|
225
239
|
resume: async () => {
|
|
226
240
|
if (typeof window === "undefined") return import_unavailable.Audio.resume();
|
|
227
241
|
const audio = requirePlayer();
|
|
242
|
+
if (pendingLoad) {
|
|
243
|
+
pendingLoad.paused = false;
|
|
244
|
+
return playbackStatus();
|
|
245
|
+
}
|
|
228
246
|
if (audio.ended) audio.currentTime = 0;
|
|
229
247
|
await audio.play();
|
|
230
248
|
if (player !== audio) throw new Error("Audio.resume: playback was replaced");
|
|
@@ -234,7 +252,7 @@ const Audio = Object.freeze({
|
|
|
234
252
|
if (typeof window === "undefined") return import_unavailable.Audio.seek(positionMs);
|
|
235
253
|
if (!Number.isFinite(positionMs) || positionMs < 0) throw new Error("Audio.seek: position must be finite and nonnegative");
|
|
236
254
|
const audio = requirePlayer();
|
|
237
|
-
if (audio.readyState < 1) throw new Error("Audio.seek: playback is not ready");
|
|
255
|
+
if (audio.readyState < 1 || pendingLoad) throw new Error("Audio.seek: playback is not ready");
|
|
238
256
|
const seconds = Math.min(positionMs / 1e3, Number.isFinite(audio.duration) ? audio.duration : Infinity);
|
|
239
257
|
if (audio.currentTime === seconds) return playbackStatus();
|
|
240
258
|
await new Promise((resolve, reject) => {
|
|
@@ -373,34 +391,23 @@ const Audio = Object.freeze({
|
|
|
373
391
|
watchInterruptions: import_unavailable.Audio.watchInterruptions,
|
|
374
392
|
setNowPlayingInfo: async (info) => {
|
|
375
393
|
if (typeof window === "undefined") return import_unavailable.Audio.setNowPlayingInfo(info);
|
|
376
|
-
if (!info.title.trim()) throw new Error("Audio.setNowPlayingInfo: title must not be empty");
|
|
377
394
|
const audio = requirePlayer();
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
title: info.title,
|
|
386
|
-
artist: info.artist,
|
|
387
|
-
album: info.albumTitle,
|
|
388
|
-
artwork: info.artworkUri ? [{ src: info.artworkUri }] : []
|
|
389
|
-
});
|
|
390
|
-
installRemote();
|
|
391
|
-
syncNowPlaying();
|
|
395
|
+
await (0, import_nowPlaying.claimNowPlaying)({
|
|
396
|
+
key: "global",
|
|
397
|
+
element: audio,
|
|
398
|
+
play: Audio.resume,
|
|
399
|
+
pause: Audio.pause,
|
|
400
|
+
seek: Audio.seek
|
|
401
|
+
}, info, "Audio.setNowPlayingInfo", () => player === audio);
|
|
392
402
|
},
|
|
393
403
|
clearNowPlayingInfo: async () => {
|
|
394
404
|
if (typeof window === "undefined") return import_unavailable.Audio.clearNowPlayingInfo();
|
|
395
|
-
|
|
405
|
+
(0, import_nowPlaying.releaseNowPlaying)("global");
|
|
396
406
|
},
|
|
397
407
|
watchRemoteCommands: (onEvent) => {
|
|
398
408
|
(0, import_validateCallback.validateCallback)(onEvent, "Audio.watchRemoteCommands: onEvent must be a function");
|
|
399
409
|
if (typeof window === "undefined" || !navigator.mediaSession) return import_unavailable.Audio.watchRemoteCommands(onEvent);
|
|
400
|
-
|
|
401
|
-
return () => {
|
|
402
|
-
remoteListeners.delete(onEvent);
|
|
403
|
-
};
|
|
410
|
+
return (0, import_nowPlaying.addRemoteListener)(onEvent);
|
|
404
411
|
},
|
|
405
412
|
AudioPlayer: import_player.AudioPlayer,
|
|
406
413
|
createPlayer: import_player.createPlayer
|
|
@@ -34,8 +34,8 @@ var Audio = Object.freeze({
|
|
|
34
34
|
requestRecordingPermission: function requestRecordingPermission() {
|
|
35
35
|
return (0, import_hybrid.audioNative)().requestRecordingPermission().catch(import_nativeError.rethrowNativeError);
|
|
36
36
|
},
|
|
37
|
-
play: function play(uri) {
|
|
38
|
-
return (0, import_hybrid.audioNative)().play(uri).catch(import_nativeError.rethrowNativeError);
|
|
37
|
+
play: function play(uri, options) {
|
|
38
|
+
return (0, import_hybrid.audioNative)().play(uri, options !== null && options !== void 0 ? options : {}).catch(import_nativeError.rethrowNativeError);
|
|
39
39
|
},
|
|
40
40
|
getPlaybackStatus: function getPlaybackStatus() {
|
|
41
41
|
return (0, import_hybrid.audioNative)().getPlaybackStatus().catch(import_nativeError.rethrowNativeError);
|