one 1.2.39 → 1.2.41

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.
Files changed (135) hide show
  1. package/dist/cjs/cli/build.cjs +18 -4
  2. package/dist/cjs/cli/build.js +21 -5
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +31 -4
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +68 -14
  7. package/dist/cjs/cli/buildPage.js +65 -14
  8. package/dist/cjs/cli/buildPage.js.map +1 -1
  9. package/dist/cjs/cli/buildPage.native.js +86 -28
  10. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  11. package/dist/cjs/constants.cjs +1 -0
  12. package/dist/cjs/constants.js +1 -0
  13. package/dist/cjs/constants.js.map +1 -1
  14. package/dist/cjs/constants.native.js +1 -0
  15. package/dist/cjs/constants.native.js.map +1 -1
  16. package/dist/cjs/createApp.cjs +2 -1
  17. package/dist/cjs/createApp.js +2 -1
  18. package/dist/cjs/createApp.js.map +1 -1
  19. package/dist/cjs/router/filterRootHTML.cjs +4 -4
  20. package/dist/cjs/router/filterRootHTML.js +4 -4
  21. package/dist/cjs/router/filterRootHTML.js.map +1 -1
  22. package/dist/cjs/router/filterRootHTML.native.js +7 -6
  23. package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
  24. package/dist/cjs/router/useScreens.cjs +14 -5
  25. package/dist/cjs/router/useScreens.js +20 -3
  26. package/dist/cjs/router/useScreens.js.map +1 -1
  27. package/dist/cjs/router/useScreens.native.js +13 -4
  28. package/dist/cjs/router/useScreens.native.js.map +1 -1
  29. package/dist/cjs/server/ServerContextScript.cjs +12 -2
  30. package/dist/cjs/server/ServerContextScript.js +6 -2
  31. package/dist/cjs/server/ServerContextScript.js.map +1 -1
  32. package/dist/cjs/server/ServerContextScript.native.js +12 -2
  33. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  34. package/dist/cjs/server/oneServe.cjs +3 -2
  35. package/dist/cjs/server/oneServe.js +4 -2
  36. package/dist/cjs/server/oneServe.js.map +2 -2
  37. package/dist/cjs/server/oneServe.native.js +3 -2
  38. package/dist/cjs/server/oneServe.native.js.map +1 -1
  39. package/dist/cjs/server-render.cjs +9 -1
  40. package/dist/cjs/server-render.js +9 -1
  41. package/dist/cjs/server-render.js.map +1 -1
  42. package/dist/cjs/server-render.native.js +12 -3
  43. package/dist/cjs/server-render.native.js.map +1 -1
  44. package/dist/cjs/vite/one.cjs +5 -1
  45. package/dist/cjs/vite/one.js +6 -3
  46. package/dist/cjs/vite/one.js.map +1 -1
  47. package/dist/cjs/vite/one.native.js +11 -2
  48. package/dist/cjs/vite/one.native.js.map +1 -1
  49. package/dist/esm/cli/build.js +21 -5
  50. package/dist/esm/cli/build.js.map +1 -1
  51. package/dist/esm/cli/build.mjs +18 -4
  52. package/dist/esm/cli/build.mjs.map +1 -1
  53. package/dist/esm/cli/build.native.js +31 -4
  54. package/dist/esm/cli/build.native.js.map +1 -1
  55. package/dist/esm/cli/buildPage.js +65 -14
  56. package/dist/esm/cli/buildPage.js.map +1 -1
  57. package/dist/esm/cli/buildPage.mjs +68 -14
  58. package/dist/esm/cli/buildPage.mjs.map +1 -1
  59. package/dist/esm/cli/buildPage.native.js +86 -28
  60. package/dist/esm/cli/buildPage.native.js.map +1 -1
  61. package/dist/esm/constants.js +1 -0
  62. package/dist/esm/constants.js.map +1 -1
  63. package/dist/esm/constants.mjs +1 -0
  64. package/dist/esm/constants.mjs.map +1 -1
  65. package/dist/esm/constants.native.js +1 -0
  66. package/dist/esm/constants.native.js.map +1 -1
  67. package/dist/esm/createApp.js +2 -1
  68. package/dist/esm/createApp.js.map +1 -1
  69. package/dist/esm/createApp.mjs +2 -1
  70. package/dist/esm/createApp.mjs.map +1 -1
  71. package/dist/esm/router/filterRootHTML.js +4 -4
  72. package/dist/esm/router/filterRootHTML.js.map +1 -1
  73. package/dist/esm/router/filterRootHTML.mjs +4 -4
  74. package/dist/esm/router/filterRootHTML.mjs.map +1 -1
  75. package/dist/esm/router/filterRootHTML.native.js +7 -6
  76. package/dist/esm/router/filterRootHTML.native.js.map +1 -1
  77. package/dist/esm/router/useScreens.js +20 -3
  78. package/dist/esm/router/useScreens.js.map +1 -1
  79. package/dist/esm/router/useScreens.mjs +14 -5
  80. package/dist/esm/router/useScreens.mjs.map +1 -1
  81. package/dist/esm/router/useScreens.native.js +13 -4
  82. package/dist/esm/router/useScreens.native.js.map +1 -1
  83. package/dist/esm/server/ServerContextScript.js +6 -2
  84. package/dist/esm/server/ServerContextScript.js.map +1 -1
  85. package/dist/esm/server/ServerContextScript.mjs +12 -2
  86. package/dist/esm/server/ServerContextScript.mjs.map +1 -1
  87. package/dist/esm/server/ServerContextScript.native.js +12 -2
  88. package/dist/esm/server/ServerContextScript.native.js.map +1 -1
  89. package/dist/esm/server/oneServe.js +4 -2
  90. package/dist/esm/server/oneServe.js.map +2 -2
  91. package/dist/esm/server/oneServe.mjs +3 -2
  92. package/dist/esm/server/oneServe.mjs.map +1 -1
  93. package/dist/esm/server/oneServe.native.js +3 -2
  94. package/dist/esm/server/oneServe.native.js.map +1 -1
  95. package/dist/esm/server-render.js +9 -1
  96. package/dist/esm/server-render.js.map +1 -1
  97. package/dist/esm/server-render.mjs +9 -1
  98. package/dist/esm/server-render.mjs.map +1 -1
  99. package/dist/esm/server-render.native.js +12 -3
  100. package/dist/esm/server-render.native.js.map +1 -1
  101. package/dist/esm/vite/one.js +6 -3
  102. package/dist/esm/vite/one.js.map +1 -1
  103. package/dist/esm/vite/one.mjs +5 -1
  104. package/dist/esm/vite/one.mjs.map +1 -1
  105. package/dist/esm/vite/one.native.js +11 -2
  106. package/dist/esm/vite/one.native.js.map +1 -1
  107. package/package.json +9 -9
  108. package/src/cli/build.ts +54 -6
  109. package/src/cli/buildPage.ts +104 -12
  110. package/src/constants.ts +1 -0
  111. package/src/createApp.tsx +1 -0
  112. package/src/router/filterRootHTML.ts +14 -15
  113. package/src/router/useScreens.tsx +27 -4
  114. package/src/server/ServerContextScript.tsx +13 -1
  115. package/src/server/oneServe.ts +3 -2
  116. package/src/server-render.tsx +29 -2
  117. package/src/types.ts +9 -0
  118. package/src/vite/one.ts +9 -3
  119. package/src/vite/types.ts +27 -0
  120. package/types/cli/build.d.ts.map +1 -1
  121. package/types/cli/buildPage.d.ts +1 -1
  122. package/types/cli/buildPage.d.ts.map +1 -1
  123. package/types/constants.d.ts.map +1 -1
  124. package/types/createApp.d.ts.map +1 -1
  125. package/types/router/filterRootHTML.d.ts.map +1 -1
  126. package/types/router/useScreens.d.ts.map +1 -1
  127. package/types/server/ServerContextScript.d.ts.map +1 -1
  128. package/types/server/oneServe.d.ts.map +1 -1
  129. package/types/server-render.d.ts +14 -2
  130. package/types/server-render.d.ts.map +1 -1
  131. package/types/types.d.ts +9 -0
  132. package/types/types.d.ts.map +1 -1
  133. package/types/vite/one.d.ts.map +1 -1
  134. package/types/vite/types.d.ts +26 -0
  135. package/types/vite/types.d.ts.map +1 -1
