one 1.19.3 → 1.19.4
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/plugins/fileSystemRouterPlugin.cjs +26 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +26 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +125 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +129 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +26 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +26 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +125 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +129 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
- package/package.json +9 -9
- package/src/vite/plugins/fileSystemRouterPlugin.test.ts +133 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +30 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
|
@@ -87,6 +87,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
87
87
|
}
|
|
88
88
|
let handleRequest = createRequestHandler();
|
|
89
89
|
let renderPromise = null;
|
|
90
|
+
const ssgHtmlCache = /* @__PURE__ */new Map();
|
|
91
|
+
function getSsgHtmlCacheKey(route2, url2) {
|
|
92
|
+
return `${route2.file}
|
|
93
|
+
${url2.pathname}
|
|
94
|
+
${url2.search}`;
|
|
95
|
+
}
|
|
90
96
|
function createRequestHandler() {
|
|
91
97
|
const routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options);
|
|
92
98
|
async function findNearestNotFoundPath(routeFile2) {
|
|
@@ -118,6 +124,13 @@ function createFileSystemRouterPlugin(options) {
|
|
|
118
124
|
url,
|
|
119
125
|
loaderProps
|
|
120
126
|
}) {
|
|
127
|
+
const ssgCacheKey = route.type === "ssg" ? getSsgHtmlCacheKey(route, url) : null;
|
|
128
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
129
|
+
const cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
130
|
+
if (cachedHtml) {
|
|
131
|
+
return cachedHtml;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
121
134
|
if (options.server?.loggingEnabled !== false) {
|
|
122
135
|
const colorType = routeTypeColors[route.type] || import_picocolors.default.white;
|
|
123
136
|
const pathname = typeof url === "string" ? new URL(url).pathname : url.pathname;
|
|
@@ -141,6 +154,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
141
154
|
if (renderPromise) {
|
|
142
155
|
await renderPromise;
|
|
143
156
|
}
|
|
157
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
158
|
+
const cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
159
|
+
if (cachedHtml) {
|
|
160
|
+
return cachedHtml;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
144
163
|
const {
|
|
145
164
|
promise,
|
|
146
165
|
resolve: resolveRender
|
|
@@ -151,6 +170,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
151
170
|
const routeFile = isGeneratedNotFound ? "" : import_node_path.default.join(routerRoot, route.file);
|
|
152
171
|
if (needsCacheClear) {
|
|
153
172
|
runner.clearCache();
|
|
173
|
+
ssgHtmlCache.clear();
|
|
154
174
|
needsCacheClear = false;
|
|
155
175
|
}
|
|
156
176
|
globalThis["__vxrnresetState"]?.();
|
|
@@ -312,6 +332,9 @@ function createFileSystemRouterPlugin(options) {
|
|
|
312
332
|
}
|
|
313
333
|
});
|
|
314
334
|
}
|
|
335
|
+
if (ssgCacheKey) {
|
|
336
|
+
ssgHtmlCache.set(ssgCacheKey, html);
|
|
337
|
+
}
|
|
315
338
|
return html;
|
|
316
339
|
} catch (err) {
|
|
317
340
|
if ((0, import_isResponse.isResponse)(err)) {
|
|
@@ -434,6 +457,8 @@ ${stack}
|
|
|
434
457
|
function recreateRequestHandler(changedPath) {
|
|
435
458
|
try {
|
|
436
459
|
handleRequest = createRequestHandler();
|
|
460
|
+
ssgHtmlCache.clear();
|
|
461
|
+
needsCacheClear = true;
|
|
437
462
|
} catch (error) {
|
|
438
463
|
console.warn(`[one] Failed to rebuild routes after ${changedPath} changed.`, error);
|
|
439
464
|
}
|
|
@@ -509,6 +534,7 @@ ${stack}
|
|
|
509
534
|
routePaths: [...routePaths]
|
|
510
535
|
}
|
|
511
536
|
});
|
|
537
|
+
ssgHtmlCache.clear();
|
|
512
538
|
}
|
|
513
539
|
}, 100);
|
|
514
540
|
server.watcher.on("change", loaderDepChangeListener);
|
|
@@ -103,6 +103,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
103
103
|
}
|
|
104
104
|
var handleRequest = createRequestHandler();
|
|
105
105
|
var renderPromise = null;
|
|
106
|
+
var ssgHtmlCache = /* @__PURE__ */new Map();
|
|
107
|
+
function getSsgHtmlCacheKey(route2, url2) {
|
|
108
|
+
return `${route2.file}
|
|
109
|
+
${url2.pathname}
|
|
110
|
+
${url2.search}`;
|
|
111
|
+
}
|
|
106
112
|
function createRequestHandler() {
|
|
107
113
|
var _options_router;
|
|
108
114
|
var routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options);
|
|
@@ -138,6 +144,13 @@ function createFileSystemRouterPlugin(options) {
|
|
|
138
144
|
loaderProps
|
|
139
145
|
} = param;
|
|
140
146
|
var _options_server;
|
|
147
|
+
var ssgCacheKey = route.type === "ssg" ? getSsgHtmlCacheKey(route, url) : null;
|
|
148
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
149
|
+
var cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
150
|
+
if (cachedHtml) {
|
|
151
|
+
return cachedHtml;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
141
154
|
if (((_options_server = options.server) === null || _options_server === void 0 ? void 0 : _options_server.loggingEnabled) !== false) {
|
|
142
155
|
var colorType = routeTypeColors[route.type] || import_picocolors.default.white;
|
|
143
156
|
var pathname = typeof url === "string" ? new URL(url).pathname : url.pathname;
|
|
@@ -163,6 +176,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
163
176
|
if (renderPromise) {
|
|
164
177
|
await renderPromise;
|
|
165
178
|
}
|
|
179
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
180
|
+
var cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
181
|
+
if (cachedHtml) {
|
|
182
|
+
return cachedHtml;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
166
185
|
var {
|
|
167
186
|
promise,
|
|
168
187
|
resolve: resolveRender
|
|
@@ -174,6 +193,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
174
193
|
var routeFile = isGeneratedNotFound ? "" : import_path.default.join(routerRoot, route.file);
|
|
175
194
|
if (needsCacheClear) {
|
|
176
195
|
runner.clearCache();
|
|
196
|
+
ssgHtmlCache.clear();
|
|
177
197
|
needsCacheClear = false;
|
|
178
198
|
}
|
|
179
199
|
(_globalThis___vxrnresetState = (_globalThis = globalThis)["__vxrnresetState"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);
|
|
@@ -365,6 +385,9 @@ function createFileSystemRouterPlugin(options) {
|
|
|
365
385
|
}
|
|
366
386
|
});
|
|
367
387
|
}
|
|
388
|
+
if (ssgCacheKey) {
|
|
389
|
+
ssgHtmlCache.set(ssgCacheKey, html);
|
|
390
|
+
}
|
|
368
391
|
return html;
|
|
369
392
|
} catch (err) {
|
|
370
393
|
if ((0, import_isResponse.isResponse)(err)) {
|
|
@@ -515,6 +538,8 @@ ${stack}
|
|
|
515
538
|
function recreateRequestHandler(changedPath) {
|
|
516
539
|
try {
|
|
517
540
|
handleRequest = createRequestHandler();
|
|
541
|
+
ssgHtmlCache.clear();
|
|
542
|
+
needsCacheClear = true;
|
|
518
543
|
} catch (error) {
|
|
519
544
|
console.warn(`[one] Failed to rebuild routes after ${changedPath} changed.`, error);
|
|
520
545
|
}
|
|
@@ -595,6 +620,7 @@ ${stack}
|
|
|
595
620
|
routePaths: [...routePaths]
|
|
596
621
|
}
|
|
597
622
|
});
|
|
623
|
+
ssgHtmlCache.clear();
|
|
598
624
|
}
|
|
599
625
|
}, 100);
|
|
600
626
|
server.watcher.on("change", loaderDepChangeListener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","fileSystemRouterPlugin_exports","__export","createFileSystemRouterPlugin","module","exports","import_path","__toESM","require","import_stream","import_perfect_debounce","import_picocolors","import_vite","import_constants","import_createHandleRequest","import_getPageExport","import_getRouterRootFromOneOptions","import_isResponse","import_isStatus","import_promiseWithResolvers","import_routeFileWatch","import_trackLoaderDependencies","import_replaceLoader","import_one_server_only","import_virtualEntryConstants","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","default","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","options","preloads","virtalEntryIdClient","runner","server","needsCacheClear","loaderFileDependencies","Map","LOADER_DEPS_MAX","setBoundedLoaderDep","filePath","routePath","deps","get","size","firstKey","routeFile","keys","next","delete","Set","set","watcher","add","handleRequest","createRequestHandler","renderPromise","_options_router","routerRoot","getRouterRootFromOneOptions","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","import","unused","parent2","createHandleRequest","handlePage","param","route","url","loaderProps","_options_server","loggingEnabled","colorType","type","white","pathname","URL","file","isNotFound","red","dim","slice","console","info","layouts","isSpaShell","some","layout","layoutRenderMode","getSpaHeaderElements","serverContext","mode","promise","resolve","resolveRender","promiseWithResolvers","_globalThis___vxrnresetState","_globalThis","isGeneratedNotFound","clearCache","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","trackLoaderDependencies","path","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","done","dep","absoluteDep","err","return","result","isResponse","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","virtualEntryId","render","setServerContext","isDynamicRoute","Object","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","getPageExport","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","status","headers","renderPath","html","originalPath","notFoundMarker","JSON","stringify","includes","href","title","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","route2","url2","loaderProps2","_this","transformedJS","transformRequest","exported2","isDynamicRoute2","staticParams2","currentParams2","isValidSlug","nfPath","loaderData2","nfPath1","replaceLoader","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","recreateRequestHandler","changedPath","warn","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","routerRoot2","normalizePath","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","posix","optimizeDeps","entries","configureServer","serverIn","createServerModuleRunner","appDir","cwd","on","_event","file2","evaluatedModules","mods","getModulesByFile","fileWatcherChangeListener","debounce","isRouteFileWatchEvent","event","addListener","loaderDepChangeListener","absolutePath","routePaths","hot","send","data","middlewares","use","req","res","_req_url","writeHead","end","setHeader","_options_web","redirects","web","host","_loop","redirect","regexStr","source","match","RegExp","destination","forEach","index","permanent","Location"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","fileSystemRouterPlugin_exports","__export","createFileSystemRouterPlugin","module","exports","import_path","__toESM","require","import_stream","import_perfect_debounce","import_picocolors","import_vite","import_constants","import_createHandleRequest","import_getPageExport","import_getRouterRootFromOneOptions","import_isResponse","import_isStatus","import_promiseWithResolvers","import_routeFileWatch","import_trackLoaderDependencies","import_replaceLoader","import_one_server_only","import_virtualEntryConstants","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","default","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","options","preloads","virtalEntryIdClient","runner","server","needsCacheClear","loaderFileDependencies","Map","LOADER_DEPS_MAX","setBoundedLoaderDep","filePath","routePath","deps","get","size","firstKey","keys","next","delete","Set","set","watcher","add","handleRequest","createRequestHandler","renderPromise","ssgHtmlCache","getSsgHtmlCacheKey","route2","url2","file","pathname","search","_options_router","routerRoot","getRouterRootFromOneOptions","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","import","unused","parent2","createHandleRequest","handlePage","param","route","url","loaderProps","_options_server","ssgCacheKey","type","cachedHtml","loggingEnabled","colorType","white","URL","isNotFound","red","dim","slice","console","info","layouts","isSpaShell","some","layout","layoutRenderMode","getSpaHeaderElements","serverContext","mode","promise","resolve","resolveRender","promiseWithResolvers","_globalThis___vxrnresetState","_globalThis","isGeneratedNotFound","routeFile","clearCache","clear","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","trackLoaderDependencies","path","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","done","dep","absoluteDep","err","return","result","isResponse","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","virtualEntryId","render","setServerContext","isDynamicRoute","Object","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","getPageExport","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","status","headers","renderPath","html","originalPath","notFoundMarker","JSON","stringify","includes","href","title","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","loaderProps2","_this","transformedJS","transformRequest","exported2","isDynamicRoute2","staticParams2","currentParams2","isValidSlug","nfPath","loaderData2","nfPath1","replaceLoader","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","recreateRequestHandler","changedPath","warn","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","routerRoot2","normalizePath","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","posix","optimizeDeps","entries","configureServer","serverIn","createServerModuleRunner","appDir","cwd","on","_event","file2","evaluatedModules","mods","getModulesByFile","fileWatcherChangeListener","debounce","isRouteFileWatchEvent","event","addListener","loaderDepChangeListener","absolutePath","routePaths","hot","send","data","middlewares","use","req","res","_req_url","writeHead","end","setHeader","_options_web","redirects","web","host","_loop","redirect","regexStr","source","match","RegExp","destination","forEach","index","permanent","Location"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ import_vitest.vi.mock("vite", async () => {
|
|
|
38
38
|
});
|
|
39
39
|
(0, import_vitest.describe)("createFileSystemRouterPlugin", () => {
|
|
40
40
|
const previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
41
|
+
const previousViteEnvironment = process.env.VITE_ENVIRONMENT;
|
|
41
42
|
let previousVxrnPluginConfig;
|
|
42
43
|
let tempRoot;
|
|
43
44
|
(0, import_vitest.beforeEach)(() => {
|
|
@@ -56,6 +57,11 @@ import_vitest.vi.mock("vite", async () => {
|
|
|
56
57
|
} else {
|
|
57
58
|
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
58
59
|
}
|
|
60
|
+
if (previousViteEnvironment === void 0) {
|
|
61
|
+
delete process.env.VITE_ENVIRONMENT;
|
|
62
|
+
} else {
|
|
63
|
+
process.env.VITE_ENVIRONMENT = previousViteEnvironment;
|
|
64
|
+
}
|
|
59
65
|
if (previousVxrnPluginConfig === void 0) {
|
|
60
66
|
delete globalThis.__vxrnPluginConfig__;
|
|
61
67
|
} else {
|
|
@@ -108,4 +114,123 @@ import_vitest.vi.mock("vite", async () => {
|
|
|
108
114
|
await (0, import_vitest.expect)(Promise.resolve(watcherListener("add", import_node_path.default.join(appDir, "new-route.tsx")))).resolves.toBeUndefined();
|
|
109
115
|
(0, import_vitest.expect)(warn).toHaveBeenCalledWith(import_vitest.expect.stringContaining("[one] Failed to rebuild routes"), import_vitest.expect.any(Error));
|
|
110
116
|
});
|
|
117
|
+
(0, import_vitest.it)("caches dev ssg html until the module runner is invalidated", async () => {
|
|
118
|
+
process.env.VITE_ENVIRONMENT = "ssr";
|
|
119
|
+
tempRoot = (0, import_node_fs.mkdtempSync)(import_node_path.default.join((0, import_node_os.tmpdir)(), "one-router-ssg-cache-"));
|
|
120
|
+
const appDir = import_node_path.default.join(tempRoot, "app");
|
|
121
|
+
const routeFile = import_node_path.default.join(appDir, "index+ssg.tsx");
|
|
122
|
+
(0, import_node_fs.writeFileSync)(import_node_path.default.join(tempRoot, "package.json"), "{}\n");
|
|
123
|
+
(0, import_node_fs.mkdirSync)(appDir);
|
|
124
|
+
(0, import_node_fs.writeFileSync)(routeFile, "export default function Index() { return null }\n");
|
|
125
|
+
const {
|
|
126
|
+
createServerModuleRunner
|
|
127
|
+
} = await import("vite");
|
|
128
|
+
const {
|
|
129
|
+
createFileSystemRouterPlugin
|
|
130
|
+
} = await import("./fileSystemRouterPlugin");
|
|
131
|
+
const {
|
|
132
|
+
virtualEntryId
|
|
133
|
+
} = await import("./virtualEntryConstants");
|
|
134
|
+
let renderCount = 0;
|
|
135
|
+
const render = import_vitest.vi.fn(async () => `<html><body>${++renderCount}</body></html>`);
|
|
136
|
+
const runner = {
|
|
137
|
+
clearCache: import_vitest.vi.fn(),
|
|
138
|
+
import: import_vitest.vi.fn(async id => {
|
|
139
|
+
if (id === virtualEntryId) {
|
|
140
|
+
return {
|
|
141
|
+
default: {
|
|
142
|
+
render
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
if (id === routeFile) {
|
|
147
|
+
return {
|
|
148
|
+
default: () => null
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return {};
|
|
152
|
+
})
|
|
153
|
+
};
|
|
154
|
+
import_vitest.vi.mocked(createServerModuleRunner).mockReturnValue(runner);
|
|
155
|
+
const middlewareHandlers = [];
|
|
156
|
+
const watcherListeners = /* @__PURE__ */new Map();
|
|
157
|
+
const server = {
|
|
158
|
+
environments: {
|
|
159
|
+
ssr: {}
|
|
160
|
+
},
|
|
161
|
+
hot: {
|
|
162
|
+
send: import_vitest.vi.fn()
|
|
163
|
+
},
|
|
164
|
+
middlewares: {
|
|
165
|
+
use: import_vitest.vi.fn(handler => {
|
|
166
|
+
middlewareHandlers.push(handler);
|
|
167
|
+
})
|
|
168
|
+
},
|
|
169
|
+
watcher: {
|
|
170
|
+
add: import_vitest.vi.fn(),
|
|
171
|
+
addListener: import_vitest.vi.fn((event, listener) => {
|
|
172
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
173
|
+
}),
|
|
174
|
+
on: import_vitest.vi.fn((event, listener) => {
|
|
175
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
176
|
+
})
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const plugin = createFileSystemRouterPlugin({
|
|
180
|
+
router: {
|
|
181
|
+
root: appDir
|
|
182
|
+
},
|
|
183
|
+
server: {
|
|
184
|
+
loggingEnabled: false
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
const installMiddlewares = plugin.configureServer(server);
|
|
188
|
+
installMiddlewares();
|
|
189
|
+
const routeMiddleware = middlewareHandlers.at(-1);
|
|
190
|
+
if (!routeMiddleware) {
|
|
191
|
+
throw new Error("Expected route middleware to be registered");
|
|
192
|
+
}
|
|
193
|
+
const handleRouteRequest = routeMiddleware;
|
|
194
|
+
async function request(pathname) {
|
|
195
|
+
const chunks = [];
|
|
196
|
+
const req = {
|
|
197
|
+
originalUrl: pathname,
|
|
198
|
+
url: pathname,
|
|
199
|
+
headers: {
|
|
200
|
+
host: "localhost"
|
|
201
|
+
},
|
|
202
|
+
method: "GET"
|
|
203
|
+
};
|
|
204
|
+
const res = {
|
|
205
|
+
setHeader: import_vitest.vi.fn(),
|
|
206
|
+
appendHeader: import_vitest.vi.fn(),
|
|
207
|
+
writeHead: import_vitest.vi.fn(),
|
|
208
|
+
write: import_vitest.vi.fn(chunk => {
|
|
209
|
+
chunks.push(chunk);
|
|
210
|
+
}),
|
|
211
|
+
end: import_vitest.vi.fn()
|
|
212
|
+
};
|
|
213
|
+
const next = import_vitest.vi.fn(error => {
|
|
214
|
+
if (error) {
|
|
215
|
+
throw error;
|
|
216
|
+
}
|
|
217
|
+
throw new Error("Expected One router middleware to handle request");
|
|
218
|
+
});
|
|
219
|
+
await handleRouteRequest(req, res, next);
|
|
220
|
+
(0, import_vitest.expect)(res.end).toHaveBeenCalled();
|
|
221
|
+
return chunks.join("");
|
|
222
|
+
}
|
|
223
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>1</body>");
|
|
224
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>1</body>");
|
|
225
|
+
(0, import_vitest.expect)(render).toHaveBeenCalledTimes(1);
|
|
226
|
+
const allListeners = watcherListeners.get("all") || [];
|
|
227
|
+
const invalidateRunner = allListeners[0];
|
|
228
|
+
if (!invalidateRunner) {
|
|
229
|
+
throw new Error("Expected runner invalidation listener to be registered");
|
|
230
|
+
}
|
|
231
|
+
invalidateRunner("change", routeFile);
|
|
232
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>2</body>");
|
|
233
|
+
(0, import_vitest.expect)(render).toHaveBeenCalledTimes(2);
|
|
234
|
+
(0, import_vitest.expect)(runner.clearCache).toHaveBeenCalledTimes(2);
|
|
235
|
+
});
|
|
111
236
|
});
|
|
@@ -42,6 +42,7 @@ import_vitest.vi.mock("vite", async function () {
|
|
|
42
42
|
});
|
|
43
43
|
(0, import_vitest.describe)("createFileSystemRouterPlugin", function () {
|
|
44
44
|
var previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
45
|
+
var previousViteEnvironment = process.env.VITE_ENVIRONMENT;
|
|
45
46
|
var previousVxrnPluginConfig;
|
|
46
47
|
var tempRoot;
|
|
47
48
|
(0, import_vitest.beforeEach)(function () {
|
|
@@ -60,6 +61,11 @@ import_vitest.vi.mock("vite", async function () {
|
|
|
60
61
|
} else {
|
|
61
62
|
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
62
63
|
}
|
|
64
|
+
if (previousViteEnvironment === void 0) {
|
|
65
|
+
delete process.env.VITE_ENVIRONMENT;
|
|
66
|
+
} else {
|
|
67
|
+
process.env.VITE_ENVIRONMENT = previousViteEnvironment;
|
|
68
|
+
}
|
|
63
69
|
if (previousVxrnPluginConfig === void 0) {
|
|
64
70
|
delete globalThis.__vxrnPluginConfig__;
|
|
65
71
|
} else {
|
|
@@ -112,5 +118,128 @@ import_vitest.vi.mock("vite", async function () {
|
|
|
112
118
|
await (0, import_vitest.expect)(Promise.resolve(watcherListener("add", import_path.default.join(appDir, "new-route.tsx")))).resolves.toBeUndefined();
|
|
113
119
|
(0, import_vitest.expect)(warn).toHaveBeenCalledWith(import_vitest.expect.stringContaining("[one] Failed to rebuild routes"), import_vitest.expect.any(Error));
|
|
114
120
|
});
|
|
121
|
+
(0, import_vitest.it)("caches dev ssg html until the module runner is invalidated", async function () {
|
|
122
|
+
process.env.VITE_ENVIRONMENT = "ssr";
|
|
123
|
+
tempRoot = (0, import_fs.mkdtempSync)(import_path.default.join((0, import_os.tmpdir)(), "one-router-ssg-cache-"));
|
|
124
|
+
var appDir = import_path.default.join(tempRoot, "app");
|
|
125
|
+
var routeFile = import_path.default.join(appDir, "index+ssg.tsx");
|
|
126
|
+
(0, import_fs.writeFileSync)(import_path.default.join(tempRoot, "package.json"), "{}\n");
|
|
127
|
+
(0, import_fs.mkdirSync)(appDir);
|
|
128
|
+
(0, import_fs.writeFileSync)(routeFile, "export default function Index() { return null }\n");
|
|
129
|
+
var {
|
|
130
|
+
createServerModuleRunner
|
|
131
|
+
} = await import("vite");
|
|
132
|
+
var {
|
|
133
|
+
createFileSystemRouterPlugin
|
|
134
|
+
} = await import("./fileSystemRouterPlugin");
|
|
135
|
+
var {
|
|
136
|
+
virtualEntryId
|
|
137
|
+
} = await import("./virtualEntryConstants");
|
|
138
|
+
var renderCount = 0;
|
|
139
|
+
var render = import_vitest.vi.fn(async function () {
|
|
140
|
+
return `<html><body>${++renderCount}</body></html>`;
|
|
141
|
+
});
|
|
142
|
+
var runner = {
|
|
143
|
+
clearCache: import_vitest.vi.fn(),
|
|
144
|
+
import: import_vitest.vi.fn(async function (id) {
|
|
145
|
+
if (id === virtualEntryId) {
|
|
146
|
+
return {
|
|
147
|
+
default: {
|
|
148
|
+
render
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
if (id === routeFile) {
|
|
153
|
+
return {
|
|
154
|
+
default: function _default() {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return {};
|
|
160
|
+
})
|
|
161
|
+
};
|
|
162
|
+
import_vitest.vi.mocked(createServerModuleRunner).mockReturnValue(runner);
|
|
163
|
+
var middlewareHandlers = [];
|
|
164
|
+
var watcherListeners = /* @__PURE__ */new Map();
|
|
165
|
+
var server = {
|
|
166
|
+
environments: {
|
|
167
|
+
ssr: {}
|
|
168
|
+
},
|
|
169
|
+
hot: {
|
|
170
|
+
send: import_vitest.vi.fn()
|
|
171
|
+
},
|
|
172
|
+
middlewares: {
|
|
173
|
+
use: import_vitest.vi.fn(function (handler) {
|
|
174
|
+
middlewareHandlers.push(handler);
|
|
175
|
+
})
|
|
176
|
+
},
|
|
177
|
+
watcher: {
|
|
178
|
+
add: import_vitest.vi.fn(),
|
|
179
|
+
addListener: import_vitest.vi.fn(function (event, listener) {
|
|
180
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
181
|
+
}),
|
|
182
|
+
on: import_vitest.vi.fn(function (event, listener) {
|
|
183
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
184
|
+
})
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
var plugin = createFileSystemRouterPlugin({
|
|
188
|
+
router: {
|
|
189
|
+
root: appDir
|
|
190
|
+
},
|
|
191
|
+
server: {
|
|
192
|
+
loggingEnabled: false
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
var installMiddlewares = plugin.configureServer(server);
|
|
196
|
+
installMiddlewares();
|
|
197
|
+
var routeMiddleware = middlewareHandlers.at(-1);
|
|
198
|
+
if (!routeMiddleware) {
|
|
199
|
+
throw new Error("Expected route middleware to be registered");
|
|
200
|
+
}
|
|
201
|
+
var handleRouteRequest = routeMiddleware;
|
|
202
|
+
async function request(pathname) {
|
|
203
|
+
var chunks = [];
|
|
204
|
+
var req = {
|
|
205
|
+
originalUrl: pathname,
|
|
206
|
+
url: pathname,
|
|
207
|
+
headers: {
|
|
208
|
+
host: "localhost"
|
|
209
|
+
},
|
|
210
|
+
method: "GET"
|
|
211
|
+
};
|
|
212
|
+
var res = {
|
|
213
|
+
setHeader: import_vitest.vi.fn(),
|
|
214
|
+
appendHeader: import_vitest.vi.fn(),
|
|
215
|
+
writeHead: import_vitest.vi.fn(),
|
|
216
|
+
write: import_vitest.vi.fn(function (chunk) {
|
|
217
|
+
chunks.push(chunk);
|
|
218
|
+
}),
|
|
219
|
+
end: import_vitest.vi.fn()
|
|
220
|
+
};
|
|
221
|
+
var next = import_vitest.vi.fn(function (error) {
|
|
222
|
+
if (error) {
|
|
223
|
+
throw error;
|
|
224
|
+
}
|
|
225
|
+
throw new Error("Expected One router middleware to handle request");
|
|
226
|
+
});
|
|
227
|
+
await handleRouteRequest(req, res, next);
|
|
228
|
+
(0, import_vitest.expect)(res.end).toHaveBeenCalled();
|
|
229
|
+
return chunks.join("");
|
|
230
|
+
}
|
|
231
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>1</body>");
|
|
232
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>1</body>");
|
|
233
|
+
(0, import_vitest.expect)(render).toHaveBeenCalledTimes(1);
|
|
234
|
+
var allListeners = watcherListeners.get("all") || [];
|
|
235
|
+
var invalidateRunner = allListeners[0];
|
|
236
|
+
if (!invalidateRunner) {
|
|
237
|
+
throw new Error("Expected runner invalidation listener to be registered");
|
|
238
|
+
}
|
|
239
|
+
invalidateRunner("change", routeFile);
|
|
240
|
+
await (0, import_vitest.expect)(request("/")).resolves.toContain("<body>2</body>");
|
|
241
|
+
(0, import_vitest.expect)(render).toHaveBeenCalledTimes(2);
|
|
242
|
+
(0, import_vitest.expect)(runner.clearCache).toHaveBeenCalledTimes(2);
|
|
243
|
+
});
|
|
115
244
|
});
|
|
116
245
|
//# sourceMappingURL=fileSystemRouterPlugin.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_fs","require","import_os","import_path","__toESM","import_vitest","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","describe","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousVxrnPluginConfig","tempRoot","beforeEach","globalThis","__vxrnPluginConfig__","afterEach","rmSync","recursive","force","restoreAllMocks","it","mkdtempSync","default","join","tmpdir","appDir","writeFileSync","mkdirSync","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","expect","toBeDefined","warn","spyOn","console","mockImplementation","Error","Promise","resolve","resolves","toBeUndefined","toHaveBeenCalledWith","stringContaining","any"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;gBAAA;AACA,IAAAA,SAAA,GAAAC,OAAuB;AACvB,IAAAC,SAAA,GAAAD,OAAiB;AACjB,IAAAE,WAAA,GAAAC,OAAgE,CAAAH,OAAA;AAEhE,IAAAI,aAAG,GAAAJ,OAAK,SAAQ;AACdI,aAAM,CAAAC,EAAA,CAASC,IAAA,OAAM,oBAAG;EACxB,IAAAC,MAAO,SAAAH,aAAA,CAAAC,EAAA,CAAAG,YAAA;EAAA,OACF;IACH,GAAAD,MAAA;IAAuCE,wBACzB,EAAAL,aAAM,CAAAC,EAAA,CAAAK,EAAA;MAClB;QACAC,UAAA,EAAAP,aAAA,CAAAC,EAAA,CAAAK,EAAA;QACJE,MAAA,EAAAR,aAAA,CAAAC,EAAA,CAAAK,EAAA;MACD;
|
|
1
|
+
{"version":3,"names":["import_fs","require","import_os","import_path","__toESM","import_vitest","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","describe","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousViteEnvironment","VITE_ENVIRONMENT","previousVxrnPluginConfig","tempRoot","beforeEach","globalThis","__vxrnPluginConfig__","afterEach","rmSync","recursive","force","restoreAllMocks","it","mkdtempSync","default","join","tmpdir","appDir","writeFileSync","mkdirSync","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","expect","toBeDefined","warn","spyOn","console","mockImplementation","Error","Promise","resolve","resolves","toBeUndefined","toHaveBeenCalledWith","stringContaining","any","routeFile","virtualEntryId","renderCount","render","runner","id","_default","mocked","mockReturnValue","middlewareHandlers","watcherListeners","Map","hot","send","middlewares","use","handler","push","add","set","get","loggingEnabled","installMiddlewares","routeMiddleware","at","handleRouteRequest","request","pathname","chunks","req","originalUrl","url","headers","host","method","res","setHeader","appendHeader","writeHead","write","chunk","end","next","error","toHaveBeenCalled"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -49,6 +49,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
49
49
|
}
|
|
50
50
|
let handleRequest = createRequestHandler();
|
|
51
51
|
let renderPromise = null;
|
|
52
|
+
const ssgHtmlCache = /* @__PURE__ */new Map();
|
|
53
|
+
function getSsgHtmlCacheKey(route2, url2) {
|
|
54
|
+
return `${route2.file}
|
|
55
|
+
${url2.pathname}
|
|
56
|
+
${url2.search}`;
|
|
57
|
+
}
|
|
52
58
|
function createRequestHandler() {
|
|
53
59
|
const routerRoot = getRouterRootFromOneOptions(options);
|
|
54
60
|
async function findNearestNotFoundPath(routeFile2) {
|
|
@@ -80,6 +86,13 @@ function createFileSystemRouterPlugin(options) {
|
|
|
80
86
|
url,
|
|
81
87
|
loaderProps
|
|
82
88
|
}) {
|
|
89
|
+
const ssgCacheKey = route.type === "ssg" ? getSsgHtmlCacheKey(route, url) : null;
|
|
90
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
91
|
+
const cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
92
|
+
if (cachedHtml) {
|
|
93
|
+
return cachedHtml;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
83
96
|
if (options.server?.loggingEnabled !== false) {
|
|
84
97
|
const colorType = routeTypeColors[route.type] || colors.white;
|
|
85
98
|
const pathname = typeof url === "string" ? new URL(url).pathname : url.pathname;
|
|
@@ -103,6 +116,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
103
116
|
if (renderPromise) {
|
|
104
117
|
await renderPromise;
|
|
105
118
|
}
|
|
119
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
120
|
+
const cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
121
|
+
if (cachedHtml) {
|
|
122
|
+
return cachedHtml;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
106
125
|
const {
|
|
107
126
|
promise,
|
|
108
127
|
resolve: resolveRender
|
|
@@ -113,6 +132,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
113
132
|
const routeFile = isGeneratedNotFound ? "" : path.join(routerRoot, route.file);
|
|
114
133
|
if (needsCacheClear) {
|
|
115
134
|
runner.clearCache();
|
|
135
|
+
ssgHtmlCache.clear();
|
|
116
136
|
needsCacheClear = false;
|
|
117
137
|
}
|
|
118
138
|
globalThis["__vxrnresetState"]?.();
|
|
@@ -274,6 +294,9 @@ function createFileSystemRouterPlugin(options) {
|
|
|
274
294
|
}
|
|
275
295
|
});
|
|
276
296
|
}
|
|
297
|
+
if (ssgCacheKey) {
|
|
298
|
+
ssgHtmlCache.set(ssgCacheKey, html);
|
|
299
|
+
}
|
|
277
300
|
return html;
|
|
278
301
|
} catch (err) {
|
|
279
302
|
if (isResponse(err)) {
|
|
@@ -396,6 +419,8 @@ ${stack}
|
|
|
396
419
|
function recreateRequestHandler(changedPath) {
|
|
397
420
|
try {
|
|
398
421
|
handleRequest = createRequestHandler();
|
|
422
|
+
ssgHtmlCache.clear();
|
|
423
|
+
needsCacheClear = true;
|
|
399
424
|
} catch (error) {
|
|
400
425
|
console.warn(`[one] Failed to rebuild routes after ${changedPath} changed.`, error);
|
|
401
426
|
}
|
|
@@ -471,6 +496,7 @@ ${stack}
|
|
|
471
496
|
routePaths: [...routePaths]
|
|
472
497
|
}
|
|
473
498
|
});
|
|
499
|
+
ssgHtmlCache.clear();
|
|
474
500
|
}
|
|
475
501
|
}, 100);
|
|
476
502
|
server.watcher.on("change", loaderDepChangeListener);
|