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.
- package/dist/cjs/vite/one.cjs +77 -46
- package/dist/cjs/vite/one.native.js +129 -92
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/bundledDevPlugin.cjs +16 -7
- package/dist/cjs/vite/plugins/bundledDevPlugin.native.js +16 -7
- package/dist/cjs/vite/plugins/bundledDevPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +15 -11
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +15 -11
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +9 -25
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +9 -25
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +22 -7
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +23 -8
- package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.cjs +42 -32
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js +42 -32
- package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/imageDataPlugin.test.cjs +18 -38
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js +18 -38
- package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +58 -43
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +93 -76
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.cjs +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +31 -7
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +35 -10
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/dist/esm/getURL.native.test.mjs +1 -1
- package/dist/esm/router/hmrImport.native.test.mjs +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs +1 -1
- package/dist/esm/router/routeHmr.native.test.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +0 -66
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/vite/one.mjs +77 -46
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +129 -92
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/bundledDevPlugin.mjs +16 -7
- package/dist/esm/vite/plugins/bundledDevPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/bundledDevPlugin.native.js +16 -7
- package/dist/esm/vite/plugins/bundledDevPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +15 -11
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +15 -11
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +9 -25
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +9 -25
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +22 -7
- package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +23 -8
- package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.mjs +42 -32
- package/dist/esm/vite/plugins/imageDataPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.native.js +42 -32
- package/dist/esm/vite/plugins/imageDataPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.test.mjs +18 -38
- package/dist/esm/vite/plugins/imageDataPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/imageDataPlugin.test.native.js +18 -38
- package/dist/esm/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +58 -43
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +93 -76
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +31 -7
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +35 -10
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/package.json +12 -12
- package/src/vite/one.ts +121 -66
- package/src/vite/plugins/bundledDevPlugin.ts +17 -7
- package/src/vite/plugins/criticalCSSPlugin.test.ts +11 -27
- package/src/vite/plugins/criticalCSSPlugin.ts +15 -11
- package/src/vite/plugins/environmentGuardPlugin.ts +20 -7
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +7 -3
- package/src/vite/plugins/imageDataPlugin.test.ts +20 -39
- package/src/vite/plugins/imageDataPlugin.ts +49 -44
- package/src/vite/plugins/virtualEntryPlugin.test.ts +1 -1
- package/src/vite/plugins/virtualEntryPlugin.ts +139 -122
- package/src/vite/plugins/warmRoutesPlugin.ts +36 -10
- package/src/vite/types.ts +6 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/bundledDevPlugin.d.ts.map +1 -1
- package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/imageDataPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +6 -1
- 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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
74
|
-
|
|
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
|
-
|
|
77
|
-
|
|
83
|
+
// Track file for rebuild on change
|
|
84
|
+
this.addWatchFile(filePath)
|
|
78
85
|
|
|
79
|
-
|
|
80
|
-
|
|
86
|
+
const meta = await processImageMeta(filePath)
|
|
87
|
+
if (!meta) {
|
|
88
|
+
return createImageDataExport(src)
|
|
89
|
+
}
|
|
81
90
|
|
|
82
|
-
|
|
83
|
-
|
|
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
|
}
|
|
@@ -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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
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
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
(file) =>
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
filename.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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
|
-
|
|
177
|
-
|
|
192
|
+
const fileMode = matchFileRenderMode(filename)
|
|
193
|
+
if (fileMode) return fileMode === 'spa'
|
|
178
194
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
.
|
|
193
|
-
|
|
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
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
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
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
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
|
-
|
|
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
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
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
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
69
|
-
(
|
|
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
|
|
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
|
*/
|
package/types/vite/one.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"
|
|
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;
|
|
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;
|
|
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;
|
|
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,
|
|
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":"
|
|
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;
|
|
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,
|
|
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"}
|
package/types/vite/types.d.ts
CHANGED
|
@@ -479,11 +479,16 @@ export declare namespace One {
|
|
|
479
479
|
*/
|
|
480
480
|
suspendRoutes?: boolean;
|
|
481
481
|
/**
|
|
482
|
-
* Experimental: serve the web client through Vite
|
|
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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"}
|