one 1.24.9 → 1.25.2

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 (106) hide show
  1. package/dist/cjs/vite/one.cjs +77 -46
  2. package/dist/cjs/vite/one.native.js +129 -92
  3. package/dist/cjs/vite/one.native.js.map +1 -1
  4. package/dist/cjs/vite/plugins/bundledDevPlugin.cjs +16 -7
  5. package/dist/cjs/vite/plugins/bundledDevPlugin.native.js +16 -7
  6. package/dist/cjs/vite/plugins/bundledDevPlugin.native.js.map +1 -1
  7. package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +15 -11
  8. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +15 -11
  9. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  10. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +9 -25
  11. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +9 -25
  12. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  13. package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +22 -7
  14. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +23 -8
  15. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  16. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -1
  17. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -1
  18. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  19. package/dist/cjs/vite/plugins/imageDataPlugin.cjs +42 -32
  20. package/dist/cjs/vite/plugins/imageDataPlugin.native.js +42 -32
  21. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  22. package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +18 -38
  23. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +18 -38
  24. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  25. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +58 -43
  26. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +93 -76
  27. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  28. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +1 -1
  29. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +1 -1
  30. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  31. package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +31 -7
  32. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +35 -10
  33. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  34. package/dist/esm/getURL.native.test.mjs +1 -1
  35. package/dist/esm/router/hmrImport.native.test.mjs +1 -1
  36. package/dist/esm/router/routeHmr.native.test.mjs +1 -1
  37. package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
  38. package/dist/esm/useLoader.native.js +0 -66
  39. package/dist/esm/useLoader.native.js.map +1 -1
  40. package/dist/esm/vite/one.mjs +77 -46
  41. package/dist/esm/vite/one.mjs.map +1 -1
  42. package/dist/esm/vite/one.native.js +129 -92
  43. package/dist/esm/vite/one.native.js.map +1 -1
  44. package/dist/esm/vite/plugins/bundledDevPlugin.mjs +16 -7
  45. package/dist/esm/vite/plugins/bundledDevPlugin.mjs.map +1 -1
  46. package/dist/esm/vite/plugins/bundledDevPlugin.native.js +16 -7
  47. package/dist/esm/vite/plugins/bundledDevPlugin.native.js.map +1 -1
  48. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +15 -11
  49. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
  50. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +15 -11
  51. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  52. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +9 -25
  53. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
  54. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +9 -25
  55. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  56. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +22 -7
  57. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
  58. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +23 -8
  59. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  60. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -1
  61. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  62. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -1
  63. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  64. package/dist/esm/vite/plugins/imageDataPlugin.mjs +42 -32
  65. package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
  66. package/dist/esm/vite/plugins/imageDataPlugin.native.js +42 -32
  67. package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
  68. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +18 -38
  69. package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
  70. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +18 -38
  71. package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  72. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +58 -43
  73. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  74. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +93 -76
  75. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  76. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +1 -1
  77. package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
  78. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +1 -1
  79. package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  80. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +31 -7
  81. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -1
  82. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +35 -10
  83. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  84. package/package.json +12 -12
  85. package/src/vite/one.ts +121 -66
  86. package/src/vite/plugins/bundledDevPlugin.ts +17 -7
  87. package/src/vite/plugins/criticalCSSPlugin.test.ts +11 -27
  88. package/src/vite/plugins/criticalCSSPlugin.ts +15 -11
  89. package/src/vite/plugins/environmentGuardPlugin.ts +20 -7
  90. package/src/vite/plugins/fileSystemRouterPlugin.tsx +7 -3
  91. package/src/vite/plugins/imageDataPlugin.test.ts +20 -39
  92. package/src/vite/plugins/imageDataPlugin.ts +49 -44
  93. package/src/vite/plugins/virtualEntryPlugin.test.ts +1 -1
  94. package/src/vite/plugins/virtualEntryPlugin.ts +139 -122
  95. package/src/vite/plugins/warmRoutesPlugin.ts +36 -10
  96. package/src/vite/types.ts +6 -1
  97. package/types/vite/one.d.ts.map +1 -1
  98. package/types/vite/plugins/bundledDevPlugin.d.ts.map +1 -1
  99. package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -1
  100. package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -1
  101. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  102. package/types/vite/plugins/imageDataPlugin.d.ts.map +1 -1
  103. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  104. package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -1
  105. package/types/vite/types.d.ts +6 -1
  106. package/types/vite/types.d.ts.map +1 -1