@@ -8,7 +8,7 @@ const {
8
8
  readFile,
9
9
  outputFile
10
10
  } = FSExtra;
11
- async function buildPage(serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, routePreloads, allCSSContents) {
11
+ async function buildPage(serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {
12
12
  const render = await getRender(serverEntry),
13
13
  htmlPath = `${path.endsWith("/") ? `${removeTrailingSlash(path)}/index` : path}.html`,
14
14
  clientJsPath = join("dist/client", clientManifestEntry.file),
@@ -35,13 +35,18 @@ async function buildPage(serverEntry, path, relativeId, params, foundRoute, clie
35
35
  ...registrationCalls].join(`
36
36
  `);
37
37
  await FSExtra.writeFile(join(clientDir, preloadPath), preloadContent);
38
- const cssPreloadContent = `
38
+ const uniqueCSS = [...new Set(allCSS)],
39
+ cssPreloadContent = `
39
40
  const CSS_TIMEOUT = 1000
40
- const cssUrls = ${JSON.stringify(allCSS)}
41
+ const cssUrls = ${JSON.stringify(uniqueCSS)}
42
+
43
+ // Global cache for loaded CSS - avoids DOM queries and tracks across navigations
44
+ const loaded = (window.__oneLoadedCSS ||= new Set())
41
45
 
42
46
  // Prefetch CSS without applying - called on link hover
43
47
  export function prefetchCSS() {
44
48
  cssUrls.forEach(href => {
49
+ if (loaded.has(href)) return
45
50
  if (document.querySelector(\`link[href="\${href}"]\`)) return
46
51
  const link = document.createElement('link')
47
52
  link.rel = 'prefetch'
@@ -54,21 +59,31 @@ export function prefetchCSS() {
54
59
  // Inject CSS to apply styles - called on actual navigation
55
60
  export function injectCSS() {
56
61
  return Promise.all(cssUrls.map(href => {
62
+ // Skip if already loaded
63
+ if (loaded.has(href)) return Promise.resolve()
57
64
  // Remove any prefetch link for this href
58
65
  const prefetchLink = document.querySelector(\`link[rel="prefetch"][href="\${href}"]\`)
59
66
  if (prefetchLink) prefetchLink.remove()
60
- // Skip if stylesheet already exists
61
- if (document.querySelector(\`link[rel="stylesheet"][href="\${href}"]\`)) return Promise.resolve()
67
+ // Skip if stylesheet already exists in DOM
68
+ if (document.querySelector(\`link[rel="stylesheet"][href="\${href}"]\`)) {
69
+ loaded.add(href)
70
+ return Promise.resolve()
71
+ }
62
72
  return new Promise(resolve => {
63
73
  const link = document.createElement('link')
64
74
  link.rel = 'stylesheet'
65
75
  link.href = href
66
- link.onload = link.onerror = resolve
67
- document.head.appendChild(link)
68
- setTimeout(() => {
76
+ const timeoutId = setTimeout(() => {
69
77
  console.warn('[one] CSS load timeout:', href)
78
+ loaded.add(href)
70
79
  resolve()
71
80
  }, CSS_TIMEOUT)
81
+ link.onload = link.onerror = () => {
82
+ clearTimeout(timeoutId)
83
+ loaded.add(href)
84
+ resolve()
85
+ }
86
+ document.head.appendChild(link)
72
87
  })
73
88
  }))
74
89
  }
@@ -101,9 +116,10 @@ if (typeof document === 'undefined') globalThis.document = {}
101
116
  params
102
117
  };
103
118
  if (globalThis.__vxrnresetState?.(), foundRoute.type === "ssg") {
104
- const html = await render({
119
+ let html = await render({
105
120
  path,
106
- preloads,
121
+ preloads: criticalPreloads || preloads,
122
+ deferredPreloads: useAfterLCPAggressive ? [] : deferredPreloads,
107
123
  loaderProps,
108
124
  loaderData,
109
125
  css: allCSS,
@@ -111,10 +127,14 @@ if (typeof document === 'undefined') globalThis.document = {}
111
127
  mode: "ssg",
112
128
  routePreloads
113
129
  });
114
- await outputFile(htmlOutPath, html);
130
+ useAfterLCP && (html = applyAfterLCPScriptLoad(html, preloads)), await outputFile(htmlOutPath, html);
115
131
  } else if (foundRoute.type === "spa") {
116
132
  const cssOutput = allCSSContents ? allCSSContents.filter(Boolean).map(content => ` <style>${content}</style>`).join(`
117
133
  `) : allCSS.map(file => ` <link rel="stylesheet" href=${file} />`).join(`
134
+ `),
135
+ criticalScripts = (criticalPreloads || preloads).map(preload => ` <script type="module" src="${preload}"></script>`).join(`
136
+ `),
137
+ deferredLinks = (deferredPreloads || []).map(preload => ` <link rel="modulepreload" fetchPriority="low" href="${preload}"/>`).join(`
118
138
  `);
119
139
  await outputFile(htmlOutPath, `<html><head>
120
140
  ${constants.getSpaHeaderElements({
@@ -123,8 +143,8 @@ if (typeof document === 'undefined') globalThis.document = {}
123
143
  loaderData
124
144
  }
125
145
  })}
126
- ${preloads.map(preload => ` <script type="module" src="${preload}"></script>`).join(`
127
- `)}
146
+ ${criticalScripts}
147
+ ${deferredLinks}
128
148
  ${cssOutput}
129
149
  </head></html>`);
130
150
  }
@@ -161,7 +181,9 @@ ${JSON.stringify(params || null, null, 2)}`), console.error(err), process.exit(1
161
181
  loaderData,
162
182
  params,
163
183
  path,
164
- preloads
184
+ preloads,
185
+ criticalPreloads,
186
+ deferredPreloads
165
187
  };
166
188
  }
167
189
  async function getRender(serverEntry) {
@@ -179,5 +201,37 @@ async function getRender(serverEntry) {
179
201
  function removeTrailingSlash(path) {
180
202
  return path.endsWith("/") ? path.slice(0, path.length - 1) : path;
181
203
  }
204
+ function applyAfterLCPScriptLoad(html, preloads) {
205
+ html = html.replace(/<script\s+type="module"[^>]*async[^>]*><\/script>/gi, "");
206
+ const loaderScript = `
207
+ <script>
208
+ (function() {
209
+ var scripts = ${JSON.stringify(preloads)};
210
+ function loadScripts() {
211
+ scripts.forEach(function(src) {
212
+ var script = document.createElement('script');
213
+ script.type = 'module';
214
+ script.src = src;
215
+ document.head.appendChild(script);
216
+ });
217
+ }
218
+ function waitIdle(n) {
219
+ if (n <= 0) {
220
+ requestAnimationFrame(function() {
221
+ requestAnimationFrame(loadScripts);
222
+ });
223
+ return;
224
+ }
225
+ setTimeout(function() {
226
+ setTimeout(function() {
227
+ waitIdle(n - 1);
228
+ }, 0);
229
+ }, 0);
230
+ }
231
+ waitIdle(5);
232
+ })();
233
+ </script>`;
234
+ return html = html.replace("</head>", `${loaderScript}</head>`), html;
235
+ }
182
236
  export { buildPage };
183
237
  //# sourceMappingURL=buildPage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","getPreloadCSSPath","toAbsolute","replaceLoader","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","routePreloads","allCSSContents","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","cssPreloadPath","loaderPath","loaderData","routeImports","routeRegistrations","routeIndex","routeKey","bundlePath","Object","entries","varName","push","registrationCalls","map","call","replace","preloadContent","preload","writeFile","cssPreloadContent","JSON","stringify","exported","loader","code","withLoader","loaderPartialPath","type","loaderProps","globalThis","__vxrnresetState","html","css","cssContents","mode","cssOutput","filter","Boolean","content","getSpaHeaderElements","serverContext","err","errMsg","Error","message","stack","console","error","process","exit","middlewares","x","contextKey","cleanPath","routeFile","serverImport","default","slice","length"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","getPreloadCSSPath","toAbsolute","replaceLoader","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","routePreloads","allCSSContents","criticalPreloads","deferredPreloads","useAfterLCP","useAfterLCPAggressive","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","cssPreloadPath","loaderPath","loaderData","routeImports","routeRegistrations","routeIndex","routeKey","bundlePath","Object","entries","varName","push","registrationCalls","map","call","replace","preloadContent","preload","writeFile","uniqueCSS","Set","cssPreloadContent","JSON","stringify","exported","loader","code","withLoader","loaderPartialPath","type","loaderProps","globalThis","__vxrnresetState","html","css","cssContents","mode","applyAfterLCPScriptLoad","cssOutput","filter","Boolean","content","criticalScripts","deferredLinks","getSpaHeaderElements","serverContext","err","errMsg","Error","message","stack","console","error","process","exit","middlewares","x","contextKey","cleanPath","routeFile","serverImport","default","slice","length","loaderScript"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ var {
11
11
  readFile,
12
12
  outputFile
13
13
  } = FSExtra;
14
- async function buildPage(serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, routePreloads, allCSSContents) {
14
+ async function buildPage(serverEntry, path, relativeId, params, foundRoute, clientManifestEntry, staticDir, clientDir, builtMiddlewares, serverJsPath, preloads, allCSS, routePreloads, allCSSContents, criticalPreloads, deferredPreloads, useAfterLCP, useAfterLCPAggressive) {
15
15
  var render = await getRender(serverEntry),
16
16
  htmlPath = `${path.endsWith("/") ? `${removeTrailingSlash(path)}/index` : path}.html`,
17
17
  clientJsPath = join("dist/client", clientManifestEntry.file),
@@ -56,13 +56,18 @@ async function buildPage(serverEntry, path, relativeId, params, foundRoute, clie
56
56
  ...registrationCalls].join(`
57
57
  `);
58
58
  await FSExtra.writeFile(join(clientDir, preloadPath), preloadContent);
59
- var cssPreloadContent = `
59
+ var uniqueCSS = [...new Set(allCSS)],
60
+ cssPreloadContent = `
60
61
  const CSS_TIMEOUT = 1000
61
- const cssUrls = ${JSON.stringify(allCSS)}
62
+ const cssUrls = ${JSON.stringify(uniqueCSS)}
63
+
64
+ // Global cache for loaded CSS - avoids DOM queries and tracks across navigations
65
+ const loaded = (window.__oneLoadedCSS ||= new Set())
62
66
 
63
67
  // Prefetch CSS without applying - called on link hover
64
68
  export function prefetchCSS() {
65
69
  cssUrls.forEach(href => {
70
+ if (loaded.has(href)) return
66
71
  if (document.querySelector(\`link[href="\${href}"]\`)) return
67
72
  const link = document.createElement('link')
68
73
  link.rel = 'prefetch'
@@ -75,21 +80,31 @@ export function prefetchCSS() {
75
80
  // Inject CSS to apply styles - called on actual navigation
76
81
  export function injectCSS() {
77
82
  return Promise.all(cssUrls.map(href => {
83
+ // Skip if already loaded
84
+ if (loaded.has(href)) return Promise.resolve()
78
85
  // Remove any prefetch link for this href
79
86
  const prefetchLink = document.querySelector(\`link[rel="prefetch"][href="\${href}"]\`)
80
87
  if (prefetchLink) prefetchLink.remove()
81
- // Skip if stylesheet already exists
82
- if (document.querySelector(\`link[rel="stylesheet"][href="\${href}"]\`)) return Promise.resolve()
88
+ // Skip if stylesheet already exists in DOM
89
+ if (document.querySelector(\`link[rel="stylesheet"][href="\${href}"]\`)) {
90
+ loaded.add(href)
91
+ return Promise.resolve()
92
+ }
83
93
  return new Promise(resolve => {
84
94
  const link = document.createElement('link')
85
95
  link.rel = 'stylesheet'
86
96
  link.href = href
87
- link.onload = link.onerror = resolve
88
- document.head.appendChild(link)
89
- setTimeout(() => {
97
+ const timeoutId = setTimeout(() => {
90
98
  console.warn('[one] CSS load timeout:', href)
99
+ loaded.add(href)
91
100
  resolve()
92
101
  }, CSS_TIMEOUT)
102
+ link.onload = link.onerror = () => {
103
+ clearTimeout(timeoutId)
104
+ loaded.add(href)
105
+ resolve()
106
+ }
107
+ document.head.appendChild(link)
93
108
  })
94
109
  }))
95
110
  }
@@ -125,24 +140,35 @@ if (typeof document === 'undefined') globalThis.document = {}
125
140
  params
126
141
  };
127
142
  if ((_globalThis___vxrnresetState = (_globalThis = globalThis).__vxrnresetState) === null || _globalThis___vxrnresetState === void 0 || _globalThis___vxrnresetState.call(_globalThis), foundRoute.type === "ssg") {
128
- var html = await render({
129
- path,
130
- preloads,
131
- loaderProps,
132
- loaderData,
133
- css: allCSS,
134
- cssContents: allCSSContents,
135
- mode: "ssg",
136
- routePreloads
137
- });
138
- await outputFile(htmlOutPath, html);
143
+ var renderPreloads = criticalPreloads || preloads,
144
+ renderDeferredPreloads = useAfterLCPAggressive ? [] : deferredPreloads,
145
+ html = await render({
146
+ path,
147
+ preloads: renderPreloads,
148
+ deferredPreloads: renderDeferredPreloads,
149
+ loaderProps,
150
+ loaderData,
151
+ css: allCSS,
152
+ cssContents: allCSSContents,
153
+ mode: "ssg",
154
+ routePreloads
155
+ });
156
+ useAfterLCP && (html = applyAfterLCPScriptLoad(html, preloads)), await outputFile(htmlOutPath, html);
139
157
  } else if (foundRoute.type === "spa") {
140
158
  var cssOutput = allCSSContents ? allCSSContents.filter(Boolean).map(function (content) {
141
- return ` <style>${content}</style>`;
142
- }).join(`
159
+ return ` <style>${content}</style>`;
160
+ }).join(`
143
161
  `) : allCSS.map(function (file) {
144
- return ` <link rel="stylesheet" href=${file} />`;
145
- }).join(`
162
+ return ` <link rel="stylesheet" href=${file} />`;
163
+ }).join(`
164
+ `),
165
+ criticalScripts = (criticalPreloads || preloads).map(function (preload) {
166
+ return ` <script type="module" src="${preload}"></script>`;
167
+ }).join(`
168
+ `),
169
+ deferredLinks = (deferredPreloads || []).map(function (preload) {
170
+ return ` <link rel="modulepreload" fetchPriority="low" href="${preload}"/>`;
171
+ }).join(`
146
172
  `);
147
173
  await outputFile(htmlOutPath, `<html><head>
148
174
  ${constants.getSpaHeaderElements({
@@ -151,10 +177,8 @@ if (typeof document === 'undefined') globalThis.document = {}
151
177
  loaderData
152
178
  }
153
179
  })}
154
- ${preloads.map(function (preload) {
155
- return ` <script type="module" src="${preload}"></script>`;
156
- }).join(`
157
- `)}
180
+ ${criticalScripts}
181
+ ${deferredLinks}
158
182
  ${cssOutput}
159
183
  </head></html>`);
160
184
  }
@@ -193,7 +217,9 @@ ${JSON.stringify(params || null, null, 2)}`), console.error(err), process.exit(1
193
217
  loaderData,
194
218
  params,
195
219
  path,
196
- preloads
220
+ preloads,
221
+ criticalPreloads,
222
+ deferredPreloads
197
223
  };
198
224
  }
199
225
  async function getRender(serverEntry) {
@@ -210,5 +236,37 @@ async function getRender(serverEntry) {
210
236
  function removeTrailingSlash(path) {
211
237
  return path.endsWith("/") ? path.slice(0, path.length - 1) : path;
212
238
  }
239
+ function applyAfterLCPScriptLoad(html, preloads) {
240
+ html = html.replace(/<script\s+type="module"[^>]*async[^>]*><\/script>/gi, "");
241
+ var loaderScript = `
242
+ <script>
243
+ (function() {
244
+ var scripts = ${JSON.stringify(preloads)};
245
+ function loadScripts() {
246
+ scripts.forEach(function(src) {
247
+ var script = document.createElement('script');
248
+ script.type = 'module';
249
+ script.src = src;
250
+ document.head.appendChild(script);
251
+ });
252
+ }
253
+ function waitIdle(n) {
254
+ if (n <= 0) {
255
+ requestAnimationFrame(function() {
256
+ requestAnimationFrame(loadScripts);
257
+ });
258
+ return;
259
+ }
260
+ setTimeout(function() {
261
+ setTimeout(function() {
262
+ waitIdle(n - 1);
263
+ }, 0);
264
+ }, 0);
265
+ }
266
+ waitIdle(5);
267
+ })();
268
+ </script>`;
269
+ return html = html.replace("</head>", `${loaderScript}</head>`), html;
270
+ }
213
271
  export { buildPage };
214
272
  //# sourceMappingURL=buildPage.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","getPreloadCSSPath","toAbsolute","replaceLoader","_instanceof","left","right","Symbol","hasInstance","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","routePreloads","allCSSContents","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","cssPreloadPath","loaderPath","loaderData","routeImports","routeRegistrations","routeIndex","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","routeKey","bundlePath","value","varName","push","err","return","registrationCalls","map","call","replace","preloadContent","preload","writeFile","cssPreloadContent","JSON","stringify","exported","loader","_exported_loader","_ref","code","withLoader","loaderPartialPath","type","_globalThis___vxrnresetState","_globalThis","loaderProps","globalThis","__vxrnresetState","html","css","cssContents","mode","cssOutput","filter","Boolean","content","getSpaHeaderElements","serverContext","errMsg","Error","message","stack","console","error","process","exit","middlewares","x","contextKey","cleanPath"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","getPreloadCSSPath","toAbsolute","replaceLoader","_instanceof","left","right","Symbol","hasInstance","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","routePreloads","allCSSContents","criticalPreloads","deferredPreloads","useAfterLCP","useAfterLCPAggressive","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","cssPreloadPath","loaderPath","loaderData","routeImports","routeRegistrations","routeIndex","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","routeKey","bundlePath","value","varName","push","err","return","registrationCalls","map","call","replace","preloadContent","preload","writeFile","uniqueCSS","Set","cssPreloadContent","JSON","stringify","exported","loader","_exported_loader","_ref","code","withLoader","loaderPartialPath","type","_globalThis___vxrnresetState","_globalThis","loaderProps","globalThis","__vxrnresetState","renderPreloads","renderDeferredPreloads","html","css","cssContents","mode","applyAfterLCPScriptLoad","cssOutput","filter","Boolean","content","criticalScripts","deferredLinks","getSpaHeaderElements","serverContext","errMsg","Error","message","stack","console","error","process","exit","middlewares","x","contextKey","cleanPath","routeFile","_serverImport_default_default","serverImport","default","slice","length"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ const isWebClient = typeof window < "u", isWebServer = typeof window > "u", isNa
4
4
  <script>globalThis['global'] = globalThis</script>
5
5
  <script>globalThis['__vxrnIsSPA'] = true</script>
6
6
  <script>globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify(serverContext)}</script>
7
+ <script>globalThis.__oneLoadedCSS = new Set(${JSON.stringify(serverContext.css || [])})</script>
7
8
  `;
8
9
  export {
9
10
  CACHE_KEY,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/constants.ts"],
4
- "mappings": "AAEO,MAAM,cAAyD,OAAO,SAAW,KAC3E,cAAyD,OAAO,SAAW,KAC3E,WAAW,IAEX,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAW,CAAC,IAEnF,6BAA6B,mBAC7B,iCAAiC,QAAQ,0BAA0B,KACnE,0BAA0B,IAAI,OAAO,8BAA8B,GACnE,oBAAoB,IAAI,SAAS,GAAG,0BAA0B,IAE9D,qBAAqB,IAAI,SAAS,eAClC,yBAAyB,IAAI,SAAS,mBAGtC,wBAAwB,uBACxB,uBAAuB,eAAe,qBAAqB,IAE3D,qBAAqB,0BAErB,uBAAuB,CAAC;AAAA,EACnC,gBAAgB,CAAC;AACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGa,kBAAkB,QAAQ,KAAK,UAAU,aAAa,CAAC;AAAA;",
4
+ "mappings": "AAEO,MAAM,cAAyD,OAAO,SAAW,KAC3E,cAAyD,OAAO,SAAW,KAC3E,WAAW,IAEX,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAW,CAAC,IAEnF,6BAA6B,mBAC7B,iCAAiC,QAAQ,0BAA0B,KACnE,0BAA0B,IAAI,OAAO,8BAA8B,GACnE,oBAAoB,IAAI,SAAS,GAAG,0BAA0B,IAE9D,qBAAqB,IAAI,SAAS,eAClC,yBAAyB,IAAI,SAAS,mBAGtC,wBAAwB,uBACxB,uBAAuB,eAAe,qBAAqB,IAE3D,qBAAqB,0BAErB,uBAAuB,CAAC;AAAA,EACnC,gBAAgB,CAAC;AACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGa,kBAAkB,QAAQ,KAAK,UAAU,aAAa,CAAC;AAAA,gDAC/B,KAAK,UAAU,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA;",
5
5
  "names": []
6
6
  }
@@ -17,6 +17,7 @@ const isWebClient = typeof window < "u",
17
17
  <script>globalThis['global'] = globalThis</script>
18
18
  <script>globalThis['__vxrnIsSPA'] = true</script>
19
19
  <script>globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify(serverContext)}</script>
20
+ <script>globalThis.__oneLoadedCSS = new Set(${JSON.stringify(serverContext.css || [])})</script>
20
21
  `;
21
22
  export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, isNative, isWebClient, isWebServer };
22
23
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWebClient","window","isWebServer","isNative","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","JSON","stringify"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,MAAMA,WAAA,GAAyD,OAAOC,MAAA,GAAW;EAC3EC,WAAA,GAAyD,OAAOD,MAAA,GAAW;EAC3EE,QAAA,GAAW;EAEXC,SAAA,GAAY,GAAGC,OAAA,CAAQC,GAAA,CAAIC,aAAA,IAAiBC,IAAA,CAAKC,KAAA,CAAMD,IAAA,CAAKE,MAAA,CAAO,IAAI,GAAW,CAAC;EAEnFC,0BAAA,GAA6B;EAC7BC,8BAAA,GAAiC,QAAQD,0BAA0B;EACnEE,uBAAA,GAA0B,IAAIC,MAAA,CAAOF,8BAA8B;EACnEG,iBAAA,GAAoB,IAAIX,SAAS,GAAGO,0BAA0B;EAE9DK,kBAAA,GAAqB,IAAIZ,SAAS;EAClCa,sBAAA,GAAyB,IAAIb,SAAS;EAGtCc,qBAAA,GAAwB;EACxBC,oBAAA,GAAuB,eAAeD,qBAAqB;EAE3DE,kBAAA,GAAqB;EAErBC,oBAAA,GAAuBA,CAAC;IACnCC,aAAA,GAAgB,CAAC;EACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGaF,kBAAkB,QAAQG,IAAA,CAAKC,SAAA,CAAUF,aAAa,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["isWebClient","window","isWebServer","isNative","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","JSON","stringify","css"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,MAAMA,WAAA,GAAyD,OAAOC,MAAA,GAAW;EAC3EC,WAAA,GAAyD,OAAOD,MAAA,GAAW;EAC3EE,QAAA,GAAW;EAEXC,SAAA,GAAY,GAAGC,OAAA,CAAQC,GAAA,CAAIC,aAAA,IAAiBC,IAAA,CAAKC,KAAA,CAAMD,IAAA,CAAKE,MAAA,CAAO,IAAI,GAAW,CAAC;EAEnFC,0BAAA,GAA6B;EAC7BC,8BAAA,GAAiC,QAAQD,0BAA0B;EACnEE,uBAAA,GAA0B,IAAIC,MAAA,CAAOF,8BAA8B;EACnEG,iBAAA,GAAoB,IAAIX,SAAS,GAAGO,0BAA0B;EAE9DK,kBAAA,GAAqB,IAAIZ,SAAS;EAClCa,sBAAA,GAAyB,IAAIb,SAAS;EAGtCc,qBAAA,GAAwB;EACxBC,oBAAA,GAAuB,eAAeD,qBAAqB;EAE3DE,kBAAA,GAAqB;EAErBC,oBAAA,GAAuBA,CAAC;IACnCC,aAAA,GAAgB,CAAC;EACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGaF,kBAAkB,QAAQG,IAAA,CAAKC,SAAA,CAAUF,aAAa,CAAC;AAAA,gDAC/BC,IAAA,CAAKC,SAAA,CAAUF,aAAA,CAAcG,GAAA,IAAO,EAAE,CAAC;AAAA","ignoreList":[]}
@@ -20,6 +20,7 @@ var isWebClient = !1,
20
20
  <script>globalThis['global'] = globalThis</script>
21
21
  <script>globalThis['__vxrnIsSPA'] = true</script>
22
22
  <script>globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify(serverContext)}</script>
23
+ <script>globalThis.__oneLoadedCSS = new Set(${JSON.stringify(serverContext.css || [])})</script>
23
24
  `;
24
25
  };
25
26
  export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, isNative, isWebClient, isWebServer };
@@ -1 +1 @@
1
- {"version":3,"names":["isWebClient","isWebServer","isNative","_process_env_ONE_CACHE_KEY","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","arguments","length","JSON","stringify"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,IAAAA,WAAM,KAAyD;EAAAC,WAAO,GAAW;EAAAC,QAC3E;EAAyDC,0BACzD;EAAAC,SAEA,OAAAD,0BAA2B,GAAAE,OAAiB,CAAAC,GAAA,CAAKC,aAAW,MAAO,IAAI,IAAYJ,0BAEnF,UAA6B,IAAAA,0BAC7B,GAAAK,IAAA,CAAAC,KAAA,CAAAD,IAAiC,CAAAE,MAAA,CAAQ;EAAAC,0BACzC,oBAA0B;EAAAC,8BAAW,WACrCD,0BAAwB;EAAAE,uBAAY,OAAAC,MAEpC,CAAAF,8BAAyB;EAASG,iBAClC,OAAAX,SAAA,GAAAO,0BAAsC;EAAAK,kBAGtC,OAAAZ,SAAwB;EAAAa,sBACxB,OAAuBb,SAAA,iBAAe;EAAAc,qBAEtC,wBAAqB;EAAAC,oBAErB,kBAAwBD,qBAAA;EAAAE,kBAAA;EAAAC,oBAAA,YAAAA,CAAA;IACnC;MAAAC,aAAiB;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACnB,OAEK;AAAM;AAAA;AAAA,wBAGaH,kBAAkB,QAAQK,IAAA,CAAKC,SAAA,CAAUJ,aAAa,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["isWebClient","isWebServer","isNative","_process_env_ONE_CACHE_KEY","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","arguments","length","JSON","stringify","css"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAEO,IAAAA,WAAM,KAAyD;EAAAC,WAAO,GAAW;EAAAC,QAC3E;EAAyDC,0BACzD;EAAAC,SAEA,OAAAD,0BAA2B,GAAAE,OAAiB,CAAAC,GAAA,CAAKC,aAAW,MAAO,IAAI,IAAYJ,0BAEnF,UAA6B,IAAAA,0BAC7B,GAAAK,IAAA,CAAAC,KAAA,CAAAD,IAAiC,CAAAE,MAAA,CAAQ;EAAAC,0BACzC,oBAA0B;EAAAC,8BAAW,WACrCD,0BAAwB;EAAAE,uBAAY,OAAAC,MAEpC,CAAAF,8BAAyB;EAASG,iBAClC,OAAAX,SAAA,GAAAO,0BAAsC;EAAAK,kBAGtC,OAAAZ,SAAwB;EAAAa,sBACxB,OAAuBb,SAAA,iBAAe;EAAAc,qBAEtC,wBAAqB;EAAAC,oBAErB,kBAAwBD,qBAAA;EAAAE,kBAAA;EAAAC,oBAAA,YAAAA,CAAA;IACnC;MAAAC,aAAiB;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACnB,OAEK;AAAM;AAAA;AAAA,wBAGaH,kBAAkB,QAAQK,IAAA,CAAKC,SAAA,CAAUJ,aAAa,CAAC;AAAA,gDAC/BG,IAAA,CAAKC,SAAA,CAAUJ,aAAA,CAAcK,GAAA,IAAO,EAAE,CAAC;AAAA","ignoreList":[]}
@@ -45,7 +45,8 @@ function createApp(options) {
45
45
  AppRegistry.registerComponent("App", () => App);
46
46
  const Application = AppRegistry.getApplication("App", {}), rootElement = Application.element.props.children;
47
47
  let html = await renderToString(rootElement, {
48
- preloads: props.preloads
48
+ preloads: props.preloads,
49
+ deferredPreloads: props.deferredPreloads
49
50
  });
50
51
  try {
51
52
  const extraHeadElements = [], styleTag = Application.getStyleElement({ nonce: process.env.ONE_NONCE });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createApp.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["routePreloads"]
6
6
  }
@@ -49,7 +49,8 @@ function createApp(options) {
49
49
  const Application = AppRegistry.getApplication("App", {}),
50
50
  rootElement = Application.element.props.children;
51
51
  let html = await renderToString(rootElement, {
52
- preloads: props.preloads
52
+ preloads: props.preloads,
53
+ deferredPreloads: props.deferredPreloads
53
54
  });
54
55
  try {
55
56
  const extraHeadElements = [],
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","AppRegistry","resolveClientLoader","render","Root","registerPreloadedRoute","getServerHeadInsertions","ensureExists","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","ReactDOMServer","serverRender","Promise","all","renderToStaticMarkup","default","renderToString","loaderData","loaderProps","css","cssContents","mode","loaderServerData","routePreloads","routePreloads2","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","map","x","i","key","replace","err","includes","JSON","stringify","serverContext","preloadPromises","Object","entries","routeKey","bundlePath","mod","then","isClient","path","window","location","href","catch","console","error"],"sources":["../../src/createApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","AppRegistry","resolveClientLoader","render","Root","registerPreloadedRoute","getServerHeadInsertions","ensureExists","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","ReactDOMServer","serverRender","Promise","all","renderToStaticMarkup","default","renderToString","loaderData","loaderProps","css","cssContents","mode","loaderServerData","routePreloads","routePreloads2","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","deferredPreloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","map","x","i","key","replace","err","includes","JSON","stringify","serverContext","preloadPromises","Object","entries","routeKey","bundlePath","mod","then","isClient","path","window","location","href","catch","console","error"],"sources":["../../src/createApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,8 @@ function filterRootHTML(el) {
8
8
  return element.map(traverse);
9
9
  const reactElement = element, { type, props } = reactElement;
10
10
  if (type === "html") {
11
- if (reactElement.props && typeof reactElement.props == "object" && "children" in reactElement.props) {
12
- const { children: children2, ...restProps } = reactElement.props;
11
+ if (props && typeof props == "object" && "children" in props) {
12
+ const { children: children2, ...restProps } = props;
13
13
  return htmlProps = restProps, traverse(children2);
14
14
  }
15
15
  return null;
@@ -17,8 +17,8 @@ function filterRootHTML(el) {
17
17
  if (type === "head")
18
18
  return head = reactElement, null;
19
19
  if (type === "body") {
20
- if (reactElement.props && typeof reactElement.props == "object" && "children" in reactElement.props) {
21
- const { children: children2, ...restProps } = reactElement.props;
20
+ if (props && typeof props == "object" && "children" in props) {
21
+ const { children: children2, ...restProps } = props;
22
22
  return bodyProps = restProps, children2;
23
23
  }
24
24
  return null;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/router/filterRootHTML.ts"],
4
- "mappings": "AAAA,OAA6C;AAqBtC,SAAS,eAAe,IAAoC;AACjE,MAAI,WACA,WACA;AAEJ,WAAS,SAAS,SAA0B;AAC1C,QAAI,CAAC,WAAW,OAAO,WAAY;AACjC,aAAO;AAET,QAAI,MAAM,QAAQ,OAAO;AACvB,aAAO,QAAQ,IAAI,QAAQ;AAG7B,UAAM,eAAe,SACf,EAAE,MAAM,MAAM,IAAI;AAExB,QAAI,SAAS,QAAQ;AACnB,UACE,aAAa,SACb,OAAO,aAAa,SAAU,YAC9B,cAAc,aAAa,OAC3B;AACA,cAAM,EAAE,UAAAA,WAAU,GAAG,UAAU,IAAI,aAAa;AAChD,2BAAY,WACL,SAASA,SAA2B;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AAEA,QAAI,SAAS;AACX,oBAAO,cACA;AAGT,QAAI,SAAS,QAAQ;AACnB,UACE,aAAa,SACb,OAAO,aAAa,SAAU,YAC9B,cAAc,aAAa,OAC3B;AACA,cAAM,EAAE,UAAAA,WAAU,GAAG,UAAU,IAAI,aAAa;AAChD,2BAAY,WACLA;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAcA,WAAO;AAAA,EACT;AAOA,SAAO;AAAA,IACL,UALA,SAAS,EAAE;AAAA,IAEX;AAAA,IAIA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,OAA+B;AAqBxB,SAAS,eAAe,IAAoC;AACjE,MAAI,WACA,WACA;AAEJ,WAAS,SAAS,SAA0B;AAC1C,QAAI,CAAC,WAAW,OAAO,WAAY;AACjC,aAAO;AAET,QAAI,MAAM,QAAQ,OAAO;AACvB,aAAO,QAAQ,IAAI,QAAQ;AAG7B,UAAM,eAAe,SACf,EAAE,MAAM,MAAM,IAAI;AAExB,QAAI,SAAS,QAAQ;AACnB,UAAI,SAAS,OAAO,SAAU,YAAY,cAAc,OAAO;AAC7D,cAAM,EAAE,UAAAA,WAAU,GAAG,UAAU,IAAI;AACnC,2BAAY,WACL,SAASA,SAA2B;AAAA,MAC7C;AACA,aAAO;AAAA,IACT;AAEA,QAAI,SAAS;AACX,oBAAO,cACA;AAGT,QAAI,SAAS,QAAQ;AACnB,UAAI,SAAS,OAAO,SAAU,YAAY,cAAc,OAAO;AAC7D,cAAM,EAAE,UAAAA,WAAU,GAAG,UAAU,IAAI;AACnC,2BAAY,WAKLA;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAiBA,WAAO;AAAA,EACT;AAOA,SAAO;AAAA,IACL,UALA,SAAS,EAAE;AAAA,IAEX;AAAA,IAIA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
5
  "names": ["children"]
6
6
  }
@@ -10,22 +10,22 @@ function filterRootHTML(el) {
10
10
  props
11
11
  } = reactElement;
12
12
  if (type === "html") {
13
- if (reactElement.props && typeof reactElement.props == "object" && "children" in reactElement.props) {
13
+ if (props && typeof props == "object" && "children" in props) {
14
14
  const {
15
15
  children: children2,
16
16
  ...restProps
17
- } = reactElement.props;
17
+ } = props;
18
18
  return htmlProps = restProps, traverse(children2);
19
19
  }
20
20
  return null;
21
21
  }
22
22
  if (type === "head") return head = reactElement, null;
23
23
  if (type === "body") {
24
- if (reactElement.props && typeof reactElement.props == "object" && "children" in reactElement.props) {
24
+ if (props && typeof props == "object" && "children" in props) {
25
25
  const {
26
26
  children: children2,
27
27
  ...restProps
28
- } = reactElement.props;
28
+ } = props;
29
29
  return bodyProps = restProps, children2;
30
30
  }
31
31
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["filterRootHTML","el","htmlProps","bodyProps","head","traverse","element","Array","isArray","map","reactElement","type","props","children","children2","restProps"],"sources":["../../../src/router/filterRootHTML.ts"],"sourcesContent":[null],"mappings":"AAAA,OAA6C;AAqBtC,SAASA,eAAeC,EAAA,EAAoC;EACjE,IAAIC,SAAA,EACAC,SAAA,EACAC,IAAA;EAEJ,SAASC,SAASC,OAAA,EAA0B;IAC1C,IAAI,CAACA,OAAA,IAAW,OAAOA,OAAA,IAAY,UACjC,OAAOA,OAAA;IAET,IAAIC,KAAA,CAAMC,OAAA,CAAQF,OAAO,GACvB,OAAOA,OAAA,CAAQG,GAAA,CAAIJ,QAAQ;IAG7B,MAAMK,YAAA,GAAeJ,OAAA;MACf;QAAEK,IAAA;QAAMC;MAAM,IAAIF,YAAA;IAExB,IAAIC,IAAA,KAAS,QAAQ;MACnB,IACED,YAAA,CAAaE,KAAA,IACb,OAAOF,YAAA,CAAaE,KAAA,IAAU,YAC9B,cAAcF,YAAA,CAAaE,KAAA,EAC3B;QACA,MAAM;UAAEC,QAAA,EAAAC,SAAA;UAAU,GAAGC;QAAU,IAAIL,YAAA,CAAaE,KAAA;QAChD,OAAAV,SAAA,GAAYa,SAAA,EACLV,QAAA,CAASS,SAA2B;MAC7C;MACA,OAAO;IACT;IAEA,IAAIH,IAAA,KAAS,QACX,OAAAP,IAAA,GAAOM,YAAA,EACA;IAGT,IAAIC,IAAA,KAAS,QAAQ;MACnB,IACED,YAAA,CAAaE,KAAA,IACb,OAAOF,YAAA,CAAaE,KAAA,IAAU,YAC9B,cAAcF,YAAA,CAAaE,KAAA,EAC3B;QACA,MAAM;UAAEC,QAAA,EAAAC,SAAA;UAAU,GAAGC;QAAU,IAAIL,YAAA,CAAaE,KAAA;QAChD,OAAAT,SAAA,GAAYY,SAAA,EACLD,SAAA;MACT;MACA,OAAO;IACT;IAcA,OAAOR,OAAA;EACT;EAOA,OAAO;IACLO,QAAA,EALAR,QAAA,CAASJ,EAAE;IAAA;IAEXA,EAAA;IAIAC,SAAA;IACAC,SAAA;IACAC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["filterRootHTML","el","htmlProps","bodyProps","head","traverse","element","Array","isArray","map","reactElement","type","props","children","children2","restProps"],"sources":["../../../src/router/filterRootHTML.ts"],"sourcesContent":[null],"mappings":"AAAA,OAA+B;AAqBxB,SAASA,eAAeC,EAAA,EAAoC;EACjE,IAAIC,SAAA,EACAC,SAAA,EACAC,IAAA;EAEJ,SAASC,SAASC,OAAA,EAA0B;IAC1C,IAAI,CAACA,OAAA,IAAW,OAAOA,OAAA,IAAY,UACjC,OAAOA,OAAA;IAET,IAAIC,KAAA,CAAMC,OAAA,CAAQF,OAAO,GACvB,OAAOA,OAAA,CAAQG,GAAA,CAAIJ,QAAQ;IAG7B,MAAMK,YAAA,GAAeJ,OAAA;MACf;QAAEK,IAAA;QAAMC;MAAM,IAAIF,YAAA;IAExB,IAAIC,IAAA,KAAS,QAAQ;MACnB,IAAIC,KAAA,IAAS,OAAOA,KAAA,IAAU,YAAY,cAAcA,KAAA,EAAO;QAC7D,MAAM;UAAEC,QAAA,EAAAC,SAAA;UAAU,GAAGC;QAAU,IAAIH,KAAA;QACnC,OAAAV,SAAA,GAAYa,SAAA,EACLV,QAAA,CAASS,SAA2B;MAC7C;MACA,OAAO;IACT;IAEA,IAAIH,IAAA,KAAS,QACX,OAAAP,IAAA,GAAOM,YAAA,EACA;IAGT,IAAIC,IAAA,KAAS,QAAQ;MACnB,IAAIC,KAAA,IAAS,OAAOA,KAAA,IAAU,YAAY,cAAcA,KAAA,EAAO;QAC7D,MAAM;UAAEC,QAAA,EAAAC,SAAA;UAAU,GAAGC;QAAU,IAAIH,KAAA;QACnC,OAAAT,SAAA,GAAYY,SAAA,EAKLD,SAAA;MACT;MACA,OAAO;IACT;IAiBA,OAAOR,OAAA;EACT;EAOA,OAAO;IACLO,QAAA,EALAR,QAAA,CAASJ,EAAE;IAAA;IAEXA,EAAA;IAIAC,SAAA;IACAC,SAAA;IACAC;EACF;AACF","ignoreList":[]}