one 1.2.38 → 1.2.39-1766067384268

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 (157) hide show
  1. package/dist/cjs/cli/build.cjs +16 -4
  2. package/dist/cjs/cli/build.js +18 -5
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +27 -4
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +59 -14
  7. package/dist/cjs/cli/buildPage.js +56 -14
  8. package/dist/cjs/cli/buildPage.js.map +1 -1
  9. package/dist/cjs/cli/buildPage.native.js +66 -19
  10. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  11. package/dist/cjs/cli/generateSitemap.test.cjs +10 -10
  12. package/dist/cjs/cli/generateSitemap.test.js +8 -8
  13. package/dist/cjs/cli/generateSitemap.test.js.map +1 -1
  14. package/dist/cjs/cli/generateSitemap.test.native.js +12 -12
  15. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
  16. package/dist/cjs/constants.cjs +1 -0
  17. package/dist/cjs/constants.js +1 -0
  18. package/dist/cjs/constants.js.map +1 -1
  19. package/dist/cjs/constants.native.js +1 -0
  20. package/dist/cjs/constants.native.js.map +1 -1
  21. package/dist/cjs/createApp.cjs +2 -1
  22. package/dist/cjs/createApp.js +2 -1
  23. package/dist/cjs/createApp.js.map +1 -1
  24. package/dist/cjs/server/ServerContextScript.cjs +8 -2
  25. package/dist/cjs/server/ServerContextScript.js +3 -2
  26. package/dist/cjs/server/ServerContextScript.js.map +1 -1
  27. package/dist/cjs/server/ServerContextScript.native.js +8 -2
  28. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  29. package/dist/cjs/server/oneServe.cjs +3 -2
  30. package/dist/cjs/server/oneServe.js +4 -2
  31. package/dist/cjs/server/oneServe.js.map +2 -2
  32. package/dist/cjs/server/oneServe.native.js +3 -2
  33. package/dist/cjs/server/oneServe.native.js.map +1 -1
  34. package/dist/cjs/server-render.cjs +9 -1
  35. package/dist/cjs/server-render.js +9 -1
  36. package/dist/cjs/server-render.js.map +1 -1
  37. package/dist/cjs/server-render.native.js +12 -3
  38. package/dist/cjs/server-render.native.js.map +1 -1
  39. package/dist/cjs/setup.native.js.map +6 -1
  40. package/dist/cjs/ui/common.cjs +5 -15
  41. package/dist/cjs/ui/common.js +5 -8
  42. package/dist/cjs/ui/common.js.map +1 -1
  43. package/dist/cjs/ui/common.native.js +4 -12
  44. package/dist/cjs/ui/common.native.js.map +1 -1
  45. package/dist/cjs/vite/one.cjs +5 -1
  46. package/dist/cjs/vite/one.js +6 -3
  47. package/dist/cjs/vite/one.js.map +1 -1
  48. package/dist/cjs/vite/one.native.js +11 -2
  49. package/dist/cjs/vite/one.native.js.map +1 -1
  50. package/dist/esm/cli/build.js +18 -5
  51. package/dist/esm/cli/build.js.map +1 -1
  52. package/dist/esm/cli/build.mjs +16 -4
  53. package/dist/esm/cli/build.mjs.map +1 -1
  54. package/dist/esm/cli/build.native.js +27 -4
  55. package/dist/esm/cli/build.native.js.map +1 -1
  56. package/dist/esm/cli/buildPage.js +56 -14
  57. package/dist/esm/cli/buildPage.js.map +1 -1
  58. package/dist/esm/cli/buildPage.mjs +59 -14
  59. package/dist/esm/cli/buildPage.mjs.map +1 -1
  60. package/dist/esm/cli/buildPage.native.js +66 -19
  61. package/dist/esm/cli/buildPage.native.js.map +1 -1
  62. package/dist/esm/cli/generateSitemap.test.js +9 -9
  63. package/dist/esm/cli/generateSitemap.test.js.map +1 -1
  64. package/dist/esm/cli/generateSitemap.test.mjs +11 -11
  65. package/dist/esm/cli/generateSitemap.test.mjs.map +1 -1
  66. package/dist/esm/cli/generateSitemap.test.native.js +13 -13
  67. package/dist/esm/cli/generateSitemap.test.native.js.map +1 -1
  68. package/dist/esm/constants.js +1 -0
  69. package/dist/esm/constants.js.map +1 -1
  70. package/dist/esm/constants.mjs +1 -0
  71. package/dist/esm/constants.mjs.map +1 -1
  72. package/dist/esm/constants.native.js +1 -0
  73. package/dist/esm/constants.native.js.map +1 -1
  74. package/dist/esm/createApp.js +2 -1
  75. package/dist/esm/createApp.js.map +1 -1
  76. package/dist/esm/createApp.mjs +2 -1
  77. package/dist/esm/createApp.mjs.map +1 -1
  78. package/dist/esm/server/ServerContextScript.js +3 -2
  79. package/dist/esm/server/ServerContextScript.js.map +1 -1
  80. package/dist/esm/server/ServerContextScript.mjs +8 -2
  81. package/dist/esm/server/ServerContextScript.mjs.map +1 -1
  82. package/dist/esm/server/ServerContextScript.native.js +8 -2
  83. package/dist/esm/server/ServerContextScript.native.js.map +1 -1
  84. package/dist/esm/server/oneServe.js +4 -2
  85. package/dist/esm/server/oneServe.js.map +2 -2
  86. package/dist/esm/server/oneServe.mjs +3 -2
  87. package/dist/esm/server/oneServe.mjs.map +1 -1
  88. package/dist/esm/server/oneServe.native.js +3 -2
  89. package/dist/esm/server/oneServe.native.js.map +1 -1
  90. package/dist/esm/server-render.js +9 -1
  91. package/dist/esm/server-render.js.map +1 -1
  92. package/dist/esm/server-render.mjs +9 -1
  93. package/dist/esm/server-render.mjs.map +1 -1
  94. package/dist/esm/server-render.native.js +12 -3
  95. package/dist/esm/server-render.native.js.map +1 -1
  96. package/dist/esm/ui/common.js +3 -5
  97. package/dist/esm/ui/common.js.map +1 -1
  98. package/dist/esm/ui/common.mjs +3 -13
  99. package/dist/esm/ui/common.mjs.map +1 -1
  100. package/dist/esm/ui/common.native.js +1 -9
  101. package/dist/esm/ui/common.native.js.map +1 -1
  102. package/dist/esm/vite/one.js +6 -3
  103. package/dist/esm/vite/one.js.map +1 -1
  104. package/dist/esm/vite/one.mjs +5 -1
  105. package/dist/esm/vite/one.mjs.map +1 -1
  106. package/dist/esm/vite/one.native.js +11 -2
  107. package/dist/esm/vite/one.native.js.map +1 -1
  108. package/package.json +10 -10
  109. package/src/cli/build.ts +43 -6
  110. package/src/cli/buildPage.ts +88 -12
  111. package/src/cli/generateSitemap.test.ts +20 -10
  112. package/src/constants.ts +1 -0
  113. package/src/createApp.tsx +1 -0
  114. package/src/server/ServerContextScript.tsx +7 -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/ui/common.tsx +2 -8
  119. package/src/vite/one.ts +9 -3
  120. package/src/vite/types.ts +21 -0
  121. package/types/cli/build.d.ts.map +1 -1
  122. package/types/cli/buildPage.d.ts +1 -1
  123. package/types/cli/buildPage.d.ts.map +1 -1
  124. package/types/constants.d.ts.map +1 -1
  125. package/types/createApp.d.ts.map +1 -1
  126. package/types/server/ServerContextScript.d.ts.map +1 -1
  127. package/types/server/oneServe.d.ts.map +1 -1
  128. package/types/server-render.d.ts +14 -2
  129. package/types/server-render.d.ts.map +1 -1
  130. package/types/types.d.ts +9 -0
  131. package/types/types.d.ts.map +1 -1
  132. package/types/ui/common.d.ts.map +1 -1
  133. package/types/vite/one.d.ts.map +1 -1
  134. package/types/vite/types.d.ts +20 -0
  135. package/types/vite/types.d.ts.map +1 -1
  136. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.cjs +0 -189
  137. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js +0 -184
  138. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.js.map +0 -6
  139. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js +0 -204
  140. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +0 -1
  141. package/dist/cjs/vite/plugins/resolveIdScan.test.cjs +0 -47
  142. package/dist/cjs/vite/plugins/resolveIdScan.test.js +0 -42
  143. package/dist/cjs/vite/plugins/resolveIdScan.test.js.map +0 -6
  144. package/dist/cjs/vite/plugins/resolveIdScan.test.native.js +0 -58
  145. package/dist/cjs/vite/plugins/resolveIdScan.test.native.js.map +0 -1
  146. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js +0 -197
  147. package/dist/esm/layouts/stack-utils/__tests__/composition.test.js.map +0 -6
  148. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs +0 -190
  149. package/dist/esm/layouts/stack-utils/__tests__/composition.test.mjs.map +0 -1
  150. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js +0 -202
  151. package/dist/esm/layouts/stack-utils/__tests__/composition.test.native.js.map +0 -1
  152. package/dist/esm/vite/plugins/resolveIdScan.test.js +0 -23
  153. package/dist/esm/vite/plugins/resolveIdScan.test.js.map +0 -6
  154. package/dist/esm/vite/plugins/resolveIdScan.test.mjs +0 -26
  155. package/dist/esm/vite/plugins/resolveIdScan.test.mjs.map +0 -1
  156. package/dist/esm/vite/plugins/resolveIdScan.test.native.js +0 -34
  157. package/dist/esm/vite/plugins/resolveIdScan.test.native.js.map +0 -1
