reroute-js 0.41.0 → 0.41.1

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 (186) hide show
  1. package/cli/bin.d.ts +1 -1
  2. package/cli/bin.js +111 -48
  3. package/cli/bin.js.map +5 -5
  4. package/cli/index.d.ts +1 -1
  5. package/cli/index.js +4 -4
  6. package/cli/index.js.map +1 -1
  7. package/cli/src/cli.d.ts +1 -1
  8. package/cli/src/commands/analyze.d.ts +1 -1
  9. package/cli/src/commands/build.d.ts +1 -1
  10. package/cli/src/commands/dev.d.ts +1 -1
  11. package/cli/src/commands/gen.d.ts +1 -1
  12. package/cli/src/commands/gen.d.ts.map +1 -1
  13. package/cli/src/commands/index.d.ts +1 -1
  14. package/cli/src/commands/init.d.ts +1 -1
  15. package/cli/src/commands/lib/assets.d.ts +1 -1
  16. package/cli/src/commands/lib/bundler.d.ts +1 -1
  17. package/cli/src/commands/lib/command.d.ts +1 -1
  18. package/cli/src/commands/lib/env.d.ts +1 -1
  19. package/cli/src/commands/lib/index.d.ts +1 -1
  20. package/cli/src/commands/lib/log.d.ts +1 -1
  21. package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
  22. package/cli/src/commands/lib/markdown/index.d.ts +1 -1
  23. package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
  24. package/cli/src/commands/lib/production.d.ts +1 -1
  25. package/cli/src/commands/lib/server.d.ts +1 -1
  26. package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
  27. package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
  28. package/cli/src/commands/lib/tailwind.d.ts +1 -1
  29. package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
  30. package/cli/src/commands/lib/version.d.ts +1 -1
  31. package/cli/src/commands/og.d.ts +1 -1
  32. package/cli/src/commands/start.d.ts +1 -1
  33. package/cli/src/index.d.ts +1 -1
  34. package/core/index.d.ts +1 -1
  35. package/core/index.js +53 -23
  36. package/core/index.js.map +4 -4
  37. package/core/src/bundler/hash.d.ts +1 -1
  38. package/core/src/bundler/index.d.ts +1 -1
  39. package/core/src/config.d.ts +1 -1
  40. package/core/src/content/discovery.d.ts +1 -1
  41. package/core/src/content/index.d.ts +1 -1
  42. package/core/src/content/metadata.d.ts +1 -1
  43. package/core/src/index.d.ts +1 -1
  44. package/core/src/llms/extractor.d.ts +1 -1
  45. package/core/src/llms/formatter.d.ts +1 -1
  46. package/core/src/llms/full-generator.d.ts +1 -1
  47. package/core/src/llms/index-generator.d.ts +1 -1
  48. package/core/src/llms/index.d.ts +1 -1
  49. package/core/src/og/discovery.d.ts +1 -1
  50. package/core/src/og/index.d.ts +1 -1
  51. package/core/src/og/meta.d.ts +1 -1
  52. package/core/src/og/render.d.ts +1 -1
  53. package/core/src/og/types.d.ts +1 -1
  54. package/core/src/robots/discovery.d.ts +1 -1
  55. package/core/src/robots/generator.d.ts +1 -1
  56. package/core/src/robots/index.d.ts +1 -1
  57. package/core/src/robots/policies.d.ts +1 -1
  58. package/core/src/rss/discovery.d.ts +1 -1
  59. package/core/src/rss/discovery.d.ts.map +1 -1
  60. package/core/src/rss/generator.d.ts +1 -1
  61. package/core/src/rss/index.d.ts +1 -1
  62. package/core/src/sitemap/discovery.d.ts +1 -1
  63. package/core/src/sitemap/discovery.d.ts.map +1 -1
  64. package/core/src/sitemap/generator.d.ts +1 -1
  65. package/core/src/sitemap/index.d.ts +1 -1
  66. package/core/src/ssr/index.d.ts +1 -1
  67. package/core/src/ssr/lib/cache.d.ts +1 -1
  68. package/core/src/ssr/lib/collections.d.ts +1 -1
  69. package/core/src/ssr/lib/compression.d.ts +1 -1
  70. package/core/src/ssr/lib/compute/content.d.ts +1 -1
  71. package/core/src/ssr/lib/compute/index.d.ts +1 -1
  72. package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
  73. package/core/src/ssr/lib/compute/routes.d.ts +1 -1
  74. package/core/src/ssr/lib/data.d.ts +1 -1
  75. package/core/src/ssr/lib/html.d.ts +1 -1
  76. package/core/src/ssr/lib/imports.d.ts +1 -1
  77. package/core/src/ssr/lib/index.d.ts +1 -1
  78. package/core/src/ssr/lib/layouts.d.ts +1 -1
  79. package/core/src/ssr/lib/metadata.d.ts +1 -1
  80. package/core/src/ssr/lib/mime.d.ts +1 -1
  81. package/core/src/ssr/lib/modules.d.ts +1 -1
  82. package/core/src/ssr/lib/path.d.ts +1 -1
  83. package/core/src/ssr/lib/preload.d.ts +1 -1
  84. package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
  85. package/core/src/ssr/lib/scripts/data.d.ts +1 -1
  86. package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
  87. package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
  88. package/core/src/ssr/lib/scripts/index.d.ts +1 -1
  89. package/core/src/ssr/lib/seed.d.ts +1 -1
  90. package/core/src/ssr/lib/serialize.d.ts +1 -1
  91. package/core/src/ssr/lib/setup.d.ts +1 -1
  92. package/core/src/ssr/lib/styles.d.ts +1 -1
  93. package/core/src/ssr/lib/template.d.ts +1 -1
  94. package/core/src/ssr/lib/types.d.ts +1 -1
  95. package/core/src/ssr/render.d.ts +1 -1
  96. package/core/src/ssr/stream.d.ts +1 -1
  97. package/elysia/index.d.ts +1 -1
  98. package/elysia/index.js +228 -104
  99. package/elysia/index.js.map +9 -9
  100. package/elysia/src/index.d.ts +1 -1
  101. package/elysia/src/libs/assets.d.ts +1 -1
  102. package/elysia/src/libs/cache.d.ts +1 -1
  103. package/elysia/src/libs/caching.d.ts +1 -1
  104. package/elysia/src/libs/http.d.ts +1 -1
  105. package/elysia/src/libs/image.d.ts +1 -1
  106. package/elysia/src/libs/index.d.ts +1 -1
  107. package/elysia/src/libs/llms.d.ts +1 -1
  108. package/elysia/src/libs/response.d.ts +1 -1
  109. package/elysia/src/libs/serving.d.ts +1 -1
  110. package/elysia/src/plugin.d.ts +1 -1
  111. package/elysia/src/plugin.d.ts.map +1 -1
  112. package/elysia/src/routes/artifacts.d.ts +1 -1
  113. package/elysia/src/routes/content.d.ts +1 -1
  114. package/elysia/src/routes/image.d.ts +1 -1
  115. package/elysia/src/routes/index.d.ts +1 -1
  116. package/elysia/src/routes/internal.d.ts +1 -1
  117. package/elysia/src/routes/internal.d.ts.map +1 -1
  118. package/elysia/src/routes/llms.d.ts +1 -1
  119. package/elysia/src/routes/og.d.ts +1 -1
  120. package/elysia/src/routes/og.d.ts.map +1 -1
  121. package/elysia/src/routes/redirects.d.ts +1 -1
  122. package/elysia/src/routes/robots.d.ts +1 -1
  123. package/elysia/src/routes/rss.d.ts +2 -2
  124. package/elysia/src/routes/rss.d.ts.map +1 -1
  125. package/elysia/src/routes/search.d.ts +1 -1
  126. package/elysia/src/routes/sitemap.d.ts +2 -2
  127. package/elysia/src/routes/sitemap.d.ts.map +1 -1
  128. package/elysia/src/routes/ssr.d.ts +1 -1
  129. package/elysia/src/routes/static.d.ts +1 -1
  130. package/elysia/src/types.d.ts +1 -1
  131. package/package.json +1 -1
  132. package/react/index.d.ts +1 -1
  133. package/react/index.js +2 -2
  134. package/react/index.js.map +1 -1
  135. package/react/src/components/ClientOnly.d.ts +1 -1
  136. package/react/src/components/ContentRoute.d.ts +1 -1
  137. package/react/src/components/Image.d.ts +1 -1
  138. package/react/src/components/LazyRoute.d.ts +1 -1
  139. package/react/src/components/Link.d.ts +1 -1
  140. package/react/src/components/Markdown.d.ts +1 -1
  141. package/react/src/components/Outlet.d.ts +1 -1
  142. package/react/src/components/index.d.ts +1 -1
  143. package/react/src/hooks/index.d.ts +1 -1
  144. package/react/src/hooks/useContent.d.ts +1 -1
  145. package/react/src/hooks/useData.d.ts +1 -1
  146. package/react/src/hooks/useFeed.d.ts +1 -1
  147. package/react/src/hooks/useLayoutData.d.ts +1 -1
  148. package/react/src/hooks/useLlms.d.ts +1 -1
  149. package/react/src/hooks/useNavigate.d.ts +1 -1
  150. package/react/src/hooks/useParams.d.ts +1 -1
  151. package/react/src/hooks/useRouter.d.ts +1 -1
  152. package/react/src/hooks/useSearch.d.ts +1 -1
  153. package/react/src/hooks/useSearchParams.d.ts +1 -1
  154. package/react/src/hooks/useToc.d.ts +1 -1
  155. package/react/src/index.d.ts +1 -1
  156. package/react/src/lib/collection.d.ts +1 -1
  157. package/react/src/lib/content.d.ts +1 -1
  158. package/react/src/lib/head.d.ts +1 -1
  159. package/react/src/lib/index.d.ts +1 -1
  160. package/react/src/lib/lazy-route.d.ts +1 -1
  161. package/react/src/lib/route-loader.d.ts +1 -1
  162. package/react/src/providers/ContentProvider.d.ts +1 -1
  163. package/react/src/providers/RerouteProvider.d.ts +1 -1
  164. package/react/src/providers/RouterProvider.d.ts +1 -1
  165. package/react/src/providers/index.d.ts +1 -1
  166. package/react/src/types/any.d.ts +1 -1
  167. package/react/src/types/index.d.ts +1 -1
  168. package/react/src/types/router.d.ts +1 -1
  169. package/telemetry/react.d.ts +1 -1
  170. package/telemetry/react.js +2 -2
  171. package/telemetry/react.js.map +1 -1
  172. package/telemetry/server.d.ts +1 -1
  173. package/telemetry/server.js +2 -2
  174. package/telemetry/server.js.map +1 -1
  175. package/telemetry/src/react/api.d.ts +1 -1
  176. package/telemetry/src/react/context.d.ts +1 -1
  177. package/telemetry/src/react/index.d.ts +1 -1
  178. package/telemetry/src/react/telemetry.d.ts +1 -1
  179. package/telemetry/src/server/context.d.ts +1 -1
  180. package/telemetry/src/server/headers/extractor.d.ts +1 -1
  181. package/telemetry/src/server/headers/index.d.ts +1 -1
  182. package/telemetry/src/server/headers/presets.d.ts +1 -1
  183. package/telemetry/src/server/index.d.ts +1 -1
  184. package/telemetry/src/server/instrumentation.d.ts +1 -1
  185. package/telemetry/src/server/plugin.d.ts +1 -1
  186. package/telemetry/src/server/sourcemap.d.ts +1 -1
