@farm.js/core 0.1.18 → 0.1.19

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 (63) hide show
  1. package/dist/app-markdown.cjs +4 -4
  2. package/dist/app-markdown.mjs +3 -3
  3. package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
  4. package/dist/{chunk-3XG26Z3J.mjs → chunk-2GNATDDE.mjs} +1 -1
  5. package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
  6. package/dist/{chunk-J2OP5GG3.cjs → chunk-A777V5WU.cjs} +28 -28
  7. package/dist/{chunk-E2BMSZ2W.cjs → chunk-AH7HOAQ3.cjs} +2 -2
  8. package/dist/{chunk-TWGMSEHX.cjs → chunk-BBVSJVBZ.cjs} +88 -13
  9. package/dist/{chunk-AWRISO2H.cjs → chunk-E2ROOWQC.cjs} +30 -4
  10. package/dist/{chunk-KPNVGRBL.mjs → chunk-FVZGEVTO.mjs} +7 -7
  11. package/dist/{chunk-WZMNW2IW.cjs → chunk-GPVTX3HT.cjs} +2 -2
  12. package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
  13. package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
  14. package/dist/{chunk-BSTRERPP.cjs → chunk-I5YBCWQ6.cjs} +2 -2
  15. package/dist/{chunk-TYQUSXUG.cjs → chunk-ISTFC3MZ.cjs} +4 -4
  16. package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
  17. package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
  18. package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
  19. package/dist/{chunk-GNEO2XOF.cjs → chunk-NBAHDVOJ.cjs} +4 -4
  20. package/dist/{chunk-UN5GHC5V.cjs → chunk-NSFC3LHB.cjs} +68 -68
  21. package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
  22. package/dist/{chunk-OIEOCXKG.cjs → chunk-OYDRPBBV.cjs} +2 -2
  23. package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
  24. package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
  25. package/dist/{chunk-NWOD6NIT.cjs → chunk-RFYO7QUD.cjs} +1 -1
  26. package/dist/{chunk-B4CH33IG.cjs → chunk-S27FMYAM.cjs} +13 -13
  27. package/dist/{chunk-NV3A5DXM.cjs → chunk-U5BMPGS3.cjs} +10 -10
  28. package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
  29. package/dist/{chunk-GYKJCFTS.mjs → chunk-WZXN4R5Y.mjs} +24 -13
  30. package/dist/{chunk-IKNRN4VS.cjs → chunk-XDGMADQM.cjs} +100 -89
  31. package/dist/{devtools-OUIPHVV6.cjs → devtools-5KGPDVKL.cjs} +4 -4
  32. package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
  33. package/dist/docs.cjs +6 -6
  34. package/dist/docs.mjs +5 -5
  35. package/dist/index.cjs +15 -15
  36. package/dist/index.mjs +14 -14
  37. package/dist/internal/app-markdown-runtime.cjs +3 -3
  38. package/dist/internal/app-markdown-runtime.mjs +2 -2
  39. package/dist/internal/build-runtime.cjs +14 -14
  40. package/dist/internal/build-runtime.mjs +13 -13
  41. package/dist/internal/cli-runtime.cjs +8 -8
  42. package/dist/internal/cli-runtime.mjs +7 -7
  43. package/dist/internal/client-error-overlay.cjs +4 -4
  44. package/dist/internal/client-error-overlay.mjs +1 -1
  45. package/dist/internal/config-runtime.cjs +4 -4
  46. package/dist/internal/config-runtime.mjs +3 -3
  47. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  48. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  49. package/dist/internal/production-runtime.cjs +4 -4
  50. package/dist/internal/production-runtime.mjs +3 -3
  51. package/dist/markdown.cjs +2 -2
  52. package/dist/markdown.mjs +1 -1
  53. package/dist/plugin.cjs +10 -10
  54. package/dist/plugin.mjs +9 -9
  55. package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
  56. package/dist/{schema-dev-notice-MXSZMVDG.cjs → schema-dev-notice-Y7MQEFGN.cjs} +3 -3
  57. package/dist/server.cjs +25 -25
  58. package/dist/server.mjs +11 -11
  59. package/dist/version.cjs +2 -2
  60. package/dist/version.mjs +1 -1
  61. package/dist/vite.cjs +10 -10
  62. package/dist/vite.mjs +9 -9
  63. package/package.json +1 -1
@@ -6,12 +6,12 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkWZMNW2IWcjs = require('./chunk-WZMNW2IW.cjs');
9
+ var _chunkGPVTX3HTcjs = require('./chunk-GPVTX3HT.cjs');
10
10
 
11
11
 
12
12
 
13
13
 
14
- var _chunkAWRISO2Hcjs = require('./chunk-AWRISO2H.cjs');
14
+ var _chunkE2ROOWQCcjs = require('./chunk-E2ROOWQC.cjs');
15
15
 
16
16
 
17
17
  var _chunkJSROZYYOcjs = require('./chunk-JSROZYYO.cjs');
@@ -24,7 +24,7 @@ var _chunkJSROZYYOcjs = require('./chunk-JSROZYYO.cjs');
24
24
 
25
25
 
26
26
 
27
- var _chunkOIEOCXKGcjs = require('./chunk-OIEOCXKG.cjs');
27
+ var _chunkOYDRPBBVcjs = require('./chunk-OYDRPBBV.cjs');
28
28
 
29
29
 
30
30
  var _chunkCXP5U3RWcjs = require('./chunk-CXP5U3RW.cjs');
@@ -99,7 +99,7 @@ var _chunkTFAXUHWXcjs = require('./chunk-TFAXUHWX.cjs');
99
99
 
100
100
 
101
101
 
102
- var _chunkTYQUSXUGcjs = require('./chunk-TYQUSXUG.cjs');
102
+ var _chunkISTFC3MZcjs = require('./chunk-ISTFC3MZ.cjs');
103
103
 
104
104
 
105
105
 
@@ -117,12 +117,12 @@ var _chunkVEKFLAQMcjs = require('./chunk-VEKFLAQM.cjs');
117
117
 
118
118
 
119
119
 
120
- var _chunkBSTRERPPcjs = require('./chunk-BSTRERPP.cjs');
120
+ var _chunkI5YBCWQ6cjs = require('./chunk-I5YBCWQ6.cjs');
121
121
 
122
122
 
123
123
 
124
124
 
125
- var _chunkE2BMSZ2Wcjs = require('./chunk-E2BMSZ2W.cjs');
125
+ var _chunkAH7HOAQ3cjs = require('./chunk-AH7HOAQ3.cjs');
126
126
 
127
127
 
128
128
 
@@ -136,7 +136,7 @@ var _chunkOHY2ZWUGcjs = require('./chunk-OHY2ZWUG.cjs');
136
136
 
137
137
 
138
138
 
139
- var _chunkTWGMSEHXcjs = require('./chunk-TWGMSEHX.cjs');
139
+ var _chunkBBVSJVBZcjs = require('./chunk-BBVSJVBZ.cjs');
140
140
 
141
141
 
142
142
  var _chunkK6FNHVDRcjs = require('./chunk-K6FNHVDR.cjs');
@@ -258,7 +258,7 @@ var _chunkQNPEUFHQcjs = require('./chunk-QNPEUFHQ.cjs');
258
258
  var _chunkUQZ4AYTHcjs = require('./chunk-UQZ4AYTH.cjs');
259
259
 