@@ -1,11 +1,14 @@
1
1
  import { existsSync } from 'node:fs'
2
2
  import { dirname, relative, resolve, sep } from 'node:path'
3
+ import { prefixRegex } from 'rolldown/filter'
3
4
  import type { Plugin, ResolvedConfig } from 'vite'
4
5
  import { normalizePath } from 'vite'
5
6
  import { processImageMeta } from '../../image/getImageData'
6
7
 
7
8
  const IMAGEDATA_SUFFIX = '?imagedata'
8
9
  const VIRTUAL_PREFIX = '\0imagedata:'
10
+ // rust-side hook filter, exactly equivalent to the endsWith guard it replaced
11
+ const IMAGEDATA_SUFFIX_RE = /\?imagedata$/
9
12
 
10
13
  export function imageDataPlugin(): Plugin {
11
14
  let publicDir: string
@@ -36,55 +39,57 @@ export function imageDataPlugin(): Plugin {
36
39
  root = resolvedConfig.root
37
40
  },
38
41
 
39
- async resolveId(id, importer) {
40
- if (!id.endsWith(IMAGEDATA_SUFFIX)) return null
41
-
42
- const cleanId = id.slice(0, -IMAGEDATA_SUFFIX.length)
43
- let filePath: string
44
- let allowedDir: string
45
-
46
- // Handle public dir paths (starting with /)
47
- if (cleanId.startsWith('/')) {
48
- filePath = resolve(publicDir, cleanId.slice(1))
49
- allowedDir = publicDir
50
- } else if (importer) {
51
- // Handle relative imports
52
- filePath = resolve(dirname(importer.replace(VIRTUAL_PREFIX, '')), cleanId)
53
- allowedDir = root
54
- } else {
55
- filePath = resolve(root, cleanId)
56
- allowedDir = root
57
- }
58
-
59
- // Security: prevent path traversal outside allowed directory
60
- if (!isPathWithinBounds(filePath, allowedDir)) {
61
- console.warn(`[one] ?imagedata: Path traversal blocked: ${cleanId}`)
62
- return null
63
- }
64
-
65
- if (!existsSync(filePath)) {
66
- console.warn(`[one] ?imagedata: File not found: ${filePath}`)
67
- return null
68
- }
69
-
70
- return VIRTUAL_PREFIX + filePath
42
+ resolveId: {
43
+ filter: { id: IMAGEDATA_SUFFIX_RE },
44
+ async handler(id, importer) {
45
+ const cleanId = id.slice(0, -IMAGEDATA_SUFFIX.length)
46
+ let filePath: string
47
+ let allowedDir: string
48
+
49
+ // Handle public dir paths (starting with /)
50
+ if (cleanId.startsWith('/')) {
51
+ filePath = resolve(publicDir, cleanId.slice(1))
52
+ allowedDir = publicDir
53
+ } else if (importer) {
54
+ // Handle relative imports
55
+ filePath = resolve(dirname(importer.replace(VIRTUAL_PREFIX, '')), cleanId)
56
+ allowedDir = root
57
+ } else {
58
+ filePath = resolve(root, cleanId)
59
+ allowedDir = root
60
+ }
61
+
62
+ // Security: prevent path traversal outside allowed directory
63
+ if (!isPathWithinBounds(filePath, allowedDir)) {
64
+ console.warn(`[one] ?imagedata: Path traversal blocked: ${cleanId}`)
65
+ return null
66
+ }
67
+
68
+ if (!existsSync(filePath)) {
69
+ console.warn(`[one] ?imagedata: File not found: ${filePath}`)
70
+ return null
71
+ }
72
+
73
+ return VIRTUAL_PREFIX + filePath
74
+ },
71
75
  },
72
76
 
73
- async load(id) {
74
- if (!id.startsWith(VIRTUAL_PREFIX)) return null
77
+ load: {
78
+ filter: { id: prefixRegex(VIRTUAL_PREFIX) },
79
+ async handler(id) {
80
+ const filePath = id.slice(VIRTUAL_PREFIX.length)
81
+ const src = getSrcPath(filePath)
75
82
 
76
- const filePath = id.slice(VIRTUAL_PREFIX.length)
77
- const src = getSrcPath(filePath)
83
+ // Track file for rebuild on change
84
+ this.addWatchFile(filePath)
78
85
 
79
- // Track file for rebuild on change
80
- this.addWatchFile(filePath)
86
+ const meta = await processImageMeta(filePath)
87
+ if (!meta) {
88
+ return createImageDataExport(src)
89
+ }
81
90
 
82
- const meta = await processImageMeta(filePath)
83
- if (!meta) {
84
- return createImageDataExport(src)
85
- }
86
-
87
- return createImageDataExport(src, meta.width, meta.height, meta.blurDataURL)
91
+ return createImageDataExport(src, meta.width, meta.height, meta.blurDataURL)
92
+ },
88
93
  },
89
94
  }
90
95
  }
@@ -29,7 +29,7 @@ function loadEntry(
29
29
  const ctx = {
30
30
  environment: { name: envName, mode: envMode },
31
31
  }
32
- return plugin.load.call(ctx, '\0virtual:one-entry')
32
+ return plugin.load.handler.call(ctx, '\0virtual:one-entry')
33
33
  }
34
34
 
35
35
  describe('virtualEntryPlugin', () => {
@@ -20,6 +20,15 @@ import {
20
20
  virtualEntryIdNative,
21
21
  } from './virtualEntryConstants'
22
22
 
23
+ // rust-side hook filters, derived from the ids so they can't drift
24
+ const escapeRe = (s: string) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
25
+ const VIRTUAL_ENTRY_SOURCE_RE = new RegExp(
26
+ `^(?:${escapeRe(virtualEntryId)}|${escapeRe(virtualEntryIdNative)})$`
27
+ )
28
+ const VIRTUAL_ENTRY_RESOLVED_RE = new RegExp(
29
+ `^(?:${escapeRe(resolvedVirtualEntryId)}|${escapeRe(resolvedVirtualEntryIdNative)})$`
30
+ )
31
+
23
32
  type NormalizedSetupFiles = {
24
33
  client?: string
25
34
  server?: string
@@ -142,128 +151,135 @@ export function createVirtualEntry(options: {
142
151
  isDevMode = config.command === 'serve'
143
152
  },
144
153
 
145
- resolveId(id) {
146
- if (id === virtualEntryId) {
147
- return resolvedVirtualEntryId
148
- }
149
- if (id === virtualEntryIdNative) {
150
- return resolvedVirtualEntryIdNative
151
- }
154
+ // only the two virtual entry ids reach js; every other import in the graph
155
+ // is rejected rust-side
156
+ resolveId: {
157
+ filter: { id: VIRTUAL_ENTRY_SOURCE_RE },
158
+ handler(id) {
159
+ if (id === virtualEntryId) {
160
+ return resolvedVirtualEntryId
161
+ }
162
+ if (id === virtualEntryIdNative) {
163
+ return resolvedVirtualEntryIdNative
164
+ }
165
+ },
152
166
  },
153
167
 
154
- load(id) {
155
- if (id === resolvedVirtualEntryId) {
156
- const isNative = isNativeEnvironment(this.environment)
157
- const isSSR = this.environment.name === 'ssr'
158
- const serverSpaRouteFiles = isSSR
159
- ? options.routeIndex
160
- .getPaths()
161
- .map((file) => file.replace(/^\.\//, ''))
162
- .filter((file) => /\.tsx?$/.test(file))
163
- .filter(
164
- (file) => !micromatch.isMatch(file, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS)
165
- )
166
- .filter((file) => {
167
- const parts = file.split('/')
168
- const filename = parts.at(-1) || ''
169
- if (
170
- filename.startsWith('_layout') ||
171
- filename.startsWith('_middleware')
172
- ) {
173
- return false
174
- }
168
+ load: {
169
+ filter: { id: VIRTUAL_ENTRY_RESOLVED_RE },
170
+ handler(id) {
171
+ if (id === resolvedVirtualEntryId) {
172
+ const isNative = isNativeEnvironment(this.environment)
173
+ const isSSR = this.environment.name === 'ssr'
174
+ const serverSpaRouteFiles = isSSR
175
+ ? options.routeIndex
176
+ .getPaths()
177
+ .map((file) => file.replace(/^\.\//, ''))
178
+ .filter((file) => /\.tsx?$/.test(file))
179
+ .filter(
180
+ (file) => !micromatch.isMatch(file, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS)
181
+ )
182
+ .filter((file) => {
183
+ const parts = file.split('/')
184
+ const filename = parts.at(-1) || ''
185
+ if (
186
+ filename.startsWith('_layout') ||
187
+ filename.startsWith('_middleware')
188
+ ) {
189
+ return false
190
+ }
175
191
 
176
- const fileMode = matchFileRenderMode(filename)
177
- if (fileMode) return fileMode === 'spa'
192
+ const fileMode = matchFileRenderMode(filename)
193
+ if (fileMode) return fileMode === 'spa'
178
194
 
179
- let parentMode: One.RouteRenderMode | 'api' | undefined
180
- for (const directory of parts.slice(0, -1)) {
181
- parentMode =
182
- matchDirectoryRenderMode(directory)?.renderMode ?? parentMode
183
- }
184
- return parentMode === 'spa'
185
- })
186
- : []
187
- const serverSpaRouteStubs = serverSpaRouteFiles
188
- .map(
189
- (file) =>
190
- `${JSON.stringify(`/${options.root}/${file}`)}: () => Promise.resolve({})`
195
+ let parentMode: One.RouteRenderMode | 'api' | undefined
196
+ for (const directory of parts.slice(0, -1)) {
197
+ parentMode =
198
+ matchDirectoryRenderMode(directory)?.renderMode ?? parentMode
199
+ }
200
+ return parentMode === 'spa'
201
+ })
202
+ : []
203
+ const serverSpaRouteStubs = serverSpaRouteFiles
204
+ .map(
205
+ (file) =>
206
+ `${JSON.stringify(`/${options.root}/${file}`)}: () => Promise.resolve({})`
207
+ )
208
+ .join(',\n ')
209
+ const serverSpaBuildGlobs = serverSpaRouteFiles.map(
210
+ (file) => `/${options.root}/${file}`
191
211
  )
192
- .join(',\n ')
193
- const serverSpaBuildGlobs = serverSpaRouteFiles.map(
194
- (file) => `/${options.root}/${file}`
195
- )
196
- const serverSpaBuildRoutes = serverSpaBuildGlobs.length
197
- ? `{
212
+ const serverSpaBuildRoutes = serverSpaBuildGlobs.length
213
+ ? `{
198
214
  loader: import.meta.glob(${JSON.stringify(serverSpaBuildGlobs)}, { exhaustive: true, import: 'loader', query: '?one-spa-build' }),
199
215
  generateStaticParams: import.meta.glob(${JSON.stringify(serverSpaBuildGlobs)}, { exhaustive: true, import: 'generateStaticParams', query: '?one-spa-build' }),
200
216
  sitemap: import.meta.glob(${JSON.stringify(serverSpaBuildGlobs)}, { exhaustive: true, import: 'sitemap', query: '?one-spa-build' })
201
217
  }`
202
- : '{}'
203
- const webRouteGlobs = [
204
- ...routeGlobs,
205
- ...ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map((pattern) => `!${pattern}`),
206
- ...serverSpaRouteFiles.map((file) => `!/${options.root}/${file}`),
207
- ]
208
- // native always needs static import. SSR in dev mode uses static import
209
- // so Vite crawls the setupFile's dep tree (including react) and pre-bundles
210
- // them before the first request. SSR in build mode uses lazy import so the
211
- // setupFile doesn't execute during the build phase.
212
- const useStaticImport = isNative || (isSSR && isDevMode)
213
- const setupResult = getSetupFileImport(
214
- this.environment.name,
215
- setupFiles,
216
- useStaticImport,
217
- viteRoot
218
- )
219
- // When nativewind is enabled, import the components module to register Text, View, etc. with cssInterop
220
- const nativewindImport = configuration.enableNativewind
221
- ? `import 'react-native-css-interop/dist/runtime/components'`
222
- : ''
223
- // For web/SSR, pass getSetupPromise to createApp so it can call it at runtime
224
- const setupPromiseArg = setupResult.promiseVarName
225
- ? `getSetupPromise: ${setupResult.promiseVarName},`
226
- : ''
227
- const linkingArg = options.router?.linking
228
- ? `linking: ${JSON.stringify(options.router.linking)},`
229
- : ''
218
+ : '{}'
219
+ const webRouteGlobs = [
220
+ ...routeGlobs,
221
+ ...ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map((pattern) => `!${pattern}`),
222
+ ...serverSpaRouteFiles.map((file) => `!/${options.root}/${file}`),
223
+ ]
224
+ // native always needs static import. SSR in dev mode uses static import
225
+ // so Vite crawls the setupFile's dep tree (including react) and pre-bundles
226
+ // them before the first request. SSR in build mode uses lazy import so the
227
+ // setupFile doesn't execute during the build phase.
228
+ const useStaticImport = isNative || (isSSR && isDevMode)
229
+ const setupResult = getSetupFileImport(
230
+ this.environment.name,
231
+ setupFiles,
232
+ useStaticImport,
233
+ viteRoot
234
+ )
235
+ // When nativewind is enabled, import the components module to register Text, View, etc. with cssInterop
236
+ const nativewindImport = configuration.enableNativewind
237
+ ? `import 'react-native-css-interop/dist/runtime/components'`
238
+ : ''
239
+ // For web/SSR, pass getSetupPromise to createApp so it can call it at runtime
240
+ const setupPromiseArg = setupResult.promiseVarName
241
+ ? `getSetupPromise: ${setupResult.promiseVarName},`
242
+ : ''
243
+ const linkingArg = options.router?.linking
244
+ ? `linking: ${JSON.stringify(options.router.linking)},`
245
+ : ''
230
246
 
231
- // the react-refresh preamble has to be installed before the first
232
- // compiler-wrapped module evaluates, or that module throws "React refresh
233
- // preamble was not loaded" and client init aborts. /@one/dev.js installs
234
- // it, but it cannot be relied on to win: it is a DEFERRED module script,
235
- // so it waits for the document to finish parsing, while the client entry
236
- // is async and runs the moment it arrives. that race is decided by
237
- // document size. a SPA shell is a few hundred bytes and dev.js wins; a
238
- // prerendered +ssg/ssr page is hundreds of KB and the entry regularly
239
- // wins, throws on the first route module, and leaves the page unhydrated
240
- // and unthemed on the very same server. bundled dev has no working
241
- // /@one/dev.js at all, since it imports /@vite/client, which does not
242
- // exist there.
243
- // so install it from the entry, whose body is the one point guaranteed to
244
- // run before the lazily-globbed route modules in every dev client. the
245
- // !$RefreshReg$ guard makes this a no-op when dev.js already won, and
246
- // dev.js keeps its own install because injectIntoGlobalHook wants to run
247
- // before react evaluates. ('one' and /@react-refresh are node_modules /
248
- // the runtime, so neither is refresh-wrapped, and on the client the setup
249
- // file is imported lazily rather than statically.)
250
- // this must stay gated to a dev CLIENT. `isBundled` is true for EVERY
251
- // environment during build, so it cannot gate this on its own, and a prod
252
- // build emitting an import of /@react-refresh would reference a module
253
- // that only exists while serving.
254
- const isDevClient =
255
- this.environment.mode === 'dev' && this.environment.name === 'client'
256
- const refreshPreambleImport = isDevClient
257
- ? `import { injectIntoGlobalHook as __oneInjectRefresh } from '/@react-refresh'`
258
- : ''
259
- const refreshPreambleSetup = isDevClient
260
- ? `if (typeof window !== 'undefined' && !window.$RefreshReg$) {
247
+ // the react-refresh preamble has to be installed before the first
248
+ // compiler-wrapped module evaluates, or that module throws "React refresh
249
+ // preamble was not loaded" and client init aborts. /@one/dev.js installs
250
+ // it, but it cannot be relied on to win: it is a DEFERRED module script,
251
+ // so it waits for the document to finish parsing, while the client entry
252
+ // is async and runs the moment it arrives. that race is decided by
253
+ // document size. a SPA shell is a few hundred bytes and dev.js wins; a
254
+ // prerendered +ssg/ssr page is hundreds of KB and the entry regularly
255
+ // wins, throws on the first route module, and leaves the page unhydrated
256
+ // and unthemed on the very same server. bundled dev has no working
257
+ // /@one/dev.js at all, since it imports /@vite/client, which does not
258
+ // exist there.
259
+ // so install it from the entry, whose body is the one point guaranteed to
260
+ // run before the lazily-globbed route modules in every dev client. the
261
+ // !$RefreshReg$ guard makes this a no-op when dev.js already won, and
262
+ // dev.js keeps its own install because injectIntoGlobalHook wants to run
263
+ // before react evaluates. ('one' and /@react-refresh are node_modules /
264
+ // the runtime, so neither is refresh-wrapped, and on the client the setup
265
+ // file is imported lazily rather than statically.)
266
+ // this must stay gated to a dev CLIENT. `isBundled` is true for EVERY
267
+ // environment during build, so it cannot gate this on its own, and a prod
268
+ // build emitting an import of /@react-refresh would reference a module
269
+ // that only exists while serving.
270
+ const isDevClient =
271
+ this.environment.mode === 'dev' && this.environment.name === 'client'
272
+ const refreshPreambleImport = isDevClient
273
+ ? `import { injectIntoGlobalHook as __oneInjectRefresh } from '/@react-refresh'`
274
+ : ''
275
+ const refreshPreambleSetup = isDevClient
276
+ ? `if (typeof window !== 'undefined' && !window.$RefreshReg$) {
261
277
  __oneInjectRefresh(window)
262
278
  window.$RefreshReg$ = () => {}
263
279
  window.$RefreshSig$ = () => (type) => type
264
280
  }`
265
- : ''
266
- return `
281
+ : ''
282
+ return `
267
283
  ${setupResult.promiseDeclaration}
268
284
  ${nativewindImport}
269
285
  ${refreshPreambleImport}
@@ -299,20 +315,20 @@ export default createApp({
299
315
  ${linkingArg}
300
316
  })
301
317
  `
302
- }
318
+ }
303
319
 
304
- if (id === resolvedVirtualEntryIdNative) {
305
- const isNative = isNativeEnvironment(this.environment)
306
- const setupResult = getSetupFileImport(
307
- this.environment.name,
308
- setupFiles,
309
- isNative,
310
- viteRoot
311
- )
312
- const linkingArg = options.router?.linking
313
- ? `linking: ${JSON.stringify(options.router.linking)},`
314
- : ''
315
- return `
320
+ if (id === resolvedVirtualEntryIdNative) {
321
+ const isNative = isNativeEnvironment(this.environment)
322
+ const setupResult = getSetupFileImport(
323
+ this.environment.name,
324
+ setupFiles,
325
+ isNative,
326
+ viteRoot
327
+ )
328
+ const linkingArg = options.router?.linking
329
+ ? `linking: ${JSON.stringify(options.router.linking)},`
330
+ : ''
331
+ return `
316
332
  import { createApp } from 'one'
317
333
  ${setupResult.importStatement}
318
334
 
@@ -324,7 +340,8 @@ export default createApp({
324
340
  ${linkingArg}
325
341
  })
326
342
  `
327
- }
343
+ }
344
+ },
328
345
  },
329
346
  }
330
347
  }
@@ -53,22 +53,48 @@ export function autoWarmPlugin(persistPath?: string): Plugin {
53
53
  }
54
54
  },
55
55
 
56
- configResolved(config: ResolvedConfig) {
57
- // build the exclude set from the resolved config
56
+ async configResolved(config: ResolvedConfig) {
58
57
  excludeSet = new Set(config.optimizeDeps.exclude || [])
59
58
 
60
- if (cachedDeps.length > 0 && excludeSet.size > 0) {
61
- // remove any cached deps that are in the exclude list
62
- const conflicts = cachedDeps.filter((d) => excludeSet.has(d))
63
- if (conflicts.length > 0) {
64
- console.info(`[one] filtered ${conflicts.length} excluded deps from warm cache`)
59
+ if (cachedDeps.length > 0) {
60
+ const resolve = config.createResolver()
61
+ const staleDeps = new Set<string>()
62
+
63
+ await Promise.all(
64
+ cachedDeps.map(async (dep) => {
65
+ if (excludeSet.has(dep)) {
66
+ staleDeps.add(dep)
67
+ return
68
+ }
69
+
70
+ try {
71
+ if (!(await resolve(dep))) staleDeps.add(dep)
72
+ } catch {
73
+ staleDeps.add(dep)
74
+ }
75
+ })
76
+ )
77
+
78
+ if (staleDeps.size > 0) {
79
+ cachedDeps = cachedDeps.filter((dep) => !staleDeps.has(dep))
80
+ console.info(`[one] pruned ${staleDeps.size} stale deps from warm cache`)
65
81
 
66
- // mutate the resolved include to remove conflicts
67
82
  if (config.optimizeDeps.include) {
68
- ;(config.optimizeDeps as any).include = config.optimizeDeps.include.filter(
69
- (d: string) => !excludeSet.has(d)
83
+ config.optimizeDeps.include = config.optimizeDeps.include.filter(
84
+ (dep) => !staleDeps.has(dep)
70
85
  )
71
86
  }
87
+
88
+ try {
89
+ const nextRaw = JSON.stringify({ deps: [...cachedDeps].sort() }, null, 2)
90
+ if (!existsSync(cacheFile) || readFileSync(cacheFile, 'utf-8') !== nextRaw) {
91
+ const dir = dirname(cacheFile)
92
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
93
+ writeFileSync(cacheFile, nextRaw)
94
+ }
95
+ } catch {
96
+ // a future snapshot can retry the cache write
97
+ }
72
98
  }
73
99
  }
74
100
  },
package/src/vite/types.ts CHANGED
@@ -546,11 +546,16 @@ export namespace One {
546
546
  suspendRoutes?: boolean
547
547
 
548
548
  /**
549
- * Experimental: serve the web client through Vite 8.1's bundled dev mode
549
+ * Experimental: serve the web client through Vite's bundled dev mode
550
550
  * (rolldown-powered FullBundleDevEnvironment) instead of unbundled ESM dev.
551
551
  * Fewer requests / faster parse, especially for apps with large icon/util
552
552
  * imports. Dev-only; ignored for builds.
553
553
  *
554
+ * Covered by tests/test-bundled-dev. It is easy to break without noticing,
555
+ * because a broken client bundle still serves a 200 with correct SSR html
556
+ * and only fails to hydrate, so that test asserts interactivity rather
557
+ * than response status.
558
+ *
554
559
  * @experimental
555
560
  * @default false
556
561
  */
@@ -1 +1 @@
1
- {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAUA,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAKpE,OAAO,qBAAqB,CAAA;AAoB5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAoBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA4yBjE"}
1
+ {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAWA,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAKpE,OAAO,qBAAqB,CAAA;AAoB5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAyBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA61BjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"bundledDevPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/bundledDevPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAwElC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA4CzD"}
1
+ {"version":3,"file":"bundledDevPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/bundledDevPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA0ElC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAoDzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"criticalCSSPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/criticalCSSPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAqBlC,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAC/D,GAAG,CAAC,MAAM,CAAC,CAeb;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAwB1C"}
1
+ {"version":3,"file":"criticalCSSPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/criticalCSSPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAwBlC,wBAAgB,qBAAqB,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAC/D,GAAG,CAAC,MAAM,CAAC,CAeb;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAyB1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"environmentGuardPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/environmentGuardPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,QAAA,MAAM,gBAAgB,oEAKZ,CAAA;AAEV,KAAK,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAavD,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,cAAc,EAAE,CAAA;CACjC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsC9D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAgBhF"}
1
+ {"version":3,"file":"environmentGuardPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/environmentGuardPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,QAAA,MAAM,gBAAgB,oEAKZ,CAAA;AAKV,KAAK,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAavD,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,cAAc,EAAE,CAAA;CACjC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsC9D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAyBhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAY1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,kBAAkB,CAAA;AA0BtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,EAC1B,UAAU,EAAE,UAAU,GACrB,MAAM,CAk3BR"}
1
+ {"version":3,"file":"fileSystemRouterPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAY1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,kBAAkB,CAAA;AA0BtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,GAAG,CAAC,aAAa,EAC1B,UAAU,EAAE,UAAU,GACrB,MAAM,CAs3BR"}
@@ -1 +1 @@
1
- {"version":3,"file":"imageDataPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/imageDataPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AAOlD,wBAAgB,eAAe,IAAI,MAAM,CAgFxC"}
1
+ {"version":3,"file":"imageDataPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/imageDataPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AASlD,wBAAgB,eAAe,IAAI,MAAM,CAkFxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"virtualEntryPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtualEntryPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AASlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAsGnC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,MAAM,CA+MT"}
1
+ {"version":3,"file":"virtualEntryPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/virtualEntryPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AASlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AA+GnC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,UAAU,EAAE,UAAU,CAAA;CACvB,GAAG,MAAM,CAuNT"}
@@ -1 +1 @@
1
- {"version":3,"file":"warmRoutesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/warmRoutesPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AAOlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAkJ3D;AAGD,eAAO,MAAM,gBAAgB,uBAAiB,CAAA"}
1
+ {"version":3,"file":"warmRoutesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/warmRoutesPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AAOlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CA4K3D;AAGD,eAAO,MAAM,gBAAgB,uBAAiB,CAAA"}
@@ -479,11 +479,16 @@ export declare namespace One {
479
479
  */
480
480
  suspendRoutes?: boolean;
481
481
  /**
482
- * Experimental: serve the web client through Vite 8.1's bundled dev mode
482
+ * Experimental: serve the web client through Vite's bundled dev mode
483
483
  * (rolldown-powered FullBundleDevEnvironment) instead of unbundled ESM dev.
484
484
  * Fewer requests / faster parse, especially for apps with large icon/util
485
485
  * imports. Dev-only; ignored for builds.
486
486
  *
487
+ * Covered by tests/test-bundled-dev. It is easy to break without noticing,
488
+ * because a broken client bundle still serves a 200 with correct SSR html
489
+ * and only fails to hydrate, so that test asserts interactivity rather
490
+ * than response status.
491
+ *
487
492
  * @experimental
488
493
  * @default false
489
494
  */
@@ -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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"}