one 1.19.3 → 1.19.5
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/hooks.cjs +3 -5
- package/dist/cjs/hooks.native.js +3 -5
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/router/Route.cjs +2 -1
- package/dist/cjs/router/Route.native.js +2 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/path.cjs +73 -0
- package/dist/cjs/router/path.native.js +98 -0
- package/dist/cjs/router/path.native.js.map +1 -0
- package/dist/cjs/router/path.test.cjs +62 -0
- package/dist/cjs/router/path.test.native.js +65 -0
- package/dist/cjs/router/path.test.native.js.map +1 -0
- package/dist/cjs/router/router.cjs +7 -12
- package/dist/cjs/router/router.native.js +7 -12
- package/dist/cjs/router/router.native.js.map +1 -1
- 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/hooks.mjs +3 -5
- package/dist/esm/hooks.mjs.map +1 -1
- package/dist/esm/hooks.native.js +3 -5
- package/dist/esm/hooks.native.js.map +1 -1
- package/dist/esm/router/Route.mjs +2 -1
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js +2 -1
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/path.mjs +42 -0
- package/dist/esm/router/path.mjs.map +1 -0
- package/dist/esm/router/path.native.js +64 -0
- package/dist/esm/router/path.native.js.map +1 -0
- package/dist/esm/router/path.test.mjs +63 -0
- package/dist/esm/router/path.test.mjs.map +1 -0
- package/dist/esm/router/path.test.native.js +63 -0
- package/dist/esm/router/path.test.native.js.map +1 -0
- package/dist/esm/router/router.mjs +4 -10
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +4 -10
- package/dist/esm/router/router.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/hooks.tsx +9 -9
- package/src/router/Route.tsx +5 -6
- package/src/router/path.test.ts +95 -0
- package/src/router/path.ts +69 -0
- package/src/router/router.ts +5 -20
- package/src/vite/plugins/fileSystemRouterPlugin.test.ts +133 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +29 -1
- package/types/hooks.d.ts.map +1 -1
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/path.d.ts +8 -0
- package/types/router/path.d.ts.map +1 -0
- package/types/router/path.test.d.ts +2 -0
- package/types/router/path.test.d.ts.map +1 -0
- package/types/router/router.d.ts +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
|
@@ -63,6 +63,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
63
63
|
}
|
|
64
64
|
var handleRequest = createRequestHandler();
|
|
65
65
|
var renderPromise = null;
|
|
66
|
+
var ssgHtmlCache = /* @__PURE__ */new Map();
|
|
67
|
+
function getSsgHtmlCacheKey(route2, url2) {
|
|
68
|
+
return `${route2.file}
|
|
69
|
+
${url2.pathname}
|
|
70
|
+
${url2.search}`;
|
|
71
|
+
}
|
|
66
72
|
function createRequestHandler() {
|
|
67
73
|
var _options_router;
|
|
68
74
|
var routerRoot = getRouterRootFromOneOptions(options);
|
|
@@ -98,6 +104,13 @@ function createFileSystemRouterPlugin(options) {
|
|
|
98
104
|
loaderProps
|
|
99
105
|
} = param;
|
|
100
106
|
var _options_server;
|
|
107
|
+
var ssgCacheKey = route.type === "ssg" ? getSsgHtmlCacheKey(route, url) : null;
|
|
108
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
109
|
+
var cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
110
|
+
if (cachedHtml) {
|
|
111
|
+
return cachedHtml;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
101
114
|
if (((_options_server = options.server) === null || _options_server === void 0 ? void 0 : _options_server.loggingEnabled) !== false) {
|
|
102
115
|
var colorType = routeTypeColors[route.type] || colors.white;
|
|
103
116
|
var pathname = typeof url === "string" ? new URL(url).pathname : url.pathname;
|
|
@@ -123,6 +136,12 @@ function createFileSystemRouterPlugin(options) {
|
|
|
123
136
|
if (renderPromise) {
|
|
124
137
|
await renderPromise;
|
|
125
138
|
}
|
|
139
|
+
if (ssgCacheKey && !needsCacheClear) {
|
|
140
|
+
var cachedHtml = ssgHtmlCache.get(ssgCacheKey);
|
|
141
|
+
if (cachedHtml) {
|
|
142
|
+
return cachedHtml;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
126
145
|
var {
|
|
127
146
|
promise,
|
|
128
147
|
resolve: resolveRender
|
|
@@ -134,6 +153,7 @@ function createFileSystemRouterPlugin(options) {
|
|
|
134
153
|
var routeFile = isGeneratedNotFound ? "" : path.join(routerRoot, route.file);
|
|
135
154
|
if (needsCacheClear) {
|
|
136
155
|
runner.clearCache();
|
|
156
|
+
ssgHtmlCache.clear();
|
|
137
157
|
needsCacheClear = false;
|
|
138
158
|
}
|
|
139
159
|
(_globalThis___vxrnresetState = (_globalThis = globalThis)["__vxrnresetState"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);
|
|
@@ -325,6 +345,9 @@ function createFileSystemRouterPlugin(options) {
|
|
|
325
345
|
}
|
|
326
346
|
});
|
|
327
347
|
}
|
|
348
|
+
if (ssgCacheKey) {
|
|
349
|
+
ssgHtmlCache.set(ssgCacheKey, html);
|
|
350
|
+
}
|
|
328
351
|
return html;
|
|
329
352
|
} catch (err) {
|
|
330
353
|
if (isResponse(err)) {
|
|
@@ -475,6 +498,8 @@ ${stack}
|
|
|
475
498
|
function recreateRequestHandler(changedPath) {
|
|
476
499
|
try {
|
|
477
500
|
handleRequest = createRequestHandler();
|
|
501
|
+
ssgHtmlCache.clear();
|
|
502
|
+
needsCacheClear = true;
|
|
478
503
|
} catch (error) {
|
|
479
504
|
console.warn(`[one] Failed to rebuild routes after ${changedPath} changed.`, error);
|
|
480
505
|
}
|
|
@@ -555,6 +580,7 @@ ${stack}
|
|
|
555
580
|
routePaths: [...routePaths]
|
|
556
581
|
}
|
|
557
582
|
});
|
|
583
|
+
ssgHtmlCache.clear();
|
|
558
584
|
}
|
|
559
585
|
}, 100);
|
|
560
586
|
server.watcher.on("change", loaderDepChangeListener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","Readable","debounce","colors","createServerModuleRunner","normalizePath","getSpaHeaderElements","createHandleRequest","getPageExport","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","isRouteFileWatchEvent","trackLoaderDependencies","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","needsCacheClear","loaderFileDependencies","Map","LOADER_DEPS_MAX","setBoundedLoaderDep","filePath","routePath","deps","get","size","firstKey","keys","next","value","delete","Set","set","watcher","add","handleRequest","createRequestHandler","renderPromise","_options_router","routerRoot","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","mod","import","default","unused","parent2","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","serverContext","mode","promise","resolve","resolveRender","_globalThis___vxrnresetState","_globalThis","isGeneratedNotFound","routeFile","clearCache","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","done","dep","absoluteDep","err","return","result","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","render","isDynamicRoute","Object","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","status","headers","html","renderPath","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","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","recreateRequestHandler","changedPath","warn","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","routerRoot2","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","posix","optimizeDeps","entries","configureServer","serverIn","appDir","cwd","on","_event","file2","evaluatedModules","mods","getModulesByFile","fileWatcherChangeListener","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":["path","Readable","debounce","colors","createServerModuleRunner","normalizePath","getSpaHeaderElements","createHandleRequest","getPageExport","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","isRouteFileWatchEvent","trackLoaderDependencies","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","needsCacheClear","loaderFileDependencies","Map","LOADER_DEPS_MAX","setBoundedLoaderDep","filePath","routePath","deps","get","size","firstKey","keys","next","value","delete","Set","set","routeFile","watcher","add","handleRequest","createRequestHandler","renderPromise","ssgHtmlCache","getSsgHtmlCacheKey","route2","url2","file","pathname","search","_options_router","routerRoot","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","mod","import","default","unused","parent2","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","serverContext","mode","promise","resolve","resolveRender","_globalThis___vxrnresetState","_globalThis","isGeneratedNotFound","clearCache","clear","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","done","dep","absoluteDep","err","return","result","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","render","isDynamicRoute","Object","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","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","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","recreateRequestHandler","changedPath","warn","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","routerRoot2","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","posix","optimizeDeps","entries","configureServer","serverIn","appDir","cwd","on","_event","file2","evaluatedModules","mods","getModulesByFile","fileWatcherChangeListener","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":[]}
|
|
@@ -14,6 +14,7 @@ vi.mock("vite", async () => {
|
|
|
14
14
|
});
|
|
15
15
|
describe("createFileSystemRouterPlugin", () => {
|
|
16
16
|
const previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
17
|
+
const previousViteEnvironment = process.env.VITE_ENVIRONMENT;
|
|
17
18
|
let previousVxrnPluginConfig;
|
|
18
19
|
let tempRoot;
|
|
19
20
|
beforeEach(() => {
|
|
@@ -32,6 +33,11 @@ describe("createFileSystemRouterPlugin", () => {
|
|
|
32
33
|
} else {
|
|
33
34
|
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
34
35
|
}
|
|
36
|
+
if (previousViteEnvironment === void 0) {
|
|
37
|
+
delete process.env.VITE_ENVIRONMENT;
|
|
38
|
+
} else {
|
|
39
|
+
process.env.VITE_ENVIRONMENT = previousViteEnvironment;
|
|
40
|
+
}
|
|
35
41
|
if (previousVxrnPluginConfig === void 0) {
|
|
36
42
|
delete globalThis.__vxrnPluginConfig__;
|
|
37
43
|
} else {
|
|
@@ -84,5 +90,124 @@ describe("createFileSystemRouterPlugin", () => {
|
|
|
84
90
|
await expect(Promise.resolve(watcherListener("add", path.join(appDir, "new-route.tsx")))).resolves.toBeUndefined();
|
|
85
91
|
expect(warn).toHaveBeenCalledWith(expect.stringContaining("[one] Failed to rebuild routes"), expect.any(Error));
|
|
86
92
|
});
|
|
93
|
+
it("caches dev ssg html until the module runner is invalidated", async () => {
|
|
94
|
+
process.env.VITE_ENVIRONMENT = "ssr";
|
|
95
|
+
tempRoot = mkdtempSync(path.join(tmpdir(), "one-router-ssg-cache-"));
|
|
96
|
+
const appDir = path.join(tempRoot, "app");
|
|
97
|
+
const routeFile = path.join(appDir, "index+ssg.tsx");
|
|
98
|
+
writeFileSync(path.join(tempRoot, "package.json"), "{}\n");
|
|
99
|
+
mkdirSync(appDir);
|
|
100
|
+
writeFileSync(routeFile, "export default function Index() { return null }\n");
|
|
101
|
+
const {
|
|
102
|
+
createServerModuleRunner
|
|
103
|
+
} = await import("vite");
|
|
104
|
+
const {
|
|
105
|
+
createFileSystemRouterPlugin
|
|
106
|
+
} = await import("./fileSystemRouterPlugin.mjs");
|
|
107
|
+
const {
|
|
108
|
+
virtualEntryId
|
|
109
|
+
} = await import("./virtualEntryConstants.mjs");
|
|
110
|
+
let renderCount = 0;
|
|
111
|
+
const render = vi.fn(async () => `<html><body>${++renderCount}</body></html>`);
|
|
112
|
+
const runner = {
|
|
113
|
+
clearCache: vi.fn(),
|
|
114
|
+
import: vi.fn(async id => {
|
|
115
|
+
if (id === virtualEntryId) {
|
|
116
|
+
return {
|
|
117
|
+
default: {
|
|
118
|
+
render
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if (id === routeFile) {
|
|
123
|
+
return {
|
|
124
|
+
default: () => null
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {};
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
vi.mocked(createServerModuleRunner).mockReturnValue(runner);
|
|
131
|
+
const middlewareHandlers = [];
|
|
132
|
+
const watcherListeners = /* @__PURE__ */new Map();
|
|
133
|
+
const server = {
|
|
134
|
+
environments: {
|
|
135
|
+
ssr: {}
|
|
136
|
+
},
|
|
137
|
+
hot: {
|
|
138
|
+
send: vi.fn()
|
|
139
|
+
},
|
|
140
|
+
middlewares: {
|
|
141
|
+
use: vi.fn(handler => {
|
|
142
|
+
middlewareHandlers.push(handler);
|
|
143
|
+
})
|
|
144
|
+
},
|
|
145
|
+
watcher: {
|
|
146
|
+
add: vi.fn(),
|
|
147
|
+
addListener: vi.fn((event, listener) => {
|
|
148
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
149
|
+
}),
|
|
150
|
+
on: vi.fn((event, listener) => {
|
|
151
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
152
|
+
})
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const plugin = createFileSystemRouterPlugin({
|
|
156
|
+
router: {
|
|
157
|
+
root: appDir
|
|
158
|
+
},
|
|
159
|
+
server: {
|
|
160
|
+
loggingEnabled: false
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
const installMiddlewares = plugin.configureServer(server);
|
|
164
|
+
installMiddlewares();
|
|
165
|
+
const routeMiddleware = middlewareHandlers.at(-1);
|
|
166
|
+
if (!routeMiddleware) {
|
|
167
|
+
throw new Error("Expected route middleware to be registered");
|
|
168
|
+
}
|
|
169
|
+
const handleRouteRequest = routeMiddleware;
|
|
170
|
+
async function request(pathname) {
|
|
171
|
+
const chunks = [];
|
|
172
|
+
const req = {
|
|
173
|
+
originalUrl: pathname,
|
|
174
|
+
url: pathname,
|
|
175
|
+
headers: {
|
|
176
|
+
host: "localhost"
|
|
177
|
+
},
|
|
178
|
+
method: "GET"
|
|
179
|
+
};
|
|
180
|
+
const res = {
|
|
181
|
+
setHeader: vi.fn(),
|
|
182
|
+
appendHeader: vi.fn(),
|
|
183
|
+
writeHead: vi.fn(),
|
|
184
|
+
write: vi.fn(chunk => {
|
|
185
|
+
chunks.push(chunk);
|
|
186
|
+
}),
|
|
187
|
+
end: vi.fn()
|
|
188
|
+
};
|
|
189
|
+
const next = vi.fn(error => {
|
|
190
|
+
if (error) {
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
throw new Error("Expected One router middleware to handle request");
|
|
194
|
+
});
|
|
195
|
+
await handleRouteRequest(req, res, next);
|
|
196
|
+
expect(res.end).toHaveBeenCalled();
|
|
197
|
+
return chunks.join("");
|
|
198
|
+
}
|
|
199
|
+
await expect(request("/")).resolves.toContain("<body>1</body>");
|
|
200
|
+
await expect(request("/")).resolves.toContain("<body>1</body>");
|
|
201
|
+
expect(render).toHaveBeenCalledTimes(1);
|
|
202
|
+
const allListeners = watcherListeners.get("all") || [];
|
|
203
|
+
const invalidateRunner = allListeners[0];
|
|
204
|
+
if (!invalidateRunner) {
|
|
205
|
+
throw new Error("Expected runner invalidation listener to be registered");
|
|
206
|
+
}
|
|
207
|
+
invalidateRunner("change", routeFile);
|
|
208
|
+
await expect(request("/")).resolves.toContain("<body>2</body>");
|
|
209
|
+
expect(render).toHaveBeenCalledTimes(2);
|
|
210
|
+
expect(runner.clearCache).toHaveBeenCalledTimes(2);
|
|
211
|
+
});
|
|
87
212
|
});
|
|
88
213
|
//# sourceMappingURL=fileSystemRouterPlugin.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","writeFileSync","tmpdir","path","afterEach","beforeEach","describe","expect","it","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousVxrnPluginConfig","tempRoot","globalThis","__vxrnPluginConfig__","recursive","force","restoreAllMocks","join","appDir","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","toBeDefined","warn","spyOn","console","mockImplementation","Error","Promise","resolve","resolves","toBeUndefined","toHaveBeenCalledWith","stringContaining","any"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,WAAA,EAAaC,MAAA,EAAQC,aAAA,QAAqB;AAC9D,SAASC,MAAA,QAAc;AACvB,OAAOC,IAAA,MAAU;AACjB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAEhEA,EAAA,CAAGC,IAAA,CAAK,QAAQ,YAAY;EAC1B,MAAMC,MAAA,GAAS,MAAMF,EAAA,CAAGG,YAAA,CAAoC,MAAM;EAClE,OAAO;IACL,GAAGD,MAAA;IACHE,wBAAA,EAA0BJ,EAAA,CAAGK,EAAA,CAAG,OAAO;MACrCC,UAAA,EAAYN,EAAA,CAAGK,EAAA,CAAG;MAClBE,MAAA,EAAQP,EAAA,CAAGK,EAAA,CAAG;IAChB,EAAE;EACJ;AACF,CAAC;
|
|
1
|
+
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","writeFileSync","tmpdir","path","afterEach","beforeEach","describe","expect","it","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousViteEnvironment","VITE_ENVIRONMENT","previousVxrnPluginConfig","tempRoot","globalThis","__vxrnPluginConfig__","recursive","force","restoreAllMocks","join","appDir","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","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","toContain","toHaveBeenCalledTimes","allListeners","invalidateRunner"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ vi.mock("vite", async function () {
|
|
|
16
16
|
});
|
|
17
17
|
describe("createFileSystemRouterPlugin", function () {
|
|
18
18
|
var previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
19
|
+
var previousViteEnvironment = process.env.VITE_ENVIRONMENT;
|
|
19
20
|
var previousVxrnPluginConfig;
|
|
20
21
|
var tempRoot;
|
|
21
22
|
beforeEach(function () {
|
|
@@ -34,6 +35,11 @@ describe("createFileSystemRouterPlugin", function () {
|
|
|
34
35
|
} else {
|
|
35
36
|
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
36
37
|
}
|
|
38
|
+
if (previousViteEnvironment === void 0) {
|
|
39
|
+
delete process.env.VITE_ENVIRONMENT;
|
|
40
|
+
} else {
|
|
41
|
+
process.env.VITE_ENVIRONMENT = previousViteEnvironment;
|
|
42
|
+
}
|
|
37
43
|
if (previousVxrnPluginConfig === void 0) {
|
|
38
44
|
delete globalThis.__vxrnPluginConfig__;
|
|
39
45
|
} else {
|
|
@@ -86,5 +92,128 @@ describe("createFileSystemRouterPlugin", function () {
|
|
|
86
92
|
await expect(Promise.resolve(watcherListener("add", path.join(appDir, "new-route.tsx")))).resolves.toBeUndefined();
|
|
87
93
|
expect(warn).toHaveBeenCalledWith(expect.stringContaining("[one] Failed to rebuild routes"), expect.any(Error));
|
|
88
94
|
});
|
|
95
|
+
it("caches dev ssg html until the module runner is invalidated", async function () {
|
|
96
|
+
process.env.VITE_ENVIRONMENT = "ssr";
|
|
97
|
+
tempRoot = mkdtempSync(path.join(tmpdir(), "one-router-ssg-cache-"));
|
|
98
|
+
var appDir = path.join(tempRoot, "app");
|
|
99
|
+
var routeFile = path.join(appDir, "index+ssg.tsx");
|
|
100
|
+
writeFileSync(path.join(tempRoot, "package.json"), "{}\n");
|
|
101
|
+
mkdirSync(appDir);
|
|
102
|
+
writeFileSync(routeFile, "export default function Index() { return null }\n");
|
|
103
|
+
var {
|
|
104
|
+
createServerModuleRunner
|
|
105
|
+
} = await import("vite");
|
|
106
|
+
var {
|
|
107
|
+
createFileSystemRouterPlugin
|
|
108
|
+
} = await import("./fileSystemRouterPlugin.native.js");
|
|
109
|
+
var {
|
|
110
|
+
virtualEntryId
|
|
111
|
+
} = await import("./virtualEntryConstants.native.js");
|
|
112
|
+
var renderCount = 0;
|
|
113
|
+
var render = vi.fn(async function () {
|
|
114
|
+
return `<html><body>${++renderCount}</body></html>`;
|
|
115
|
+
});
|
|
116
|
+
var runner = {
|
|
117
|
+
clearCache: vi.fn(),
|
|
118
|
+
import: vi.fn(async function (id) {
|
|
119
|
+
if (id === virtualEntryId) {
|
|
120
|
+
return {
|
|
121
|
+
default: {
|
|
122
|
+
render
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
if (id === routeFile) {
|
|
127
|
+
return {
|
|
128
|
+
default: function _default() {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return {};
|
|
134
|
+
})
|
|
135
|
+
};
|
|
136
|
+
vi.mocked(createServerModuleRunner).mockReturnValue(runner);
|
|
137
|
+
var middlewareHandlers = [];
|
|
138
|
+
var watcherListeners = /* @__PURE__ */new Map();
|
|
139
|
+
var server = {
|
|
140
|
+
environments: {
|
|
141
|
+
ssr: {}
|
|
142
|
+
},
|
|
143
|
+
hot: {
|
|
144
|
+
send: vi.fn()
|
|
145
|
+
},
|
|
146
|
+
middlewares: {
|
|
147
|
+
use: vi.fn(function (handler) {
|
|
148
|
+
middlewareHandlers.push(handler);
|
|
149
|
+
})
|
|
150
|
+
},
|
|
151
|
+
watcher: {
|
|
152
|
+
add: vi.fn(),
|
|
153
|
+
addListener: vi.fn(function (event, listener) {
|
|
154
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
155
|
+
}),
|
|
156
|
+
on: vi.fn(function (event, listener) {
|
|
157
|
+
watcherListeners.set(event, [...(watcherListeners.get(event) || []), listener]);
|
|
158
|
+
})
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
var plugin = createFileSystemRouterPlugin({
|
|
162
|
+
router: {
|
|
163
|
+
root: appDir
|
|
164
|
+
},
|
|
165
|
+
server: {
|
|
166
|
+
loggingEnabled: false
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
var installMiddlewares = plugin.configureServer(server);
|
|
170
|
+
installMiddlewares();
|
|
171
|
+
var routeMiddleware = middlewareHandlers.at(-1);
|
|
172
|
+
if (!routeMiddleware) {
|
|
173
|
+
throw new Error("Expected route middleware to be registered");
|
|
174
|
+
}
|
|
175
|
+
var handleRouteRequest = routeMiddleware;
|
|
176
|
+
async function request(pathname) {
|
|
177
|
+
var chunks = [];
|
|
178
|
+
var req = {
|
|
179
|
+
originalUrl: pathname,
|
|
180
|
+
url: pathname,
|
|
181
|
+
headers: {
|
|
182
|
+
host: "localhost"
|
|
183
|
+
},
|
|
184
|
+
method: "GET"
|
|
185
|
+
};
|
|
186
|
+
var res = {
|
|
187
|
+
setHeader: vi.fn(),
|
|
188
|
+
appendHeader: vi.fn(),
|
|
189
|
+
writeHead: vi.fn(),
|
|
190
|
+
write: vi.fn(function (chunk) {
|
|
191
|
+
chunks.push(chunk);
|
|
192
|
+
}),
|
|
193
|
+
end: vi.fn()
|
|
194
|
+
};
|
|
195
|
+
var next = vi.fn(function (error) {
|
|
196
|
+
if (error) {
|
|
197
|
+
throw error;
|
|
198
|
+
}
|
|
199
|
+
throw new Error("Expected One router middleware to handle request");
|
|
200
|
+
});
|
|
201
|
+
await handleRouteRequest(req, res, next);
|
|
202
|
+
expect(res.end).toHaveBeenCalled();
|
|
203
|
+
return chunks.join("");
|
|
204
|
+
}
|
|
205
|
+
await expect(request("/")).resolves.toContain("<body>1</body>");
|
|
206
|
+
await expect(request("/")).resolves.toContain("<body>1</body>");
|
|
207
|
+
expect(render).toHaveBeenCalledTimes(1);
|
|
208
|
+
var allListeners = watcherListeners.get("all") || [];
|
|
209
|
+
var invalidateRunner = allListeners[0];
|
|
210
|
+
if (!invalidateRunner) {
|
|
211
|
+
throw new Error("Expected runner invalidation listener to be registered");
|
|
212
|
+
}
|
|
213
|
+
invalidateRunner("change", routeFile);
|
|
214
|
+
await expect(request("/")).resolves.toContain("<body>2</body>");
|
|
215
|
+
expect(render).toHaveBeenCalledTimes(2);
|
|
216
|
+
expect(runner.clearCache).toHaveBeenCalledTimes(2);
|
|
217
|
+
});
|
|
89
218
|
});
|
|
90
219
|
//# sourceMappingURL=fileSystemRouterPlugin.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","writeFileSync","tmpdir","path","afterEach","beforeEach","describe","expect","it","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousVxrnPluginConfig","tempRoot","globalThis","__vxrnPluginConfig__","recursive","force","restoreAllMocks","join","appDir","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","toBeDefined","warn","spyOn","console","mockImplementation","Error","Promise","resolve","resolves","toBeUndefined","toHaveBeenCalledWith","stringContaining","any"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,WAAA,EAAaC,MAAA,EAAQC,aAAA,QAAqB;AAC9D,SAASC,MAAA,QAAc;AACvB,OAAOC,IAAA,MAAU;AACjB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAEhEA,EAAA,CAAGC,IAAA,CAAK,QAAQ,kBAAY;EAC1B,IAAAC,MAAM,SAASF,EAAM,CAAAG,YAAG,OAAoC;EAC5D,OAAO;IACL,GAAGD,MAAA;IACHE,wBAAA,EAA0BJ,EAAA,CAAGK,EAAA,CAAG,YAAO;MACrC;QACAC,UAAW,EAAGN,EAAA,CAAAK,EAAA;QACdE,MAAA,EAAAP,EAAA,CAAAK,EAAA;MACJ;IACD;
|
|
1
|
+
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","writeFileSync","tmpdir","path","afterEach","beforeEach","describe","expect","it","vi","mock","actual","importActual","createServerModuleRunner","fn","clearCache","import","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousViteEnvironment","VITE_ENVIRONMENT","previousVxrnPluginConfig","tempRoot","globalThis","__vxrnPluginConfig__","recursive","force","restoreAllMocks","join","appDir","web","defaultRenderMode","createFileSystemRouterPlugin","plugin","router","root","watcherListener","server","environments","ssr","watcher","addListener","event","listener","on","configureServer","toBeDefined","warn","spyOn","console","mockImplementation","Error","Promise","resolve","resolves","toBeUndefined","toHaveBeenCalledWith","stringContaining","any","routeFile","virtualEntryId","renderCount","render","runner","id","default","_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","toContain"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.5",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -186,18 +186,18 @@
|
|
|
186
186
|
"@cloudflare/vite-plugin": "^1.33.1",
|
|
187
187
|
"@swc/core": "^1.14.0",
|
|
188
188
|
"@ungap/structured-clone": "^1.2.0",
|
|
189
|
-
"@vxrn/color-scheme": "1.19.
|
|
190
|
-
"@vxrn/compiler": "1.19.
|
|
191
|
-
"@vxrn/resolve": "1.19.
|
|
192
|
-
"@vxrn/tslib-lite": "1.19.
|
|
193
|
-
"@vxrn/use-isomorphic-layout-effect": "1.19.
|
|
194
|
-
"@vxrn/vite-plugin-metro": "1.19.
|
|
189
|
+
"@vxrn/color-scheme": "1.19.5",
|
|
190
|
+
"@vxrn/compiler": "1.19.5",
|
|
191
|
+
"@vxrn/resolve": "1.19.5",
|
|
192
|
+
"@vxrn/tslib-lite": "1.19.5",
|
|
193
|
+
"@vxrn/use-isomorphic-layout-effect": "1.19.5",
|
|
194
|
+
"@vxrn/vite-plugin-metro": "1.19.5",
|
|
195
195
|
"babel-dead-code-elimination": "1.0.10",
|
|
196
196
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
197
197
|
"babel-preset-expo": "~55.0.0",
|
|
198
198
|
"citty": "^0.1.6",
|
|
199
199
|
"core-js": "^3.38.1",
|
|
200
|
-
"create-vxrn": "1.19.
|
|
200
|
+
"create-vxrn": "1.19.5",
|
|
201
201
|
"escape-string-regexp": "^5.0.0",
|
|
202
202
|
"expo-linking": "~55.0.7",
|
|
203
203
|
"expo-modules-core": "~55.0.16",
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"tsconfig-paths": "^4",
|
|
218
218
|
"use-latest-callback": "^0.2.3",
|
|
219
219
|
"vite": "^8.0.13",
|
|
220
|
-
"vxrn": "1.19.
|
|
220
|
+
"vxrn": "1.19.5",
|
|
221
221
|
"ws": "^8.21.0",
|
|
222
222
|
"xxhashjs": "^0.2.2"
|
|
223
223
|
},
|
package/src/hooks.tsx
CHANGED
|
@@ -3,6 +3,10 @@ import type { OneRouter } from './interfaces/router'
|
|
|
3
3
|
import { router } from './router/imperative-api'
|
|
4
4
|
import { RouteParamsContext, useRouteNode } from './router/Route'
|
|
5
5
|
import { mergeDynamicParams } from './router/params'
|
|
6
|
+
import {
|
|
7
|
+
getPathnameWithRecoveredDynamicSegment,
|
|
8
|
+
normalizeRoutePathname,
|
|
9
|
+
} from './router/path'
|
|
6
10
|
import { RouteInfoContext } from './router/RouteInfoContext'
|
|
7
11
|
import { navigationRef, useStoreRootState, useStoreRouteInfo } from './router/router'
|
|
8
12
|
import { getServerContext } from './vite/one-server-only'
|
|
@@ -121,22 +125,18 @@ export function useSegments<TSegments extends string[] = string[]>(): TSegments
|
|
|
121
125
|
export function usePathname(): string {
|
|
122
126
|
const routeInfoPathname = useRouteInfo().pathname
|
|
123
127
|
if (import.meta.env.SSR) {
|
|
124
|
-
// on server, prefer path from per-request async local storage
|
|
125
|
-
//
|
|
128
|
+
// on server, prefer path from per-request async local storage to avoid
|
|
129
|
+
// stale module-level routeInfo between SSR renders
|
|
126
130
|
try {
|
|
127
131
|
const ctx = getServerContext()
|
|
128
132
|
if (ctx?.loaderProps?.path) {
|
|
129
|
-
return
|
|
133
|
+
return normalizeRoutePathname(ctx.loaderProps.path)
|
|
130
134
|
}
|
|
131
135
|
} catch {
|
|
132
|
-
// no
|
|
136
|
+
// no als context available, fall through
|
|
133
137
|
}
|
|
134
138
|
}
|
|
135
|
-
return
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function stripTrailingSlash(path: string): string {
|
|
139
|
-
return path.length > 1 && path.endsWith('/') ? path.slice(0, -1) : path
|
|
139
|
+
return getPathnameWithRecoveredDynamicSegment(routeInfoPathname)
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
package/src/router/Route.tsx
CHANGED
|
@@ -7,6 +7,7 @@ import type { ParamValidator, RouteValidationFn } from '../validateParams'
|
|
|
7
7
|
import { getResolvedLinking } from './linkingConfig'
|
|
8
8
|
import { getContextKey } from './matchers'
|
|
9
9
|
import { mergeDynamicParams } from './params'
|
|
10
|
+
import { getPathWithRecoveredDynamicSegment } from './path'
|
|
10
11
|
import { routeInfo } from './router'
|
|
11
12
|
import { RouteInfoContextProvider } from './RouteInfoContext'
|
|
12
13
|
|
|
@@ -155,12 +156,10 @@ function getParamsFromCurrentUrl(route?: {
|
|
|
155
156
|
}): Record<string, any> | undefined {
|
|
156
157
|
const linking = getResolvedLinking()
|
|
157
158
|
if (!linking?.getStateFromPath) return undefined
|
|
158
|
-
const path =
|
|
159
|
-
routeInfo?.unstable_globalHref
|
|
160
|
-
route?.path
|
|
161
|
-
|
|
162
|
-
? window.location.pathname + window.location.search
|
|
163
|
-
: undefined)
|
|
159
|
+
const path = getPathWithRecoveredDynamicSegment([
|
|
160
|
+
routeInfo?.unstable_globalHref,
|
|
161
|
+
route?.path,
|
|
162
|
+
])
|
|
164
163
|
if (!path) return undefined
|
|
165
164
|
const state = linking.getStateFromPath(path, linking.config)
|
|
166
165
|
if (!state) return undefined
|