260
260
 
261
- var _chunkNWOD6NITcjs = require('./chunk-NWOD6NIT.cjs');
261
+ var _chunkRFYO7QUDcjs = require('./chunk-RFYO7QUD.cjs');
262
262
 
263
263
 
264
264
 
@@ -2208,7 +2208,7 @@ var _RouteManager = class _RouteManager {
2208
2208
  );
2209
2209
  const routeEntries = Array.from(this.routes.values()).map((entry) => ({
2210
2210
  entry,
2211
- metadata: _chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) ? markdownPagePlan() : getClientModuleHydrationPlan(
2211
+ metadata: _chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) ? markdownPagePlan() : getClientModuleHydrationPlan(
2212
2212
  entry.modulePath,
2213
2213
  normalizedProjectRoot,
2214
2214
  isolatedMode,
@@ -2216,7 +2216,7 @@ var _RouteManager = class _RouteManager {
2216
2216
  )
2217
2217
  }));
2218
2218
  const markdownFallback = routeEntries.find(
2219
- ({ entry, metadata }) => _chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.fallbackReason
2219
+ ({ entry, metadata }) => _chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.fallbackReason
2220
2220
  );
2221
2221
  if (markdownFallback) {
2222
2222
  _chunk5QIKR7RRcjs.logger.warn(
@@ -2224,7 +2224,7 @@ var _RouteManager = class _RouteManager {
2224
2224
  );
2225
2225
  }
2226
2226
  const markdownStaticPackages = _optionalChain([routeEntries, 'access', _120 => _120.find, 'call', _121 => _121(
2227
- ({ entry, metadata }) => _chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.staticPackageBoundaries
2227
+ ({ entry, metadata }) => _chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.staticPackageBoundaries
2228
2228
  ), 'optionalAccess', _122 => _122.metadata, 'access', _123 => _123.staticPackageBoundaries]);
2229
2229
  if (markdownStaticPackages) {
2230
2230
  _chunk5QIKR7RRcjs.logger.info(
@@ -2232,7 +2232,7 @@ var _RouteManager = class _RouteManager {
2232
2232
  );
2233
2233
  }
2234
2234
  for (const { entry, metadata } of [...layoutEntries, ...routeEntries]) {
2235
- if (_chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) || !metadata.staticPackageBoundaries) continue;
2235
+ if (_chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) || !metadata.staticPackageBoundaries) continue;
2236
2236
  _chunk5QIKR7RRcjs.logger.info(
2237
2237
  `[Farm.js] ${entry.pattern} is async, so it renders client components from ${metadata.staticPackageBoundaries.join(", ")} as static HTML: package client components cannot be isolated yet.`
2238
2238
  );
@@ -2384,13 +2384,13 @@ var _RouteManager = class _RouteManager {
2384
2384
  const { createRouteModuleFromProgrammaticPage } = await import("./routes.cjs");
2385
2385
  return createRouteModuleFromProgrammaticPage(programmaticPage, this.rendererRuntime);
2386
2386
  }
2387
- if (_chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, modulePath)) {
2387
+ if (_chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, modulePath)) {
2388
2388
  const mdxConfig = _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, this.config.mdx);