package/cli/bin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.41.0
2
+ * reroute-js v0.41.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2026 stewones <hi@stewan.io>
package/cli/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
3
  /**
4
- * reroute-js v0.41.0
4
+ * reroute-js v0.41.1
5
5
  *
6
6
  * @license MIT
7
7
  * @copyright 2026 stewones <hi@stewan.io>
@@ -48,7 +48,7 @@ async function getVersionString() {
48
48
  }
49
49
  async function getVersion() {
50
50
  if (true) {
51
- return "0.41.0";
51
+ return "0.41.1";
52
52
  }
53
53
  const possiblePaths = [
54
54
  path.join(import.meta.dir, "../../../../package.json"),
@@ -66,7 +66,7 @@ async function getVersion() {
66
66
  }
67
67
  async function getCommit() {
68
68
  if (true) {
69
- return "fdadb6d";
69
+ return "3909689";
70
70
  }
71
71
  return "dev";
72
72
  }
@@ -4368,13 +4368,13 @@ async function discoverSSRDataRoutes2(cwd, staticRoutes, isWatchMode, baseUrl, s
4368
4368
  const ssrDataRoutes = new Map;
4369
4369
  const bundledRoutes = globalThis.__REROUTE_ROUTES__;
4370
4370
  if (bundledRoutes && Array.isArray(bundledRoutes)) {
4371
- for (const route of staticRoutes) {
4371
+ const routePromises = staticRoutes.map(async (route) => {
4372
4372
  if (sitemapConfig?.excludeDiscovery?.some((excluded) => route.pattern.startsWith(excluded))) {
4373
- continue;
4373
+ return null;
4374
4374
  }
4375
4375
  const bundledRoute = bundledRoutes.find((r) => r?.pattern === route.pattern);
4376
4376
  if (!bundledRoute)
4377
- continue;
4377
+ return null;
4378
4378
  const ssr = bundledRoute?.ssr;
4379
4379
  const dataFn = ssr?.data;
4380
4380
  if (typeof dataFn === "function") {
@@ -4387,15 +4387,22 @@ async function discoverSSRDataRoutes2(cwd, staticRoutes, isWatchMode, baseUrl, s
4387
4387
  });
4388
4388
  const entries = extractEntriesFromData(result, route.pattern, baseUrl, sitemapConfig);
4389
4389
  if (entries.length > 0) {
4390
- ssrDataRoutes.set(route.pattern, entries);
4390
+ return { pattern: route.pattern, entries };
4391
4391
  }
4392
4392
  } catch {}
4393
4393
  }
4394
+ return null;
4395
+ });
4396
+ const results = await Promise.all(routePromises);
4397
+ for (const result of results) {
4398
+ if (result) {
4399
+ ssrDataRoutes.set(result.pattern, result.entries);
4400
+ }
4394
4401
  }
4395
4402
  } else {
4396
- for (const route of staticRoutes) {
4403
+ const routePromises = staticRoutes.map(async (route) => {
4397
4404
  if (sitemapConfig?.excludeDiscovery?.some((excluded) => route.pattern.startsWith(excluded))) {
4398
- continue;
4405
+ return null;
4399
4406
  }
4400
4407
  try {
4401
4408
  const routeModulePath = join2(cwd, "src", "client", "routes", route.path);
@@ -4411,10 +4418,17 @@ async function discoverSSRDataRoutes2(cwd, staticRoutes, isWatchMode, baseUrl, s
4411
4418
  });
4412
4419
  const entries = extractEntriesFromData(result, route.pattern, baseUrl, sitemapConfig);
4413
4420
  if (entries.length > 0) {
4414
- ssrDataRoutes.set(route.pattern, entries);
4421
+ return { pattern: route.pattern, entries };
4415
4422
  }
4416
4423
  }
4417
4424
  } catch {}
4425
+ return null;
4426
+ });
4427
+ const results = await Promise.all(routePromises);
4428
+ for (const result of results) {
4429
+ if (result) {
4430
+ ssrDataRoutes.set(result.pattern, result.entries);
4431
+ }
4418
4432
  }
4419
4433
  }
4420
4434
  return ssrDataRoutes;
@@ -4790,24 +4804,28 @@ function createRSSItemFromData(item, routePattern, baseUrl, rssConfig) {
4790
4804
  }
4791
4805
  async function discoverRSSData(cwd, collections2, baseUrl, isWatchMode, rssConfig) {
4792
4806
  const collectionsMap = new Map;
4793
- for (const collection of collections2) {
4807
+ const collectionPromises = collections2.map(async (collection) => {
4794
4808
  const items = await discoverCollectionFeedItems(cwd, collection, isWatchMode, baseUrl, rssConfig);
4795
- if (items.length > 0) {
4796
- collectionsMap.set(collection, items);
4809
+ return items.length > 0 ? { collection, items } : null;
4810
+ });
4811
+ const collectionResults = await Promise.all(collectionPromises);
4812
+ for (const result of collectionResults) {
4813
+ if (result) {
4814
+ collectionsMap.set(result.collection, result.items);
4797
4815
  }
4798
4816
  }
4799
4817
  const ssrDataFeeds = new Map;
4800
4818
  const bundledRoutes = globalThis.__REROUTE_ROUTES__;
4819
+ const { discoverRoutes: discoverRoutes2 } = await Promise.resolve().then(() => (init_discovery4(), exports_discovery));
4820
+ const { staticRoutes } = await discoverRoutes2(cwd, isWatchMode);
4801
4821
  if (bundledRoutes && Array.isArray(bundledRoutes)) {
4802
- const { discoverRoutes: discoverRoutes2 } = await Promise.resolve().then(() => (init_discovery4(), exports_discovery));
4803
- const { staticRoutes } = await discoverRoutes2(cwd, isWatchMode);
4804
- for (const route of staticRoutes) {
4822
+ const routePromises = staticRoutes.map(async (route) => {
4805
4823
  if (rssConfig?.excludeDiscovery?.some((excluded) => route.pattern.startsWith(excluded))) {
4806
- continue;
4824
+ return null;
4807
4825
  }
4808
4826
  const bundledRoute = bundledRoutes.find((r) => r?.pattern === route.pattern);
4809
4827
  if (!bundledRoute)
4810
- continue;
4828
+ return null;
4811
4829
  const ssr = bundledRoute?.ssr;
4812
4830
  const dataFn = ssr?.data;
4813
4831
  if (typeof dataFn === "function") {
@@ -4820,21 +4838,33 @@ async function discoverRSSData(cwd, collections2, baseUrl, isWatchMode, rssConfi
4820
4838
  });
4821
4839
  const items = extractRSSItemsFromData(result, route.pattern, baseUrl, rssConfig);
4822
4840
  if (items.length > 0) {
4823
- ssrDataFeeds.set(route.pattern, items);
4841
+ return { pattern: route.pattern, items };
4824
4842
  }
4825
4843
  } catch {}
4826
4844
  }
4845
+ return null;
4846
+ });
4847
+ const results = await Promise.all(routePromises);
4848
+ for (const result of results) {
4849
+ if (result) {
4850
+ ssrDataFeeds.set(result.pattern, result.items);
4851
+ }
4827
4852
  }
4828
4853
  } else {
4829
- const { discoverRoutes: discoverRoutes2 } = await Promise.resolve().then(() => (init_discovery4(), exports_discovery));
4830
- const { staticRoutes } = await discoverRoutes2(cwd, isWatchMode);
4831
- for (const route of staticRoutes) {
4854
+ const routePromises = staticRoutes.map(async (route) => {
4832
4855
  if (rssConfig?.excludeDiscovery?.some((excluded) => route.pattern.startsWith(excluded))) {
4833
- continue;
4856
+ return null;
4834
4857
  }
4835
4858
  const items = await discoverSSRDataFeedItems(cwd, route.pattern, route.path, isWatchMode, baseUrl, rssConfig);
4836
4859
  if (items.length > 0) {
4837
- ssrDataFeeds.set(route.pattern, items);
4860
+ return { pattern: route.pattern, items };
4861
+ }
4862
+ return null;
4863
+ });
4864
+ const results = await Promise.all(routePromises);
4865
+ for (const result of results) {
4866
+ if (result) {
4867
+ ssrDataFeeds.set(result.pattern, result.items);
4838
4868
  }
4839
4869
  }
4840
4870
  }
@@ -7045,9 +7075,12 @@ async function buildContentChunks(cwd, args = []) {
7045
7075
  lines.push(" return m ? (m as Record<string, any>)[name] : undefined;");
7046
7076
  lines.push("}");
7047
7077
  lines.push("");
7048
- await Bun.write(join9(cwd, OUTPUT_CONTENT_TS), lines.join(`
7049
- `));
7050
- console.log(`[reroute/content] wrote ${join9(cwd, OUTPUT_CONTENT_TS)}`);
7078
+ const writes = [];
7079
+ writes.push({
7080
+ path: join9(cwd, OUTPUT_CONTENT_TS),
7081
+ content: lines.join(`
7082
+ `)
7083
+ });
7051
7084
  const collectionsSet = new Set(results.map((r) => r.collection));
7052
7085
  for (const collection of collectionsSet) {
7053
7086
  const items = results.filter((r) => r.collection === collection);
@@ -7068,10 +7101,16 @@ async function buildContentChunks(cwd, args = []) {
7068
7101
  js.push(" return byName[name];");
7069
7102
  js.push("}");
7070
7103
  js.push("");
7071
- await Bun.write(join9(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`), js.join(`
7072
- `));
7073
- console.log(`[reroute/content] wrote ${join9(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`)}`);
7104
+ writes.push({
7105
+ path: join9(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`),
7106
+ content: js.join(`
7107
+ `)
7108
+ });
7074
7109
  }
7110
+ await Promise.all(writes.map(async ({ path: path3, content: content2 }) => {
7111
+ await Bun.write(path3, content2);
7112
+ console.log(`[reroute/content] wrote ${path3}`);
7113
+ }));
7075
7114
  }
7076
7115
  async function buildSearchIndex(cwd, config2, args = []) {
7077
7116
  const searchConfig = config2.search;
@@ -7665,30 +7704,54 @@ async function gen(args) {
7665
7704
  console.log(`
7666
7705
  [reroute/watch] \uD83C\uDFAF Initializing advanced watch mode...`);
7667
7706
  let isBuilding = false;
7668
- let queuedBuild = null;
7669
- async function enqueueBuild(buildFn, reason) {
7707
+ let pendingBuild = null;
7708
+ let skipCurrentBuild = false;
7709
+ function scheduleBuild(buildFn, reason) {
7670
7710
  if (isBuilding) {
7671
- queuedBuild = buildFn;
7672
- console.log(`[reroute/watch] Build queued (${reason})...`);
7711
+ if (!skipCurrentBuild) {
7712
+ skipCurrentBuild = true;
7713
+ console.log(`[reroute/watch] ⏭️ Superseding current build with: ${reason}`);
7714
+ }
7715
+ pendingBuild = { fn: buildFn, reason };
7673
7716
  return;
7674
7717
  }
7718
+ if (pendingBuild) {
7719
+ console.log(`[reroute/watch] ⏭️ Replacing queued build with: ${reason}`);
7720
+ }
7721
+ pendingBuild = { fn: buildFn, reason };
7722
+ processPendingBuild();
7723
+ }
7724
+ async function processPendingBuild() {
7725
+ if (!pendingBuild || isBuilding)
7726
+ return;
7727
+ const { fn: buildFn, reason } = pendingBuild;
7728
+ pendingBuild = null;
7729
+ skipCurrentBuild = false;
7675
7730
  isBuilding = true;
7676
7731
  const startTime = performance.now();
7677
7732
  await notifyRebuilding();
7678
7733
  try {
7679
7734
  await buildFn();
7735
+ if (skipCurrentBuild) {
7736
+ console.log(`[reroute/watch] ⏭️ Build superseded, skipping reload: ${reason}`);
7737
+ return;
7738
+ }
7680
7739
  const duration = ((performance.now() - startTime) / 1000).toFixed(2);
7681
7740
  console.log(`[reroute/watch] ✓ Rebuild complete in ${duration}s (${reason})`);
7741
+ await Bun.sleep(200);
7742
+ if (skipCurrentBuild || pendingBuild) {
7743
+ console.log(`[reroute/watch] ⏭️ Skipping reload, new build pending`);
7744
+ return;
7745
+ }
7682
7746
  await notifyReload(reason);
7683
7747
  } catch (err) {
7684
- console.error(`[reroute/watch] ✗ Build failed (${reason}):`, err);
7748
+ if (!skipCurrentBuild) {
7749
+ console.error(`[reroute/watch] ✗ Build failed (${reason}):`, err);
7750
+ }
7685
7751
  } finally {
7686
7752
  isBuilding = false;
7687
- if (queuedBuild) {
7688
- const nextBuild = queuedBuild;
7689
- queuedBuild = null;
7690
- console.log("[reroute/watch] \uD83D\uDD04 Processing queued build...");
7691
- await enqueueBuild(nextBuild, "queued");
7753
+ if (pendingBuild) {
7754
+ setTimeout(() => processPendingBuild(), 50);
7692
7755
  }
7693
7756
  }
7694
7757
  }
@@ -7709,7 +7772,7 @@ async function gen(args) {
7709
7772
  try {
7710
7773
  configWatcher = watch(configPath, () => {
7711
7774
  mediumDebounce(() => {
7712
- enqueueBuild(async () => {
7775
+ scheduleBuild(async () => {
7713
7776
  console.log("[reroute/watch] \uD83D\uDCDD Config changed, full rebuild...");
7714
7777
  await generate(cwd, args, { clean: true, writeStubs: false });
7715
7778
  await buildTailwindIfConfigured(cwd, isProd);
@@ -7730,7 +7793,7 @@ async function gen(args) {
7730
7793
  try {
7731
7794
  const envWatcher = watch(envPath, () => {
7732
7795
  mediumDebounce(() => {
7733
- enqueueBuild(async () => {
7796
+ scheduleBuild(async () => {
7734
7797
  console.log(`[reroute/watch] \uD83D\uDD10 ${envFile} changed`);
7735
7798
  await buildEntrypointBundle(cwd, args);
7736
7799
  }, `${envFile} change`);
@@ -7765,7 +7828,7 @@ async function gen(args) {
7765
7828
  if (!/\.(tsx|ts|jsx|js)$/.test(name))
7766
7829
  return;
7767
7830
  slowDebounce(() => {
7768
- enqueueBuild(async () => {
7831
+ scheduleBuild(async () => {
7769
7832
  console.log(`[reroute/watch] \uD83D\uDD27 Package changed: ${name}`);
7770
7833
  await generate(cwd, args, {
7771
7834
  clean: false,
@@ -7783,7 +7846,7 @@ async function gen(args) {
7783
7846
  return;
7784
7847
  const name = String(filename);
7785
7848
  quickDebounce(() => {
7786
- enqueueBuild(async () => {
7849
+ scheduleBuild(async () => {
7787
7850
  const isContentFile = name.includes("/content/") || name.includes("\\content\\");
7788
7851
  const isMarkdown = /\.(md|mdx)$/.test(name);
7789
7852
  const isRoute = /\.(tsx|ts)$/.test(name) && !isContentFile;
@@ -7840,7 +7903,7 @@ async function gen(args) {
7840
7903
  if (!/\.(tsx|ts|jsx|js|html|md|mdx|css)$/.test(name))
7841
7904
  return;
7842
7905
  mediumDebounce(() => {
7843
- enqueueBuild(async () => {
7906
+ scheduleBuild(async () => {
7844
7907
  console.log(`[reroute/watch] \uD83D\uDCE6 Client changed: ${name}`);
7845
7908
  if (name.endsWith(".ts") || name.endsWith(".tsx")) {
7846
7909
  console.log("[reroute/watch] ├─ Rebuilding bundle...");
@@ -105772,7 +105835,7 @@ async function getVersionString2() {
105772
105835
  }
105773
105836
  async function getVersion2() {
105774
105837
  if (true) {
105775
- return "0.41.0";
105838
+ return "0.41.1";
105776
105839
  }
105777
105840
  const possiblePaths = [
105778
105841
  path3.join(import.meta.dir, "../../../package.json"),
@@ -105789,10 +105852,10 @@ async function getVersion2() {
105789
105852
  }
105790
105853
  async function getCommit2() {
105791
105854
  if (true) {
105792
- return "fdadb6d";
105855
+ return "3909689";
105793
105856
  }
105794
105857
  return "dev";
105795
105858
  }
105796
105859
  main();
105797
105860
 
105798
- //# debugId=E4248FFA7E75804564756E2164756E21
105861
+ //# debugId=6B4BD5CD88C5BCB064756E2164756E21