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.
Files changed (66) hide show
  1. package/dist/cjs/hooks.cjs +3 -5
  2. package/dist/cjs/hooks.native.js +3 -5
  3. package/dist/cjs/hooks.native.js.map +1 -1
  4. package/dist/cjs/router/Route.cjs +2 -1
  5. package/dist/cjs/router/Route.native.js +2 -1
  6. package/dist/cjs/router/Route.native.js.map +1 -1
  7. package/dist/cjs/router/path.cjs +73 -0
  8. package/dist/cjs/router/path.native.js +98 -0
  9. package/dist/cjs/router/path.native.js.map +1 -0
  10. package/dist/cjs/router/path.test.cjs +62 -0
  11. package/dist/cjs/router/path.test.native.js +65 -0
  12. package/dist/cjs/router/path.test.native.js.map +1 -0
  13. package/dist/cjs/router/router.cjs +7 -12
  14. package/dist/cjs/router/router.native.js +7 -12
  15. package/dist/cjs/router/router.native.js.map +1 -1
  16. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +26 -0
  17. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +26 -0
  18. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  19. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +125 -0
  20. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +129 -0
  21. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  22. package/dist/esm/hooks.mjs +3 -5
  23. package/dist/esm/hooks.mjs.map +1 -1
  24. package/dist/esm/hooks.native.js +3 -5
  25. package/dist/esm/hooks.native.js.map +1 -1
  26. package/dist/esm/router/Route.mjs +2 -1
  27. package/dist/esm/router/Route.mjs.map +1 -1
  28. package/dist/esm/router/Route.native.js +2 -1
  29. package/dist/esm/router/Route.native.js.map +1 -1
  30. package/dist/esm/router/path.mjs +42 -0
  31. package/dist/esm/router/path.mjs.map +1 -0
  32. package/dist/esm/router/path.native.js +64 -0
  33. package/dist/esm/router/path.native.js.map +1 -0
  34. package/dist/esm/router/path.test.mjs +63 -0
  35. package/dist/esm/router/path.test.mjs.map +1 -0
  36. package/dist/esm/router/path.test.native.js +63 -0
  37. package/dist/esm/router/path.test.native.js.map +1 -0
  38. package/dist/esm/router/router.mjs +4 -10
  39. package/dist/esm/router/router.mjs.map +1 -1
  40. package/dist/esm/router/router.native.js +4 -10
  41. package/dist/esm/router/router.native.js.map +1 -1
  42. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +26 -0
  43. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  44. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +26 -0
  45. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  46. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +125 -0
  47. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -1
  48. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +129 -0
  49. package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  50. package/package.json +9 -9
  51. package/src/hooks.tsx +9 -9
  52. package/src/router/Route.tsx +5 -6
  53. package/src/router/path.test.ts +95 -0
  54. package/src/router/path.ts +69 -0
  55. package/src/router/router.ts +5 -20
  56. package/src/vite/plugins/fileSystemRouterPlugin.test.ts +133 -0
  57. package/src/vite/plugins/fileSystemRouterPlugin.tsx +29 -1
  58. package/types/hooks.d.ts.map +1 -1
  59. package/types/router/Route.d.ts.map +1 -1
  60. package/types/router/path.d.ts +8 -0
  61. package/types/router/path.d.ts.map +1 -0
  62. package/types/router/path.test.d.ts +2 -0
  63. package/types/router/path.test.d.ts.map +1 -0
  64. package/types/router/router.d.ts +1 -1
  65. package/types/router/router.d.ts.map +1 -1
  66. 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":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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":"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;EAUD;AACE;AACAR,QAAM,+BAA0B,cAAY;EAC5C,IAAIW,iBAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,WAAA;EACJ,IAAIC,uBAAA,GAAAH,OAAA,CAAAC,GAAA,CAAAG,gBAAA;EAEJ,IAAAC,wBAAiB;EACf,IAAAC,QAAA;EACFnB,UAAC;IAEDkB,wBAAgB,GAAAE,UAAA,CAAAC,oBAAA;EACd;EACEtB,SAAA,aAAiB;IACjB,IAAAoB,QAAA,EAAW;MACbxB,MAAA,CAAAwB,QAAA;QAEIG,SAAA;QACFC,KAAO;MACT;MACEJ,QAAQ,QAAI;IACd;IACA,IAAIP,iBAAA,WAA4B;MAC9B,OAAOC,OAAA,CAAQC,GAAA,CAAIC,WAAA;IACrB,OAAO;MACLF,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAAH,iBAAmB;IACjC;IAEA,IAAII,uBAAA,UAA6B;MAC/B,OAAQH,OAAA,CAAAC,GAAmB,CAAAG,gBAAA;IAC7B,OAAO;MACLJ,OAAA,CAAAC,GAAA,CAAAG,gBAAA,GAAAD,uBAAA;IAAC;IACH,IAAAE,wBAAA;MACA,OAAGE,UAAgB,CAAAC,oBAAA;IACpB;MAEE;MACDD,UAAY,CAAAC,oBAAc,GAAAH,wBAAA;IAC1B;IACAd,EAAA,CAAAoB,eAAe,EAAK;EACpB;EACArB,EAAA,6CAAgB;IAChBU,OAAA,CAAAC,GAAA,CAAAC,WAAA;IAAAI,QACO,GAAAzB,WAAa,CAAAI,IAAA,CAAA2B,IAAW,CAAA5B,MAAA;IAAA,IAC7B6B,MAAA,GAAA5B,IAAA,CAAA2B,IAAA,CAAAN,QAAA;IACFvB,aAAA,CAAAE,IAAA,CAAA2B,IAAA,CAAAN,QAAA;IAEE1B,SAAA,CAAAiC,MAAmB;IAAuB9B,aACrC,CAAAE,IAAA,CAAA2B,IAAA,CAAAC,MAAA;IAAAN,UACH,CAAAC,oBAAmB;MACrBM,GAAA;QACFC,iBAAA;MAEA;IACA;IAA4C,IAC1C;MAAAC;IAAQ;IAAA,IACNC,MAAM,GAAAD,4BAAA;MACRE,MAAA;QACDC,IAAA,EAAAN;MAED;IAGA;IAAe,IACbO,eAAc;IAAA,IACZC,MAAM;MACRC,YAAA;QACAC,GAAA;MAAS;MAELC,OAAA,EAAI;QACFC,WAAA,EAAAlC,EAAA,CAAAK,EAAA,WAAkB8B,KAAA,EAAAC,QAAA;UACpB,IAAAD,KAAA;YACDN,eAAA,GAAAO,QAAA;UACD;QACF;QACFC,EAAA,EAAArC,EAAA,CAAAK,EAAA;MAEE;IACF;IAEAqB,MAAM,CAAAY,eAAgB,CAAAR,MAAA;IAA2ChC,MAAC,CAAA+B,eAAA,EAAAU,WAAA;IAClE,IAAAC,IAAQ,GAAAxC,EAAA,CAAAyC,KAAmB,CAAAC,OAAA,UAAAC,kBAAA,cAE3B;IACE,OAAA3B,UAAU,CAAMC,oBAAA;IAClB,KAAAY,eAAA;MAEA,MAAM,IAAAe,KAAA;IAAA;IAEN,MAAE9C,MAAS,CAAA+C,OAAA,CAAAC,OAAc,CAAAjB,eAAA,QAAAnC,IAAA,CAAA2B,IAAA,CAAAC,MAAA,sBAAAyB,QAAA,CAAAC,aAAA;IAEzBlD,MAAA,CAAO0C,IAAI,EAAES,oBAAA,CAAAnD,MAAA,CAAAoD,gBAAA,oCAAApD,MAAA,CAAAqD,GAAA,CAAAP,KAAA;EAAA;EAC6C7C,EAAA,6DACxC;IAClBU,OAAA,CAAAC,GAAA,CAAAG,gBAAA;IACDE,QAAA,GAAAzB,WAAA,CAAAI,IAAA,CAAA2B,IAAA,CAAA5B,MAAA;IAED,IAAG6B,MAAA,GAAA5B,IAAA,CAAA2B,IAAA,CAAAN,QAAA;IACD,IAAAqC,SAAY,GAAA1D,IAAA,CAAA2B,IAAA,CAAAC,MAAmB;IAC/B9B,aAAW,CAAAE,IAAA,CAAA2B,IAAY,CAAAN,QAAK,EAAK,cAAU;IAC3C1B,SAAM,CAAAiC,MAAS;IACf9B,aAAM,CAAA4D,SAAiB,qDAA4B;IACnD;MAAAhD;IAAwB,IAAU,aAAc,MAAG;IACnD;MAAAqB;IAAgB;IAChB;MAAA4B;IAAc,IAAW;IAEzB,IAAAC,WAAQ;IACR,IAAAC,MAAQ,GAAAvD,EAAA,CAAAK,EAAA;MACR,OAAQ,eAAe,EAAAiD,WAAU,gBAAO;IAExC;IACA,IAAAE,MAAM;MACNlD,UAAM,EAAAN,EAAS,CAAAK,EAAA;MACbE,MAAA,EAAAP,EAAA,CAAAK,EAAY,iBAAMoD,EAAA;QAClB,IAAAA,EAAQ,KAAGJ,cAAU,EAAe;UAClC,OAAI;YACFK,OAAS;cACXH;YACI;UACF;QACF;QACA,IAAAE,EAAA,KAAQL,SAAA;UACT;YACHM,OAAA,WAAAC,SAAA;cACU;YAEJ;UACA;QACN;QACE;MAAc;IACN;IACR3D,EACA,CAAA4D,MAAK,CAAAxD,wBAAA,EAAAyD,eAAA,CAAAL,MAAA;IAAA,IACHM,kBAAY;IAAA,IACdC,gBAAA,sBAAAC,GAAA;IAAA,IACAlC,MAAA;MAAaC,YACH,EAAI;QACVC,GAAA;MAA+B;MAEnCiC,GAAA;QACAC,IAAA,EAAAlE,EAAS,CAAAK,EAAA;MAAA;MACI8D,WACX;QACEC,GAAA,EAAApE,EAAA,CAAAK,EAAA,WAAiBgE,OAAI;UACtBP,kBAAA,CAAAQ,IAAA,CAAAD,OAAA;QACD;MACE;MAA8EpC,OAC/E;QACHsC,GAAA,EAAAvE,EAAA,CAAAK,EAAA;QACF6B,WAAA,EAAAlC,EAAA,CAAAK,EAAA,WAAA8B,KAAA,EAAAC,QAAA;UAEM2B,gBAAS,CAAAS,GAAA,CAAArC,KAAA,GACb,IAAQ4B,gBAAA,CAAAU,GAAA,CAAAtC,KAAA,UACNC,QAAM,CACR;QACA;QACEC,EAAA,EAAArC,EAAA,CAAAK,EAAA,WAAgB8B,KAAA,EAAAC,QAAA;UAClB2B,gBAAA,CAAAS,GAAA,CAAArC,KAAA,GACD,IAAA4B,gBAAA,CAAAU,GAAA,CAAAtC,KAAA,UAEKC,QAAA,CACN;QAEA;MACA;IACE;IACF,IAAAV,MAAA,GAAAD,4BAAA;MACAE,MAAM;QAENC,IAAA,EAAAN;MACE;MACAQ,MAAM;QACJ4C,cAAa;MAAA;IACR;IACI,IAAAC,kBACD,GAAAjD,MAAA,CAAAY,eAAA,CAAAR,MAAA;IAAA6C,kBACR;IAAA,IACAC,eAAQ,GAAAd,kBAAA,CAAAe,EAAA;IAAA,IACV,CAAAD,eAAA;MACA,MAAM,IAAAhC,KAAM;IAAA;IACO,IACjBkC,kBAAiB,GAAGF,eAAA;IAAA,eACTG,OAAMA,CAAAC,QAAA;MAAA,IACjBC,MAAO,GAAG,EAAG;MACX,IAAAC,GAAA;QACFC,WAAC,EAAAH,QAAA;QACDI,GAAA,EAAKJ,QAAM;QACbK,OAAA;UACAC,IAAM;QACJ;QACEC,MAAA,EAAM;MAAA;MAER,IAAAC,GAAA,GAAM;QACPC,SAAA,EAAAzF,EAAA,CAAAK,EAAA;QAEDqF,YAAM,EAAA1F,EAAA,CAAAK,EAAA;QACNsF,SAAW,EAAA3F,EAAG,CAAEK,EAAA;QAChBuF,KAAO,EAAA5F,EAAA,CAAAK,EAAO,WAAOwF,KAAA;UACvBZ,MAAA,CAAAX,IAAA,CAAAuB,KAAA;QAEA,EAAM;QACNC,GAAM,EAAA9F,EAAA,CAAAK,EAAO;MACb;MAEA,IAAM0F,IAAA,GAAA/F,EAAA,CAAAK,EAAA,WAAe2F,KAAA;QACrB,IAAMA,KAAA;UACD,MAAAA,KAAA;QACH;QACF,UAAApD,KAAA;MACA;MAEA,MAAMkC,kBAAmB,CAAEI,GAAA,EAAAM,GAAA,EAASO,IAAA;MACpCjG,MAAO,CAAA0F,GAAA,CAAMM,GAAE,EAAAG,gBAAA;MACf,OAAOhB,MAAO,CAAA5D,IAAA,IAAU;IACzB;IACF,MAAAvB,MAAA,CAAAiF,OAAA,OAAAhC,QAAA,CAAAmD,SAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.19.3",
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.3",
190
- "@vxrn/compiler": "1.19.3",
191
- "@vxrn/resolve": "1.19.3",
192
- "@vxrn/tslib-lite": "1.19.3",
193
- "@vxrn/use-isomorphic-layout-effect": "1.19.3",
194
- "@vxrn/vite-plugin-metro": "1.19.3",
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.3",
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.3",
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
- // to avoid stale module-level routeInfo between SSR renders
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 stripTrailingSlash(ctx.loaderProps.path)
133
+ return normalizeRoutePathname(ctx.loaderProps.path)
130
134
  }
131
135
  } catch {
132
- // no ALS context available, fall through
136
+ // no als context available, fall through
133
137
  }
134
138
  }
135
- return stripTrailingSlash(routeInfoPathname)
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
  /**
@@ -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
- (typeof window !== 'undefined' && window.location
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