2389
- const components = await _chunkBSTRERPPcjs.loadFarmMdxComponents.call(void 0, mdxConfig, {
2389
+ const components = await _chunkI5YBCWQ6cjs.loadFarmMdxComponents.call(void 0, mdxConfig, {
2390
2390
  root: this.config.root,
2391
2391
  loadModule: this.viteServer ? (componentModulePath) => this.viteServer.ssrLoadModule(componentModulePath) : void 0
2392
2392
  });
2393
- return await _chunkBSTRERPPcjs.createFarmMarkdownRouteModuleFromFile.call(void 0, modulePath, {
2393
+ return await _chunkI5YBCWQ6cjs.createFarmMarkdownRouteModuleFromFile.call(void 0, modulePath, {
2394
2394
  components,
2395
2395
  config: mdxConfig
2396
2396
  });
@@ -2483,7 +2483,7 @@ var _RouteManager = class _RouteManager {
2483
2483
  appDir
2484
2484
  );
2485
2485
  const canonicalPageGroups = /* @__PURE__ */ new Map();
2486
- for (const file of pageFiles.filter((candidate) => _chunkWZMNW2IWcjs.parseRouteSlotFile.call(void 0, candidate) === null)) {
2486
+ for (const file of pageFiles.filter((candidate) => _chunkGPVTX3HTcjs.parseRouteSlotFile.call(void 0, candidate) === null)) {
2487
2487
  const route = _chunk5QIKR7RRcjs.parseRoutePath.call(void 0, file);
2488
2488
  const pattern = this.createRoutePattern(route);
2489
2489
  const group = canonicalPageGroups.get(pattern);
@@ -2497,8 +2497,8 @@ var _RouteManager = class _RouteManager {
2497
2497
  }
2498
2498
  }
2499
2499
  for (const [pattern, group] of canonicalPageGroups) {
2500
- const componentFiles = group.files.filter((file) => !_chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, file));
2501
- const markdownFiles = group.files.filter(_chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile);
2500
+ const componentFiles = group.files.filter((file) => !_chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, file));
2501
+ const markdownFiles = group.files.filter(_chunkAH7HOAQ3cjs.isFarmMarkdownPageFile);
2502
2502
  if (componentFiles.length > 1) {
2503
2503
  throw new Error(
2504
2504
  `Duplicate page route "${pattern}". Found ${componentFiles.map((file) => path9.default.join(appDir, file)).join(" and ")}.`
@@ -2556,7 +2556,7 @@ var _RouteManager = class _RouteManager {
2556
2556
  }
2557
2557
  }
2558
2558
  for (const file of [...pageFiles, ...slotDefaultFiles]) {
2559
- const slot = _chunkWZMNW2IWcjs.parseRouteSlotFile.call(void 0, file);
2559
+ const slot = _chunkGPVTX3HTcjs.parseRouteSlotFile.call(void 0, file);
2560
2560
  if (!slot) continue;
2561
2561
  const modulePath = path9.default.join(appDir, file);
2562
2562
  const pattern = this.createRoutePattern(slot.route);
@@ -2578,7 +2578,7 @@ var _RouteManager = class _RouteManager {
2578
2578
  ownerPattern,
2579
2579
  interception: slot.interception,
2580
2580
  fallback: slot.fallback,
2581
- containerId: _chunkWZMNW2IWcjs.createRouteSlotContainerId.call(void 0, slot.name, ownerPattern)
2581
+ containerId: _chunkGPVTX3HTcjs.createRouteSlotContainerId.call(void 0, slot.name, ownerPattern)
2582
2582
  });
2583
2583
  }
2584
2584
  for (const file of metadataImageFiles) {
@@ -2816,7 +2816,7 @@ var _RouteManager = class _RouteManager {
2816
2816
  pattern: entry.pattern
2817
2817
  }));
2818
2818
  const i18n = this.getI18nConfig();
2819
- const result = await _chunkWZMNW2IWcjs.collectSSGPages.call(void 0, routes, (filePath) => this.loadRouteModule(filePath), {
2819
+ const result = await _chunkGPVTX3HTcjs.collectSSGPages.call(void 0, routes, (filePath) => this.loadRouteModule(filePath), {
2820
2820
  suggestStaticRendering: shouldSuggestStaticRenderingForI18n(i18n)
2821
2821
  });
2822
2822
  if (!i18n) {
@@ -2861,7 +2861,7 @@ var _RouteManager = class _RouteManager {
2861
2861
  async isRouteSSG(modulePath) {
2862
2862
  try {
2863
2863
  const mod = await this.loadRouteModule(modulePath);
2864
- const rendering = await _chunkWZMNW2IWcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2864
+ const rendering = await _chunkGPVTX3HTcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2865
2865
  return rendering.ssg;
2866
2866
  } catch (e10) {
2867
2867
  return false;
@@ -2873,7 +2873,7 @@ var _RouteManager = class _RouteManager {
2873
2873
  async hasRouteISR(modulePath) {
2874
2874
  try {
2875
2875
  const mod = await this.loadRouteModule(modulePath);
2876
- const rendering = await _chunkWZMNW2IWcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2876
+ const rendering = await _chunkGPVTX3HTcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2877
2877
  return rendering.ssg && typeof rendering.revalidate === "number" && rendering.revalidate > 0;
2878
2878
  } catch (e11) {
2879
2879
  return false;
@@ -2885,7 +2885,7 @@ var _RouteManager = class _RouteManager {
2885
2885
  async getRouteRevalidateInterval(modulePath) {
2886
2886
  try {
2887
2887
  const mod = await this.loadRouteModule(modulePath);
2888
- const rendering = await _chunkWZMNW2IWcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2888
+ const rendering = await _chunkGPVTX3HTcjs.resolveRouteRenderingConfigFromFile.call(void 0, mod, modulePath);
2889
2889
  return rendering.revalidate;
2890
2890
  } catch (e12) {
2891
2891
  return void 0;
@@ -4644,7 +4644,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, appendResponseVary, "appendResponseVary");
4644
4644
  function renderI18nAlternateLinks(requestPath, snapshot, options) {
4645
4645
  if (snapshot.routing === "none") return "";
4646
4646
  const url = new URL(requestPath, "http://farm.local");
4647
- return _chunkOIEOCXKGcjs.renderFarmLocaleAlternateLinks.call(void 0, url.pathname, snapshot, options);
4647
+ return _chunkOYDRPBBVcjs.renderFarmLocaleAlternateLinks.call(void 0, url.pathname, snapshot, options);
4648
4648
  }
4649
4649
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderI18nAlternateLinks, "renderI18nAlternateLinks");
4650
4650
  var PPR_REFRESH_MAX_ATTEMPTS = 3;
@@ -4783,7 +4783,7 @@ var _ServerRenderer = class _ServerRenderer {
4783
4783
  this.routeManager = routeManager;
4784
4784
  this.i18nRuntime = i18nRuntime;
4785
4785
  this.viteServer = viteServer;
4786
- this.security = _chunkTYQUSXUGcjs.resolveFarmSecurityConfig.call(void 0, config.security);
4786
+ this.security = _chunkISTFC3MZcjs.resolveFarmSecurityConfig.call(void 0, config.security);
4787
4787
  this.loadSSGManifest();
4788
4788
  }
4789
4789
  async initialize() {
@@ -5024,7 +5024,7 @@ var _ServerRenderer = class _ServerRenderer {
5024
5024
  * Check if a path should be served from SSG cache
5025
5025
  */
5026
5026
  async shouldServeSSG(pathname) {
5027
- const ssgPage = _chunkWZMNW2IWcjs.matchSSGPage.call(void 0, pathname, this.ssgManifest);
5027
+ const ssgPage = _chunkGPVTX3HTcjs.matchSSGPage.call(void 0, pathname, this.ssgManifest);
5028
5028
  if (!ssgPage) return null;
5029
5029
  const cached = await this.getCachedSSGPage(pathname);
5030
5030
  if (cached && await this.dataCache.isStaleAsync(cached)) {
@@ -5257,10 +5257,10 @@ var _ServerRenderer = class _ServerRenderer {
5257
5257
  await this.initialize();
5258
5258
  _chunkI57LW5VZcjs.setFarmBasePath.call(void 0, this.config.basePath);
5259
5259
  _chunkOYEUREB6cjs.setFarmTrailingSlashPreference.call(void 0, this.config.trailingSlash);
5260
- const cspNonce = _chunkTYQUSXUGcjs.createFarmCspNonce.call(void 0, this.security);
5260
+ const cspNonce = _chunkISTFC3MZcjs.createFarmCspNonce.call(void 0, this.security);
5261
5261
  if (cspNonce) {
5262
5262
  req.__FARM_CSP_NONCE__ = cspNonce;
5263
- const header = _chunkTYQUSXUGcjs.getFarmSecurityHeader.call(void 0, this.security, cspNonce);
5263
+ const header = _chunkISTFC3MZcjs.getFarmSecurityHeader.call(void 0, this.security, cspNonce);
5264
5264
  res.setHeader(header.key, header.value);
5265
5265
  }
5266
5266
  const request2 = _chunk5ZSWG4UXcjs.createWebRequestFromFarmRequest.call(void 0, req, {
@@ -5439,7 +5439,7 @@ var _ServerRenderer = class _ServerRenderer {
5439
5439
  throw error;
5440
5440
  }
5441
5441
  }
5442
- const renderingConfig = await _chunkWZMNW2IWcjs.resolveRouteRenderingConfigFromFile.call(void 0,
5442
+ const renderingConfig = await _chunkGPVTX3HTcjs.resolveRouteRenderingConfigFromFile.call(void 0,
5443
5443
  routeModule,
5444
5444
  route.modulePath,
5445
5445
  { experimentalPPR: _optionalChain([this, 'access', _176 => _176.config, 'access', _177 => _177.experimental, 'optionalAccess', _178 => _178.ppr]) === true }
@@ -5843,7 +5843,7 @@ var _ServerRenderer = class _ServerRenderer {
5843
5843
  }
5844
5844
  }
5845
5845
  _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, { type: "render.error", route: pathname, error });
5846
- const errorStatus = _chunkOIEOCXKGcjs.resolveDefaultErrorStatus.call(void 0, error);
5846
+ const errorStatus = _chunkOYDRPBBVcjs.resolveDefaultErrorStatus.call(void 0, error);
5847
5847
  if (pprRefreshRoute) {
5848
5848
  _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
5849
5849
  type: "ppr.refresh.error",
@@ -5987,7 +5987,7 @@ var _ServerRenderer = class _ServerRenderer {
5987
5987
  );
5988
5988
  metadata = _chunkOXSIH4D6cjs.addMetadataMarkdownAlternate.call(void 0,
5989
5989
  metadata,
5990
- _chunkTWGMSEHXcjs.getFarmMarkdownAlternatePath.call(void 0, _chunkTWGMSEHXcjs.resolveMarkdownConfig.call(void 0, this.config.md), publicPathname)
5990
+ _chunkBBVSJVBZcjs.getFarmMarkdownAlternatePath.call(void 0, _chunkBBVSJVBZcjs.resolveMarkdownConfig.call(void 0, this.config.md), publicPathname)
5991
5991
  );
5992
5992
  return metadata;
5993
5993
  }
@@ -6059,11 +6059,11 @@ var _ServerRenderer = class _ServerRenderer {
6059
6059
  path: match.routePath,
6060
6060
  ...llmsContext
6061
6061
  }) : routeModule.default;
6062
- const body = match.metadata.kind === "llms-full" && !(value instanceof Response) ? await _chunkTYQUSXUGcjs.renderFarmLlmsFullTxt.call(void 0, value, {
6062
+ const body = match.metadata.kind === "llms-full" && !(value instanceof Response) ? await _chunkISTFC3MZcjs.renderFarmLlmsFullTxt.call(void 0, value, {
6063
6063
  origin: url.origin,
6064
6064
  readMarkdown: llmsContext.markdown
6065
6065
  }) : value;
6066
- const response = _chunkOIEOCXKGcjs.createFarmMetadataRouteResponse.call(void 0, match.metadata.kind, body, routeModule, {
6066
+ const response = _chunkOYDRPBBVcjs.createFarmMetadataRouteResponse.call(void 0, match.metadata.kind, body, routeModule, {
6067
6067
  method
6068
6068
  });
6069
6069
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, response);
@@ -6080,7 +6080,7 @@ var _ServerRenderer = class _ServerRenderer {
6080
6080
  }
6081
6081
  /** `/llms.txt` and `/llms-full.txt` from `agent.llmsTxt` when no file route owns them. */
6082
6082
  getGeneratedLlmsKind(pathname) {
6083
- const config = _chunkTYQUSXUGcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _200 => _200.config, 'access', _201 => _201.agent, 'optionalAccess', _202 => _202.llmsTxt]));
6083
+ const config = _chunkISTFC3MZcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _200 => _200.config, 'access', _201 => _201.agent, 'optionalAccess', _202 => _202.llmsTxt]));
6084
6084
  if (!config.enabled) return null;
6085
6085
  if (pathname === "/llms.txt") return "llms";
6086
6086
  return pathname === "/llms-full.txt" && config.full ? "llms-full" : null;
@@ -6090,15 +6090,15 @@ var _ServerRenderer = class _ServerRenderer {
6090
6090
  const request2 = _chunk5ZSWG4UXcjs.createWebRequestFromFarmRequest.call(void 0, req, {
6091
6091
  trustProxy: _optionalChain([this, 'access', _203 => _203.config, 'access', _204 => _204.server, 'optionalAccess', _205 => _205.trustProxy])
6092
6092
  });
6093
- const config = _chunkTYQUSXUGcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _206 => _206.config, 'access', _207 => _207.agent, 'optionalAccess', _208 => _208.llmsTxt]));
6093
+ const config = _chunkISTFC3MZcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _206 => _206.config, 'access', _207 => _207.agent, 'optionalAccess', _208 => _208.llmsTxt]));
6094
6094
  const context = await this.createLlmsTxtContext(request2, { full: kind === "llms-full", req });
6095
- const body = kind === "llms-full" ? await _chunkTYQUSXUGcjs.renderFarmLlmsFullTxt.call(void 0, context.defaults, {
6095
+ const body = kind === "llms-full" ? await _chunkISTFC3MZcjs.renderFarmLlmsFullTxt.call(void 0, context.defaults, {
6096
6096
  origin: new URL(request2.url).origin,
6097
6097
  readMarkdown: context.markdown
6098
6098
  }) : context.defaults;
6099
6099
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0,
6100
6100
  res,
6101
- _chunkOIEOCXKGcjs.createFarmMetadataRouteResponse.call(void 0,
6101
+ _chunkOYDRPBBVcjs.createFarmMetadataRouteResponse.call(void 0,
6102
6102
  kind,
6103
6103
  body,
6104
6104
  { revalidate: config.revalidate },
@@ -6117,7 +6117,7 @@ var _ServerRenderer = class _ServerRenderer {
6117
6117
  }
6118
6118
  }
6119
6119
  getAgentCrawlers() {
6120
- return _chunkTYQUSXUGcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([this, 'access', _209 => _209.config, 'access', _210 => _210.agent, 'optionalAccess', _211 => _211.crawlers]));
6120
+ return _chunkISTFC3MZcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([this, 'access', _209 => _209.config, 'access', _210 => _210.agent, 'optionalAccess', _211 => _211.crawlers]));
6121
6121
  }
6122
6122
  /** `/robots.txt` from `agent.crawlers` when no robots.ts owns it. */
6123
6123
  async renderGeneratedRobotsTxt(req, res) {
@@ -6125,7 +6125,7 @@ var _ServerRenderer = class _ServerRenderer {
6125
6125
  const sitemapPath = _optionalChain([this, 'access', _212 => _212.routeManager, 'access', _213 => _213.matchMetadataRoute, 'call', _214 => _214("/sitemap.xml"), 'optionalAccess', _215 => _215.metadata, 'access', _216 => _216.kind]) === "sitemap" ? "/sitemap.xml" : void 0;
6126
6126
  const rootLayout = this.routeManager.getLayouts().get("/");
6127
6127
  const rootMetadata = sitemapPath && rootLayout ? (await this.routeManager.loadLayoutModule(rootLayout.modulePath)).metadata : void 0;
6128
- const robots = _chunkTYQUSXUGcjs.createFarmAgentRobots.call(void 0, {
6128
+ const robots = _chunkISTFC3MZcjs.createFarmAgentRobots.call(void 0, {
6129
6129
  crawlers: this.getAgentCrawlers(),
6130
6130
  sitemapPath,
6131
6131
  metadataBase: _optionalChain([rootMetadata, 'optionalAccess', _217 => _217.metadataBase]),
@@ -6133,7 +6133,7 @@ var _ServerRenderer = class _ServerRenderer {
6133
6133
  });
6134
6134
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0,
6135
6135
  res,
6136
- _chunkOIEOCXKGcjs.createFarmMetadataRouteResponse.call(void 0, "robots", robots, {}, { method: req.method })
6136
+ _chunkOYDRPBBVcjs.createFarmMetadataRouteResponse.call(void 0, "robots", robots, {}, { method: req.method })
6137
6137
  );
6138
6138
  } catch (error) {
6139
6139
  _chunk5QIKR7RRcjs.logger.error(`Generated robots.txt failed: ${error}`);
@@ -6148,7 +6148,7 @@ var _ServerRenderer = class _ServerRenderer {
6148
6148
  }
6149
6149
  /** Same inputs the production server gives llms.txt: static pages and root metadata. */
6150
6150
  async createLlmsTxtContext(request2, options = {}) {
6151
- const config = _chunkTYQUSXUGcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _218 => _218.config, 'access', _219 => _219.agent, 'optionalAccess', _220 => _220.llmsTxt]));
6151
+ const config = _chunkISTFC3MZcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _218 => _218.config, 'access', _219 => _219.agent, 'optionalAccess', _220 => _220.llmsTxt]));
6152
6152
  const origin = new URL(request2.url).origin;
6153
6153
  const staticRoutes = [...this.routeManager.getRoutes()].filter(
6154
6154
  ([pattern]) => !pattern.includes("[")
@@ -6166,16 +6166,16 @@ var _ServerRenderer = class _ServerRenderer {
6166
6166
  );
6167
6167
  const rootLayout = this.routeManager.getLayouts().get("/");
6168
6168
  const rootMetadata = rootLayout ? (await this.routeManager.loadLayoutModule(rootLayout.modulePath)).metadata : void 0;
6169
- const pages = _chunkTYQUSXUGcjs.collectFarmLlmsTxtPages.call(void 0, sources, {
6169
+ const pages = _chunkISTFC3MZcjs.collectFarmLlmsTxtPages.call(void 0, sources, {
6170
6170
  origin,
6171
6171
  basePath: this.config.basePath,
6172
- markdown: _chunkTWGMSEHXcjs.resolveMarkdownConfig.call(void 0, this.config.md),
6172
+ markdown: _chunkBBVSJVBZcjs.resolveMarkdownConfig.call(void 0, this.config.md),
6173
6173
  include: config.include,
6174
6174
  exclude: config.exclude
6175
6175
  });
6176
6176
  return {
6177
6177
  pages,
6178
- defaults: _chunkTYQUSXUGcjs.createFarmDefaultLlmsTxt.call(void 0, { origin, pages, config, rootMetadata }),
6178
+ defaults: _chunkISTFC3MZcjs.createFarmDefaultLlmsTxt.call(void 0, { origin, pages, config, rootMetadata }),
6179
6179
  ...options.full ? { markdown: this.createDevMarkdownReader(options.req) } : {}
6180
6180
  };
6181
6181
  }
@@ -6195,11 +6195,11 @@ var _ServerRenderer = class _ServerRenderer {
6195
6195
  }
6196
6196
  if (socket.encrypted) {
6197
6197
  const address = { host: socket.localAddress, port: socket.localPort };
6198
- return _chunkTYQUSXUGcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => requestOwnHttpsServer(page, address));
6198
+ return _chunkISTFC3MZcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => requestOwnHttpsServer(page, address));
6199
6199
  }
6200
6200
  const host = socket.localAddress.includes(":") ? `[${socket.localAddress}]` : socket.localAddress;
6201
6201
  const localOrigin = `http://${host}:${socket.localPort}`;
6202
- const read = _chunkTYQUSXUGcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => fetch(page));
6202
+ const read = _chunkISTFC3MZcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => fetch(page));
6203
6203
  return (url) => {
6204
6204
  const target = new URL(url);
6205
6205
  return read(`${localOrigin}${target.pathname}${target.search}`);
@@ -6450,7 +6450,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6450
6450
  i18nSnapshot,
6451
6451
  this.getI18nAlternateOptions(req, req.__FARM_METADATA__)
6452
6452
  ) : "";
6453
- const themeDocument = _chunkOIEOCXKGcjs.createFarmThemeDocumentParts.call(void 0,
6453
+ const themeDocument = _chunkOYDRPBBVcjs.createFarmThemeDocumentParts.call(void 0,
6454
6454
  this.config.theme,
6455
6455
  this.config.basePath,
6456
6456
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -6654,7 +6654,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6654
6654
  this.getI18nAlternateOptions(req, req.__FARM_METADATA__)
6655
6655
  ) : "";
6656
6656
  const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
6657
- const themeDocument = _chunkOIEOCXKGcjs.createFarmThemeDocumentParts.call(void 0,
6657
+ const themeDocument = _chunkOYDRPBBVcjs.createFarmThemeDocumentParts.call(void 0,
6658
6658
  this.config.theme,
6659
6659
  this.config.basePath,
6660
6660
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -6663,7 +6663,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6663
6663
  const devStyleLinks = this.collectDevStyleLinks();
6664
6664
  const globalStylesheetLink = this.devGlobalStylesheetLink(true);
6665
6665
  const cspNonce = this.getCspNonce(req);
6666
- const secureDocumentHTML = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (html) => cspNonce ? _chunkTYQUSXUGcjs.addFarmCspNonceToScriptTags.call(void 0, html, cspNonce) : html, "secureDocumentHTML");
6666
+ const secureDocumentHTML = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (html) => cspNonce ? _chunkISTFC3MZcjs.addFarmCspNonceToScriptTags.call(void 0, html, cspNonce) : html, "secureDocumentHTML");
6667
6667
  const createLateNavigationRecovery = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (navigationError) => this.createLateNavigationRecoveryHTML(req, navigationError), "createLateNavigationRecovery");
6668
6668
  const { pipe, abort } = renderToPipeableStream(streamRoot, {
6669
6669
  nonce: cspNonce,
@@ -6709,7 +6709,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6709
6709
  _optionalChain([staticShellParts, 'optionalAccess', _244 => _244.push, 'call', _245 => _245(securedShell)]);
6710
6710
  let firstChunk = true;
6711
6711
  let checkedFullDocument = false;
6712
- const cspNonceRewriter = cspNonce ? _chunkTYQUSXUGcjs.createFarmCspNonceRewriter.call(void 0, cspNonce) : void 0;
6712
+ const cspNonceRewriter = cspNonce ? _chunkISTFC3MZcjs.createFarmCspNonceRewriter.call(void 0, cspNonce) : void 0;
6713
6713
  const cspStreamDecoder = cspNonceRewriter ? new TextDecoder() : void 0;
6714
6714
  const recordRenderedChunk = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (chunkText) => {
6715
6715
  if (!chunkText) return;
@@ -6909,7 +6909,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6909
6909
  */
6910
6910
  async createLateNavigationRecoveryHTML(req, error) {
6911
6911
  if (_chunkOX6O6WVAcjs.isFarmRedirectError.call(void 0, error)) {
6912
- return _chunkOIEOCXKGcjs.createLateRedirectRecovery.call(void 0, this.localizeRedirectUrl(_chunkOX6O6WVAcjs.getFarmRedirectError.call(void 0, error).url));
6912
+ return _chunkOYDRPBBVcjs.createLateRedirectRecovery.call(void 0, this.localizeRedirectUrl(_chunkOX6O6WVAcjs.getFarmRedirectError.call(void 0, error).url));
6913
6913
  }
6914
6914
  const pathname = _chunk5ZSWG4UXcjs.resolveFarmRequestURL.call(void 0, req, {
6915
6915
  trustProxy: _optionalChain([this, 'access', _249 => _249.config, 'access', _250 => _250.server, 'optionalAccess', _251 => _251.trustProxy])
@@ -6927,7 +6927,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6927
6927
  _chunk5QIKR7RRcjs.logger.warn(`not-found page could not render outside its layout, using Farm's: ${error2}`);
6928
6928
  }
6929
6929
  }
6930
- return _chunkOIEOCXKGcjs.createLateNotFoundRecovery.call(void 0, content);
6930
+ return _chunkOYDRPBBVcjs.createLateNotFoundRecovery.call(void 0, content);
6931
6931
  }
6932
6932
  async render404(req, res) {
6933
6933
  res.statusCode = 404;
@@ -6936,11 +6936,11 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6936
6936
  }).pathname;
6937
6937
  const acceptHeader = req.headers.accept;
6938
6938
  const accept = Array.isArray(acceptHeader) ? acceptHeader.join(",") : acceptHeader;
6939
- if (_chunkTWGMSEHXcjs.farmRequestWantsMarkdown.call(void 0, pathname, accept)) {
6940
- res.setHeader("Content-Type", _chunkTWGMSEHXcjs.FARM_MARKDOWN_CONTENT_TYPE);
6939
+ if (_chunkBBVSJVBZcjs.farmRequestWantsMarkdown.call(void 0, pathname, accept)) {
6940
+ res.setHeader("Content-Type", _chunkBBVSJVBZcjs.FARM_MARKDOWN_CONTENT_TYPE);
6941
6941
  res.setHeader("X-Farm-Markdown-Error", "404");
6942
6942
  res.setHeader("Cache-Control", "no-store");
6943
- res.end(_chunkTWGMSEHXcjs.createFarmMarkdownErrorBody.call(void 0, 404, pathname, this.config.basePath || "/"));
6943
+ res.end(_chunkBBVSJVBZcjs.createFarmMarkdownErrorBody.call(void 0, 404, pathname, this.config.basePath || "/"));
6944
6944
  return;
6945
6945
  }
6946
6946
  const appDir = path9.join(this.config.root, this.config.srcDir, "app");
@@ -7002,8 +7002,8 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7002
7002
  trustProxy: _optionalChain([this, 'access', _257 => _257.config, 'access', _258 => _258.server, 'optionalAccess', _259 => _259.trustProxy])
7003
7003
  });
7004
7004
  const diagnostics = isDev ? createDefaultErrorDiagnostics(error, this.config.root || process.cwd()) : void 0;
7005
- const statusText = _chunkOIEOCXKGcjs.getDefaultErrorStatusText.call(void 0, statusCode);
7006
- const content = _chunkOIEOCXKGcjs.createDefaultErrorMarkup.call(void 0, {
7005
+ const statusText = _chunkOYDRPBBVcjs.getDefaultErrorStatusText.call(void 0, statusCode);
7006
+ const content = _chunkOYDRPBBVcjs.createDefaultErrorMarkup.call(void 0, {
7007
7007
  statusCode,
7008
7008
  statusText,
7009
7009
  requestPath: requestUrl.pathname,
@@ -7013,7 +7013,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7013
7013
  stack: _optionalChain([diagnostics, 'optionalAccess', _262 => _262.stack]),
7014
7014
  sourceFrame: _optionalChain([diagnostics, 'optionalAccess', _263 => _263.sourceFrame]),
7015
7015
  development: isDev,
7016
- farmVersion: _chunkNWOD6NITcjs.FARM_VERSION,
7016
+ farmVersion: _chunkRFYO7QUDcjs.FARM_VERSION,
7017
7017
  nodeVersion: process.version,
7018
7018
  mode: isDev ? "development" : "production"
7019
7019
  });
@@ -7056,7 +7056,7 @@ ${i18nSnapshot ? `window.__FARM_I18N__ = ${serializeInlineValue(i18nSnapshot)};`
7056
7056
  this.getI18nAlternateOptions(alternates.req, alternates.metadata)
7057
7057
  ) : "";
7058
7058
  const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
7059
- const themeDocument = _chunkOIEOCXKGcjs.createFarmThemeDocumentParts.call(void 0,
7059
+ const themeDocument = _chunkOYDRPBBVcjs.createFarmThemeDocumentParts.call(void 0,
7060
7060
  this.config.theme,
7061
7061
  this.config.basePath,
7062
7062
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -7116,7 +7116,7 @@ ${clientScript}
7116
7116
  }
7117
7117
  secureDocumentHTML(req, html) {
7118
7118
  const nonce = this.getCspNonce(req);
7119
- return nonce ? _chunkTYQUSXUGcjs.addFarmCspNonceToScriptTags.call(void 0, html, nonce) : html;
7119
+ return nonce ? _chunkISTFC3MZcjs.addFarmCspNonceToScriptTags.call(void 0, html, nonce) : html;
7120
7120
  }
7121
7121
  applyDeploymentHeaders(req, res) {
7122
7122
  const deploymentId = this.getDeploymentId();
@@ -7224,9 +7224,9 @@ var _FarmApp = class _FarmApp {
7224
7224
  context: config.context || (() => void 0),
7225
7225
  server: _chunkEM6SBQKMcjs.resolveFarmServerConfig.call(void 0, config.server),
7226
7226
  serverActions: _chunkT5CERMEHcjs.resolveServerActionsConfig.call(void 0, config.serverActions),
7227
- security: _chunkTYQUSXUGcjs.resolveFarmSecurityConfig.call(void 0, config.security),
7227
+ security: _chunkISTFC3MZcjs.resolveFarmSecurityConfig.call(void 0, config.security),
7228
7228
  images: _chunkYFPGHF5Fcjs.resolveFarmImageConfig.call(void 0, config.images),
7229
- performance: _chunkTYQUSXUGcjs.resolveFarmPerformanceConfig.call(void 0, config.performance),
7229
+ performance: _chunkISTFC3MZcjs.resolveFarmPerformanceConfig.call(void 0, config.performance),
7230
7230
  theme: _chunkOI6CMLWXcjs.resolveFarmThemeConfig.call(void 0, config.theme, basePath),
7231
7231
  i18n: isResolvedI18nConfig(config.i18n) ? config.i18n : _chunkHBTUGXHScjs.resolveFarmI18nConfig.call(void 0, config.i18n, {
7232
7232
  root,
@@ -7238,7 +7238,7 @@ var _FarmApp = class _FarmApp {
7238
7238
  serverRuntimeConfig: config.serverRuntimeConfig || {},
7239
7239
  publicRuntimeConfig: config.publicRuntimeConfig || {},
7240
7240
  docs: isResolvedDocsConfig(config.docs) ? config.docs : defaultDocsConfig,
7241
- md: _chunkTWGMSEHXcjs.resolveMarkdownConfig.call(void 0, config.md),
7241
+ md: _chunkBBVSJVBZcjs.resolveMarkdownConfig.call(void 0, config.md),
7242
7242
  mdx: _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, config.mdx),
7243
7243
  observability: _nullishCoalesce(config.observability, () => ( false)),
7244
7244
  telemetry: config.telemetry !== false,
@@ -8299,13 +8299,13 @@ function declarePluginSchema(plugin) {
8299
8299
  `Plugin "${plugin.name}" sets \`database\` without a \`schema\`: it only says where the schema's tables live.`
8300
8300
  );
8301
8301
  }
8302
- if (!plugin.schema || _chunkAWRISO2Hcjs.readSchemaTables.call(void 0, plugin)) return plugin;
8302
+ if (!plugin.schema || _chunkE2ROOWQCcjs.readSchemaTables.call(void 0, plugin)) return plugin;
8303
8303
  const name = pluginSchemaName(plugin.name);
8304
8304
  const models = _chunkJSROZYYOcjs.resolveSchemaModels.call(void 0, name, plugin.schema);
8305
- _chunkAWRISO2Hcjs.collectSchemaExtensions.call(void 0, name, plugin.schema);
8305
+ _chunkE2ROOWQCcjs.collectSchemaExtensions.call(void 0, name, plugin.schema);
8306
8306
  validateSchemaSteps(name, plugin.schema, plugin.migrations);
8307
8307
  const database = plugin.database;
8308
- return _chunkAWRISO2Hcjs.declareSchemaTables.call(void 0, plugin, {
8308
+ return _chunkE2ROOWQCcjs.declareSchemaTables.call(void 0, plugin, {
8309
8309
  name,
8310
8310
  schema: plugin.schema,
8311
8311
  // Also listed by key, which tooling from before `external` existed reads.
@@ -9272,13 +9272,13 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, reportOpenAPIDevGenerationResult, "reportO
9272
9272
 
9273
9273
  // src/vite.ts
9274
9274
  function farmLlmsTxtGeneratedPaths(config) {
9275
- const llms = _chunkTYQUSXUGcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([config, 'access', _466 => _466.agent, 'optionalAccess', _467 => _467.llmsTxt]));
9275
+ const llms = _chunkISTFC3MZcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([config, 'access', _466 => _466.agent, 'optionalAccess', _467 => _467.llmsTxt]));
9276
9276
  if (!llms.enabled) return [];
9277
9277
  return llms.full ? ["/llms.txt", "/llms-full.txt"] : ["/llms.txt"];
9278
9278
  }
9279
9279
  _chunkS3JO3N4Hcjs.__name.call(void 0, farmLlmsTxtGeneratedPaths, "farmLlmsTxtGeneratedPaths");
9280
9280
  function farmAgentGeneratedPaths(config) {
9281
- const crawlers = _chunkTYQUSXUGcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([config, 'access', _468 => _468.agent, 'optionalAccess', _469 => _469.crawlers]));
9281
+ const crawlers = _chunkISTFC3MZcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([config, 'access', _468 => _468.agent, 'optionalAccess', _469 => _469.crawlers]));
9282
9282
  return [...farmLlmsTxtGeneratedPaths(config), ...crawlers.enabled ? ["/robots.txt"] : []];
9283
9283
  }
9284
9284
  _chunkS3JO3N4Hcjs.__name.call(void 0, farmAgentGeneratedPaths, "farmAgentGeneratedPaths");
@@ -9324,7 +9324,7 @@ function loadFarmWorkflowsDevRuntime() {
9324
9324
  }
9325
9325
  _chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmWorkflowsDevRuntime, "loadFarmWorkflowsDevRuntime");
9326
9326
  function loadFarmDevtoolsSnapshotRuntime() {
9327
- return import("./devtools-OUIPHVV6.cjs");
9327
+ return import("./devtools-5KGPDVKL.cjs");
9328
9328
  }
9329
9329
  _chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmDevtoolsSnapshotRuntime, "loadFarmDevtoolsSnapshotRuntime");
9330
9330
  function loadFarmDevtoolsUIRuntime() {
@@ -9396,7 +9396,7 @@ function renderFarmI18nStaticHead(requestPath, snapshot) {
9396
9396
  if (!snapshot) return "";
9397
9397
  const runtime = `<script>window.__FARM_I18N__ = ${serializeFarmInlineValue(snapshot)};</script>`;
9398
9398
  if (snapshot.routing === "none") return runtime;
9399
- return `${_chunkOIEOCXKGcjs.renderFarmLocaleAlternateLinks.call(void 0, requestPath, snapshot)}${runtime}`;
9399
+ return `${_chunkOYDRPBBVcjs.renderFarmLocaleAlternateLinks.call(void 0, requestPath, snapshot)}${runtime}`;
9400
9400
  }
9401
9401
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderFarmI18nStaticHead, "renderFarmI18nStaticHead");
9402
9402
  function getPublicEnvDefine(config) {
@@ -9983,7 +9983,7 @@ function farmPlugin(options = {}, initialPluginManager) {
9983
9983
  if (_optionalChain([farmConfig, 'access', _495 => _495.agent, 'optionalAccess', _496 => _496.noindexPreviews])) {
9984
9984
  server.middlewares.use((_req, res, next) => {
9985
9985
  if (_chunkCXP5U3RWcjs.isFarmPreviewDeploymentEnvironment.call(void 0, process.env)) {
9986
- res.setHeader("X-Robots-Tag", _chunkTYQUSXUGcjs.FARM_PREVIEW_ROBOTS_TAG);
9986
+ res.setHeader("X-Robots-Tag", _chunkISTFC3MZcjs.FARM_PREVIEW_ROBOTS_TAG);
9987
9987
  }
9988
9988
  next();
9989
9989
  });
@@ -10027,7 +10027,7 @@ function farmPlugin(options = {}, initialPluginManager) {
10027
10027
  );
10028
10028
  const generateTypeArtifacts = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (reason, selection = ALL_TYPE_ARTIFACTS, log = false) => {
10029
10029
  try {
10030
- const result = await _chunkWZMNW2IWcjs.generateFarmTypeArtifacts.call(void 0, {
10030
+ const result = await _chunkGPVTX3HTcjs.generateFarmTypeArtifacts.call(void 0, {
10031
10031
  root: farmConfig.root,
10032
10032
  srcDir: farmConfig.srcDir,
10033
10033
  layers: farmConfig.layers,
@@ -10069,10 +10069,16 @@ function farmPlugin(options = {}, initialPluginManager) {
10069
10069
  const layerConfigFiles = new Set(
10070
10070
  farmConfig.layers.map((layer) => _optionalChain([layer, 'access', _504 => _504.configFile, 'optionalAccess', _505 => _505.replace, 'call', _506 => _506(/\\/g, "/")])).filter((file) => Boolean(file))
10071
10071
  );
10072
- const isPageFile = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (file) => {
10072
+ const routeModuleExtensions = /* @__PURE__ */ new Set([
10073
+ ..._chunkTFAXUHWXcjs.resolveFarmComponentExtensions.call(void 0, farmConfig.renderer.componentExtensions),
10074
+ ".md",
10075
+ ".mdx"
10076
+ ]);
10077
+ const isRouteModuleFile = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (file) => {
10073
10078
  const normalized = file.replace(/\\/g, "/");
10074
- return appDirSlugs.some((appDir) => normalized.startsWith(`${appDir}/`)) && /page\.(ts|tsx|js|jsx|md|mdx)$/.test(normalized);
10075
- }, "isPageFile");
10079
+ const match = /\/(?:page|layout|loading|error)(\.[^./]+)$/.exec(normalized);
10080
+ return appDirSlugs.some((appDir) => normalized.startsWith(`${appDir}/`)) && !!match && routeModuleExtensions.has(match[1].toLowerCase());
10081
+ }, "isRouteModuleFile");
10076
10082
  const isApiRouteFile = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (file) => {
10077
10083
  const normalized = file.replace(/\\/g, "/");
10078
10084
  return appDirSlugs.some((appDir) => normalized.startsWith(`${appDir}/api/`)) && /route\.(ts|tsx|js|jsx)$/.test(normalized);
@@ -10123,11 +10129,16 @@ function farmPlugin(options = {}, initialPluginManager) {
10123
10129
  }, "scheduleTypeArtifactGen");
10124
10130
  ["add", "change", "unlink"].forEach((ev) => {
10125
10131
  server.watcher.on(ev, (file) => {
10132
+ if (ev === "add") {
10133
+ for (const mod of server.moduleGraph.idToModuleMap.values()) {
10134
+ if (mod.ssrError) server.moduleGraph.invalidateModule(mod);
10135
+ }
10136
+ }
10126
10137
  const normalizedFile = file.replace(/\\/g, "/");
10127
10138
  const configChanged = isFarmConfigFile(file, farmConfig.root) || layerConfigFiles.has(normalizedFile);
10128
10139
  const programmaticRouteChanged = isProgrammaticRouteFile(file) || isProgrammaticRouteSourceFile(file) && (ev === "unlink" || fileContainsProgrammaticPageRoute(file));
10129
10140
  const typeArtifacts = configChanged ? ALL_TYPE_ARTIFACTS : {
10130
- routes: ev !== "change" && isPageFile(file) || programmaticRouteChanged,
10141
+ routes: ev !== "change" && isRouteModuleFile(file) || programmaticRouteChanged,
10131
10142
  api: isApiRouteFile(file) || programmaticRouteChanged,
10132
10143
  env: false,
10133
10144
  images: false,
@@ -10611,7 +10622,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10611
10622
  return;
10612
10623
  }
10613
10624
  }
10614
- const markdownSourceResponse = viteModuleRequest ? null : await _chunkE2BMSZ2Wcjs.createFarmMarkdownSourceResponse.call(void 0, {
10625
+ const markdownSourceResponse = viteModuleRequest ? null : await _chunkAH7HOAQ3cjs.createFarmMarkdownSourceResponse.call(void 0, {
10615
10626
  request: new Request(fullUrl, {
10616
10627
  method: requestMethod,
10617
10628
  headers: docsHeaders
@@ -10619,7 +10630,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10619
10630
  config: farmApp.getConfig().mdx,
10620
10631
  resolveSource: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (pathname2) => {
10621
10632
  const match = farmApp.getRouteManager().matchRoute(pathname2);
10622
- const sourcePath = _optionalChain([match, 'access', _548 => _548.route, 'optionalAccess', _549 => _549.markdownSourcePath]) || (match.route && _chunkE2BMSZ2Wcjs.isFarmMarkdownPageFile.call(void 0, match.route.modulePath) ? match.route.modulePath : null);
10633
+ const sourcePath = _optionalChain([match, 'access', _548 => _548.route, 'optionalAccess', _549 => _549.markdownSourcePath]) || (match.route && _chunkAH7HOAQ3cjs.isFarmMarkdownPageFile.call(void 0, match.route.modulePath) ? match.route.modulePath : null);
10623
10634
  if (!sourcePath) {
10624
10635
  return null;
10625
10636
  }
@@ -10634,7 +10645,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10634
10645
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, markdownSourceResponse);
10635
10646
  return;
10636
10647
  }
10637
- const markdownResponse = viteModuleRequest ? null : await _chunkTWGMSEHXcjs.createMarkdownMirrorResponse.call(void 0, {
10648
+ const markdownResponse = viteModuleRequest ? null : await _chunkBBVSJVBZcjs.createMarkdownMirrorResponse.call(void 0, {
10638
10649
  request: new Request(fullUrl, {
10639
10650
  method: requestMethod,
10640
10651
  headers: docsHeaders
@@ -10648,21 +10659,21 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10648
10659
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, markdownResponse);
10649
10660
  return;
10650
10661
  }
10651
- if (!viteModuleRequest && _chunkTWGMSEHXcjs.farmRequestWantsMarkdown.call(void 0, requestPathname, req.headers.accept)) {
10652
- const markdownRoute = farmApp.getRouteManager().matchRoute(_chunkE2BMSZ2Wcjs.normalizeFarmMarkdownRoutePath.call(void 0, requestPathname));
10662
+ if (!viteModuleRequest && _chunkBBVSJVBZcjs.farmRequestWantsMarkdown.call(void 0, requestPathname, req.headers.accept)) {
10663
+ const markdownRoute = farmApp.getRouteManager().matchRoute(_chunkAH7HOAQ3cjs.normalizeFarmMarkdownRoutePath.call(void 0, requestPathname));
10653
10664
  if (!markdownRoute.route) {
10654
10665
  if (await runAppMiddlewareForContentRoute()) return;
10655
10666
  res.statusCode = 404;
10656
- res.setHeader("Content-Type", _chunkTWGMSEHXcjs.FARM_MARKDOWN_CONTENT_TYPE);
10667
+ res.setHeader("Content-Type", _chunkBBVSJVBZcjs.FARM_MARKDOWN_CONTENT_TYPE);
10657
10668
  res.setHeader("X-Farm-Markdown-Error", "404");
10658
10669
  res.setHeader("Cache-Control", "no-store");
10659
10670
  res.end(
10660
- _chunkTWGMSEHXcjs.createFarmMarkdownErrorBody.call(void 0, 404, requestPathname, farmConfig.basePath || "/")
10671
+ _chunkBBVSJVBZcjs.createFarmMarkdownErrorBody.call(void 0, 404, requestPathname, farmConfig.basePath || "/")
10661
10672
  );
10662
10673
  return;
10663
10674
  }
10664
10675
  }
10665
- const markdownPageTarget = _chunkTWGMSEHXcjs.resolveMarkdownMirrorTarget.call(void 0,
10676
+ const markdownPageTarget = _chunkBBVSJVBZcjs.resolveMarkdownMirrorTarget.call(void 0,
10666
10677
  farmApp.getConfig().md,
10667
10678
  requestPathname,
10668
10679
  {
@@ -10675,7 +10686,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10675
10686
  if (!varyValues.some((value) => value.toLowerCase() === "accept")) {
10676
10687
  res.setHeader("Vary", [...varyValues, "Accept"].join(", "));
10677
10688
  }
10678
- const alternatePath = _chunkTWGMSEHXcjs.getFarmMarkdownMirrorPath.call(void 0, markdownPageTarget.pathname);
10689
+ const alternatePath = _chunkBBVSJVBZcjs.getFarmMarkdownMirrorPath.call(void 0, markdownPageTarget.pathname);
10679
10690
  const alternateLink = `<${alternatePath}>; rel="alternate"; type="text/markdown"`;
10680
10691
  const currentLink = res.getHeader("Link");
10681
10692
  res.setHeader(
@@ -11171,7 +11182,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
11171
11182
  }
11172
11183
  mergedMetadata = _chunkOXSIH4D6cjs.addMetadataMarkdownAlternate.call(void 0,
11173
11184
  mergedMetadata,
11174
- _chunkTWGMSEHXcjs.getFarmMarkdownAlternatePath.call(void 0, farmApp.getConfig().md, targetRequestUrl.pathname)
11185
+ _chunkBBVSJVBZcjs.getFarmMarkdownAlternatePath.call(void 0, farmApp.getConfig().md, targetRequestUrl.pathname)
11175
11186
  );
11176
11187
  const routeSlots = await Promise.all(
11177
11188
  slots.map(async (slot) => {
@@ -11227,7 +11238,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
11227
11238
  pageShouldHydrate: shouldHydrate,
11228
11239
  layoutShouldHydrate: shouldHydrateLayout,
11229
11240
  islandStrategy: hydrationIslandStrategy,
11230
- rendering: _chunkWZMNW2IWcjs.resolveRouteRenderingConfig.call(void 0, routeModule)
11241
+ rendering: _chunkGPVTX3HTcjs.resolveRouteRenderingConfig.call(void 0, routeModule)
11231
11242
  });
11232
11243
  const destinationLayoutPatterns = layouts.map((layout) => layout.pattern);
11233
11244
  const layoutStartIndex = getSharedLayoutPrefixLength(
@@ -14059,7 +14070,7 @@ async function defineConfig(config = {}) {
14059
14070
  const isExposed = hostConfig === true || hostConfig === "0.0.0.0";
14060
14071
  console.log("");
14061
14072
  console.log(
14062
- ` ${pc.bold(pc.green("Farm.js"))} ${pc.dim(`v${_chunkNWOD6NITcjs.FARM_VERSION}`)} ${pc.dim(`ready in ${elapsed}ms`)}`
14073
+ ` ${pc.bold(pc.green("Farm.js"))} ${pc.dim(`v${_chunkRFYO7QUDcjs.FARM_VERSION}`)} ${pc.dim(`ready in ${elapsed}ms`)}`
14063
14074
  );
14064
14075
  console.log("");
14065
14076
  console.log(