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.
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,4BAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAiB,CAAAK,8BAAA;AACjB,IAAAK,WAAA,GAAAC,OAAyB,CAAAC,OAAA;AACzB,IAAAC,aAAA,GAAAD,OAAA,SAAyB;AACzB,IAAAE,uBAAmB,GAAAF,OAAA;AAEnB,IAAAG,iBAAwD,GAAAJ,OAAA,CAAAC,OAAA;AAExD,IAAAI,WAAA,GAAAJ,OAAqC;AACrC,IAAAK,gBAAA,GAAAL,OAAA,4BAAoC;AAGpC,IAAAM,0BAA8B,GAAAN,OAAA;AAC9B,IAAAO,oBAAA,GAAAP,OAAA,sCAA4C;AAC5C,IAAAQ,kCAA2B,GAAAR,OAAA;AAC3B,IAAAS,iBAAA,GAAiCT,OAAA;AACjC,IAAAU,eAAA,GAAAV,OAAA,iCAAqC;AACrC,IAAAW,2BAAsC,GAAAX,OAAA;AACtC,IAAAY,qBAAA,GAAAZ,OAAA,uCAAwC;AACxC,IAAAa,8BAA8B,GAAAb,OAAA;AAE9B,IAAAc,oBAAA,GAAAd,OAAiC;AACjC,IAAAe,sBAAA,GAAAf,OAAoD;AAEpD,IAAAgB,4BAAgC,GAAAhB,OAAA;AAChC,SAAMiB,YAAAC,IAAkB,EAAAC,KAAQ;EAEhC,2BAA+D;;EAC7D,IAAAA,KAAK,mBAAAC,MAAO,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACZ,OAAK,EAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAO,EAAAH,IAAA;EACZ,OAAK;IACL,OAAKA,IAAA,YAAAC,KAAA;EACP;AAGA;AAA6B,SAAAG,SAAAC,GAAA;EAEtB,uBAAS;;EACd,OAAMA,GAAA,WAAYH,MAAA,gBAAiB,IAAAG,GAAA,CAAAC,WAAA,KAAAJ,MAAA,WAAmB,UAAAG,GAAA;AAEtD;AACA,IAAAE,WAAI,GAAAC,OAAA,CAAAC,GAAA,CAAAC,gBAAA;AAOJ,IAAAC,eAAI,GAAAH,OAAkB,CAAAC,GAAA,CAAAG,qBAAA;AAOtB,IAAAC,eAAM;EACNC,GAAA,EAAA7B,iBAAM,CAAA8B,OAAkB,CAAAC,KAAA;EAExBC,GAAA,EAAAhC,iBAAS,CAAA8B,OAAoB,CAAAG,IAAA;EAC3BC,GAAA,EAAAlC,iBAAW,CAAA8B,OAAA,CAAAK,MAAuB;EAClCC,GAAA,EAAApC,iBAAW,CAAA8B,OAAA,CAAAO;AACT;AACE,IAAAC,cAAM,QAAW;AACjB;AACE,SAAA9C,4BAAuBA,CAAA+C,OAAO;EAAkB,IAAAC,QAClD,mBACF,EACA3B,4BAAO,CAAI4B,mBAAI,CACf;EACA,IAAAC,MAAA;EAA4B,IAC9BC,MAAA;EACA,IAAAC,eAAS,GAAS;EACpB,IAAAC,sBAAA,sBAAAC,GAAA;EAEA,IAAIC,eAAA,GAAgB;EAEpB,SAAIC,mBAAsCA,CAAAC,QAAA,EAAAC,SAAA;IAE1C,IAAAC,IAAS,GAAAN,sBAAuB,CAAAO,GAAA,CAAAH,QAAA;IAC9B,KAAAE,IAAM;MAGN,IAAAN,sBAAe,CAAAQ,IAAA,IAAAN,eAA4D;QACzE,IAAMO,QAAA,GAAWC,sBAAkB,CAAAC,IAAA,GAAAC,IAAc,GAAApE,KAAA;QACjD,IAAIiE,QAAA,KAAY;UAChBT,sBAAa,CAAAa,MAAA,CAAAJ,QAAA;QACX;MACE;MACAH,IAAA,kBAAI,IAAAQ,GAAA;MACFd,sBAAY,CAAAe,GAAM,CAAAX,QAAO,EAAAE,IAAO;MAChCR,MAAA,KAAI,IAAK,IAAAA,MAAS,uBAAAA,MAAA,CAAAkB,OAAA,CAAAC,GAAA,CAAAb,QAAA;IAChB;IAAgDE,IAAA,CAAAW,GAClD,CAAAZ,SAAA;EAAA;EACM,IAAAa,aAER,GAAAC,oBAAA;EAAA,IAAAC,aACF;EACA,SAAAD,oBAAgBA,CAAA;IAChB,IAAAE,eAAe;IACf,IAAAC,UAAI,KAAW,EAAA9D,kCAAW,CAAA+D,2BAAA,EAAA7B,OAAA;IACxB,eAAA8B,uBAAYA,CAAAC,UAAA;MAAA,IACdC,SAAO,GAAAD,UAAA,CAAAE,OAAA;MACL,IAAAC,UAAA,GAAYF,SAAA;MAAA,OACd;QACF,SAAAG,GAAA,MAAAC,MAAA,IACA,MAAO,EACT,OAEA,MAAO,EACL,MACE,EAAAD,GAAM,GAAAC,MAAA,CAAAC,MAAa,EAAAF,GAAO,IAAK;UAC7B,IAAIG,IAAA,GAAAF,MAAQ,CAAAD,GAAQ;UAClB,IAAAI,UAAM,GAAAnF,WAAY,CAAAmC,OAAgB,CAAAiD,IAAA,CAAMZ,UAAS,EAAAM,UAAA,eAAOI,IAAA;UACxD;YAEA,IAAA3F,GAAM,SAAOwD,MAAM,CAAAsC,MAAA,CAAAF,UACf;YAEJ,IAAA5F,GAAA,KAAQ,QAAAA,GAAA,uBAAAA,GAAA,CAAA4C,OAAA;cACN,OAAA2C,UAAO,OAAUA,UAAU,aAAY,gBAAY;YACrD;UACF,SAAAQ,MAAA,GAGA;QACA;QAEU,IACN,CAACR,UAAA,EACC;QAAiE,IACrES,OAAA,GAAAT,UAAA,CAAAD,OAAA;QAEF,IAAAU,OAAI,KAAMT,UAAS;UAEjBA,UAAO;QAAA;UACmDA,UAAA,GAAAS,OAAA;QAAA;MAAA;MAAA;IAAA;IAO5D,WAAI/E,0BAAe,CAAAgF,mBAAA;MACjB,MAAAC,UAAMA,CAAAC,KAAA;QAAA,IACR;UAAAC,KAAA;UAAAC,GAAA;UAAAC;QAAA,IAAAH,KAAA;QAEA,IAAAI,eAAiB;QACjB,MAAAA,eAAgB,GAAAlD,OAAA,CAAAI,MAAA,cAAA8C,eAAA,uBAAAA,eAAA,CAAAC,cAAA;UAEhB,IAAIC,SAAA,GAAA/D,eAAA,CAAA0D,KAAA,CAAAM,IAAA,KAAA5F,iBAAA,CAAA8B,OAAA,CAAA+D,KAAA;UAKF,IAAAC,QAAM,UAAAP,GAAA,KAAsB,QAAM,OAASQ,GAAA,CAAAR,GAAA,EAAAO,QAAA,GAAAP,GAAA,CAAAO,QAAA;UAC3C,IAAAE,IAAM,GAAAV,KAAA,CAAAW,UAAY,GAAAjG,iBAA2B,CAAA8B,OAAA,CAAAoE,GAAA,UAAAlG,iBAAU,CAAA8B,OAAY,CAAMqE,GAAA,CAAI,OAAAb,KAAA,CAAAU,IAAA,CAAAI,KAAA;UAC7EC,OAAI,CAAAC,IAAA,aAAiBX,SAAA,KAAAL,KAAA,CAAAM,IAAA,QAAAE,QAAA,IAAA9F,iBAAA,CAAA8B,OAAA,CAAAqE,GAAA,cAAAH,IAAA;QACnB;QACA,IAAAO,OAAA,GAAAjB,KAAA,CAAAiB,OAAkB;QAAA,IACpBC,UAAA,GAAAlB,KAAA,CAAAM,IAAA,cAAAW,OAAA,CAAAE,IAAA,WAAAC,MAAA;UAEA,OAAAA,MAAW,CAAAC,gBAAA,KAAsB,SAAAD,MAAA,CAAAC,gBAAA;QAEjC;QAGA,IAAArB,KAAA,CAAAM,IAAA,KAAe,UAAAY,UAAA,EACb;UAGA;AACA,kBAAItG,gBAAW,CAAA0G,oBAAA;YACbC,aAAS;cACXC,IAAA;YAEA;UACE;AAGA;AACA;AACE;AACA;QACA;QACE,IAAA7C,aAAA;UAAwD,MAAAA,aAC1D;QAAA;QAGF;UAAA8C,OAAA;UAAOC,OAAE,EAAAC;QAAoB,QAAQzG,2BAAQ,CAAA0G,oBAAA;QAAAjD,aAC/C,GAAS8C,OAAK;QAEZ;UACE,IAAAI,4BAAM,EAAAC,WAAA;UAAA,IAAAC,mBACR,GAAA/B,KAAA,CAAAU,IAAA;UAEA,IAAAzC,SAAK,GAAa8D,mBAAmB,QAAA1H,WAAA,CAAAmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAAmB,KAAA,CAAAU,IAAA;UACnC,IAAApD,eAAS;YAA+CF,MAC1D,CAAA4E,UAAA;YACA1E,eAAQ,GAAM;UACd;UAAwC,CAAAuE,4BAC1C,IAAAC,WAAA,GAAAG,UAAA,mCAAAJ,4BAAA,uBAAAA,4BAAA,CAAAK,IAAA,CAAAJ,WAAA;UAAA,IACFK,QAAA,GAAAJ,mBAAA,cAAA3E,MAAA,CAAAsC,MAAA,CAAAzB,SAAA;UAEA,eAAImE,sBAAAC,SAAA,EAAAC,QAAA;YACJ,IAAIC,OAAA,GAAAF,SAAA,CAAAG,UAAA;YACJ,IAAI,CAAAF,QAAA;cAIJ,OAAI;gBAEFG,UAAM;gBACJF;cACA;YACA;YAA0D,IAC3D;cACD,IAAAG,OAAM,WAAgB,EAAAtH,8BAAkB,CAAAuH,uBAAoB;gBAC5D,OAAAL,QAAU,CAAApC,WAAmB;cAAY,EACvC;cAAgB,IAChBtC,SAAU,IAAAsC,WAAa,KAAQ,QAAAA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;cAAA,IAC/BC,yBAAqB,OAAW;gBAAAC,iBAAA;gBAAAC,cAAA;cAAA,IAChC;gBACA,SAAAC,SAAA,GAAAN,OAAA,CAAAO,YAAA,CAAAtH,MAAA,CAAAuH,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAA7E,IAAA,IAAAiF,IAAA,GAAAP,yBAAA;kBAIF,IAAAQ,GAAA,GAAaF,KAAA,CAAApJ,KAAA;kBACf,IAAOuJ,WAAA,GAAAjJ,WAAA,CAAAmC,OAAA,CAAAkF,OAAA,CAAA2B,GAAA;kBAEL3F,mBAAsB,CAAA4F,WAAM,EAAA1F,SAAY;kBACxC,IAAMxB,eAAc;oBAGd2E,OAAA,CAAAC,IAAA,oCAA+CsC,WAAW;kBAC9D;gBACA;cACA,SAAOC,GAAA;gBACRT,iBAAA;gBAGDC,cAAM,GAAAQ,GAAA;cAGN,UAAI;gBACF;kBACA,KAAAV,yBAAgC,IAAAG,SAAA,CAAAQ,MAAA;oBAChCR,SAAA,CAAAQ,MAAA;kBACD;gBAGD,UAAU;kBACR,IAAGV,iBAAmB;oBACpB,MAAAC,cAAgB;kBAChB;gBAA+B;cACC;cACb,OACnB;gBACFN,UAAA,EAAAC,OAAA,CAAAe,MAAA;gBAAAlB;cACsB;YACW,SAC/BgB,GAAA,EAAQ;cAAwB,IAChC,IAAAvI,iBAAY,CAAA0I,UAAW,EAAAH,GAAA;gBACzB,MAAAA,GAAA;cACF;cAGA,KAAAA,GAAA,KAAa,QAAAA,GAAW,uBAAAA,GAAA,CAAAI,IAAA;gBAC1B;kBAGKlB,UAAA;kBAECF,OAAA;kBAEAqB,QAAA,EAAS;gBAEf;cACE;cACA7C,OAAA,CAAA8C,KAAA,mCAAAtB,OAAA,KAAAgB,GAAA;cACA;gBACDd,UAAA;gBAGDF;cAGA;YACA;UACE;UAAyD,IAAAE,UAC/C;UAAa,IACvBqB,OAAC;UACD,IAAAC,UAAM;UACN,IAAA7C,UAAA;YAAiC,IAAK8C,oBACxB,GAAE/C,OAAQ,CAACgD,GAAA,iBAAc7C,MAAM;cAC7C,IAAA8C,UAAA,GAAA7J,WAAA,CAAAmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAAuC,MAAA,CAAAoB,UAAA;cACF,IAAA2B,cAAA,SAAA/G,MAAA,CAAAsC,MAAA,CAAAwE,UAAA;cAEA,OAAM9B,qBAAkB,CAAAhB,MAAA,EAAc+C,cAAY,CAAAC,MAAA;YAClD;YAOA,IAAIC,aAAA,SAAmCC,OAAA,CAAAC,GAAA,CAAAP,oBAAA;YACvCF,OAAI,GAAAO,aAAA,CAAoBJ,GAAA,WAAAR,MAAgB;cAGtC,OAAM;gBACNlB,OAAI,EAAAkB,MAAY,CAAAlB,OAAA;gBAChB/B,QAAO,GAAMN,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;gBACX4B,MAAA,GAAAtE,WAAmB,SAAQ,IAAAA,WAAe,KAAK,KAAG,aAAAA,WAAA,CAAAsE,MAAA;gBAChD/B,UAAM,EAAAgB,MAAA,CAAAhB;cACN;YACE;YACAA,UAAA,GAAI;UACF;YAGA,IAAAgC,YAAA,GAAAzE,KAAA,CAAAiB,OAAA;YAAA,IAAAyD,SACF;cAAAlC,UACF,EAAQxC,KAAA,CAAAU,IAAA;cAAAA,IAER,EAAAV,KAAA,CAAAU;YAAA;YAEF,IAAAsD,oBAAI,GAAAS,YAAsB,CAAWR,GAAA,iBAAA7C,MAAA;cACrC,IAAA8C,UAAM,GAAS7J,WAAU,CAAAmC,OAAQ,CAAAiD,IAAA,CAAAZ,UAAc,EAAAuC,MAAA,CAAAoB,UAAA;cAC/C,IAAA2B,cAAe,SAAA/G,MAAW,CAAAsC,MAAA,CAAAwE,UAAA;cACxB,OAAA9B,qBAAY,CAAAhB,MAAA,EAAA+C,cAAA,CAAAC,MAAA;YAAA;YAEZ,IAAAO,iBAAY,GAAAvC,qBAAA,CAAAsC,SAAA,EAAAvC,QAAA,CAAAiC,MAAA;YAAA,IACdC,aAAA;YAAA,CAAAA,aACF,EAAAN,UAAA,UAAAO,OAAA,CAAAC,GAAA,EAGAD,OAAK,CAAAC,GAAA,CAAAP,oBAAmB,GACtBW,iBAAW;YACTb,OACA,OAAAO,aACU,CAAAJ,GAAA,WAAAR,MAAA;cAAA,OACR;gBACFlB,OAAA,EAAAkB,MAAA,CAAAlB,OAAA;gBACF/B,QAAA,GAAAN,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;gBACF4B,MAAA,GAAAtE,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAAsE,MAAA;gBACF/B,UAAA,EAAAgB,MAAA,CAAAhB;cAGA;YAEA,EAAI,EACF;cAOAF,OAAA,EAAAwB,UAAA,CAAAxB,OAAA;cACA/B,QAAA,GAAAN,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;cACA4B,MAAM,GAAAtE,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAAsE,MAAA;cACN/B,UAAA,EAAAsB,UAAA,CAAAtB;YACA,EACD;YAEDA,UAAI,GAAOsB,UAAA,CAAAtB,UAAA;UAET;UACEmC,IAAA,sCAAkC;UAClC,IAAAC,KAAA,GAAM,MAAAzH,MAAA,CAAAsC,MAAiB,CAAAnE,4BAAA,CAAAuJ,cAA8C;UACrE,IAAAC,MAAA,GAAOF,KAAK,CAAArI,OAAA,CAASuI,MAAA;UAE6B,IACpDzJ,sBAAA,CAAA0J,gBAAA;YACAvC,UAAO;YAAmBvC,WACxB;YAAQ4D;UAC+B;UACxC,IACHmB,cAAA,GAAAC,MAAA,CAAAhH,IAAA,CAAA8B,KAAA,CAAAmF,SAAA,QAAA7F,MAAA;UAEA,IAAA8F,gBAAO;UACT,IAAApF,KAAS,CAAAM,IAAK,cAAA2E,cAAA,IAAA9C,QAAA,CAAAkD,oBAAA;YAEZ,IAAAC,YAAI,SAAAnD,QAAA,CAAAkD,oBAAiB;cACnBb,MAAA,EAAOtE,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAAsE;YACT;YAEA,IAAAe,aAAQ,IAAArF,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAAsE,MAAA;YAAAY,gBACN,IAAAE,YAAA,CAAAnE,IAAgC,WAAUqE,EAAA;cAAqB,OAAAN,MAAA,CAAAhH,IAAA,CAAAsH,EAAA,EAAAC,KAAA,WAAAC,GAAA;gBAC/D,OAAAF,EAAA,CAAAE,GAAA,MAAAH,aAAA,CAAAG,GAAA;cACF;YACA;UACA;UACA,IAAAC,cAAc,IAAAzE,UAAe,KAAA6C,UAAY,KAAS,QAAKA,UAAA,uBAAAA,UAAA,CAAAH,QAAA;UAEvD,IAAAgC,KAAM,GAAA5F,KAAA,CAAAW,UAAA,IACJ,KAAA7F,oBAAA,CAAA+K,aAAA,EAAA1D,QAAA,KAAAiD,gBAAA,IAAAO,cAAA;UAA+F,IAC7FG,iBAAA;UAAA,IACFV,gBAAA,IAAAO,cAAA;YACF,IAAAI,QAAM,GAAA/F,KAAa,CAAAU,IAAA,CAAAxB,OAAA,UACf,IAAAA,OAAA;YAAA,IAAA8G,SAAA,GAAAD,QAAA;YAAA;cAIA,SAAAE,EAAA,MAAAC,KAAA,IAEJ,MAAQ,EAA2B,eAAY,MAAI,EAAAD,EAAA,GAAAC,KAAA,CAAA5G,MAAA,EAAA2G,EAAA;gBAEnD,IAAOE,GAAA,GAAAD,KAAA,CAAAD,EAAA;gBAAA,IAAAG,SAAA,GAAA/L,WAAA,CAAAmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAAmH,SAAA,eAAAG,GAAA;gBAAA;kBAAA,IAAAE,gBAAA,SAAAjJ,MAAA,CAAAsC,MAAA,CAAA0G,SAAA;kBAGiG,IAC9FC,gBAAO,aAAAA,gBAAA,uBAAAA,gBAAA,CAAA7J,OAAA;oBACXsJ,iBAAU,GAAAE,SAAA,OAAAA,SAAA;oBAEV;kBACI;gBACK,SAAArG,MAGX;cAAA;cAAA,IAAAmG,iBAAA,KAAAE,SAAA;cAIN,IAAAM,MAAE,GAAAN,SAAA,CAAA9G,OAAA;cACA,IAAAoH,MAAA,KAAcN,SAAA;gBAChBA,SAAA;cACF;gBAEMA,SAAA,GAAaM,MAAE;cACnB;YAGA;YACA,IAAK,CAAAR,iBAAe;cAClB,OAAM,IAAIS,QAAM,qDAA4B;gBAC9CC,MAAA;gBAMKC,OAAA;kBACH,cAAO;gBACT;cAEA,EAAM;YAGN;UACA;UACE,IAAAC,UAAM,GAAAZ,iBAAqB,KAAS5F,WAAA,aAAqBA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;UAAA,IACvD+D,IAAA,SAAQ5B,MAAA;YACVvD,IAAC,EAAAN,UAAA,iBAAAlB,KAAA,CAAAM,IAAA,qBAAAN,KAAA,CAAAM,IAAA;YACDmC,UAAM;YACNvC,WAAM;YAA2B0C,IAAM,EAAA8D,UACrC;YACFxJ,QAAA;YACA4G;UACE;UACA,IAAA8B,KAAA,EAAO;YACT,IAAAE,iBAAA;cACF,IAAAc,YAAA,IAAA1G,WAAA,aAAAA,WAAA,uBAAAA,WAAA,CAAA0C,IAAA;cAGI,IAAAiE,cAAA,4CAAAC,IAAA,CAAAC,SAAA,CAAAH,YAAA,kBAAAE,IAAA,CAAAC,SAAA,CAAAjB,iBAAA;cACA3D,IAAA,GAAAwE,IAAS,CAAAK,QAAQ,cAAAL,IAAA,CAAAzH,OAAA,eAAA2H,cAAA,aAAAF,IAAA,CAAAzH,OAAA,aAAA2H,cAAA;YACnB;YACE,WAAMN,QAAU,CAAAI,IAAA;cAAMH,MAAwB,EAC5C;cACFC,OAAA;gBACA,cAAa;cAKb;YACE;UAAM;UAIR,OAAAE,IAAM;QACN,SAAApD,GAAA;UAEE,QAAAvI,iBAAM,CAAc0I,UAAA,EAAAH,GAAA;YACpB,OAAAA,GAAA;UACA;UACExC,OAAA,CAAA8C,KAAA,iCAAa7D,KAAA,CAAAU,IAA8B,aAAaT,GAAA,CAAAgH,IAAA;AAAA,GAAA1D,GAAA;UAC1D,IACF2D,KAAA,sBAAAjH,GAAA,CAAAO,QAAA;UAAA,IACF2G,OAAS,GAAA3L,WAAK,CAAA+H,GAAA,EAAA6D,KAAA,IAAA7D,GAAA,CAAA4D,OAAA,MAAA5D,GAAA;UAEZ,IAAA8D,KAAA,GAAI7L,WAAA,CAAA+H,GAAA,EAAA6D,KAAA,IAAA7D,GAAA,CAAW8D,KAAG,IAAG;UACnB,IAAAC,qBAAM,kGAAAC,IAAA,CAAAF,KAAA;UAAA,IACRG,UAAA,GAAAF,qBAAA;AAGA;AACE;AACA;UAA+HvG,OACjI,CAAA8C,KAAA,IAAAqD,KAAA;AACA,GAAAC,OAAA;AAAM;AACR,EAAAE,KAAA;AAGF;UAEE;AAA8B;AACtB;AACN,+GACDH,KAAA;AAAA,sBACHC,OAAA;AAEA,kBAAMK,UAAW;AAEjB,kBAAIH,KAAA;AAGF,sBAAMA,KAAA;AAEN,uBAAK;AACH;AAAU;AAC0D;QACpE,UACF;UAGA1F,aAAM;QAEN;MAAO;MAGT,MAAA8F,YAAOA,CAAAC,MAAA;QACT;UAAA1H,KAAA,EAAA2H,MAAA;UAAA1H,GAAA,EAAA2H,IAAA;UAAA1H,WAAA,EAAA2H;QAAA,IAAAH,MAAA;QAEA,IAAAI,KAAM;QACJ,IAAA9I,UAAO,GAAM3E,WAAO,CAAOmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAK8I,MAAK,CAAAjH,IAAA;QACvC,IAAAqH,aAAA,IAAAD,KAAA,SAAAzK,MAAA,CAAA2K,gBAAA,CAAAhJ,UAAA,eAAA8I,KAAA,uBAAAA,KAAA,CAAAnE,IAAA;QAEA,KAAAoE,aAAM;UACJ,UAAOX,KAAM,6BAAc;QAC7B;QACF,kCAAAG,IAAA,CAAAQ,aAAA;UACE,OAAAA,aAAY;QAChB;QACF,IAAAE,SAAA,SAAA7K,MAAA,CAAAsC,MAAA,CAAAV,UAAA;QAEA,IAASkJ,eAAA,GAAAhD,MAAuB,CAAAhH,IAAA,CAAAyJ,MAAqB,CAAAxC,SAAA,QAAA7F,MAAA;QAC/C,IAAAqI,MAAA,CAAArH,IAAA,cAAA4H,eAAA,IAAAD,SAAA,CAAA5C,oBAAA;UACF,IAAA8C,aAAgB,SAAAF,SAAqB,CAAA5C,oBAAA;YACvCb,MAAS,EAAOqD,YAAA,aAAAA,YAAA,uBAAAA,YAAA,CAAArD;UACd;UACF,IAAA4D,cAAA,IAAAP,YAAA,aAAAA,YAAA,uBAAAA,YAAA,CAAArD,MAAA;UACF,IAAA6D,WAAA,GAAAF,aAAA,CAAAhH,IAAA,WAAAqE,EAAA;YAEO,OAAAN,MAAA,CAAAhH,IAAA,CAAAsH,EAAA,EAAAC,KAAA,WAAAC,GAAA;cACC,OAAAF,EAAA,CAAAE,GAAA,MAAA0C,cAAA,CAAA1C,GAAA;YACN,CAAS;UACT,CAAO;UAED,KAAA2C,WAAS;YACP,IAAAC,MAAU,SAAQvJ,uBAAc,CAAA4I,MAAA,CAAAjH,IAAA,CAAuB;YACvD,yGAA2BoG,IAAA,CAAAC,SAA4B,CAAOuB,MAAC;UAEjE;QACF;QACF,IAAAC,WAAA;QAEA,IAAIN,SAAA,CAAA7D,MAAc;UAChB,IAAM;YACJ,IAAG1B,OAAI,aAAAtH,8BAAA,CAAAuH,uBAAA;cACL,OAAAsF,SAAc,CAAA7D,MAAS,CAAAyD,YAAW;YAChC;YAEAU,WAAK,GAAM7F,OAAM,CAAAe,MAAQ;YAEzB,MACE,EAAAzI,iBAAY,CAAA0I,UACN,EAAA6E,WAAc,GAAE;cAEtB,MAAAA,WAAQ;YAAA;YAIV,IAAA3K,SAAO,IAAAiK,YAAA,aAAAA,YAAA,uBAAAA,YAAA,CAAAjF,IAAA;YAAA,IACLC,yBAAK,OAAM;cAAAC,iBAAU,GAAU,KAAI;cAAAC,cAAU;YAAA,IAC7C;cACE,SAAKC,SAAO,GAAAN,OAAY,CAAAO,YAAQ,CAAAtH,MAAA,CAAAuH,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAA7E,IAAA,IAAAiF,IAAA,GAAAP,yBAAA;gBAChC,IAAAQ,GAAA,GAAQF,KAAA,CAAApJ,KAAA;gBACV,IAACuJ,WAAM,GAAAjJ,WAAA,CAAAmC,OAAA,CAAAkF,OAAA,CAAA2B,GAAA;gBACT3F,mBAAA,CAAA4F,WAAA,EAAA1F,SAAA;gBACD,IAAAxB,eAAA;kBACH2E,OAAA,CAAAC,IAAA,oCAAAsC,WAAA;gBACF;cAEA;YACE,SAAAC,GAAc;cAAAT,iBAAA;cAAAC,cAAA,GAAAQ,GAAA;YAAA;cAAA;gBAAA,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;kBAAAR,SAAA,CAAAQ,MAAA;gBAAA;cAQZ,UAAS;gBACX,IAAAV,iBAAA;kBACF,MAAAC,cAAA;gBACF;cACF;YAEA;UACE,SAASQ,GAAA;YAGT,QAASvI,iBAAA,CAAA0I,UAAA,EAAAH,GAAA;cACP,MAAAA,GAAA;YACF;YAEM,KAAAA,GAAA,KAAS,QAAAA,GAAA,UAAK,SAAQ,IAAAA,GAAQ,CAAAI,IAAI,MAAG;cAsBpC,IAAA6E,OAAW,SAAQzJ,uBAAiB,CAAA4I,MAAA,CAAAjH,IAAA;cACrC,OAAQ,kGAA0BoG,IAAA,CAAAC,SAAA,CAAAyB,OAAA;YACpC;YAGA,MAAKjF,GAAA;UACP;QACA;QACD,IAAAgF,WAAA;UAGDR,aAAM,OAAA1M,oBAA4B,CAAAoN,aAAA;YAChC9E,IACE,EAAAoE,aAAA;YACEtF,UAAO,EAAA8F;UACP;QAAU;QAEZ,IACAG,QAAA,GAAAd,IAAA,CAAAe,YAAA,CAAA7K,GAAA;QACA,IAAA4K,QAAA,cAAuBA,QAAA,KAAW,aAAAA,QAAA;UACpC,IAAAE,WAAA,GAAAvL,MAAA,CAAAwL,YAAA,CAAAH,QAAA,wBAAAA,QAAA;UACC,IAAG,CAAAE,WAAA;YAEN,MAAO,IAAQxB,KAAA,2DAA4CsB,QAAA;UAG3D;UACE,IAAMI,mBAAe,8BAAahC,IAAA,CAAAC,SAAW,CAAAwB,WAAA;UAC7C,OAAMO,mBAAa;QACnB;QACE,OAAIf,aAAA;MACF;MAAQ,MAAAgB,SACNA,CAAArB,MAAA;QAAyC;UACzC1H,KAAI,EAAA2H;QAAU,IAAAD,MAAA;QAAA,OAChB,MAAAtK,MAAA,CAAAsC,MAAA,CAAArF,WAAA,CAAAmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAA8I,MAAA,CAAAjH,IAAA;MAAA;MAGF,MAAAsI,cAAgBA,CAAArB,MAAA;QAAA,OACd,MAAMvK,MAAA,CAAAsC,MAAA,CAAArF,WAAA,CAAAmC,OAAA,CAAAiD,IAAA,CAAAZ,UAAA,EAAA8I,MAAA,CAAAnF,UAAA;MAAA;IACC;MAC6B3D,UACrC;MAAAoK,iBACH,GAAArK,eAAA,GAAA3B,OAAA,CAAAiM,MAAA,cAAAtK,eAAA,uBAAAA,eAAA,CAAAqK;IAAA,EACF;EAEA;EAMA,SAAAE,sBAAaA,CAAAC,WAAA;IAIX;MACE3K,aAAQ,GAAAC,oBAAqB,CAAI;IAC/B,SAAAmF,KAAI;MACJ9C,OAAA,CAAAsI,IAAI,yCAA6BD,WAAA,aAAAvF,KAAA;IACjC;EAAA;EAEF;IAAKyF,IACP,EAAC;IAEDC,OAAA,QAAO;IAELC,KAAA,SAAI;IAEJ,MAAAC,MAAIA,CAAA;MACF,IAAAC,IAAA;MACA,IAAAC,qBAAe;MACb,IAAAC,OAAA,GAAM,CAAAF,IAAA,GAAM,CAAAC,qBAAuB,GAAA1M,OAAU,CAAA4M,YAAY,MAAM,QAAAF,qBAAA,uBAAAA,qBAAA,CAAAG,mBAAA,cAAAJ,IAAA,cAAAA,IAAA;MAC/D,IAAAK,WAAA,IAAW,GAAApP,WAAY,CAAAqP,aAAW,MAAAjP,kCAAA,CAAA+D,2BAAA,EAAA7B,OAAA;MAChC,IAAA2M,OAAA,KAAM;QACN;MAEA;MACE,IAAAnL,aAAI,CAAAwL,QAAA,CAAAC,UAAc,EAAS;QAC3B,IAAAC,gBAAM,IAEN,OAAA9L,GAAA,CAAAI,aAAY,CAAAwL,QAAA,CAAAC,UAAA,CAAAE,OAAA,WAAAzC,MAAA;UACV,IAAA0C,cAAO;UACL,IAAA1C,MAAA,CAAAhH,UAAA,SAAc;UAAiD,KAAAgH,MAChE,CAAAjH,IAAA;UAAA,IAAAkJ,OACH,eAAAjC,MAAA,CAAAjH,IAAA,CAAA4J,KAAA,MAAAC,MAAA,WAAAC,CAAA;YAEA,QAAIA,CAAA,CAAAC,UAAA,CAAa;UACf,GAAAnL,MAAA;YAAgE,OAClE;UAEA;UAA8C,QAClCjF,WACX,CAAAmC,OAAA,CAAAkO,KAAA,CAAAjL,IAAA,MAAAsK,WAAA,IAAApC,MAAA,CAAAjH,IAAA,GACD,MAAA2J,cAAQ,GAAA1C,MAAA,CAAA1G,OAAA,cAAAoJ,cAAA,uBAAAA,cAAA,CAAAD,OAAA,WAAAhJ,MAAA;YACR,KAAAA,MAAA,CAAAoB,UAAA;YACF,QACFnI,WAAA,CAAAmC,OAAA,CAAAkO,KAAA,CAAAjL,IAAA,MAAAsK,WAAA,IAAA3I,MAAA,CAAAoB,UAAA,EACF;UAEA,OAAM,IAA4B;QACG,EACrC,EAEA;QACE;UAAYmI,YACd;YAEA;AACE;AACE;AACA;AACE;AAAa;AAEf;YAAyDC,OAC3D,EAAAT;UAEA;QACE;MAEE;IACA;IACEU,gBAAAC,QAAI;MAAiCzN,MAAA,GAAAyN,QACvC;MAAA1N,MAAA,IACF,GAAAzC,WAAO,CAAAoQ,wBAAA,EAAA/N,cAAA,GAAAK,MAAA,CAAAwL,YAAA,CAAAxL,MAAA,GAAAA,MAAA,CAAAwL,YAAA,CAAAnM,GAAA;MACL,IAAAsO,MAAA,GAAA3Q,WAAI,CAAAmC,OAAe,CAAAkF,OAAK,CAAAzF,OAAA,CAAAgP,GAAA,QAAAlQ,kCAAA,CAAA+D,2BAAA,EAAA7B,OAAA;MAAAI,MAAA,CAAAkB,OAC1B,CAAA2M,EAAA,kBAAAC,MAAA,EAAAC,KAAA;QAAA,IAAAA,KACD,KAAAhO,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAiO,gBAAA;UAED,IAAAC,IAAA,GAAAlO,MAAI,CAAAiO,gBAAA,CAAAE,gBAAiB,CAAMH,KAAA,CAAM,IAAGhO,MAAA,CAAAiO,gBAAA,CAAAE,gBAAA,KAAA5Q,WAAA,CAAAqP,aAAA,EAAAoB,KAAA;UAClC,KAAAE,IAAA,IAAMA,IAAA,CAAAvN,IAAA,KAAc;QACpB;QACET,eAAA,GAAQ;MAA8C;MAExD,IAAAkO,yBAAc,OAAA/Q,uBAAA,CAAAgR,QAAA,YAAAnL,IAAA,EAAA8I,WAAA;QACZ,QAAAjO,qBAAc,CAAMuQ,qBAAQ;UAAAC,KAAA,EAAArL,IAC1B;UAAU3C,QACZ,EAACyL,WAAA;UACDvK,UAAA,EAAImM;QACJ;UAAA7B,sBACF,CAAAC,WAAA;QACA;MAAsE;MAGxE/L,MAAA,CAAAkB,OAAI,CAAAqN,WAAa,MAAM,EAAAJ,yBAAA;MACvB,IAAAK,uBAAI,GAAgB,IAAMpR,uBAAA,CAAAgR,QAAA,YAAArC,WAAA;QAE1B,IAAA0C,YAAU,GAAAzR,WAAM,CAAAmC,OAAA,CAAAkF,OAAA,CAAA0H,WAAA;QACd,IAAA2C,UAAI,GAAAxO,sBAAmB,CAAAO,GAAA,CAAAgO,YAAA;QACrB,IAAAC,UAAA,IAAQA,UAAK,CAAAhO,IAAA;UACb,IAAA3B,eAAQ;YACR2E,OAAA,CAAAC,IAAA,mCAAA8K,YAAA,+CACFC,UAAA,CACA;UACE;UAA4C1O,MAC9C,CAAA2O,GAAA,CAAAC,IAAS;YACP3L,IAAA,UAAQ;YACRqL,KAAA,0BAAQ;YAAAO,IACV;cACAH,UAAA,GACF,GAAAA,UAAA;YAGA;UAAA,EACF;QAEA;MACE;MACA1O,MAAA,CAAAkB,OAAI,CAAA2M,EAAA,CAAM,QAAK,EAAAW,uBAAgB;MAC/B,mBAAQ;QACRxO,MAAA,CAAA8O,WAAA,CAAAC,GAAA,WAAAC,GAAA,EAAAC,GAAA,EAAAnO,IAAA;UAAA,IACFoO,QAAA;UAEA,IAAAF,GAAI,CAAApM,GAAA,KAAM,SAAK,MAAAsM,QAAA,GAAAF,GAAA,CAAApM,GAAA,cAAAsM,QAAA,uBAAAA,QAAA,CAAA9B,UAAA;YACf6B,GAAA,CAAIE,SAAI;cACR;YACF;YACEF,GAAA,CAAAG,GAAA,CAAQ,yBAAM;YAEd;UACF;UAMAtO,IAAA;QACF,CAAC;QACHd,MAAA,CAAA8O,WAAA,CAAAC,GAAA,iBAAAC,GAAA,EAAAC,GAAA,EAAAnO,IAAA;UACFmO,GAAA,CAAAI,SAAA;UACF;YACF,IAAAC,YAAA;YAEM,IAAAC,SAAA,IAAAD,YAAmC,GAAA1P,OAA0C,CAAA4P,GAAA,cAAAF,YAAA,uBAAAA,YAAA,CAAAC,SAAA;YACxE,IAAAA,SAAa;cACV,IAAAhF,IAAM,OAAAnH,GAAA,CAAA4L,GAAA,CAAApM,GAAA,kBAAAoM,GAAuC,CAAA5F,OAAA,CAAAqG,IAAA;cACzD,IAAAjK,yBAAA;gBAAAC,iBAAA;gBAAAC,cAAA;cAEM,IAAU;gBACV,IAAYgK,KAAI,YAAAA,CAAA;kBACV,IAAIC,QAAI,GAAA7J,KAAW,CAAApJ,KAAO;kBAEtB,IAAIkT,QAAQ,OAAAD,QAAA,CAAAE,MAAA,CAAAhO,OAAA;kBACjB,IAAOiO,KAAI,GAAAvF,IAAS,CAAApH,QAAA,CAAA2M,KAAA,KAAAC,MAAA,CAAAH,QAAA;kBACrB,IAAQE,KAAM;oBACZ,IAAOE,WAAS,GAAQL,QAAc,CAAAK,WAAA;oBAChD,IAAA7I,MAAA,GAAAwI,QAAA,CAAAE,MAAA,CAAAC,KAAA;oBACF,IAAA3I,MAAA;sBAEiBA,MAAQ,CAAA8I,OAAO,WAAS5F,MAAQ,EAAE6F,KAAA;wBACtCF,WAAU,GAAAA,WAAA,CAAAnO,OAAS,CAAAwI,MAAS,EAAIyF,KAAA,CAAAI,KAAA;sBAE1B;oBACL;oBACZ,IAAAvR,WAAA;sBACA+E,OAAA,CAAAC,IAAA,0BAAA4G,IAAA,CAAApH,QAAA,WAAA6M,WAAA;oBAAA;oBAEQf,GAAA,CAAAE,SAAA,CAAAQ,QAAA,CAAAQ,SAAA;sBAC2BC,QAAA,EAAAJ;oBACvC","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":"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","ignoreList":[]}
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":";;;;;;;;;;;;;;;;;;;;;;;;;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;IAUD;EACE;AACA;AACA,IAAAN,aAAI,CAAAS,QAAA;EACJ,IAAIC,iBAAA,GAAAC,OAAA,CAAAC,GAAA,CAAAC,WAAA;EAEJ,IAAAC,uBAAA,GAAWH,OAAM,CAAAC,GAAA,CAAAG,gBAAA;EACf,IAAAC,wBAAA;EACF,IAACC,QAAA;EAED,IAAAjB,aAAA,CAAAkB,UAAA,EAAU,YAAM;IACdF,wBAAc,GAAAG,UAAA,CAAAC,oBAAA;EACZ;EACA,IAAApB,aAAW,CAAAqB,SAAA;IACb,IAAAJ,QAAA;MAEA,EAAI,EAAAtB,SAAA,CAAA2B,MAAA,EAAAL,QAAsB,EAAW;QACnCM,SAAO,MAAQ;QACjBC,KAAO;MACL;MACFP,QAAA;IACA;IACE,IAAAP,iBAAmB;MACrB,OAAOC,OAAA,CAAAC,GAAA,CAAAC,WAAA;IACL;MACFF,OAAA,CAAAC,GAAA,CAAAC,WAAA,GAAAH,iBAAA;IAEA;IACE,IAAAI,uBAA2B;MAC7B,OAAOH,OAAA,CAAAC,GAAA,CAAAG,gBAAA;IACL;MAAEJ,OAAA,CAAAC,GAAmB,CAAAG,gBAAA,GAAAD,uBAAuB;IAC9C;IACA,IAAAE,wBAAG,KAAgB;MACpB,OAAAG,UAAA,CAAAC,oBAAA;IAED;MACE;MACAD,UAAA,CAAAC,oBAAW,GAAAJ,wBAAY;IACvB;IACAhB,aAAA,CAAAC,EAAA,CAAAwB,eAAA,EAAc;EACd;EACA,IAAAzB,aAAA,CAAA0B,EAAA;IAAAf,OACE,CAAAC,GAAA,CAAAC,WAAA,MAAK;IAAwBI,QAC7B,OAAAtB,SAAA,CAAAgC,WAAA,EAAA7B,WAAA,CAAA8B,OAAA,CAAAC,IAAA,KAAAhC,SAAA,CAAAiC,MAAA;IACF,IAAAC,MAAA,GAAAjC,WAAA,CAAA8B,OAAA,CAAAC,IAAA,CAAAZ,QAAA;IAEE,IAAAtB,SAAmB,CAAAqC,aAAA,EAAAlC,WAAuB,CAAA8B,OAAA,CAAAC,IAAA,CAAAZ,QAAA;IAAA,EAC1C,EAAAtB,SAAK,CAAAsC,SAAA,EAAAF,MAAA;IAAA,IACHpC,SAAA,CAAAqC,aAAmB,EAAAlC,WAAA,CAAA8B,OAAA,CAAAC,IAAA,CAAAE,MAAA;IAAAZ,UACrB,CAAAC,oBAAA;MACFc,GAAA;QAEAC,iBAAQ;MACR;IAA4C;IAClC,IACN;MAAAC;IAAM;IAAA,IACRC,MAAA,GAAAD,4BAAA;MACDE,MAAA;QAEGC,IAAA,EAAAR;MAGJ;IAAe,EACb;IAAc,IACZS,eAAM;IAAA,IACRC,MAAA;MACAC,YAAS;QACPC,GAAA;MACE;MACEC,OAAA;QAAkBC,WACpB,EAAA7C,aAAA,CAAAC,EAAA,CAAAK,EAAA,WAAAwC,KAAA,EAAAC,QAAA;UACD,IAAAD,KAAA;YACGN,eAAA,GAAGO,QAAG;UACZ;QACF;QAEEC,EAAA,EAAehD,aAAA,CAAAC,EAAgB,CAAAK,EAAA;MACjC;IAEA;IAAiE+B,MAAC,CAAAY,eAAA,CAAAR,MAAA;IAClE,IAAAzC,aAAQ,CAAmBkD,MAAA,EAAAV,eAAA,EAAAW,WAAA;IAE3B,IAAIC,IAAC,GAAApD,aAAiB,CAAAC,EAAA,CAAAoD,KAAA,CAAAC,OAAA,UAAAC,kBAAA,cACpB;IACF,OAAApC,UAAA,CAAAC,oBAAA;IAEA,KAAAoB,eAAM;MACJ,UAAQgB,KAAA,CAAQ,kDAA4B;IAC9C;IAEA,UAAAxD,aAAA,CAAAkD,MAAW,EAAEO,OAAA,CAAAC,OAAA,CAAAlB,eAAA,QAAA1C,WAAA,CAAA8B,OAAA,CAAAC,IAAA,CAAAE,MAAA,sBAAA4B,QAAA,CAAAC,aAAA;IAAA,EACX,EAAA5D,aAAA,CAAAkD,MAAO,EAAAE,IAAA,EAAAS,oBAAiB,CAAA7D,aAAA,CAAAkD,MAAgC,CAAAY,gBAAA,oCAAA9D,aAAA,CAAAkD,MAAA,CAAAa,GAAA,CAAAP,KAAA;EAAA;EACxC,EAClB,EAAAxD,aAAA,CAAA0B,EAAA;IACDf,OAAA,CAAAC,GAAA,CAAAG,gBAAA;IAEDE,QAAA,OAAAtB,SAAG,CAAAgC,WAAA,EAAA7B,WAAA,CAAA8B,OAAA,CAAAC,IAAA,KAAAhC,SAAA,CAAAiC,MAA8D,4BAAY;IAC3E,IAAAC,MAAQ,GAAIjC,WAAA,CAAA8B,OAAmB,CAAAC,IAAA,CAAAZ,QAAA;IAC/B,IAAA+C,SAAA,GAAWlE,WAAA,CAAA8B,OAAA,CAAAC,IAAA,CAAAE,MAAY;IACvB,IAAApC,SAAM,CAAAqC,aAAS,EAAAlC,WAAK,CAAA8B,OAAK,CAAAC,IAAA,CAAAZ,QAAe;IACxC,IAAAtB,SAAM,CAAAsC,SAAY,EAAAF,MAAA;IAClB,IAAApC,SAAA,CAAAqC,aAAA,EAAAgC,SAAc,qDAAqC;IACnD;MAAA3D;IAAU,UAAM;IAChB;MAAA+B;IAAc,UAAW;IAEzB;MAAM6B;IAAE,gBAA6B,0BAAmB;IACxD,IAAAC,WAAQ;IACR,IAAAC,MAAQ,GAAAnE,aAAe,CAAIC,EAAA,CAAAK,EAAA,CAAM,kBAAO;MAExC,OAAI,eAAc,EAAA4D,WAAA;IAClB;IACA,IAAAE,MAAM;MACJ7D,UAAA,EAAYP,aAAA,CAAAC,EAAA,CAAGK,EAAA,CAAG;MAClBE,MAAA,EAAQR,aAAA,CAAAC,EAAA,CAAGK,EAAA,CAAG,gBAAsB+D,EAAA;QAClC,IAAIA,EAAA,KAAOJ,cAAA,EAAgB;UACzB,OAAO;YACTrC,OAAA;cACIuC;YACF;UACF;QACA;QACD,IAAAE,EAAA,KAAAL,SAAA;UACH;YACApC,OAAA,EAAG,SAAO0C,SAAA;cAEJ;YACA;UACA;QACJ;QACE,OAAM;MACR;IAAA;IACKtE,aACG,CAAAC,EAAA,CAAAsE,MAAA,CAAAlE,wBAAM,EAAAmE,eAAA,CAAAJ,MAAA;IAAA,IACdK,kBAAA;IAAA,IACAC,gBAAa,sBAAAC,GAAA;IAAA,IACXlC,MAAK;MACHC,YAAA;QACFC,GAAC;MACH;MACAiC,GAAA;QACEC,IAAA,EAAK7E,aAAA,CAAAC,EAAG,CAAAK,EAAG;MAAA;MAETwE,WAAA;QACFC,GAAC,EAAA/E,aAAA,CAAAC,EAAA,CAAAK,EAAA,WAAA0E,OAAA;UACDP,kBAAI,CAAGQ,IAAI,CAAAD,OAAe;QACxB;MAA8E;MAElFpC,OAAA;QACFsC,GAAA,EAAAlF,aAAA,CAAAC,EAAA,CAAAK,EAAA;QAEAuC,WAAe,EAAA7C,aAAA,CAAAC,EAAA,CAAAK,EAAA,WAA6BwC,KAAA,EAAAC,QAAA;UAC1C2B,gBAAQ,CAAAS,GAAA,CAAArC,KAAA,GACN,IAAM4B,gBAAA,CAAAU,GAAA,CAAAtC,KAAA,UACRC,QAAA,CACA;QACE;QACFC,EAAA,EAAAhD,aAAA,CAAAC,EAAA,CAAAK,EAAA,WAAAwC,KAAA,EAAAC,QAAA;UACD2B,gBAAA,CAAAS,GAAA,CAAArC,KAAA,GAEK,IAAA4B,gBAAsB,CAAAU,GAAA,CAAAtC,KAAe,UAC3CC,QAAA,CAEM;QACF,CAAC;MACH;IACF;IACA,IAAAV,MAAM,GAAAD,4BAAqB;MAE3BE,MAAA;QACEC,IAAM,EAAAR;MACN;MAAYU,MACV;QACA4C,cAAK;MAAA;IACI;IACD,IACRC,kBAAA,GAAAjD,MAAA,CAAAY,eAAA,CAAAR,MAAA;IAAA6C,kBACQ;IAAA,IACVC,eAAA,GAAAd,kBAAA,CAAAe,EAAA;IACA,KAAAD,eAAY;MAAA,MACV,IAAA/B,KAAW,6CAAM;IAAA;IACG,IACpBiC,kBAAW,GAAAF,eAAM;IAAA,eACVG,QAAAC,QAAM,EAAC;MACZ,IAAAC,MAAA,GAAO;MAAU,IAClBC,GAAA;QACDC,WAAK,EAAAH,QAAA;QACPI,GAAA,EAAAJ,QAAA;QACAK,OAAM;UACJC,IAAI;QACF;QACFC,MAAA;MACA;MACF,IAACC,GAAA;QAEDC,SAAM,EAAApG,aAAmB,CAAAC,EAAA,CAAKK,EAAA;QAC9B+F,YAAA,EAAArG,aAAO,CAAIC,EAAA,CAAGK,EAAE;QAChBgG,SAAO,EAAAtG,aAAc,CAAAC,EAAA,CAAAK,EAAA;QACvBiG,KAAA,EAAAvG,aAAA,CAAAC,EAAA,CAAAK,EAAA,WAAAkG,KAAA;UAEAZ,MAAM,CAAAX,IAAA,CAAAuB,KAAA;QACN;QACAC,GAAA,EAAAzG,aAAA,CAAAC,EAAA,CAAOK,EAAA;MAEP;MACA,IAAMoG,IAAA,GAAA1G,aAAmB,CAAAC,EAAA,CAAAK,EAAA,WAAcqG,KAAA;QACnC,IAACA,KAAA;UACH,MAAUA,KAAA;QACZ;QACA,UAAAnD,KAAiB,mDAAmB;MAEpC;MACA,MAAAiC,kBAAO,CAAAI,GAAA,EAAMM,GAAE,EAAAO,IAAA;MACf,IAAA1G,aAAA,CAAAkD,MAAO,EAAAiD,GAAA,CAAAM,GAAO,EAAAG,gBAAY;MAC3B,OAAAhB,MAAA,CAAA/D,IAAA;IACF","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);