boltdocs 3.3.5 → 3.3.6

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 (79) hide show
  1. package/dist/{build-BVoMHMhw.mjs → build-BJnL-FHG.mjs} +1 -1
  2. package/dist/{build-B672n0hL.cjs → build-CxT38vPv.cjs} +1 -1
  3. package/dist/client/index.cjs +29 -12
  4. package/dist/client/index.d.cts +1 -1
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.js +27 -11
  7. package/dist/client/mdx.cjs +1 -1
  8. package/dist/client/mdx.js +1 -1
  9. package/dist/client/primitives.cjs +4 -4
  10. package/dist/client/primitives.d.cts +40 -9
  11. package/dist/client/primitives.d.ts +40 -9
  12. package/dist/client/primitives.js +4 -4
  13. package/dist/config-B3_iVsbi.mjs +7 -0
  14. package/dist/{config-PLvresCv.cjs → config-BC_qhXws.cjs} +1 -1
  15. package/dist/config-BJp3lGzE.cjs +7 -0
  16. package/dist/{dev-DbuhNcF5.cjs → dev-46NiL0MC.cjs} +1 -1
  17. package/dist/{dev-B49V6O6p.mjs → dev-C4kjO5xs.mjs} +1 -1
  18. package/dist/{docs-layout-CbZ7LDRe.js → docs-layout-D3Fmb0Wd.js} +16 -117
  19. package/dist/{docs-layout-vzfXed1Q.cjs → docs-layout-SgphExoE.cjs} +16 -123
  20. package/dist/{doctor-DMECtdK6.cjs → doctor-BqxOFRt3.cjs} +1 -1
  21. package/dist/{doctor-i8Qmd8DJ.mjs → doctor-Cv5lXnay.mjs} +1 -1
  22. package/dist/{doctor-FuFY1jBz.cjs → doctor-TS3JGNEU.cjs} +1 -1
  23. package/dist/{image-B-NDSDuY.js → image-BAiDReNd.js} +1 -1
  24. package/dist/{image-Hnaa2bJd.cjs → image-Bkx85rsq.cjs} +1 -1
  25. package/dist/{index-B3o307nd.d.ts → index-B1Mx0dHl.d.ts} +24 -4
  26. package/dist/{index-Bg-JtZeK.d.cts → index-DLaHgD-i.d.cts} +24 -4
  27. package/dist/{link-vZjmD-es.cjs → link-hLWOsx0x.cjs} +59 -28
  28. package/dist/{link-CgdI6O2o.js → link-q1qHNGK_.js} +54 -29
  29. package/dist/{mdx-BRT71V5Q.js → mdx-CJGWzBGy.js} +2 -2
  30. package/dist/{mdx-D0Absdq5.cjs → mdx-Qi0DmaY8.cjs} +2 -2
  31. package/dist/node/cli-entry.cjs +1 -1
  32. package/dist/node/cli-entry.mjs +1 -1
  33. package/dist/node/highlight.d.cts +2 -2
  34. package/dist/node/highlight.d.mts +2 -2
  35. package/dist/node/index.cjs +1 -1
  36. package/dist/node/index.d.cts +7 -4
  37. package/dist/node/index.d.mts +7 -4
  38. package/dist/node/index.mjs +1 -1
  39. package/dist/node/mdx/shiki-adapter.cjs +1 -1
  40. package/dist/node/mdx/shiki-adapter.d.cts +7 -2
  41. package/dist/node/mdx/shiki-adapter.d.mts +7 -2
  42. package/dist/node/mdx/shiki-adapter.mjs +1 -1
  43. package/dist/node-7Cfw6nMr.cjs +23 -0
  44. package/dist/node-CT2E84nY.mjs +23 -0
  45. package/dist/{package-CNqjEYE1.cjs → package-Bah2tHjK.cjs} +1 -1
  46. package/dist/{package-sdcKhDhe.mjs → package-D6bf68FR.mjs} +1 -1
  47. package/dist/plugin-AgNI3ktz.cjs +69 -0
  48. package/dist/plugin-BAv_pYLt.mjs +69 -0
  49. package/dist/{plugin-context-CscLcXjH.cjs → plugin-context-BZs5lvDu.cjs} +2 -2
  50. package/dist/{plugin-context-DuSg-Hax.mjs → plugin-context-b5qVVQSU.mjs} +1 -1
  51. package/dist/{plugin-lifecycle-BywrEoWK.cjs → plugin-lifecycle-s89gzTlh.cjs} +1 -1
  52. package/dist/{registry-sJqDv0kE.d.mts → registry-B8pt41zj.d.cts} +1 -1
  53. package/dist/{registry-BbB6NqSv.d.cts → registry-BrrH2X9c.d.mts} +1 -1
  54. package/dist/routes-CzhKOw67.cjs +6 -0
  55. package/dist/{routes-C3_w9fLX.cjs → routes-Dq_2EUIB.cjs} +1 -1
  56. package/dist/routes-Dw6g0bfF.mjs +6 -0
  57. package/dist/search-dialog-BYZS9aeO.cjs +747 -0
  58. package/dist/{search-dialog-x_qHU8ty.cjs → search-dialog-CguKVtUu.cjs} +145 -5
  59. package/dist/{search-dialog-B9mdxsUC.js → search-dialog-DQwod5Xc.js} +1 -1
  60. package/dist/search-dialog-DzObE-Ar.js +717 -0
  61. package/dist/{search-dialog-DCtm2dyR.cjs → search-dialog-QgKRRbsI.cjs} +1 -1
  62. package/dist/{search-dialog-BqkzDTq2.js → search-dialog-mYnqU4v7.js} +134 -6
  63. package/dist/{types-Db6zToZH.d.mts → types-74i_xUe2.d.mts} +1 -1
  64. package/dist/{types-o7iZ2BAR.d.cts → types-X_Pwk8Cg.d.cts} +1 -1
  65. package/dist/virtual-modules-C3S3Nz8r.cjs +40 -0
  66. package/dist/virtual-modules-CaxqrFd6.mjs +40 -0
  67. package/package.json +6 -5
  68. package/dist/config-CrsQJHQz.cjs +0 -7
  69. package/dist/config-DC0nMMk7.mjs +0 -7
  70. package/dist/node-BljvHMpS.cjs +0 -23
  71. package/dist/node-CWxGw4H4.mjs +0 -23
  72. package/dist/plugin-BPcm1cU0.mjs +0 -69
  73. package/dist/plugin-WUhxnpko.cjs +0 -69
  74. package/dist/routes-C0kb4ue6.cjs +0 -6
  75. package/dist/routes-C4wrLWwu.mjs +0 -6
  76. package/dist/search-dialog-Bp_ouN1c.cjs +0 -550
  77. package/dist/search-dialog-an2BNMj6.js +0 -526
  78. package/dist/virtual-modules-B2X4Ht2r.mjs +0 -39
  79. package/dist/virtual-modules-DPsdHKcu.cjs +0 -39
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ import{_ as e,d as t,f as n,m as r,p as i,s as a,t as o}from"./plugin-context-b5qVVQSU.mjs";import{c as s,p as c}from"./node-CT2E84nY.mjs";import{c as l,n as u,u as d}from"./utils-8lzafE49.mjs";import{n as f}from"./pages-external-BBw8ObVK.mjs";import{a as p,c as m,d as h,f as g,l as _,m as v,n as y,o as b,p as x,r as S,s as ee,t as C}from"./routes-Dw6g0bfF.mjs";import{n as w}from"./config-B3_iVsbi.mjs";import{r as T,t as E}from"./types-generator-BtZ6-ZKx.mjs";import{t as D}from"./config-files-DfwZ3Wot.mjs";import{n as O}from"./doctor-Cv5lXnay.mjs";import{computeFrontmatterDelta as te,createVirtualModuleState as k,createVirtualModulesPlugin as A,getPageSourceJsonExport as j,getSearchJsonExport as M,invalidateDirectoryMetaCache as N}from"./virtual-modules-CaxqrFd6.mjs";import{n as P,t as F}from"./csp-D0BOH8ae.mjs";import{createRequire as I}from"node:module";import L from"node:path";import R from"node:fs";import{error as z}from"@bdocs/dui";import{normalizeCodeHighlightConfig as ne}from"@bdocs/unist-utils";import{loadEnv as re}from"vite";import{ViteImageOptimizer as ie}from"@bdocs/plugin-image-optimizer";import{createSatteriMdxPlugin as ae,invalidateMdxFileCache as oe}from"@bdocs/processor-satteri/node";function se(e){return`<!doctype html>
7
+ <html lang="en">
8
+ <head>
9
+ <meta charset="UTF-8" />
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ </body>
15
+ </html>`}function ce(e,t,n){return e?typeof e==`string`?e:e[n||``]||Object.values(e)[0]||t:t}function le(e){let t=e.i18n?.defaultLocale,n=ce(e.theme?.title,`Boltdocs`,t),r=e.theme?.favicon;!r&&e.theme?.logo&&(r=typeof e.theme.logo==`string`?e.theme.logo:e.theme.logo.light||e.theme.logo.dark);let i=e.seo?.indexing,a=i===`none`?`noindex, nofollow`:i===`all`?void 0:i,o=e.seo?.metatags||{},s=Object.entries(o).map(([e,t])=>{let n=u(e),r=u(t);return e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${n}" content="${r}">`:`<meta name="${n}" content="${r}">`});return{title:n,favicon:r,robotsContent:a,customMetaTags:s}}function B(e,t){if(!e.startsWith(`/`)||e.startsWith(`//`)||(()=>{let n=(t.base||``).replace(/^\/+|\/+$/g,``);return!!n&&(e===`/${n}`||e.startsWith(`/${n}/`))})())return e;let n=(t.base||`/`).replace(/\/+$/,``);return n&&n!==`/`?`${n}${e}`:e}function ue(e,t){let n=e.favicon?B(e.favicon,t):void 0;return[n?`<link rel="icon" href="${u(n)}">`:``,e.robotsContent?`<meta name="robots" content="${u(e.robotsContent)}">`:``,`<meta name="generator" content="Boltdocs">`,...e.customMetaTags].filter(Boolean).join(`
16
+ `)}function de(e){if(!e)return``;let t=[];return e.google&&t.push(`<meta name="google-site-verification" content="${u(e.google)}">`),e.bing&&t.push(`<meta name="msvalidate.01" content="${u(e.bing)}">`),e.yandex&&t.push(`<meta name="yandex-verification" content="${u(e.yandex)}">`),e.pinterest&&t.push(`<meta name="p:domain_verify" content="${u(e.pinterest)}">`),e.facebook&&t.push(`<meta name="facebook-domain-verification" content="${u(e.facebook)}">`),t.join(`
17
+ `)}function fe(e){let t=[],n=e.theme?.logo,r;if(typeof n==`string`?r=n:n&&typeof n==`object`&&(r=n.light||n.dark),r){let n={webp:`image/webp`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,svg:`image/svg+xml`,avif:`image/avif`}[r.split(`.`).pop()?.toLowerCase()||``]||`image/png`;t.push(`<link rel="preload" as="image" href="${B(r,e)}" type="${n}" fetchpriority="high">`)}return t.join(`
18
+ `)}function pe(){return`
19
+ <script>
20
+ (function() {
21
+ try {
22
+ var stored = localStorage.getItem("boltdocs-theme");
23
+ var isDark =
24
+ stored === "dark" ||
25
+ (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
26
+ document.documentElement.classList.toggle("dark", isDark);
27
+ document.documentElement.dataset.theme = isDark ? "dark" : "light";
28
+ } catch (e) {
29
+ }
30
+ })();
31
+ <\/script>
32
+ `}function me(e,t){if(!e||!t&&!e.debug)return``;let n=e.anonymizeIp?`gtag('set', 'ip', true);`:``,r=e.sendPageView===!1?`{send_page_view: false}`:`{}`,i=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``,a=u(e.measurementId);return`
33
+ <!-- Google tag (gtag.js) -->
34
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${a}"><\/script>
35
+ <script>
36
+ window.dataLayer = window.dataLayer || [];
37
+ function gtag(){dataLayer.push(arguments);}
38
+ gtag('js', new Date());
39
+ ${n}
40
+ gtag('config', '${a}', ${r}${i});
41
+ <\/script>
42
+ `}function he(e,t){if(!e||!t)return{script:``,noScript:``};let n=u(e.dataLayerName||`dataLayer`),r=e.preview?`&gtm_preview=${u(e.preview)}`:``,i=u(e.tagId);return{script:`
43
+ <!-- Google Tag Manager -->
44
+ <script defer>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
45
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
46
+ j=d.createElement(s),dl=l!='${n}'?'&l='+l:'';j.src=
47
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${r}';f.parentNode.insertBefore(j,f);
48
+ })(window,document,'script','${n}','${i}');<\/script>
49
+ <!-- End Google Tag Manager -->
50
+ `,noScript:`
51
+ <!-- Google Tag Manager (noscript) -->
52
+ <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${i}"
53
+ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
54
+ <!-- End Google Tag Manager (noscript) -->
55
+ `}}function ge(e,t,n){if(!e||!t)return``;let{analytics:r,speedInsights:i}=e,a=e=>B(e,n),o=``;return r&&(o+=`
56
+ <script>window.va=window.va||function(){(window.vaq=window.vaq||[]).push(arguments)};<\/script>
57
+ <script defer src="${a(`/_vercel/insights/script.js`)}"><\/script>
58
+ `),i&&(o+=`
59
+ <script>window.si=window.si||function(){(window.siq=window.siq||[]).push(arguments)};<\/script>
60
+ <script defer src="${a(`/_vercel/speed-insights/script.js`)}"><\/script>
61
+ `),o}function _e(e,t){if(!e||!t)return``;let n=u(e.apiKey),r=[`api_host: "${u(e.host||`https://us.i.posthog.com`)}"`];return e.capturePageview===!1&&r.push(`capture_pageview: false`),e.capturePageleave===!1&&r.push(`capture_pageleave: false`),e.sessionRecording===!0&&r.push(`session_recording: { recordCrossOriginPages: true }`),e.autocapture===!0&&r.push(`autocapture: true`),`
62
+ <!-- PostHog -->
63
+ <script>
64
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?(u=e[a]=[]):(a="posthog"),u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagResult isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
65
+ posthog.init("${n}", { ${r.join(`, `)} });
66
+ <\/script>
67
+ `}function ve(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function ye(e,t){return e.replace(`</head>`,` ${t}</head>`)}function be(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function xe(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
68
+ </body>`)}function Se(e,t){(!e?.includes(`<body`)||!e.includes(`<head`))&&(e=se(t));let n=process.env.NODE_ENV===`production`,r=ue(le(t),t),i=de(t.seo?.verification),a=fe(t),o=pe(),s=me(t.integrations?.analytics?.ga4,n),c=he(t.integrations?.analytics?.gtm,n),l=[i,a,r,s,ge(t.integrations?.analytics?.vercel,n,t),_e(t.integrations?.analytics?.posthog,n),c.script].filter(Boolean).join(`
69
+ `);return e=ve(e,o),e=ye(e,l),e=be(e,c.noScript),e=xe(e),e}function Ce(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-Lex5DbvG.mjs`).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function we(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(L.extname(a))return r();let o=e(),s=L.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=L.join(s,c,`index.html`);c!==`/`&&R.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const Te=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i;function Ee(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(Ce(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(P).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,F(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!Te.test(a)){let n=se(s);n=Se(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const De=(()=>{let e=Number.parseInt(process.env.BOLTDOCS_PREWARM_LIMIT||``,10);return Number.isFinite(e)&&e>0?e:200})(),V=new WeakMap,H=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],Oe=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function ke(e){for(let t=0;t<H.length;t++)if(H[t].test(e))return t;return H.length}function Ae(e,t){let n=e.config.root,r=L.join(e.config.cacheDir,`deps`,t.file);return`/${L.relative(n,r).split(L.sep).join(`/`)}`}function je(e){let t=e.config;if(!t?.cacheDir)return;let n=Oe.map(e=>({file:`${e.replaceAll(`/`,`_`)}.js`})).filter(({file:e})=>R.existsSync(L.join(t.cacheDir,`deps`,e)));Promise.allSettled(n.map(t=>e.warmupRequest(Ae(e,t))))}function Me(e,t,n,r){if(V.has(e))return;je(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await import(`./routes-Dw6g0bfF.mjs`).then(e=>e.i)).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>ke(e)-ke(t)),a=performance.now(),o=process.env.BOLTDOCS_PREWARM_ALL===`true`?i:i.slice(0,De);for(let t=0;t<o.length;t+=8){(e._pendingRequests||0)>0&&await new Promise(e=>setTimeout(e,50));let n=o.slice(t,t+8);await Promise.allSettled(n.map(t=>{let n=L.isAbsolute(t)?t:L.resolve(e.config.root,t);if(!R.existsSync(n))return Promise.resolve();let r=n.replace(/\\/g,`/`);return e.warmupRequest(`/@fs/${r}`)})),await new Promise(e=>setTimeout(e,0))}(process.env.BOLTDOCS_DEBUG===`true`||process.env.BOLTDOCS_BENCHMARK===`true`)&&console.log(`[boltdocs] prewarm done (${i.length} files) in ${Math.round(performance.now()-a)}ms`)}catch(e){process.env.BOLTDOCS_DEBUG===`true`&&console.warn(`[boltdocs] Prewarm failed:`,e)}finally{V.delete(e),i()}},1500)});V.set(e,i)}const Ne=[`tsx`,`jsx`],Pe=[`tsx`,`ts`,`jsx`,`js`];function Fe(e,t){let n=L.resolve(e.config.root),r=e=>{let t=L.resolve(e);return t===n||t.startsWith(`${n}${L.sep}`)},i=[...D.map(e=>L.resolve(process.cwd(),e)),...Ne.map(e=>L.resolve(t,`layout.${e}`)),...Pe.map(e=>L.resolve(t,`mdx-components.${e}`)),...Pe.map(e=>L.resolve(t,`pages-external/index.${e}`)),...Pe.map(e=>L.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}function U(e,t){let n=[`\0virtual:boltdocs-${t}.ts`,`\0virtual:boltdocs-${t}.tsx`];for(let t of n){let n=e.moduleGraph.getModuleById(t);if(n){e.moduleGraph.invalidateModule(n);break}}}function Ie(e,t,r,i,a,o,s,c){let u=s&&!s.disposed?s:o?.routeCacheContext&&!o.routeCacheContext.disposed?o.routeCacheContext:h(t),f=c??g(u,x(i())),_=new Map,C=new Map,w=new Map,T=r.replace(/\/+$/,``).toLowerCase(),k=null;function A(){if(k)return k;k=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&k.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return k}e.watcher.on(`all`,()=>{k=null});function j(e,t){return w.get(e)===t}function M(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=A().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function P(n,r,i){if(!j(r,i))return;let a=d(L.relative(t,n)),o=M(r);j(r,i)&&(o?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:r,relPath:a}}):e.ws.send({type:`full-reload`}))}let F=async(r,s)=>{try{let c=d(r),h=(w.get(c)??0)+1;if(w.set(c,h),s===`add`||s===`unlink`){let e=_.get(c);e&&(clearTimeout(e),_.delete(c))}if(D.some(e=>c.endsWith(e))){e.restart();return}if(c.includes(`/pages-external/`)||c.includes(`\\pages-external\\`)){U(e,`entry`),e.ws.send({type:`full-reload`});return}let g=c.toLowerCase(),x=g===T||g.startsWith(`${T}/`),k=e=>x&&g===`${T}/${e}`;if(k(`mdx-components.tsx`)||k(`mdx-components.ts`)||k(`mdx-components.jsx`)||k(`mdx-components.js`)){E(i(),t),U(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(k(`icons.tsx`)||k(`icons.ts`)||k(`icons.jsx`)||k(`icons.js`)){U(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(k(`layout.tsx`)||k(`layout.jsx`)){U(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(x&&[`/post.tsx`,`/post.jsx`,`/list.tsx`,`/list.jsx`].some(e=>g.endsWith(e))){U(e,`entry`),e.ws.send({type:`full-reload`});return}if(!x)return;let A=c.slice(c.lastIndexOf(`/`)+1),F=A===`meta.json`||A===`_meta.json`;if(!F&&!l(c))return;if(s===`add`||s===`unlink`||F){s===`unlink`&&ee(r,u,f),F&&v(r,u),s===`add`&&(oe(r),M(c)),S(u),N(o),(a?n(s,c,a):n(s,c)).catch(e=>{z(`Plugin HMR handler error:`,e)});let l=i();E(l,t),U(e,`config`),U(e,`routes`),U(e,`search`),U(e,`collections`),O(t,process.cwd(),l).catch(e=>{z(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:l?.theme,i18n:l?.i18n,versions:l?.versions,siteUrl:l?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(_.has(c)){let e=_.get(c);e&&clearTimeout(e)}_.set(c,setTimeout(()=>{_.delete(c);let s=(C.get(c)??Promise.resolve()).then(async()=>{if(w.get(c)===h)try{let s=b(r,u,f),l=await p(r);if(w.get(c)!==h||!j(c,h))return;if(y(r,u),oe(r),m(r,l,u,f),a?await n(`change`,c,a):await n(`change`,c),s!==void 0&&s!==l){if(!j(c,h))return;U(e,`routes`),U(e,`search`),U(e,`collections`);let n=i();try{let r=await te(t,n,o,u,f);if(!j(c,h))return;if(r.routes.deleted.length>0){j(c,h)&&e.ws.send({type:`full-reload`});return}if(!j(c,h))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){j(c,h)&&e.ws.send({type:`full-reload`});return}z(`Failed to compute frontmatter delta:`,t),j(c,h)&&e.ws.send({type:`full-reload`});return}P(r,c,h);return}P(r,c,h)}catch(e){z(`HMR error processing content change:`,e)}});C.set(c,s);let l=()=>{C.get(c)===s&&C.delete(c)};s.then(l,l)},150))}catch(e){z(`HMR error during ${s} event:`,e)}};e.watcher.on(`add`,e=>F(e,`add`)),e.watcher.on(`unlink`,e=>F(e,`unlink`)),e.watcher.on(`change`,e=>F(e,`change`))}function Le(e){let t=d(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let n=d(e).toLowerCase(),r=n===t||n.startsWith(`${t}/`),i=n.includes(`/pages-external/`)||n.includes(`\\pages-external\\`);if(r&&(l(e)||n.endsWith(`meta.json`)||i))return[]}}function Re(e,n,a,s,c,l,u,d){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(s){t(l),N(u);let f=c();await f?.runHook(`dev:before`).catch(e=>{z(`dev:before hook failed:`,e)});let p=import(`./routes-Dw6g0bfF.mjs`).then(e=>e.i).then(({generateRoutes:t})=>t(e,a()));p.then(e=>import(`./types-generator-BtZ6-ZKx.mjs`).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let m=d&&!d.disposed?d:u?.routeCacheContext&&!u.routeCacheContext.disposed?u.routeCacheContext:h(e);u&&(u.routeCacheContext=m),Me(s,e,a,p),Ee(s,e,a),Fe(s,e),Ie(s,e,n,a,l,u,m),m&&s.httpServer?.once(`close`,()=>{_(e,m)}),s.httpServer?.once(`listening`,()=>{import(`./registry-CHh8A5as.mjs`).then(e=>e.u).then(({prewarmHighlighter:e})=>{let t=a(),n=ne(t.theme?.codeHighlighting);e({engine:n?.engine,theme:n?.theme??t.theme?.codeTheme,options:n?.options})}).catch(()=>{})}),r((e,t)=>{s.ws.send(e,t)},l),o(s,l),await i(l).catch(()=>{}),await f?.runHook(`dev:after`).catch(()=>{})},hotUpdate:Le(n)}}function ze(e,t){let n=new Map,r=He(t);if(!r||!e)return{resolve:()=>null,mightRewrite:()=>!1};let i=t=>{if(n.has(t))return n.get(t)??null;let i=null;if(!t.startsWith(`${r}/`)){let n=decodeURIComponent(t).replace(/^\//,``),a=L.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&R.existsSync(a)&&R.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i},a;try{let t=R.readdirSync(e).filter(e=>e.length>0&&e!==`.`&&e!==`..`).map(e=>Be(e));if(t.length>0){let e=RegExp(`\\/(?:${t.join(`|`)})(?=["/?#\\s])`,`i`);a=t=>e.test(t)}}catch{a=void 0}return{resolve:i,mightRewrite:a}}function Be(e){let t=Ve(e);return/[ !"#$%&'()+,:;=?@[\]^`{}~]/.test(e)?`${t}|${Ve(encodeURIComponent(e).replace(/'/g,`%27`).replace(/~/g,`%7E`))}`:t}function Ve(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function He(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const W=`srcset`,Ue=RegExp(`((?:src|href|poster|content)|${W})="([^"]*)"`,`g`);function We(e,t){return t.mightRewrite&&!t.mightRewrite(e)?e:(Ue.lastIndex=0,e.replace(Ue,(e,n,r)=>{if(n===W){let n=!1,i=r.split(`,`).map(e=>{let[r,...i]=e.trim().split(/\s+/);if(!r?.startsWith(`/`))return e;let a=t.resolve(r);return a?(n=!0,[a,...i].join(` `)):e}).join(`, `);return n?`${W}="${i}"`:e}if(!r.startsWith(`/`))return e;let i=t.resolve(r);return i?e.replace(r,i):e}))}function Ge(e,t){let n=ze(e,t);return function(e,t,r){if(e.method&&e.method!==`GET`&&e.method!==`HEAD`){r();return}let i=e.url??`/`,a=i.indexOf(`?`),o=a===-1?i:i.slice(0,a);if(!o.startsWith(`/`)){r();return}let s=n.resolve(o);if(!s){r();return}t.writeHead(302,{Location:`${s}${a===-1?``:i.slice(a)}`}),t.end()}}const G=I(import.meta.url),Ke=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],qe=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function K(e=G){try{let e=L.join(process.cwd(),`node_modules/boltdocs/package.json`);return R.existsSync(e)?I(R.realpathSync(e)):I(L.join(process.cwd(),`package.json`))}catch{return e}}function q(e,t=G){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=L.dirname(e);for(;n&&n!==L.dirname(n);){let e=L.join(n,`package.json`);if(R.existsSync(e)){a=e;break}n=L.dirname(n)}}if(!a)throw Error();let o=L.dirname(a),s=JSON.parse(R.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=L.resolve(o,l);if(R.existsSync(u))return u}catch{}return t.resolve(e)}function J(e=G){let t=[],n=K(e),r=new Set([n,e]);for(let e of r){for(let n of Ke)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?q(n,e):e.resolve(n);r&&t.push(R.realpathSync(r))}catch{}for(let n of qe)try{t.push(R.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>d(e))}const Y=I(import.meta.url),Je=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),Ye=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],X=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let Xe=null;function Ze(){return Xe||=new Map,Xe}function Qe(e,t){return`${e}::${t?`1`:`0`}`}const $e=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let et=null;function tt(){return et||=JSON.parse(R.readFileSync(L.resolve(e,`../../../package.json`),`utf-8`)).version??`0.0.0`,et}const Z=new Map;function nt(e){return L.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function rt(e,t){try{let n=nt(e);if(!R.existsSync(n))return!1;let r=R.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function it(e,t,n,r){try{let i=nt(e);R.mkdirSync(L.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};R.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function at(e={},t){let n=L.resolve(e.root||process.cwd()),r=L.resolve(n,e.docsDir||`docs`),l=d(r),u=t,p,m=!1,g=a(),_=h(r),v=k(_),y,b=e.routes??[],x=null,S=null,ee=()=>S||(S=ze(p?.publicDir,p?.base),S),D=[];if(u?.plugins?.length)try{let e=tt(),t=JSON.stringify(u.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),i=Z.get(t);if(i){let e=i.validated;u.plugins=e,y=new s(e,u,r,void 0,void 0,void 0,g,_),D=e.flatMap(e=>$(e.vitePlugins))}else if(rt(n,t)){let e=u.plugins;y=new s(e,u,r,void 0,void 0,void 0,g,_),D=e.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:e})}else{let i=c(u.plugins,e);u.plugins=i,y=new s(i,u,r,void 0,void 0,void 0,g,_),D=i.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:i}),it(n,t,e,i.map(e=>e.name))}}catch{}let O=null,te=new Map,N=()=>u,P=e=>{u=e},F=()=>p,I=()=>(_.disposed&&(_=h(r),v.routeCacheContext=_,v.routeCacheVariant=void 0,v.routeGenerationFingerprint=void 0,v.routesDataMap.clear(),v.collectionsDataMap.clear(),v.searchDataMap.clear(),y=new s(u.plugins||[],u,r,void 0,b,p?.build?.outDir||`dist`,g,_)),y);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){m=t.command===`build`;let n=!!(t.isSsrBuild||e.build?.ssr);if(n&&u&&b.length>0&&y)return{build:{ssrManifest:!0},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,re(t.mode,e.envDir||process.cwd(),``)),u||=await w(r),b.length===0&&m){x||=C(r,u),b=await x;let e=b.map(e=>e.path),t=(u.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=f(r,u);for(let t of n)e.includes(t)||e.push(t);E(u,r,void 0,e),T(e)}if(m&&import(`./registry-CHh8A5as.mjs`).then(e=>e.u).then(({prewarmHighlighter:e})=>{let t=ne(u.theme?.codeHighlighting);e({engine:t?.engine,theme:t?.theme??u.theme?.codeTheme,options:t?.options})}).catch(()=>{}),!y){let{version:e}=await import(`./package-D6bf68FR.mjs`),t=c(u.plugins||[],e);u.plugins=t,y=new s(t,u,r,void 0,b,p?.build?.outDir||`dist`,g,_),D=t.flatMap(e=>$(e.vitePlugins))}if(m&&await y?.runHook(`build:before`),!O){let e=u.ssg?.criticalCss;O={entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,criticalCss:e===`none`?!1:e===`beasties`?`beasties`:`zig-critters`,criticalCssMaxSize:u.ssg?.criticalCssMaxSize,onPageRendered:async(e,t)=>{if(!y)return t;try{let n=te.get(e)??b.find(t=>t.path===e);n&&te.set(e,n);let r=(await y.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await y.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=ee();return i&&(r=We(r,i)),r}catch{return t}}}}return{ssgOptions:O,build:{ssrManifest:m},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`,`lucide-react`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:n?[]:[{find:`react-router-dom`,replacement:q(`react-router-dom`)},{find:`react-helmet-async`,replacement:q(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:q(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...n?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(p=e,!Q){Q=new Map;for(let e of X)try{let t=q(e),n=R.realpathSync(t);Q.set(e,n)}catch{}for(let e of[`react`,`react-dom`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`])try{let t=Y.resolve(e),n=R.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=Ze(),i=Qe(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!L.isAbsolute(e)&&!e.startsWith(`.`)&&!Je.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(Je.has(e)&&(o=e),!o&&!L.isAbsolute(e)&&!e.startsWith(`.`)){let t=Ye.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of $e)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!L.isAbsolute(e)&&o!==`react`&&o!==`react-dom`){let t=Q?.get(o);if(t){let e={id:t,external:!0};return r.set(i,e),e}let n=K(Y),a=e;try{a=X.has(o)?q(e,n):n.resolve(e)}catch{try{a=X.has(o)?q(e,Y):Y.resolve(e)}catch{}}try{a=R.realpathSync(a)}catch{}let s={id:a,external:!0};return r.set(i,s),s}return r.set(i,null),null},transformIndexHtml:{order:`pre`,handler:e=>Se(e,u)},configureServer(e){e.middlewares.use(Ge(p?.publicDir,p?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){import(`./virtual-modules-CaxqrFd6.mjs`).then(()=>{t.setHeader(`Content-Type`,`application/json`),t.end(M(v))}).catch(e=>{console.error(`[boltdocs] Failed to serve search.json:`,e),t.statusCode=500,t.end(`[]`)});return}if(r===`/page-source.json`||r?.endsWith(`/page-source.json`)){import(`./virtual-modules-CaxqrFd6.mjs`).then(()=>{t.setHeader(`Content-Type`,`application/json`),t.end(j(v))}).catch(e=>{console.error(`[boltdocs] Failed to serve page-source.json:`,e),t.statusCode=500,t.end(`{}`)});return}n()})},async generateBundle(){let e=this.environment?.config?.consumer??`client`;if(!(!m||e!==`client`)){try{let e=M(v);this.emitFile({type:`asset`,fileName:`search.json`,source:e})}catch(e){console.error(`[boltdocs] Failed to emit search.json:`,e)}try{this.emitFile({type:`asset`,fileName:`page-source.json`,source:j(v)})}catch(e){console.error(`[boltdocs] Failed to emit page-source.json:`,e)}}},async closeBundle(){let e=this.environment?.config?.consumer??`client`;!m||e!==`client`||(await y?.runHook(`build:after`),await y?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(Ce(N)),e.middlewares.use(we(F)),o(e,g),i(g).catch(()=>{})}},A(e,N,F,r,g,v),Re(r,l,N,P,I,g,v),...$([ae(u,I,{docsDir:e.docsDir||`docs`})]),...$([ie({includePublic:!0})]),...D]}export{at as boltdocsPlugin,K as getBaseRequire,J as getExternalAbsolutePaths,q as resolveEsm};
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./utils-ej6_SjIZ.cjs`),n=require(`./pages-external-DPiPFxxP.cjs`),r=require(`./node/cache.cjs`),i=require(`./routes-C0kb4ue6.cjs`);let a=require(`node:path`);a=e.r(a);let o=require(`node:fs`);o=e.r(o);function s(e){let t=a.default.join(e,`.boltdocs`,`compiled`),n=a.default.join(t,`pages`),r=a.default.join(n,`index.mjs`),i=a.default.join(t,`pages-glob-map.json`),s=a.default.join(t,`pages-chunk-map.json`);if(!o.default.existsSync(r)||!o.default.existsSync(i))return null;try{let e=JSON.parse(o.default.readFileSync(i,`utf-8`));for(let t of Object.values(e))if(!/^[_A-Za-z0-9]+$/.test(t)||!o.default.existsSync(a.default.join(n,`${t}.mjs`)))return null;let t=null;if(o.default.existsSync(s)){t=JSON.parse(o.default.readFileSync(s,`utf-8`));for(let[r,i]of Object.entries(t))if(!Number.isInteger(i)||i<0||!e[r]||!o.default.existsSync(a.default.join(n,`chunk-${i}.mjs`)))return null}return{globMap:e,chunkMap:t}}catch{return null}}function c(e,n){return t.u(a.default.join(e,`.boltdocs`,`compiled`,`pages`,n))}function l(e,r){let i=a.default.resolve(e.root||process.cwd()),l=a.default.resolve(i,`index.css`),u=o.default.existsSync(l)?`import './index.css';`:``,d=r?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],f=d.map(([e,n])=>`import { ${e} as _comp_${e} } from '${t.u(n)}';`).join(`
6
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./utils-ej6_SjIZ.cjs`),n=require(`./pages-external-DPiPFxxP.cjs`),r=require(`./node/cache.cjs`),i=require(`./routes-CzhKOw67.cjs`);let a=require(`node:path`);a=e.r(a);let o=require(`node:fs`);o=e.r(o);function s(e){let t=a.default.join(e,`.boltdocs`,`compiled`),n=a.default.join(t,`pages`),r=a.default.join(n,`index.mjs`),i=a.default.join(t,`pages-glob-map.json`),s=a.default.join(t,`pages-chunk-map.json`);if(!o.default.existsSync(r)||!o.default.existsSync(i))return null;try{let e=JSON.parse(o.default.readFileSync(i,`utf-8`));for(let t of Object.values(e))if(!/^[_A-Za-z0-9]+$/.test(t)||!o.default.existsSync(a.default.join(n,`${t}.mjs`)))return null;let t=null;if(o.default.existsSync(s)){t=JSON.parse(o.default.readFileSync(s,`utf-8`));for(let[r,i]of Object.entries(t))if(!Number.isInteger(i)||i<0||!e[r]||!o.default.existsSync(a.default.join(n,`chunk-${i}.mjs`)))return null}return{globMap:e,chunkMap:t}}catch{return null}}function c(e,n){return t.u(a.default.join(e,`.boltdocs`,`compiled`,`pages`,n))}function l(e,r){let i=a.default.resolve(e.root||process.cwd()),l=a.default.resolve(i,`index.css`),u=o.default.existsSync(l)?`import './index.css';`:``,d=r?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],f=d.map(([e,n])=>`import { ${e} as _comp_${e} } from '${t.u(n)}';`).join(`
7
7
  `),p=d.map(([e])=>`${e}: _comp_${e}`).join(`, `),m=a.default.resolve(i,e.docsDir||`docs`),h=t.u(a.default.relative(i,m)).replace(/^\/+/,``)||a.default.basename(m),g=[`tsx`,`ts`,`jsx`,`js`].map(e=>a.default.resolve(m,`pages-external/index.${e}`)).find(e=>o.default.existsSync(e)),_=g?`import * as _external_module from '${t.u(g)}';`:``,v=g?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``,y=r?.experimental?.fileRouting?n.t(m,r):[],b=y.filter(e=>e.kind===`component`),x=y.filter(e=>e.kind===`mdx`),S=b.map((e,n)=>`import _external_file_${n} from ${JSON.stringify(t.u(e.filePath))};`).join(`
8
8
  `),C=b.length?`const _external_file_pages = {\n${b.map(e=>` ${JSON.stringify(e.path)}: () => import(${JSON.stringify(t.u(e.filePath))}),`).join(`
9
9
  `)}\n};`:`const _external_file_pages = {};`,w=x.length?`const _external_file_mdx = {\n${x.map(e=>{let n=t.u(a.default.relative(i,e.filePath));return` ${JSON.stringify(e.path)}: Object.entries(mdxModules).find(([key]) => key.endsWith(${JSON.stringify(n)}))?.[1],`}).join(`
@@ -12,4 +12,4 @@ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./utils-ej6_SjIZ.cjs`),n=requ
12
12
  `)}}else A=t&&Object.keys(t).length>0?[`const mdxModules = {`,n.map(n=>{let r=t[n];return r===void 0?` ${JSON.stringify(n)}: () => import(${JSON.stringify(c(i,`${e[n]}.mjs`))})`:` ${JSON.stringify(n)}: () => import(${JSON.stringify(c(i,`chunk-${r}.mjs`))}).then(m => m.default[${JSON.stringify(n)}])`}).join(`,`),`};`].join(`
13
13
  `):[`const mdxModules = {`,n.map(t=>` ${JSON.stringify(t)}: () => import(${JSON.stringify(c(i,`${e[t]}.mjs`))})`).join(`,`),`};`].join(`
14
14
  `)}else A=`const mdxModules = import.meta.glob('/${h}/**/*.{md,mdx}', ${T?`{ eager: true }`:`{}`});`;return`${[`import { ViteReactSSG, createRoutes, RouteRenderer, matchRouteBranch, matchRouteBranchWithParams, resolveRouteBranch } from 'boltdocs/client'`,`export { RouteRenderer, matchRouteBranch, matchRouteBranchWithParams, resolveRouteBranch }`,`import _routes from 'virtual:boltdocs-routes.ts'`,`import _collections from 'virtual:boltdocs-collections.ts'`,`import _config from 'virtual:boltdocs-config.ts'`,`import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx'`,u,f,_,S,``,A,C,w,``,`const _collLayoutMods = import.meta.glob('${E}', { eager: true });`,`const _collListMods = import.meta.glob('${D}', { eager: true });`,`const _collPostMods = import.meta.glob('${O}', { eager: true });`,``,`const _collectionLayouts = {};`,`for (const [p, mod] of Object.entries(_collLayoutMods)) {`,` const dir = p.split('/').slice(-2, -1)[0];`,` if (dir.startsWith('[') && dir.endsWith(']')) {`,` _collectionLayouts[dir.slice(1, -1)] = mod.default || mod;`,` }`,`}`,``,`const _collectionLists = {};`,`for (const [p, mod] of Object.entries(_collListMods)) {`,` const dir = p.split('/').slice(-2, -1)[0];`,` if (dir.startsWith('[') && dir.endsWith(']')) {`,` _collectionLists[dir.slice(1, -1)] = mod.default || mod;`,` }`,`}`,``,`const _collectionPosts = {};`,`for (const [p, mod] of Object.entries(_collPostMods)) {`,` const dir = p.split('/').slice(-2, -1)[0];`,` if (dir.startsWith('[') && dir.endsWith(']')) {`,` _collectionPosts[dir.slice(1, -1)] = mod.default || mod;`,` }`,`}`,``,`const createRoot = ViteReactSSG(`,` createRoutes({`,` routesData: _routes,`,` collectionsData: _collections,`,` collectionLayouts: _collectionLayouts,`,` collectionLists: _collectionLists,`,` collectionPosts: _collectionPosts,`,` config: _config,`,` mdxModules,`,` ${v}`,` externalFilePages: _external_file_pages,`,` externalFileMdx: _external_file_mdx,`,` components: { ${p}${p?`, `:``} ...(_user_mdx_components || {}) },`,` }),`,` ({ isClient }) => {`,` // Boltdocs initialization hook`,` if (isClient) {`,` // Client-side initialization`,` }`,` },`,`);`,`export { createRoot };`,`createRoot.RouteRenderer = RouteRenderer;`,`createRoot.matchRouteBranch = matchRouteBranch;`,`createRoot.matchRouteBranchWithParams = matchRouteBranchWithParams;`,`createRoot.resolveRouteBranch = resolveRouteBranch;`,``].filter(Boolean).join(`
15
- `)}\n`}const u=`virtual:boltdocs-`;function d(){return{virtualModuleRegistry:new Map,middlewareRegistry:new Map,diagnosticRecords:[],diagnosticIdCounter:0,hmrFileHandlers:new Map,hmrSender:null,pluginServerMiddleware:[],serverStartCallbacks:[],serverEndCallbacks:[]}}const f=d();function p(){return f}function m(e){return e??f}const h=f.virtualModuleRegistry;f.middlewareRegistry,f.diagnosticRecords;function g(){return new Date}function _(e,t=process.cwd(),n){return{transform(e){let n=new r.TransformCache(`plugin:${e}`,t);return{async get(e){return n.getAsync(e)},set(e,t){n.set(e,t)},async flush(){await n.flush()}}},routes:v(e,n),memory(e,t){let n=`${e}:`,r=t?.ttl,i=t?.max??100,a=new Map;function o(e){return e.expiresAt!==null&&e.expiresAt<=Date.now()}return{get(e){let t=a.get(n+e);if(t){if(o(t)){a.delete(n+e);return}return t.value}},set(e,t){let o=n+e;if(!a.has(o)&&a.size>=i){let e=a.keys().next().value;e!==void 0&&a.delete(e)}a.set(o,{value:t,expiresAt:r===void 0?null:Date.now()+r})},has(e){let t=a.get(n+e);return t?o(t)?(a.delete(n+e),!1):!0:!1}}}}}function v(e,t){return{get(n){return(t?.docCache??e?.docCache??i.o).get(n)?.route??null},set(n,r){(t?.docCache??e?.docCache??i.o).set(n,{route:r})},invalidate(n){(t?.docCache??e?.docCache??i.o).invalidate(n)},invalidateAll(){(t?.docCache??e?.docCache??i.o).invalidateAll()}}}function y(e,t){let n=m(t);return{report(t,r,i,a){let o={id:++n.diagnosticIdCounter,severity:t,code:r,message:i,pluginName:e,filePath:a?.filePath,routePath:a?.routePath,time:g()};if(n.diagnosticRecords.push(o),n.diagnosticRecords.length>256){let e=n.diagnosticRecords.length-256;n.diagnosticRecords.splice(0,e)}},list(){return Object.freeze([...n.diagnosticRecords])},clear(){n.diagnosticRecords.length=0}}}function b(e,t){return{resolveDocs(...t){return x(e,...t)},resolveAsset(...e){return x(t,...e)},safeFileURL(e){return`file://${a.default.resolve(e).replace(/\\/g,`/`)}`}}}function x(e,...n){let r=a.default.resolve(e),i=a.default.resolve(r,...n),o=a.default.relative(r,i);if(o.startsWith(`..`)||a.default.isAbsolute(o))throw Error(`[boltdocs/plugin-context] Path '${n.join(`/`)}' resolves to '${i}' which is outside the workspace boundary '${r}'.`);return t.u(i)}function S(e){let t=m(e);return{add(e,n,r){if(t.virtualModuleRegistry.has(e))throw Error(`[boltdocs] Virtual module '${e}' is already registered. Pick a unique id (e.g. prefix it with your plugin name) so two plugins do not collide.`);if(e.startsWith(u))throw Error(`[boltdocs] Virtual module id '${e}' starts with the reserved prefix '${u}'. Use your own plugin namespace (e.g. 'virtual:my-plugin/...').`);t.virtualModuleRegistry.set(e,{id:e,eager:r?.eager??!1,loader:n})},has(e){return t.virtualModuleRegistry.has(e)},list(){return Object.freeze([...t.virtualModuleRegistry.values()])}}}function C(e){let t=m(e);function n(e){return t.hmrFileHandlers.has(e)||t.hmrFileHandlers.set(e,new Set),t.hmrFileHandlers.get(e)}return{onFileEvent(e,t){n(e).add(t)},onFileAdd(e){n(`add`).add(e)},onFileChange(e){n(`change`).add(e)},onFileUnlink(e){n(`unlink`).add(e)},send(e,n){t.hmrSender?.(`boltdocs:plugin:${e}`,n)}}}async function w(e,t,n){let r=m(n).hmrFileHandlers.get(e);if(r)for(let e of[...r])try{await e(t)}catch(e){console.error(`[boltdocs] Plugin HMR handler failed for '${t}':`,e)}}let T=0;function E(e,t){m(t).hmrSender=e}function D(e,t){for(let n of m(t).pluginServerMiddleware)e.middlewares.use(n)}async function O(e){for(let t of m(e).serverStartCallbacks)await t()}function k(e){let t=m(e);return{use(e){t.pluginServerMiddleware.push(e)},useAt(e,n){t.pluginServerMiddleware.push((t,r,i)=>{if(t.url?.startsWith(e))return n(t,r,i);i()})},onStart(e){t.serverStartCallbacks.push(e)},onEnd(e){t.serverEndCallbacks.push(e)}}}function A(e){let t=m(e);return{add(e){let n=e.name??`_unnamed_${T++}`;if(t.middlewareRegistry.has(n))throw Error(`[boltdocs] Middleware '${e.name??`<unnamed>`}' is already registered.`);t.middlewareRegistry.set(n,e)},remove(e){t.middlewareRegistry.delete(e)},has(e){return t.middlewareRegistry.has(e)},list(){return Object.freeze([...t.middlewareRegistry.values()])}}}function j(e){let t=m(e);t.virtualModuleRegistry.clear(),t.middlewareRegistry.clear(),t.hmrFileHandlers.clear(),t.pluginServerMiddleware.length=0,t.serverStartCallbacks.length=0,t.serverEndCallbacks.length=0,t.hmrSender=null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}});
15
+ `)}\n`}const u=`virtual:boltdocs-`;function d(){return{virtualModuleRegistry:new Map,middlewareRegistry:new Map,diagnosticRecords:[],diagnosticIdCounter:0,hmrFileHandlers:new Map,hmrSender:null,pluginServerMiddleware:[],serverStartCallbacks:[],serverEndCallbacks:[]}}const f=d();function p(){return f}function m(e){return e??f}const h=f.virtualModuleRegistry;f.middlewareRegistry,f.diagnosticRecords;function g(){return new Date}function _(e,t=process.cwd(),n){return{transform(e){let n=new r.TransformCache(`plugin:${e}`,t);return{async get(e){return n.getAsync(e)},set(e,t){n.set(e,t)},async flush(){await n.flush()}}},routes:v(e,n),memory(e,t){let n=`${e}:`,r=t?.ttl,i=t?.max??100,a=new Map;function o(e){return e.expiresAt!==null&&e.expiresAt<=Date.now()}return{get(e){let t=a.get(n+e);if(t){if(o(t)){a.delete(n+e);return}return t.value}},set(e,t){let o=n+e;if(!a.has(o)&&a.size>=i){let e=a.keys().next().value;e!==void 0&&a.delete(e)}a.set(o,{value:t,expiresAt:r===void 0?null:Date.now()+r})},has(e){let t=a.get(n+e);return t?o(t)?(a.delete(n+e),!1):!0:!1}}}}}function v(e,t){return{get(n){return(t?.docCache??e?.docCache??i.u).get(n)?.route??null},set(n,r){(t?.docCache??e?.docCache??i.u).set(n,{route:r})},invalidate(n){(t?.docCache??e?.docCache??i.u).invalidate(n)},invalidateAll(){(t?.docCache??e?.docCache??i.u).invalidateAll()}}}function y(e,t){let n=m(t);return{report(t,r,i,a){let o={id:++n.diagnosticIdCounter,severity:t,code:r,message:i,pluginName:e,filePath:a?.filePath,routePath:a?.routePath,time:g()};if(n.diagnosticRecords.push(o),n.diagnosticRecords.length>256){let e=n.diagnosticRecords.length-256;n.diagnosticRecords.splice(0,e)}},list(){return Object.freeze([...n.diagnosticRecords])},clear(){n.diagnosticRecords.length=0}}}function b(e,t){return{resolveDocs(...t){return x(e,...t)},resolveAsset(...e){return x(t,...e)},safeFileURL(e){return`file://${a.default.resolve(e).replace(/\\/g,`/`)}`}}}function x(e,...n){let r=a.default.resolve(e),i=a.default.resolve(r,...n),o=a.default.relative(r,i);if(o.startsWith(`..`)||a.default.isAbsolute(o))throw Error(`[boltdocs/plugin-context] Path '${n.join(`/`)}' resolves to '${i}' which is outside the workspace boundary '${r}'.`);return t.u(i)}function S(e){let t=m(e);return{add(e,n,r){if(t.virtualModuleRegistry.has(e))throw Error(`[boltdocs] Virtual module '${e}' is already registered. Pick a unique id (e.g. prefix it with your plugin name) so two plugins do not collide.`);if(e.startsWith(u))throw Error(`[boltdocs] Virtual module id '${e}' starts with the reserved prefix '${u}'. Use your own plugin namespace (e.g. 'virtual:my-plugin/...').`);t.virtualModuleRegistry.set(e,{id:e,eager:r?.eager??!1,loader:n})},has(e){return t.virtualModuleRegistry.has(e)},list(){return Object.freeze([...t.virtualModuleRegistry.values()])}}}function C(e){let t=m(e);function n(e){return t.hmrFileHandlers.has(e)||t.hmrFileHandlers.set(e,new Set),t.hmrFileHandlers.get(e)}return{onFileEvent(e,t){n(e).add(t)},onFileAdd(e){n(`add`).add(e)},onFileChange(e){n(`change`).add(e)},onFileUnlink(e){n(`unlink`).add(e)},send(e,n){t.hmrSender?.(`boltdocs:plugin:${e}`,n)}}}async function w(e,t,n){let r=m(n).hmrFileHandlers.get(e);if(r)for(let e of[...r])try{await e(t)}catch(e){console.error(`[boltdocs] Plugin HMR handler failed for '${t}':`,e)}}let T=0;function E(e,t){m(t).hmrSender=e}function D(e,t){for(let n of m(t).pluginServerMiddleware)e.middlewares.use(n)}async function O(e){for(let t of m(e).serverStartCallbacks)await t()}function k(e){let t=m(e);return{use(e){t.pluginServerMiddleware.push(e)},useAt(e,n){t.pluginServerMiddleware.push((t,r,i)=>{if(t.url?.startsWith(e))return n(t,r,i);i()})},onStart(e){t.serverStartCallbacks.push(e)},onEnd(e){t.serverEndCallbacks.push(e)}}}function A(e){let t=m(e);return{add(e){let n=e.name??`_unnamed_${T++}`;if(t.middlewareRegistry.has(n))throw Error(`[boltdocs] Middleware '${e.name??`<unnamed>`}' is already registered.`);t.middlewareRegistry.set(n,e)},remove(e){t.middlewareRegistry.delete(e)},has(e){return t.middlewareRegistry.has(e)},list(){return Object.freeze([...t.middlewareRegistry.values()])}}}function j(e){let t=m(e);t.virtualModuleRegistry.clear(),t.middlewareRegistry.clear(),t.hmrFileHandlers.clear(),t.pluginServerMiddleware.length=0,t.serverStartCallbacks.length=0,t.serverEndCallbacks.length=0,t.hmrSender=null}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}});
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{u as e}from"./utils-8lzafE49.mjs";import{t}from"./pages-external-BBw8ObVK.mjs";import{TransformCache as n}from"./node/cache.mjs";import{o as r}from"./routes-C4wrLWwu.mjs";import i from"node:path";import{fileURLToPath as a}from"node:url";import o from"node:fs";const s=i.dirname(a(import.meta.url));function c(e){let t=i.join(e,`.boltdocs`,`compiled`),n=i.join(t,`pages`),r=i.join(n,`index.mjs`),a=i.join(t,`pages-glob-map.json`),s=i.join(t,`pages-chunk-map.json`);if(!o.existsSync(r)||!o.existsSync(a))return null;try{let e=JSON.parse(o.readFileSync(a,`utf-8`));for(let t of Object.values(e))if(!/^[_A-Za-z0-9]+$/.test(t)||!o.existsSync(i.join(n,`${t}.mjs`)))return null;let t=null;if(o.existsSync(s)){t=JSON.parse(o.readFileSync(s,`utf-8`));for(let[r,a]of Object.entries(t))if(!Number.isInteger(a)||a<0||!e[r]||!o.existsSync(i.join(n,`chunk-${a}.mjs`)))return null}return{globMap:e,chunkMap:t}}catch{return null}}function l(t,n){return e(i.join(t,`.boltdocs`,`compiled`,`pages`,n))}function u(n,r){let a=i.resolve(n.root||process.cwd()),s=i.resolve(a,`index.css`),u=o.existsSync(s)?`import './index.css';`:``,d=r?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],f=d.map(([t,n])=>`import { ${t} as _comp_${t} } from '${e(n)}';`).join(`
6
+ import{u as e}from"./utils-8lzafE49.mjs";import{t}from"./pages-external-BBw8ObVK.mjs";import{TransformCache as n}from"./node/cache.mjs";import{u as r}from"./routes-Dw6g0bfF.mjs";import i from"node:path";import{fileURLToPath as a}from"node:url";import o from"node:fs";const s=i.dirname(a(import.meta.url));function c(e){let t=i.join(e,`.boltdocs`,`compiled`),n=i.join(t,`pages`),r=i.join(n,`index.mjs`),a=i.join(t,`pages-glob-map.json`),s=i.join(t,`pages-chunk-map.json`);if(!o.existsSync(r)||!o.existsSync(a))return null;try{let e=JSON.parse(o.readFileSync(a,`utf-8`));for(let t of Object.values(e))if(!/^[_A-Za-z0-9]+$/.test(t)||!o.existsSync(i.join(n,`${t}.mjs`)))return null;let t=null;if(o.existsSync(s)){t=JSON.parse(o.readFileSync(s,`utf-8`));for(let[r,a]of Object.entries(t))if(!Number.isInteger(a)||a<0||!e[r]||!o.existsSync(i.join(n,`chunk-${a}.mjs`)))return null}return{globMap:e,chunkMap:t}}catch{return null}}function l(t,n){return e(i.join(t,`.boltdocs`,`compiled`,`pages`,n))}function u(n,r){let a=i.resolve(n.root||process.cwd()),s=i.resolve(a,`index.css`),u=o.existsSync(s)?`import './index.css';`:``,d=r?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],f=d.map(([t,n])=>`import { ${t} as _comp_${t} } from '${e(n)}';`).join(`
7
7
  `),p=d.map(([e])=>`${e}: _comp_${e}`).join(`, `),m=i.resolve(a,n.docsDir||`docs`),h=e(i.relative(a,m)).replace(/^\/+/,``)||i.basename(m),g=[`tsx`,`ts`,`jsx`,`js`].map(e=>i.resolve(m,`pages-external/index.${e}`)).find(e=>o.existsSync(e)),_=g?`import * as _external_module from '${e(g)}';`:``,v=g?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``,y=r?.experimental?.fileRouting?t(m,r):[],b=y.filter(e=>e.kind===`component`),x=y.filter(e=>e.kind===`mdx`),S=b.map((t,n)=>`import _external_file_${n} from ${JSON.stringify(e(t.filePath))};`).join(`
8
8
  `),C=b.length?`const _external_file_pages = {\n${b.map(t=>` ${JSON.stringify(t.path)}: () => import(${JSON.stringify(e(t.filePath))}),`).join(`
9
9
  `)}\n};`:`const _external_file_pages = {};`,w=x.length?`const _external_file_mdx = {\n${x.map(t=>{let n=e(i.relative(a,t.filePath));return` ${JSON.stringify(t.path)}: Object.entries(mdxModules).find(([key]) => key.endsWith(${JSON.stringify(n)}))?.[1],`}).join(`
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./node-BljvHMpS.cjs`);exports.PluginLifecycleManager=e.o;
6
+ const e=require(`./node-7Cfw6nMr.cjs`);exports.PluginLifecycleManager=e.c;
@@ -1,5 +1,5 @@
1
1
 
2
- import { a as CodeHighlightConfig, o as CodeHighlighterAdapter } from "./types-Db6zToZH.mjs";
2
+ import { a as CodeHighlightConfig, o as CodeHighlighterAdapter } from "./types-X_Pwk8Cg.cjs";
3
3
 
4
4
  //#region src/node/highlight/registry.d.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
 
2
- import { a as CodeHighlightConfig, o as CodeHighlighterAdapter } from "./types-o7iZ2BAR.cjs";
2
+ import { a as CodeHighlightConfig, o as CodeHighlighterAdapter } from "./types-74i_xUe2.mjs";
3
3
 
4
4
  //#region src/node/highlight/registry.d.ts
5
5
  /**
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./utils-ej6_SjIZ.cjs`),n=require(`./node/cache.cjs`),r=require(`./cache-CJE9nWLE.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`node:crypto`);o=e.r(o);let s=require(`@bdocs/dui`),c=require(`node:fs/promises`);c=e.r(c);let l=require(`fdir`);function u(e){return i.default.resolve(e)}function d(e,t){return o.default.createHash(`sha1`).update(`${u(e)}:${t}`).digest(`hex`).slice(0,16)}function f(e,a,o){let s=d(e,o),c=t.o();return{fingerprint:o,docCache:new n.FileCache({name:`routes-${s}`,root:a}),parserCache:new r.t(a,s),cachedFileList:null,localizedPathCache:new Map,cachedNativeDocs:null,frontmatterHashes:new Map,directoryMeta:null,cachedDirectoryMetaFiles:null,directoryMetaEntries:new Map,discoverySnapshot:null,discoverySnapshotLoaded:!1,discoverySnapshotPath:i.default.resolve(a,c.dir,`route-discovery-${s}.json`)}}function p(e,t=i.default.dirname(i.default.resolve(e))){let n=u(e),r=i.default.resolve(t),a=f(n,r,`legacy`);return{docsDir:n,cacheRoot:r,docCache:a.docCache,parserCache:a.parserCache,cachedFileList:a.cachedFileList,localizedPathCache:a.localizedPathCache,cachedNativeDocs:a.cachedNativeDocs,frontmatterHashes:a.frontmatterHashes,directoryMeta:a.directoryMeta,cachedDirectoryMetaFiles:a.cachedDirectoryMetaFiles,variants:new Map([[`legacy`,a]]),activeVariant:a,activeGenerations:new Map,generationEpoch:0,disposed:!1}}const m=new Map;function h(e,t,n=!1){if(e.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let r=e.variants.get(t);if(!r&&(r=f(e.docsDir,e.cacheRoot,t),e.variants.set(t,r),e.variants.size>8)){for(let[n,r]of e.variants)if(!(n===t||r===e.activeVariant)&&!e.activeGenerations.has(n)){e.variants.delete(n);break}}return n&&(e.activeVariant=r,e.docCache=r.docCache,e.parserCache=r.parserCache,e.cachedFileList=r.cachedFileList,e.localizedPathCache=r.localizedPathCache,e.cachedNativeDocs=r.cachedNativeDocs,e.frontmatterHashes=r.frontmatterHashes,e.directoryMeta=r.directoryMeta,e.cachedDirectoryMetaFiles=r.cachedDirectoryMetaFiles),r}function g(e,t){e.activeVariant===t&&(e.cachedFileList=t.cachedFileList,e.cachedNativeDocs=t.cachedNativeDocs,e.frontmatterHashes=t.frontmatterHashes,e.directoryMeta=t.directoryMeta,e.cachedDirectoryMetaFiles=t.cachedDirectoryMetaFiles)}function _(e,t){return o.default.createHash(`sha1`).update(JSON.stringify({basePath:t||e?.base||`/docs`,i18n:e?.i18n,versions:e?.versions,drafts:e?.drafts,featureFlags:e?.featureFlags,fileRouting:e?.experimental?.fileRouting,sidebarGroups:e?.theme?.sidebarGroups})).digest(`hex`)}function v(e,t){let n=u(e),r=m.get(n),i=t??r;(!i||r===i)&&m.delete(n),i&&(i.disposed=!0,i.generationEpoch++,i.activeGenerations.clear(),i.variants.clear(),i.activeVariant=null,i.cachedFileList=null,i.localizedPathCache.clear(),i.cachedNativeDocs=null,i.frontmatterHashes.clear(),i.directoryMeta=null,i.cachedDirectoryMetaFiles=null)}function y(e){let t=u(e),n=m.get(t);return n||(n=p(t),m.set(t,n)),n}const b=p(i.default.resolve(process.cwd(),`docs`)),x=b.docCache;function S(e){try{a.default.rmSync(e.discoverySnapshotPath,{force:!0})}catch{}}function C(e){let t=typeof e==`string`?y(e):e??b;for(let e of t.variants.values())e.cachedFileList=null,e.localizedPathCache.clear(),e.cachedNativeDocs=null,e.frontmatterHashes.clear(),e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,S(e),e.docCache.invalidateAll(),e.parserCache.clear();t.cachedFileList=null,t.localizedPathCache.clear(),t.cachedNativeDocs=null,t.frontmatterHashes.clear(),t.directoryMeta=null,t.cachedDirectoryMetaFiles=null,t.generationEpoch++}function w(e,t){let n=typeof t==`string`?y(t):t??b,r=i.default.resolve(e);for(let e of n.variants.values()){for(let t of e.directoryMetaEntries.keys())i.default.resolve(t)===r&&e.directoryMetaEntries.delete(t);e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,S(e)}n.directoryMeta=null,n.cachedDirectoryMetaFiles=null,n.generationEpoch++}function T(e,t){let n=typeof t==`string`?y(t):t??b;for(let t of n.variants.values())t.docCache.invalidate(e),t.parserCache.invalidate(e),t.cachedNativeDocs?.[e.replace(/\\/g,`/`)]&&delete t.cachedNativeDocs[e.replace(/\\/g,`/`)],t.frontmatterHashes.delete(e);n.cachedNativeDocs=n.activeVariant?.cachedNativeDocs??null,n.frontmatterHashes.delete(e),n.generationEpoch++}function E(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):D(e,t):n-r})}function D(e,t){if(e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0){let n=e.sidebarPosition-t.sidebarPosition;if(n!==0)return n}else if(e.sidebarPosition!==void 0)return-1;else if(t.sidebarPosition!==void 0)return 1;let n=e.title.localeCompare(t.title);return n===0?e.path.localeCompare(t.path):n}const O=new Map;function k(e){let{lastUpdated:t,...n}=e;return o.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function A(e){try{let{data:n}=await t.d(e);return k(n)}catch{return``}}function j(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??O,i=r.get(e);if(i===void 0){let a=(n?.docCache??t?.docCache??x).getStale(e);a?.route?.frontmatter&&(i=k(a.route.frontmatter),r.set(e,i))}return i}function M(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??O).set(e,t)}function N(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??O).delete(e)}const P=Symbol(`route-generation-invalidated`);async function F(e,t,n){let r=[...t].sort((e,t)=>{if(i.default.dirname(e)===i.default.dirname(t)){let n=i.default.basename(e),r=i.default.basename(t);if(n===`_meta.json`&&r===`meta.json`)return-1;if(n===`meta.json`&&r===`_meta.json`)return 1}return e.localeCompare(t)}),a=new Set(r),o=n.directoryMetaEntries;for(let e of o.keys())a.has(e)||o.delete(e);await Promise.all(r.map(async e=>{let t;try{t=await c.default.stat(e)}catch(t){o.delete(e),(0,s.warn)(`Failed to stat meta.json: ${t instanceof Error?t.message:String(t)}`);return}let n=o.get(e);if(!(n&&n.mtimeMs===t.mtimeMs&&n.size===t.size))try{let n=await c.default.readFile(e,`utf8`);o.set(e,{mtimeMs:t.mtimeMs,size:t.size,content:JSON.parse(n)})}catch(t){o.delete(e),(0,s.warn)(`Failed to read meta.json: ${t instanceof Error?t.message:String(t)}`)}}));let l={};for(let t of r){let n=o.get(t);if(!n)continue;let r=i.default.relative(e,i.default.dirname(t)).replace(/\\/g,`/`);l[r||`.`]=n.content}return l}async function I(e,n){if(!n.discoverySnapshotPath||t.o().noCache)return null;if(n.discoverySnapshotLoaded)return n.discoverySnapshot;n.discoverySnapshotLoaded=!0;try{let t=await c.default.readFile(n.discoverySnapshotPath,`utf8`),r=JSON.parse(t),a=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`),o=r.files,s=r.directoryMetaFiles,l=r.directories&&typeof r.directories==`object`?Object.entries(r.directories):[],u=i.default.resolve(e),d=await c.default.realpath(u),f=e=>{let t=i.default.resolve(e);return t===u||t.startsWith(`${u}${i.default.sep}`)},p=e=>/\.(?:md|mdx)$/i.test(e),m=e=>{let t=i.default.basename(e);return t===`meta.json`||t===`_meta.json`};if(r.version!==1||!a(o)||!a(s)||!r.directories||typeof r.directories!=`object`||Array.isArray(r.directories)||o.some(e=>!f(e)||!p(e))||s.some(e=>!f(e)||!m(e))||l.some(([e,t])=>!f(e)||typeof t!=`number`||!Number.isFinite(t)))return null;let h=e=>{let t=i.default.resolve(e);return t===d||t.startsWith(`${d}${i.default.sep}`)},g=await Promise.all([...o,...s].map(async e=>{try{return(await c.default.lstat(e)).isFile()?h(await c.default.realpath(e)):!1}catch{return!1}})),_=await Promise.all(l.map(async([e,t])=>{try{let n=await c.default.stat(e);return n.isDirectory()&&n.mtimeMs===t&&h(await c.default.realpath(e))}catch{return!1}}));if(g.every(Boolean)&&_.every(Boolean)){let e={version:1,files:o,directoryMetaFiles:s,directories:Object.fromEntries(l)};return n.discoverySnapshot=e,e}}catch{}return null}async function L(e,n){if(t.o().noCache){e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1;return}e.discoverySnapshot=n,e.discoverySnapshotLoaded=!0;try{await c.default.mkdir(i.default.dirname(e.discoverySnapshotPath),{recursive:!0}),await c.default.writeFile(e.discoverySnapshotPath,JSON.stringify(n))}catch{}}async function R(e,t,n){if(!n){let n=await I(e,t);if(n)return n}let r=await new l.fdir({excludeSymlinks:!0}).withFullPaths().filter(t=>{let n=i.default.basename(t),r=n===`meta.json`||n===`_meta.json`;return!(t.endsWith(`.md`)||t.endsWith(`.mdx`))&&!r?!1:!i.default.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`&&e!==`_meta.json`)}).crawl(e).withPromise(),a=r.filter(e=>{let t=i.default.basename(e);return t===`meta.json`||t===`_meta.json`}).sort((e,t)=>e.localeCompare(t)),o=r.filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)),s=[/index\./i,/intro/i,/getting-started/i,/readme/i],u=o.map(e=>{let t=s.findIndex(t=>t.test(i.default.basename(e)));return{file:e,score:t===-1?2**53-1:t}});u.sort((e,t)=>e.score-t.score||e.file.localeCompare(t.file));let d=u.map(({file:e})=>e),f=[...d,...a],p=new Set([i.default.resolve(e)]);for(let t of f){let n=i.default.dirname(t);for(;n.startsWith(i.default.resolve(e))&&(p.add(n),n!==i.default.resolve(e));)n=i.default.dirname(n)}let m=await Promise.all([...p].sort().map(async e=>{try{return[e,(await c.default.stat(e)).mtimeMs]}catch{return null}})),h={version:1,files:d,directoryMetaFiles:a,directories:Object.fromEntries(m.filter(e=>e!==null))};return await L(t,h),h}async function z(e,t,n){let r=Array(e.length),i=0;async function a(){for(;i<e.length;){let t=i++;r[t]=await n(e[t])}}return await Promise.all(Array.from({length:Math.min(t,e.length)},()=>a())),r}function B(e,t){w(e,t)}function V(e,t){let n=typeof t==`string`?y(t):t;if(n){let t=e.replace(/\\/g,`/`);(i.default.basename(t)===`meta.json`||i.default.basename(t)===`_meta.json`)&&w(e,n),n.cachedNativeDocs?.[t]&&delete n.cachedNativeDocs[t],T(e,n);return}T(e)}function H(e){if(e){C(e);return}C()}async function U(e,n,r,a=!1,o,s){let c=o??y(e);if(c.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let l=_(n,r);if(s&&s.fingerprint!==l)throw Error(`[boltdocs] Route cache variant does not match the requested route configuration fingerprint.`);if(s&&c.variants.get(l)!==s)throw Error(`[boltdocs] Route cache variant does not belong to the requested route cache context.`);let u=c.activeGenerations.get(l);if(u)return u;let d=s??h(c,l),f=c.generationEpoch,p=(async()=>{let o=r||n?.base||`/docs`;await d.docCache.load();let s,l=await R(e,d,a||t.o().noCache);s=l.files.filter(r=>n?.experimental?.fileRouting?!t.u(i.default.relative(e,r)).split(`/`).includes(`pages-external`):!0);let u=l.directoryMetaFiles;d.cachedFileList=s,d.cachedDirectoryMetaFiles=u,d.directoryMeta=await F(e,u,d),g(c,d),d.docCache.pruneStale(new Set(s));let p=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,m,h=!0;for(let e of s)if(!d.docCache.get(e)){h=!1;break}if(h)m=s.map(e=>{let t=d.docCache.get(e);if(!t)throw Error(`[boltdocs] Route cache entry disappeared for ${e}`);return t});else{if(!p&&!d.cachedNativeDocs)try{let{runParser:t}=await import(`@bdocs/parser`);d.cachedNativeDocs=await t(e,!0)}catch{}if(!p&&d.cachedNativeDocs!==null&&d.cachedNativeDocs){let{parseDocFileWithNative:t}=await Promise.resolve().then(()=>require(`./native-nLA4Jr0T.cjs`)),r=s.filter(e=>!d.cachedNativeDocs?.[e.replace(/\\/g,`/`)]);if(r.length>0)try{let{runParserFiles:t}=await import(`@bdocs/parser`),n=await t(e,r,!0);d.cachedNativeDocs={...d.cachedNativeDocs,...n}}catch{}let i=s.some(e=>!d.cachedNativeDocs?.[e.replace(/\\/g,`/`)])?(await Promise.resolve().then(()=>require(`./parser-vPaKvzLp.cjs`))).parseDocFile:void 0;m=await z(s,32,async r=>{let a=d.docCache.get(r);if(a)return a;let s=r.replace(/\\/g,`/`),c=d.cachedNativeDocs[s];if(c){let i=await t(r,c,e,o,n,d.parserCache);return d.docCache.set(r,i),i}else{if(!i)throw Error(`[boltdocs] Native parser did not return a document for ${r}`);let t=await i(r,e,o,n,d.parserCache);return d.docCache.set(r,t),t}})}else{let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-vPaKvzLp.cjs`));m=await z(s,32,async r=>{let i=d.docCache.get(r);if(i)return i;let a=await t(r,e,o,n,d.parserCache);return d.docCache.set(r,a),a})}}if(c.generationEpoch!==f)throw P;for(let e of m)M(e.route.componentPath,k(e.route.frontmatter||{}),c,d);d.docCache.save();let _=[],v=new Map,y=process.env.NODE_ENV||`development`,b=n?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(n?.drafts?.environments?.includes(y)??!1);for(let e of m)if(!(e.route.draft&&!b)){if(e.route.featureFlags&&n?.featureFlags){if(!e.route.featureFlags.every(e=>{let t=n.featureFlags?.[e];return t===!0||t===y}))continue}else if(e.route.featureFlags&&!n?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;v.has(t)||v.set(t,[]),v.get(t).push(e)}else _.push(e)}let x=new Map,S=[],C=n?.i18n?.defaultLocale||``;for(let e of _)if(e.isGroupIndex&&e.relativeDir&&S.push(e),e.relativeDir){let n=`${e.route.locale||C}:${e.relativeDir}`,r=x.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},x.set(n,r))}for(let e of S){let t=`${e.route.locale||C}:${e.relativeDir}`,n=x.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(n?.theme?.sidebarGroups){let e=n.i18n?Array.isArray(n.i18n.locales)?n.i18n.locales:Object.keys(n.i18n.locales):[C];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=x.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[C]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):x.set(e,{title:o||t.t(r),icon:i.icon})}}let w=Array(_.length);for(let e=0;e<_.length;e++){let n=_[e],r=n.relativeDir,i=n.route.locale||C,a=r?`${i}:${r}`:void 0,o=a?x.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[C]),w[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let T=[];for(let[,e]of v)for(let t of e)T.push({...t.route,collection:t.inferredCollection});T.sort((e,t)=>{let n=e=>{if(!e)return-1/0;let t=new Date(e).getTime();return Number.isFinite(t)?t:-1/0},r=n(e.date),i=n(t.date)-r;return i===0?e.path.localeCompare(t.path):i});let D=w;if(n?.i18n){let e=W(w,n,o,d.localizedPathCache);D=[...w,...e]}let O=[...E(D),...T];if(c.generationEpoch!==f)throw P;return O})();c.activeGenerations.set(l,p);try{return await p}catch(t){if(t!==P)throw t;if(c.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);d.docCache.invalidateAll(),d.parserCache.clear(),c.activeGenerations.get(l)===p&&c.activeGenerations.delete(l);let i=0;for(;i<10;)try{return await U(e,n,r,a,c)}catch(e){if(e!==P)throw e;if(c.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);i++}throw Error(`[boltdocs] Route generation was repeatedly invalidated by concurrent file changes.`)}finally{c.activeGenerations.get(l)===p&&c.activeGenerations.delete(l)}}function W(e,t,n,r){let i=t.i18n;if(!i)return[];let a=i.defaultLocale,o=Array.isArray(i.locales)?i.locales:Object.keys(i.locales),s=[],c=new Map,l=[];for(let t of e){let e=t.locale||a,n=c.get(e);n||(n=new Set,c.set(e,n)),n.add(t.path),e===a&&l.push(t)}for(let e of o){if(e===a)continue;let i=c.get(e)||new Set;for(let o of l){let c=G(o.path,a,e,n,t,r);c!==o.path&&(i.has(c)||s.push({...o,path:c,locale:e}))}}return s}function G(e,t,n,r,i,a){let o=`${e}:${n}`,s=a.get(o);if(s)return s;let c=r.startsWith(`/`)?r:`/`+r,l=c;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${c}/${t+n.path}`;if(e.startsWith(r)){l=r;break}let i=`${c}/${n.path}`;if(e.startsWith(i)){l=i;break}}}let u=e.substring(l.length),d=`/${t}`;if(u.startsWith(d+`/`))u=`/`+n+`/`+u.substring(d.length+1);else if(u===d)u=`/`+n;else if(u===`/`||u===``)u=`/`+n;else{let e=u.startsWith(`/`)?``:`/`;u=`/`+n+e+u}let f=l+u;return a.size>2e3&&a.clear(),a.set(o,f),f}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return x}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./pages-external-DPiPFxxP.cjs`),t=require(`./routes-C0kb4ue6.cjs`);exports.generateRoutes=t.t,exports.getExternalRoutePaths=e.n,exports.invalidateDirectoryMetaFile=t.n,exports.invalidateFile=t.r,exports.invalidateRouteCache=t.i;
6
+ const e=require(`./pages-external-DPiPFxxP.cjs`),t=require(`./routes-CzhKOw67.cjs`);exports.generateRoutes=t.t,exports.getExternalRoutePaths=e.n,exports.invalidateDirectoryMetaFile=t.n,exports.invalidateFile=t.r,exports.invalidateRouteCache=t.i;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ import{t as e}from"./chunk-BFSpntXv.mjs";import{d as t,o as n,t as r,u as i}from"./utils-8lzafE49.mjs";import{n as a}from"./pages-external-BBw8ObVK.mjs";import{FileCache as o}from"./node/cache.mjs";import{t as s}from"./cache-OY4HzIXl.mjs";import c from"node:path";import l from"node:fs";import u from"node:crypto";import{warn as d}from"@bdocs/dui";import f from"node:fs/promises";import{fdir as p}from"fdir";function m(e){return c.resolve(e)}function h(e,t){return u.createHash(`sha1`).update(`${m(e)}:${t}`).digest(`hex`).slice(0,16)}function g(e,t,r){let i=h(e,r),a=n();return{fingerprint:r,docCache:new o({name:`routes-${i}`,root:t}),parserCache:new s(t,i),cachedFileList:null,localizedPathCache:new Map,cachedNativeDocs:null,frontmatterHashes:new Map,directoryMeta:null,cachedDirectoryMetaFiles:null,directoryMetaEntries:new Map,discoverySnapshot:null,discoverySnapshotLoaded:!1,discoverySnapshotPath:c.resolve(t,a.dir,`route-discovery-${i}.json`)}}function _(e,t=c.dirname(c.resolve(e))){let n=m(e),r=c.resolve(t),i=g(n,r,`legacy`);return{docsDir:n,cacheRoot:r,docCache:i.docCache,parserCache:i.parserCache,cachedFileList:i.cachedFileList,localizedPathCache:i.localizedPathCache,cachedNativeDocs:i.cachedNativeDocs,frontmatterHashes:i.frontmatterHashes,directoryMeta:i.directoryMeta,cachedDirectoryMetaFiles:i.cachedDirectoryMetaFiles,variants:new Map([[`legacy`,i]]),activeVariant:i,activeGenerations:new Map,generationEpoch:0,disposed:!1}}const v=new Map;function y(e,t,n=!1){if(e.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let r=e.variants.get(t);if(!r&&(r=g(e.docsDir,e.cacheRoot,t),e.variants.set(t,r),e.variants.size>8)){for(let[n,r]of e.variants)if(!(n===t||r===e.activeVariant)&&!e.activeGenerations.has(n)){e.variants.delete(n);break}}return n&&(e.activeVariant=r,e.docCache=r.docCache,e.parserCache=r.parserCache,e.cachedFileList=r.cachedFileList,e.localizedPathCache=r.localizedPathCache,e.cachedNativeDocs=r.cachedNativeDocs,e.frontmatterHashes=r.frontmatterHashes,e.directoryMeta=r.directoryMeta,e.cachedDirectoryMetaFiles=r.cachedDirectoryMetaFiles),r}function b(e,t){e.activeVariant===t&&(e.cachedFileList=t.cachedFileList,e.cachedNativeDocs=t.cachedNativeDocs,e.frontmatterHashes=t.frontmatterHashes,e.directoryMeta=t.directoryMeta,e.cachedDirectoryMetaFiles=t.cachedDirectoryMetaFiles)}function x(e,t){return u.createHash(`sha1`).update(JSON.stringify({basePath:t||e?.base||`/docs`,i18n:e?.i18n,versions:e?.versions,drafts:e?.drafts,featureFlags:e?.featureFlags,fileRouting:e?.experimental?.fileRouting,sidebarGroups:e?.theme?.sidebarGroups})).digest(`hex`)}function S(e,t){let n=m(e),r=v.get(n),i=t??r;(!i||r===i)&&v.delete(n),i&&(i.disposed=!0,i.generationEpoch++,i.activeGenerations.clear(),i.variants.clear(),i.activeVariant=null,i.cachedFileList=null,i.localizedPathCache.clear(),i.cachedNativeDocs=null,i.frontmatterHashes.clear(),i.directoryMeta=null,i.cachedDirectoryMetaFiles=null)}function C(e){let t=m(e),n=v.get(t);return n||(n=_(t),v.set(t,n)),n}const w=_(c.resolve(process.cwd(),`docs`)),T=w.docCache;function E(e){try{l.rmSync(e.discoverySnapshotPath,{force:!0})}catch{}}function D(e){let t=typeof e==`string`?C(e):e??w;for(let e of t.variants.values())e.cachedFileList=null,e.localizedPathCache.clear(),e.cachedNativeDocs=null,e.frontmatterHashes.clear(),e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,E(e),e.docCache.invalidateAll(),e.parserCache.clear();t.cachedFileList=null,t.localizedPathCache.clear(),t.cachedNativeDocs=null,t.frontmatterHashes.clear(),t.directoryMeta=null,t.cachedDirectoryMetaFiles=null,t.generationEpoch++}function O(e,t){let n=typeof t==`string`?C(t):t??w,r=c.resolve(e);for(let e of n.variants.values()){for(let t of e.directoryMetaEntries.keys())c.resolve(t)===r&&e.directoryMetaEntries.delete(t);e.directoryMeta=null,e.cachedDirectoryMetaFiles=null,e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1,E(e)}n.directoryMeta=null,n.cachedDirectoryMetaFiles=null,n.generationEpoch++}function k(e,t){let n=typeof t==`string`?C(t):t??w;for(let t of n.variants.values())t.docCache.invalidate(e),t.parserCache.invalidate(e),t.cachedNativeDocs?.[e.replace(/\\/g,`/`)]&&delete t.cachedNativeDocs[e.replace(/\\/g,`/`)],t.frontmatterHashes.delete(e);n.cachedNativeDocs=n.activeVariant?.cachedNativeDocs??null,n.frontmatterHashes.delete(e),n.generationEpoch++}function A(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):j(e,t):n-r})}function j(e,t){if(e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0){let n=e.sidebarPosition-t.sidebarPosition;if(n!==0)return n}else if(e.sidebarPosition!==void 0)return-1;else if(t.sidebarPosition!==void 0)return 1;let n=e.title.localeCompare(t.title);return n===0?e.path.localeCompare(t.path):n}const M=new Map;function N(e){let{lastUpdated:t,...n}=e;return u.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function P(e){try{let{data:n}=await t(e);return N(n)}catch{return``}}function F(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??M,i=r.get(e);if(i===void 0){let a=(n?.docCache??t?.docCache??T).getStale(e);a?.route?.frontmatter&&(i=N(a.route.frontmatter),r.set(e,i))}return i}function I(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??M).set(e,t)}function L(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??M).delete(e)}var R=e({generateRoutes:()=>J,getExternalRoutePaths:()=>a,invalidateDirectoryMetaFile:()=>G,invalidateFile:()=>K,invalidateRouteCache:()=>q});const z=Symbol(`route-generation-invalidated`);async function B(e,t,n){let r=[...t].sort((e,t)=>{if(c.dirname(e)===c.dirname(t)){let n=c.basename(e),r=c.basename(t);if(n===`_meta.json`&&r===`meta.json`)return-1;if(n===`meta.json`&&r===`_meta.json`)return 1}return e.localeCompare(t)}),i=new Set(r),a=n.directoryMetaEntries;for(let e of a.keys())i.has(e)||a.delete(e);await Promise.all(r.map(async e=>{let t;try{t=await f.stat(e)}catch(t){a.delete(e),d(`Failed to stat meta.json: ${t instanceof Error?t.message:String(t)}`);return}let n=a.get(e);if(!(n&&n.mtimeMs===t.mtimeMs&&n.size===t.size))try{let n=await f.readFile(e,`utf8`);a.set(e,{mtimeMs:t.mtimeMs,size:t.size,content:JSON.parse(n)})}catch(t){a.delete(e),d(`Failed to read meta.json: ${t instanceof Error?t.message:String(t)}`)}}));let o={};for(let t of r){let n=a.get(t);if(!n)continue;let r=c.relative(e,c.dirname(t)).replace(/\\/g,`/`);o[r||`.`]=n.content}return o}async function V(e,t){if(!t.discoverySnapshotPath||n().noCache)return null;if(t.discoverySnapshotLoaded)return t.discoverySnapshot;t.discoverySnapshotLoaded=!0;try{let n=await f.readFile(t.discoverySnapshotPath,`utf8`),r=JSON.parse(n),i=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`),a=r.files,o=r.directoryMetaFiles,s=r.directories&&typeof r.directories==`object`?Object.entries(r.directories):[],l=c.resolve(e),u=await f.realpath(l),d=e=>{let t=c.resolve(e);return t===l||t.startsWith(`${l}${c.sep}`)},p=e=>/\.(?:md|mdx)$/i.test(e),m=e=>{let t=c.basename(e);return t===`meta.json`||t===`_meta.json`};if(r.version!==1||!i(a)||!i(o)||!r.directories||typeof r.directories!=`object`||Array.isArray(r.directories)||a.some(e=>!d(e)||!p(e))||o.some(e=>!d(e)||!m(e))||s.some(([e,t])=>!d(e)||typeof t!=`number`||!Number.isFinite(t)))return null;let h=e=>{let t=c.resolve(e);return t===u||t.startsWith(`${u}${c.sep}`)},g=await Promise.all([...a,...o].map(async e=>{try{return(await f.lstat(e)).isFile()?h(await f.realpath(e)):!1}catch{return!1}})),_=await Promise.all(s.map(async([e,t])=>{try{let n=await f.stat(e);return n.isDirectory()&&n.mtimeMs===t&&h(await f.realpath(e))}catch{return!1}}));if(g.every(Boolean)&&_.every(Boolean)){let e={version:1,files:a,directoryMetaFiles:o,directories:Object.fromEntries(s)};return t.discoverySnapshot=e,e}}catch{}return null}async function H(e,t){if(n().noCache){e.discoverySnapshot=null,e.discoverySnapshotLoaded=!1;return}e.discoverySnapshot=t,e.discoverySnapshotLoaded=!0;try{await f.mkdir(c.dirname(e.discoverySnapshotPath),{recursive:!0}),await f.writeFile(e.discoverySnapshotPath,JSON.stringify(t))}catch{}}async function U(e,t,n){if(!n){let n=await V(e,t);if(n)return n}let r=await new p({excludeSymlinks:!0}).withFullPaths().filter(t=>{let n=c.basename(t),r=n===`meta.json`||n===`_meta.json`;return!(t.endsWith(`.md`)||t.endsWith(`.mdx`))&&!r?!1:!c.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`&&e!==`_meta.json`)}).crawl(e).withPromise(),i=r.filter(e=>{let t=c.basename(e);return t===`meta.json`||t===`_meta.json`}).sort((e,t)=>e.localeCompare(t)),a=r.filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)),o=[/index\./i,/intro/i,/getting-started/i,/readme/i],s=a.map(e=>{let t=o.findIndex(t=>t.test(c.basename(e)));return{file:e,score:t===-1?2**53-1:t}});s.sort((e,t)=>e.score-t.score||e.file.localeCompare(t.file));let l=s.map(({file:e})=>e),u=[...l,...i],d=new Set([c.resolve(e)]);for(let t of u){let n=c.dirname(t);for(;n.startsWith(c.resolve(e))&&(d.add(n),n!==c.resolve(e));)n=c.dirname(n)}let m=await Promise.all([...d].sort().map(async e=>{try{return[e,(await f.stat(e)).mtimeMs]}catch{return null}})),h={version:1,files:l,directoryMetaFiles:i,directories:Object.fromEntries(m.filter(e=>e!==null))};return await H(t,h),h}async function W(e,t,n){let r=Array(e.length),i=0;async function a(){for(;i<e.length;){let t=i++;r[t]=await n(e[t])}}return await Promise.all(Array.from({length:Math.min(t,e.length)},()=>a())),r}function G(e,t){O(e,t)}function K(e,t){let n=typeof t==`string`?C(t):t;if(n){let t=e.replace(/\\/g,`/`);(c.basename(t)===`meta.json`||c.basename(t)===`_meta.json`)&&O(e,n),n.cachedNativeDocs?.[t]&&delete n.cachedNativeDocs[t],k(e,n);return}k(e)}function q(e){if(e){D(e);return}D()}async function J(e,t,a,o=!1,s,l){let u=s??C(e);if(u.disposed)throw Error(`[boltdocs] Route cache context has been disposed.`);let d=x(t,a);if(l&&l.fingerprint!==d)throw Error(`[boltdocs] Route cache variant does not match the requested route configuration fingerprint.`);if(l&&u.variants.get(d)!==l)throw Error(`[boltdocs] Route cache variant does not belong to the requested route cache context.`);let f=u.activeGenerations.get(d);if(f)return f;let p=l??y(u,d),m=u.generationEpoch,h=(async()=>{let s=a||t?.base||`/docs`;await p.docCache.load();let l,d=await U(e,p,o||n().noCache);l=d.files.filter(n=>t?.experimental?.fileRouting?!i(c.relative(e,n)).split(`/`).includes(`pages-external`):!0);let f=d.directoryMetaFiles;p.cachedFileList=l,p.cachedDirectoryMetaFiles=f,p.directoryMeta=await B(e,f,p),b(u,p),p.docCache.pruneStale(new Set(l));let h=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,g,_=!0;for(let e of l)if(!p.docCache.get(e)){_=!1;break}if(_)g=l.map(e=>{let t=p.docCache.get(e);if(!t)throw Error(`[boltdocs] Route cache entry disappeared for ${e}`);return t});else{if(!h&&!p.cachedNativeDocs)try{let{runParser:t}=await import(`@bdocs/parser`);p.cachedNativeDocs=await t(e,!0)}catch{}if(!h&&p.cachedNativeDocs!==null&&p.cachedNativeDocs){let{parseDocFileWithNative:n}=await import(`./native-BYKMke79.mjs`).then(e=>e.t),r=l.filter(e=>!p.cachedNativeDocs?.[e.replace(/\\/g,`/`)]);if(r.length>0)try{let{runParserFiles:t}=await import(`@bdocs/parser`),n=await t(e,r,!0);p.cachedNativeDocs={...p.cachedNativeDocs,...n}}catch{}let i=l.some(e=>!p.cachedNativeDocs?.[e.replace(/\\/g,`/`)])?(await import(`./parser-CD8Oo8qh.mjs`)).parseDocFile:void 0;g=await W(l,32,async r=>{let a=p.docCache.get(r);if(a)return a;let o=r.replace(/\\/g,`/`),c=p.cachedNativeDocs[o];if(c){let i=await n(r,c,e,s,t,p.parserCache);return p.docCache.set(r,i),i}else{if(!i)throw Error(`[boltdocs] Native parser did not return a document for ${r}`);let n=await i(r,e,s,t,p.parserCache);return p.docCache.set(r,n),n}})}else{let{parseDocFile:n}=await import(`./parser-CD8Oo8qh.mjs`);g=await W(l,32,async r=>{let i=p.docCache.get(r);if(i)return i;let a=await n(r,e,s,t,p.parserCache);return p.docCache.set(r,a),a})}}if(u.generationEpoch!==m)throw z;for(let e of g)I(e.route.componentPath,N(e.route.frontmatter||{}),u,p);p.docCache.save();let v=[],y=new Map,x=process.env.NODE_ENV||`development`,S=t?.drafts?.visible||process.env.BOLTDOCS_DRAFTS===`true`||(t?.drafts?.environments?.includes(x)??!1);for(let e of g)if(!(e.route.draft&&!S)){if(e.route.featureFlags&&t?.featureFlags){if(!e.route.featureFlags.every(e=>{let n=t.featureFlags?.[e];return n===!0||n===x}))continue}else if(e.route.featureFlags&&!t?.featureFlags)continue;if(e.inferredCollection){let t=e.inferredCollection;y.has(t)||y.set(t,[]),y.get(t).push(e)}else v.push(e)}let C=new Map,w=[],T=t?.i18n?.defaultLocale||``;for(let e of v)if(e.isGroupIndex&&e.relativeDir&&w.push(e),e.relativeDir){let t=`${e.route.locale||T}:${e.relativeDir}`,n=C.get(t);n?n.position===void 0&&e.inferredGroupPosition!==void 0&&(n.position=e.inferredGroupPosition):(n={title:r(e.relativeDir),position:e.inferredGroupPosition},C.set(t,n))}for(let e of w){let t=`${e.route.locale||T}:${e.relativeDir}`,n=C.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(t?.theme?.sidebarGroups){let e=t.i18n?Array.isArray(t.i18n.locales)?t.i18n.locales:Object.keys(t.i18n.locales):[T];for(let[n,i]of Object.entries(t.theme.sidebarGroups))for(let t of e){let e=`${t}:${n}`,a=C.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[t]||i.title[T]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):C.set(e,{title:o||r(n),icon:i.icon})}}let E=Array(v.length);for(let e=0;e<v.length;e++){let t=v[e],n=t.relativeDir,i=t.route.locale||T,a=n?`${i}:${n}`:void 0,o=a?C.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[T]),E[e]={...t.route,group:n,groupTitle:s||(n?r(n):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let D=[];for(let[,e]of y)for(let t of e)D.push({...t.route,collection:t.inferredCollection});D.sort((e,t)=>{let n=e=>{if(!e)return-1/0;let t=new Date(e).getTime();return Number.isFinite(t)?t:-1/0},r=n(e.date),i=n(t.date)-r;return i===0?e.path.localeCompare(t.path):i});let O=E;if(t?.i18n){let e=Y(E,t,s,p.localizedPathCache);O=[...E,...e]}let k=[...A(O),...D];if(u.generationEpoch!==m)throw z;return k})();u.activeGenerations.set(d,h);try{return await h}catch(n){if(n!==z)throw n;if(u.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);p.docCache.invalidateAll(),p.parserCache.clear(),u.activeGenerations.get(d)===h&&u.activeGenerations.delete(d);let r=0;for(;r<10;)try{return await J(e,t,a,o,u)}catch(e){if(e!==z)throw e;if(u.disposed)throw Error(`[boltdocs] Route cache context was disposed during generation.`);r++}throw Error(`[boltdocs] Route generation was repeatedly invalidated by concurrent file changes.`)}finally{u.activeGenerations.get(d)===h&&u.activeGenerations.delete(d)}}function Y(e,t,n,r){let i=t.i18n;if(!i)return[];let a=i.defaultLocale,o=Array.isArray(i.locales)?i.locales:Object.keys(i.locales),s=[],c=new Map,l=[];for(let t of e){let e=t.locale||a,n=c.get(e);n||(n=new Set,c.set(e,n)),n.add(t.path),e===a&&l.push(t)}for(let e of o){if(e===a)continue;let i=c.get(e)||new Set;for(let o of l){let c=X(o.path,a,e,n,t,r);c!==o.path&&(i.has(c)||s.push({...o,path:c,locale:e}))}}return s}function X(e,t,n,r,i,a){let o=`${e}:${n}`,s=a.get(o);if(s)return s;let c=r.startsWith(`/`)?r:`/`+r,l=c;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${c}/${t+n.path}`;if(e.startsWith(r)){l=r;break}let i=`${c}/${n.path}`;if(e.startsWith(i)){l=i;break}}}let u=e.substring(l.length),d=`/${t}`;if(u.startsWith(d+`/`))u=`/`+n+`/`+u.substring(d.length+1);else if(u===d)u=`/`+n;else if(u===`/`||u===``)u=`/`+n;else{let e=u.startsWith(`/`)?``:`/`;u=`/`+n+e+u}let f=l+u;return a.size>2e3&&a.clear(),a.set(o,f),f}export{P as a,I as c,C as d,y as f,R as i,S as l,O as m,K as n,F as o,x as p,q as r,L as s,J as t,T as u};