@@ -1,8 +1,23 @@
1
- import { describe, expect, it } from 'vitest'
1
+ import { describe, expect, it, beforeEach, afterEach } from 'vitest'
2
2
  import { generateSitemap, type RouteSitemapData } from './generateSitemap'
3
3
  import type { One } from '../vite/types'
4
4
 
5
5
  describe('generateSitemap', () => {
6
+ let originalEnv: string | undefined
7
+
8
+ beforeEach(() => {
9
+ originalEnv = process.env.ONE_SERVER_URL
10
+ delete process.env.ONE_SERVER_URL
11
+ })
12
+
13
+ afterEach(() => {
14
+ if (originalEnv !== undefined) {
15
+ process.env.ONE_SERVER_URL = originalEnv
16
+ } else {
17
+ delete process.env.ONE_SERVER_URL
18
+ }
19
+ })
20
+
6
21
  it('generates basic sitemap XML', () => {
7
22
  const routes: RouteSitemapData[] = [{ path: '/' }, { path: '/about' }, { path: '/blog' }]
8
23
  const options: One.SitemapOptions = {}
@@ -42,19 +57,14 @@ describe('generateSitemap', () => {
42
57
  })
43
58
 
44
59
  it('uses ONE_SERVER_URL env var when baseUrl not provided', () => {
45
- const originalEnv = process.env.ONE_SERVER_URL
46
60
  process.env.ONE_SERVER_URL = 'https://env-url.com'
47
61
 
48
- try {
49
- const routes: RouteSitemapData[] = [{ path: '/test' }]
50
- const options: One.SitemapOptions = {}
62
+ const routes: RouteSitemapData[] = [{ path: '/test' }]
63
+ const options: One.SitemapOptions = {}
51
64
 
52
- const result = generateSitemap(routes, options)
65
+ const result = generateSitemap(routes, options)
53
66
 
54
- expect(result).toContain('<loc>https://env-url.com/test</loc>')
55
- } finally {
56
- process.env.ONE_SERVER_URL = originalEnv
57
- }
67
+ expect(result).toContain('<loc>https://env-url.com/test</loc>')
58
68
  })
59
69
 
60
70
  it('applies default priority to all routes', () => {
package/src/constants.ts CHANGED
@@ -28,4 +28,5 @@ export const getSpaHeaderElements = ({
28
28
  <script>globalThis['global'] = globalThis</script>
29
29
  <script>globalThis['__vxrnIsSPA'] = true</script>
30
30
  <script>globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify(serverContext)}</script>
31
+ <script>globalThis.__oneLoadedCSS = new Set(${JSON.stringify(serverContext.css || [])})</script>
31
32
  `
package/src/createApp.tsx CHANGED
@@ -73,6 +73,7 @@ export function createApp(options: CreateAppProps) {
73
73
 
74
74
  let html = await renderToString(rootElement, {
75
75
  preloads: props.preloads,
76
+ deferredPreloads: props.deferredPreloads,
76
77
  })
77
78
 
78
79
  try {
@@ -19,6 +19,11 @@ export function ServerContextScript() {
19
19
 
20
20
  if (process.env.VITE_ENVIRONMENT === 'ssr') {
21
21
  const context = useServerContext()
22
+ const cssUrls = context?.css || []
23
+
24
+ // Exclude cssContents from client context - CSS is already inlined in <style> tags
25
+ // Including it would duplicate 100KB+ of CSS as JSON, blocking the main thread
26
+ const { cssContents: _, ...clientContext } = context || {}
22
27
 
23
28
  return (
24
29
  <script
@@ -29,9 +34,10 @@ export function ServerContextScript() {
29
34
  dangerouslySetInnerHTML={{
30
35
  __html: `
31
36
  globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify({
32
- ...context,
37
+ ...clientContext,
33
38
  postRenderData: SERVER_CONTEXT_POST_RENDER_STRING,
34
39
  })};
40
+ globalThis.__oneLoadedCSS = new Set(${JSON.stringify(cssUrls)});
35
41
  `,
36
42
  }}
37
43
  />
@@ -111,7 +111,6 @@ export async function oneServe(oneOptions: One.PluginOptions, buildInfo: One.Bui
111
111
  try {
112
112
  const exported = await import(toAbsolute(buildInfo.serverJsPath))
113
113
  const loaderData = await exported.loader?.(loaderProps)
114
- const preloads = buildInfo.preloads
115
114
 
116
115
  const headers = new Headers()
117
116
  headers.set('content-type', 'text/html')
@@ -121,7 +120,9 @@ export async function oneServe(oneOptions: One.PluginOptions, buildInfo: One.Bui
121
120
  loaderData,
122
121
  loaderProps,
123
122
  path: loaderProps?.path || '/',
124
- preloads,
123
+ // Use separated preloads for optimal loading
124
+ preloads: buildInfo.criticalPreloads || buildInfo.preloads,
125
+ deferredPreloads: buildInfo.deferredPreloads,
125
126
  css: buildInfo.css,
126
127
  cssContents: buildInfo.cssContents,
127
128
  })
@@ -1,11 +1,38 @@
1
1
  import ReactDOMServer from 'react-dom/server.browser'
2
2
 
3
- export const renderToString = async (app: React.ReactElement, options: { preloads?: string[] }) => {
3
+ export type RenderToStringOptions = {
4
+ /**
5
+ * Critical scripts that need to execute immediately (will use async).
6
+ * These are added to bootstrapModules and generate both modulepreload links and async script tags.
7
+ * Keep this list minimal (typically: setupClient, one-entry, page entry).
8
+ */
9
+ preloads?: string[]
10
+
11
+ /**
12
+ * Non-critical scripts that can wait (will only be modulepreload hints).
13
+ * These only generate <link rel="modulepreload"> tags and are loaded when imported.
14
+ * Use this for component libraries, utilities, and other non-essential modules.
15
+ */
16
+ deferredPreloads?: string[]
17
+ }
18
+
19
+ export const renderToString = async (app: React.ReactElement, options: RenderToStringOptions) => {
4
20
  const readableStream = await ReactDOMServer.renderToReadableStream(app, {
21
+ // Only pass critical scripts to bootstrapModules
22
+ // These generate both modulepreload links AND async script tags
5
23
  bootstrapModules: options.preloads,
6
24
  })
7
25
  await readableStream.allReady
8
- const out = await streamToString(readableStream)
26
+ let out = await streamToString(readableStream)
27
+
28
+ // Add non-critical modulepreload links to head (just hints, no script execution)
29
+ if (options.deferredPreloads?.length) {
30
+ const modulepreloadLinks = options.deferredPreloads
31
+ .map((src) => `<link rel="modulepreload" fetchPriority="low" href="${src}"/>`)
32
+ .join('')
33
+ out = out.replace('</head>', `${modulepreloadLinks}</head>`)
34
+ }
35
+
9
36
  return out
10
37
  }
11
38
 
package/src/types.ts CHANGED
@@ -19,7 +19,16 @@ export type LoaderProps<Params extends Object = Record<string, string | string[]
19
19
  export type RenderAppProps = {
20
20
  mode: One.RouteRenderMode
21
21
  path: string
22
+ /**
23
+ * Critical scripts that need to execute immediately (will use async).
24
+ * These generate both modulepreload links and async script tags.
25
+ */
22
26
  preloads?: string[]
27
+ /**
28
+ * Non-critical scripts that can wait (will only be modulepreload hints).
29
+ * These only generate <link rel="modulepreload"> tags and load when imported.
30
+ */
31
+ deferredPreloads?: string[]
23
32
  css?: string[]
24
33
  /** When inlineLayoutCSS is enabled, this contains the actual CSS content to inline */
25
34
  cssContents?: string[]
package/src/ui/common.tsx CHANGED
@@ -7,6 +7,7 @@ import { resolveHref } from '../link/href'
7
7
  import { sortRoutesWithInitial } from '../router/sortRoutes'
8
8
  import type { OneRouter } from '../interfaces/router'
9
9
  import { Slot } from './Slot'
10
+ import { Screen, createGetIdForRoute, getQualifiedRouteComponent } from '../router/useScreens'
10
11
 
11
12
  export const ViewSlot = Slot
12
13
 
@@ -190,10 +191,6 @@ export function triggersToScreens(
190
191
  const children: React.JSX.Element[] = []
191
192
  const triggerMap: TriggerMap = { ...parentTriggerMap }
192
193
 
193
- // Import routeToScreen from One's useScreens
194
- const { Screen } = require('../router/useScreens')
195
- const { createGetIdForRoute } = require('../router/useScreens')
196
-
197
194
  for (const [index, config] of sortedConfigs.entries()) {
198
195
  triggerMap[config.name] = { ...config, index }
199
196
 
@@ -219,10 +216,7 @@ export function triggersToScreens(
219
216
 
220
217
  return output
221
218
  }}
222
- getComponent={() => {
223
- const { getQualifiedRouteComponent } = require('../router/useScreens')
224
- return getQualifiedRouteComponent(route)
225
- }}
219
+ getComponent={() => getQualifiedRouteComponent(route)}
226
220
  />
227
221
  )
228
222
  }
package/src/vite/one.ts CHANGED
@@ -204,9 +204,15 @@ export function one(options: One.PluginOptions = {}): PluginOption {
204
204
  return
205
205
  }
206
206
 
207
- tsConfigPathsPlugin = tsconfigPaths(
208
- pathsConfig && typeof pathsConfig === 'object' ? pathsConfig : {}
209
- )
207
+ const skipDotDirs = (dir: string) => {
208
+ const name = dir.split('/').pop() || ''
209
+ return name.startsWith('.')
210
+ }
211
+
212
+ tsConfigPathsPlugin = tsconfigPaths({
213
+ skip: skipDotDirs,
214
+ ...(pathsConfig && typeof pathsConfig === 'object' ? pathsConfig : {}),
215
+ })
210
216
  },
211
217
 
212
218
  configResolved() {},
package/src/vite/types.ts CHANGED
@@ -344,6 +344,22 @@ export namespace One {
344
344
  */
345
345
  inlineLayoutCSS?: boolean
346
346
 
347
+ /**
348
+ * @experimental
349
+ * Controls how scripts are loaded for improved performance.
350
+ *
351
+ * - `'defer-non-critical'`: Critical scripts (framework entry, page, layouts) load immediately.
352
+ * Non-critical scripts (component imports, utilities) become modulepreload hints only,
353
+ * reducing network/CPU contention.
354
+ *
355
+ * - `'after-lcp'`: Scripts download immediately via modulepreload but execution is deferred
356
+ * until after first paint using double requestAnimationFrame. This allows the browser to
357
+ * paint the SSR content before executing JavaScript. Only applies to SSG pages.
358
+ *
359
+ * @default undefined (all scripts load with async)
360
+ */
361
+ experimental_scriptLoading?: 'defer-non-critical' | 'after-lcp'
362
+
347
363
  /**
348
364
  * Generate a sitemap.xml file during build.
349
365
  *
@@ -445,7 +461,12 @@ export namespace One {
445
461
  serverJsPath: string
446
462
  params: Object
447
463
  loaderData: any
464
+ /** All preloads (for backwards compatibility) */
448
465
  preloads: string[]
466
+ /** Critical preloads that load immediately with async */
467
+ criticalPreloads?: string[]
468
+ /** Non-critical preloads that are modulepreload hints only */
469
+ deferredPreloads?: string[]
449
470
  css: string[]
450
471
  /** When inlineLayoutCSS is enabled, contains the actual CSS content */
451
472
  cssContents?: string[]
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAqmBA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBA0oBA"}
@@ -1,3 +1,3 @@
1
1
  import type { One, RouteInfo } from '../vite/types';
2
- export declare function buildPage(serverEntry: string, path: string, relativeId: string, params: any, foundRoute: RouteInfo<string>, clientManifestEntry: any, staticDir: string, clientDir: string, builtMiddlewares: Record<string, string>, serverJsPath: string, preloads: string[], allCSS: string[], routePreloads: Record<string, string>, allCSSContents?: string[]): Promise<One.RouteBuildInfo>;
2
+ export declare function buildPage(serverEntry: string, path: string, relativeId: string, params: any, foundRoute: RouteInfo<string>, clientManifestEntry: any, staticDir: string, clientDir: string, builtMiddlewares: Record<string, string>, serverJsPath: string, preloads: string[], allCSS: string[], routePreloads: Record<string, string>, allCSSContents?: string[], criticalPreloads?: string[], deferredPreloads?: string[], useAfterLCP?: boolean): Promise<One.RouteBuildInfo>;
3
3
  //# sourceMappingURL=buildPage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildPage.d.ts","sourceRoot":"","sources":["../../src/cli/buildPage.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAInD,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAC7B,mBAAmB,EAAE,GAAG,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAmL7B"}
1
+ {"version":3,"file":"buildPage.d.ts","sourceRoot":"","sources":["../../src/cli/buildPage.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAInD,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAC7B,mBAAmB,EAAE,GAAG,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAsN7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,eAAO,MAAM,WAAW,SAA2E,CAAA;AACnG,eAAO,MAAM,WAAW,SAA2E,CAAA;AACnG,eAAO,MAAM,QAAQ,SAA0C,CAAA;AAE/D,eAAO,MAAM,SAAS,QAA4E,CAAA;AAElG,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,8BAA8B,0BAAwC,CAAA;AACnF,eAAO,MAAM,uBAAuB,QAA6C,CAAA;AACjF,eAAO,MAAM,iBAAiB,QAA+C,CAAA;AAE7E,eAAO,MAAM,kBAAkB,QAA6B,CAAA;AAC5D,eAAO,MAAM,sBAAsB,QAAiC,CAAA;AAGpE,eAAO,MAAM,qBAAqB,wBAAwB,CAAA;AAC1D,eAAO,MAAM,oBAAoB,oCAAyC,CAAA;AAE1E,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAE1D,eAAO,MAAM,oBAAoB,GAAI,qBAElC;IACD,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAA;CAC7B,WAIL,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,eAAO,MAAM,WAAW,SAA2E,CAAA;AACnG,eAAO,MAAM,WAAW,SAA2E,CAAA;AACnG,eAAO,MAAM,QAAQ,SAA0C,CAAA;AAE/D,eAAO,MAAM,SAAS,QAA4E,CAAA;AAElG,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,8BAA8B,0BAAwC,CAAA;AACnF,eAAO,MAAM,uBAAuB,QAA6C,CAAA;AACjF,eAAO,MAAM,iBAAiB,QAA+C,CAAA;AAE7E,eAAO,MAAM,kBAAkB,QAA6B,CAAA;AAC5D,eAAO,MAAM,sBAAsB,QAAiC,CAAA;AAGpE,eAAO,MAAM,qBAAqB,wBAAwB,CAAA;AAC1D,eAAO,MAAM,oBAAoB,oCAAyC,CAAA;AAE1E,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAE1D,eAAO,MAAM,oBAAoB,GAAI,qBAElC;IACD,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAA;CAC7B,WAKL,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAQhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAA;CAClB,CAAA;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc;;oBAIrB,cAAc;EAwIzC"}
1
+ {"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAQhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAK7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAA;CAClB,CAAA;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc;;oBAIrB,cAAc;EAyIzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerContextScript.d.ts","sourceRoot":"","sources":["../../src/server/ServerContextScript.tsx"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,mDAqClC"}
1
+ {"version":3,"file":"ServerContextScript.d.ts","sourceRoot":"","sources":["../../src/server/ServerContextScript.tsx"],"names":[],"mappings":"AAIA,wBAAgB,mBAAmB,mDA2ClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAoBnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAKxC,wBAAsB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,iBA+ThG"}
1
+ {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAoBnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAKxC,wBAAsB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,iBAgUhG"}
@@ -1,4 +1,16 @@
1
- export declare const renderToString: (app: React.ReactElement, options: {
1
+ export type RenderToStringOptions = {
2
+ /**
3
+ * Critical scripts that need to execute immediately (will use async).
4
+ * These are added to bootstrapModules and generate both modulepreload links and async script tags.
5
+ * Keep this list minimal (typically: setupClient, one-entry, page entry).
6
+ */
2
7
  preloads?: string[];
3
- }) => Promise<string>;
8
+ /**
9
+ * Non-critical scripts that can wait (will only be modulepreload hints).
10
+ * These only generate <link rel="modulepreload"> tags and are loaded when imported.
11
+ * Use this for component libraries, utilities, and other non-essential modules.
12
+ */
13
+ deferredPreloads?: string[];
14
+ };
15
+ export declare const renderToString: (app: React.ReactElement, options: RenderToStringOptions) => Promise<string>;
4
16
  //# sourceMappingURL=server-render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-render.d.ts","sourceRoot":"","sources":["../src/server-render.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,GAAU,KAAK,KAAK,CAAC,YAAY,EAAE,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,oBAO7F,CAAA"}
1
+ {"version":3,"file":"server-render.d.ts","sourceRoot":"","sources":["../src/server-render.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAEnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,KAAK,KAAK,CAAC,YAAY,EAAE,SAAS,qBAAqB,oBAkB3F,CAAA"}
package/types/types.d.ts CHANGED
@@ -13,7 +13,16 @@ export type LoaderProps<Params extends Object = Record<string, string | string[]
13
13
  export type RenderAppProps = {
14
14
  mode: One.RouteRenderMode;
15
15
  path: string;
16
+ /**
17
+ * Critical scripts that need to execute immediately (will use async).
18
+ * These generate both modulepreload links and async script tags.
19
+ */
16
20
  preloads?: string[];
21
+ /**
22
+ * Non-critical scripts that can wait (will only be modulepreload hints).
23
+ * These only generate <link rel="modulepreload"> tags and load when imported.
24
+ */
25
+ deferredPreloads?: string[];
17
26
  css?: string[];
18
27
  /** When inlineLayoutCSS is enabled, this contains the actual CSS content to inline */
19
28
  cssContents?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,yFAAyF;AACzF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAE1E,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAElE,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,GAAG,CAAC,eAAe,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAA;IACtB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,yFAAyF;AACzF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAE1E,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAElE,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,GAAG,CAAC,eAAe,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAA;IACtB,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/ui/common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAElG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,eAAO,MAAM,QAAQ,8GAAO,CAAA;AAE5B,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAEL,KAAK,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAA;AAC7E,KAAK,aAAa,GACd;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AA+B1E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EAAE,EACzB,eAAe,EAAE,SAAS,EAC1B,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,EACtC,gBAAgB,EAAE,SAAS,GAAG,MAAM,EACpC,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM;;;EAgKnB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,EAClE,YAAY,CAAC,EAAE,MAAM,GACpB,sBAAsB,CAsCxB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/ui/common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAElG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,eAAO,MAAM,QAAQ,8GAAO,CAAA;AAE5B,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAEL,KAAK,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAA;AAC7E,KAAK,aAAa,GACd;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AA+B1E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EAAE,EACzB,eAAe,EAAE,SAAS,EAC1B,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,EACtC,gBAAgB,EAAE,SAAS,GAAG,MAAM,EACpC,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM;;;EAyJnB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,EAClE,YAAY,CAAC,EAAE,MAAM,GACpB,sBAAsB,CAsCxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAA;AAOhD,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA8jBjE"}
1
+ {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAA;AAOhD,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CAokBjE"}
@@ -300,6 +300,21 @@ export declare namespace One {
300
300
  * @default false
301
301
  */
302
302
  inlineLayoutCSS?: boolean;
303
+ /**
304
+ * @experimental
305
+ * Controls how scripts are loaded for improved performance.
306
+ *
307
+ * - `'defer-non-critical'`: Critical scripts (framework entry, page, layouts) load immediately.
308
+ * Non-critical scripts (component imports, utilities) become modulepreload hints only,
309
+ * reducing network/CPU contention.
310
+ *
311
+ * - `'after-lcp'`: Scripts download immediately via modulepreload but execution is deferred
312
+ * until after first paint using double requestAnimationFrame. This allows the browser to
313
+ * paint the SSR content before executing JavaScript. Only applies to SSG pages.
314
+ *
315
+ * @default undefined (all scripts load with async)
316
+ */
317
+ experimental_scriptLoading?: 'defer-non-critical' | 'after-lcp';
303
318
  /**
304
319
  * Generate a sitemap.xml file during build.
305
320
  *
@@ -390,7 +405,12 @@ export declare namespace One {
390
405
  serverJsPath: string;
391
406
  params: Object;
392
407
  loaderData: any;
408
+ /** All preloads (for backwards compatibility) */
393
409
  preloads: string[];
410
+ /** Critical preloads that load immediately with async */
411
+ criticalPreloads?: string[];
412
+ /** Non-critical preloads that are modulepreload hints only */
413
+ deferredPreloads?: string[];
394
414
  css: string[];
395
415
  /** When inlineLayoutCSS is enabled, contains the actual CSS content */
396
416
  cssContents?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
@@ -1,189 +0,0 @@
1
- var import_vitest = require("vitest"),
2
- import_StackHeaderTitle = require("../StackHeaderTitle.cjs"),
3
- import_StackHeaderLeft = require("../StackHeaderLeft.cjs"),
4
- import_StackHeaderRight = require("../StackHeaderRight.cjs"),
5
- import_StackHeaderBackButton = require("../StackHeaderBackButton.cjs"),
6
- import_StackHeaderSearchBar = require("../StackHeaderSearchBar.cjs"),
7
- import_StackHeaderComponent = require("../StackHeaderComponent.cjs"),
8
- import_StackScreen = require("../StackScreen.cjs"),
9
- import_jsx_runtime = require("react/jsx-runtime");
10
- (0, import_vitest.describe)("Stack Header Composition", () => {
11
- (0, import_vitest.describe)("StackHeaderTitle", () => {
12
- (0, import_vitest.it)("sets title from children", () => {
13
- const result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)({}, {
14
- children: "My Title"
15
- });
16
- (0, import_vitest.expect)(result.title).toBe("My Title");
17
- }), (0, import_vitest.it)("sets headerLargeTitle when large is true", () => {
18
- const result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)({}, {
19
- large: !0
20
- });
21
- (0, import_vitest.expect)(result.headerLargeTitle).toBe(!0);
22
- }), (0, import_vitest.it)("sets headerTitleAlign from style.textAlign", () => {
23
- const result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)({}, {
24
- style: {
25
- textAlign: "center"
26
- }
27
- });
28
- (0, import_vitest.expect)(result.headerTitleAlign).toBe("center");
29
- }), (0, import_vitest.it)("converts numeric fontWeight to string", () => {
30
- const result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)({}, {
31
- style: {
32
- fontWeight: "700"
33
- }
34
- });
35
- (0, import_vitest.expect)(result.headerTitleStyle).toMatchObject({
36
- fontWeight: "700"
37
- });
38
- }), (0, import_vitest.it)("preserves existing options", () => {
39
- const result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)({
40
- animation: "slide_from_right"
41
- }, {
42
- children: "Title"
43
- });
44
- (0, import_vitest.expect)(result.animation).toBe("slide_from_right"), (0, import_vitest.expect)(result.title).toBe("Title");
45
- });
46
- }), (0, import_vitest.describe)("StackHeaderLeft", () => {
47
- (0, import_vitest.it)("does not set headerLeft without asChild", () => {
48
- const result = (0, import_StackHeaderLeft.appendStackHeaderLeftPropsToOptions)({}, {
49
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("button", {
50
- children: "Back"
51
- })
52
- });
53
- (0, import_vitest.expect)(result.headerLeft).toBeUndefined();
54
- }), (0, import_vitest.it)("sets headerLeft with asChild", () => {
55
- const result = (0, import_StackHeaderLeft.appendStackHeaderLeftPropsToOptions)({}, {
56
- asChild: !0,
57
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(() => /* @__PURE__ */(0, import_jsx_runtime.jsx)("button", {
58
- children: "Back"
59
- }), {})
60
- });
61
- (0, import_vitest.expect)(result.headerLeft).toBeDefined(), (0, import_vitest.expect)(typeof result.headerLeft).toBe("function");
62
- });
63
- }), (0, import_vitest.describe)("StackHeaderRight", () => {
64
- (0, import_vitest.it)("does not set headerRight without asChild", () => {
65
- const result = (0, import_StackHeaderRight.appendStackHeaderRightPropsToOptions)({}, {
66
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)("button", {
67
- children: "Action"
68
- })
69
- });
70
- (0, import_vitest.expect)(result.headerRight).toBeUndefined();
71
- }), (0, import_vitest.it)("sets headerRight with asChild", () => {
72
- const result = (0, import_StackHeaderRight.appendStackHeaderRightPropsToOptions)({}, {
73
- asChild: !0,
74
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(() => /* @__PURE__ */(0, import_jsx_runtime.jsx)("button", {
75
- children: "Action"
76
- }), {})
77
- });
78
- (0, import_vitest.expect)(result.headerRight).toBeDefined(), (0, import_vitest.expect)(typeof result.headerRight).toBe("function");
79
- });
80
- }), (0, import_vitest.describe)("StackHeaderBackButton", () => {
81
- (0, import_vitest.it)("sets headerBackTitle from children", () => {
82
- const result = (0, import_StackHeaderBackButton.appendStackHeaderBackButtonPropsToOptions)({}, {
83
- children: "Go Back"
84
- });
85
- (0, import_vitest.expect)(result.headerBackTitle).toBe("Go Back");
86
- }), (0, import_vitest.it)("sets headerBackVisible to false when hidden", () => {
87
- const result = (0, import_StackHeaderBackButton.appendStackHeaderBackButtonPropsToOptions)({}, {
88
- hidden: !0
89
- });
90
- (0, import_vitest.expect)(result.headerBackVisible).toBe(!1);
91
- }), (0, import_vitest.it)("sets headerBackButtonMenuEnabled", () => {
92
- const result = (0, import_StackHeaderBackButton.appendStackHeaderBackButtonPropsToOptions)({}, {
93
- withMenu: !0
94
- });
95
- (0, import_vitest.expect)(result.headerBackButtonMenuEnabled).toBe(!0);
96
- }), (0, import_vitest.it)("sets headerBackButtonDisplayMode", () => {
97
- const result = (0, import_StackHeaderBackButton.appendStackHeaderBackButtonPropsToOptions)({}, {
98
- displayMode: "minimal"
99
- });
100
- (0, import_vitest.expect)(result.headerBackButtonDisplayMode).toBe("minimal");
101
- });
102
- }), (0, import_vitest.describe)("StackHeaderSearchBar", () => {
103
- (0, import_vitest.it)("sets headerSearchBarOptions", () => {
104
- const result = (0, import_StackHeaderSearchBar.appendStackHeaderSearchBarPropsToOptions)({}, {
105
- placeholder: "Search...",
106
- autoCapitalize: "none"
107
- });
108
- (0, import_vitest.expect)(result.headerSearchBarOptions).toMatchObject({
109
- placeholder: "Search...",
110
- autoCapitalize: "none"
111
- });
112
- });
113
- }), (0, import_vitest.describe)("StackHeaderComponent", () => {
114
- (0, import_vitest.it)("sets headerShown false when hidden", () => {
115
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
116
- hidden: !0
117
- });
118
- (0, import_vitest.expect)(result.headerShown).toBe(!1);
119
- }), (0, import_vitest.it)("sets headerBlurEffect", () => {
120
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
121
- blurEffect: "regular"
122
- });
123
- (0, import_vitest.expect)(result.headerBlurEffect).toBe("regular");
124
- }), (0, import_vitest.it)("sets headerShadowVisible false when shadowColor is transparent", () => {
125
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
126
- style: {
127
- shadowColor: "transparent"
128
- }
129
- });
130
- (0, import_vitest.expect)(result.headerShadowVisible).toBe(!1);
131
- }), (0, import_vitest.it)("processes child Title component", () => {
132
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
133
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderTitle.StackHeaderTitle, {
134
- large: !0,
135
- children: "Test Title"
136
- })
137
- });
138
- (0, import_vitest.expect)(result.title).toBe("Test Title"), (0, import_vitest.expect)(result.headerLargeTitle).toBe(!0);
139
- }), (0, import_vitest.it)("processes child BackButton component", () => {
140
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
141
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderBackButton.StackHeaderBackButton, {
142
- hidden: !0,
143
- children: "Back"
144
- })
145
- });
146
- (0, import_vitest.expect)(result.headerBackTitle).toBe("Back"), (0, import_vitest.expect)(result.headerBackVisible).toBe(!1);
147
- }), (0, import_vitest.it)("processes multiple children", () => {
148
- const result = (0, import_StackHeaderComponent.appendStackHeaderPropsToOptions)({}, {
149
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderTitle.StackHeaderTitle, {
150
- large: !0,
151
- children: "My Screen"
152
- }, "title"), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderBackButton.StackHeaderBackButton, {
153
- hidden: !0
154
- }, "back")]
155
- });
156
- (0, import_vitest.expect)(result.title).toBe("My Screen"), (0, import_vitest.expect)(result.headerLargeTitle).toBe(!0), (0, import_vitest.expect)(result.headerBackVisible).toBe(!1);
157
- });
158
- }), (0, import_vitest.describe)("StackScreen composition", () => {
159
- (0, import_vitest.it)("merges options with Header composition", () => {
160
- const result = (0, import_StackScreen.appendScreenStackPropsToOptions)({
161
- animation: "slide_from_right"
162
- }, {
163
- options: {
164
- gestureEnabled: !0
165
- },
166
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderComponent.StackHeaderComponent, {
167
- blurEffect: "regular",
168
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderTitle.StackHeaderTitle, {
169
- large: !0,
170
- children: "Composed Title"
171
- })
172
- })
173
- });
174
- (0, import_vitest.expect)(result.animation).toBe("slide_from_right"), (0, import_vitest.expect)(result.gestureEnabled).toBe(!0), (0, import_vitest.expect)(result.headerBlurEffect).toBe("regular"), (0, import_vitest.expect)(result.title).toBe("Composed Title"), (0, import_vitest.expect)(result.headerLargeTitle).toBe(!0);
175
- }), (0, import_vitest.it)("composition overrides options prop", () => {
176
- const result = (0, import_StackScreen.appendScreenStackPropsToOptions)({}, {
177
- options: {
178
- title: "Options Title"
179
- },
180
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderComponent.StackHeaderComponent, {
181
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_StackHeaderTitle.StackHeaderTitle, {
182
- children: "Composed Title"
183
- })
184
- })
185
- });
186
- (0, import_vitest.expect)(result.title).toBe("Composed Title");
187
- });
188
- });
189
- });