boltdocs 3.3.4 → 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-COgv-rkY.mjs → build-BJnL-FHG.mjs} +1 -1
  2. package/dist/{build-1CsvBIsN.cjs → build-CxT38vPv.cjs} +1 -1
  3. package/dist/client/index.cjs +80 -32
  4. package/dist/client/index.d.cts +1 -1
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.js +78 -31
  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-C_9iBwmu.cjs → dev-46NiL0MC.cjs} +1 -1
  17. package/dist/{dev-UWVM3ah-.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-Cg3TmXIZ.d.ts → index-B1Mx0dHl.d.ts} +30 -6
  26. package/dist/{index-CSiMUBhC.d.cts → index-DLaHgD-i.d.cts} +30 -6
  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-Cwma8oO7.cjs → package-Bah2tHjK.cjs} +1 -1
  46. package/dist/{package-CKC-4LtU.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-BxF88sW4.cjs → plugin-context-BZs5lvDu.cjs} +3 -3
  50. package/dist/{plugin-context-BKK-nfOd.mjs → plugin-context-b5qVVQSU.mjs} +2 -2
  51. package/dist/{plugin-lifecycle-BjMclfc3.cjs → plugin-lifecycle-s89gzTlh.cjs} +1 -1
  52. package/dist/{registry-BbB6NqSv.d.cts → registry-B8pt41zj.d.cts} +1 -1
  53. package/dist/{registry-sJqDv0kE.d.mts → 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-MmwxFMmE.js → search-dialog-DQwod5Xc.js} +1 -1
  60. package/dist/search-dialog-DzObE-Ar.js +717 -0
  61. package/dist/{search-dialog-DmirOMPg.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 +4 -3
  68. package/dist/config-CrsQJHQz.cjs +0 -7
  69. package/dist/config-DC0nMMk7.mjs +0 -7
  70. package/dist/node-C3HctGaH.cjs +0 -23
  71. package/dist/node-CUiheODn.mjs +0 -23
  72. package/dist/plugin-BX6TXR8x.cjs +0 -69
  73. package/dist/plugin-C8UMIA-4.mjs +0 -69
  74. package/dist/routes-C0kb4ue6.cjs +0 -6
  75. package/dist/routes-C4wrLWwu.mjs +0 -6
  76. package/dist/search-dialog-D3jtaw6w.cjs +0 -525
  77. package/dist/search-dialog-DRiXejws.js +0 -501
  78. package/dist/virtual-modules-XBiJoTsp.mjs +0 -39
  79. package/dist/virtual-modules-hndVivLR.cjs +0 -39
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{n as e}from"../../utils-8lzafE49.mjs";import{error as t}from"@bdocs/dui";import{normalizeCodeHighlightConfig as n,parseMetaString as r,parseMetaString as i}from"@bdocs/unist-utils";import{createOnigurumaEngine as a}from"@shikijs/engine-oniguruma";import{createHighlighterCore as o}from"shiki/core";import s from"@shikijs/themes/github-light";import c from"@shikijs/themes/github-dark";import l from"@shikijs/langs/html";import u from"@shikijs/langs/js";import d from"@shikijs/langs/ts";import f from"@shikijs/langs/tsx";import p from"@shikijs/langs/css";import m from"@shikijs/langs/bash";import h from"@shikijs/langs/json";import g from"@shikijs/langs/markdown";import _ from"@shikijs/langs/python";import v from"@shikijs/langs/go";const y=[s.default||s,c.default||c],b=[l,u,d,f,p,m,h,g,_,v],x={scss:()=>import(`@shikijs/langs/scss`),less:()=>import(`@shikijs/langs/less`),jsonc:()=>import(`@shikijs/langs/jsonc`),json5:()=>import(`@shikijs/langs/json5`),ini:()=>import(`@shikijs/langs/ini`),mdx:()=>import(`@shikijs/langs/mdx`),yaml:()=>import(`@shikijs/langs/yaml`),rust:()=>import(`@shikijs/langs/rust`),toml:()=>import(`@shikijs/langs/toml`),csv:()=>import(`@shikijs/langs/csv`),nginx:()=>import(`@shikijs/langs/nginx`),apache:()=>import(`@shikijs/langs/apache`),dockerfile:()=>import(`@shikijs/langs/dockerfile`),docker:()=>import(`@shikijs/langs/docker`),java:()=>import(`@shikijs/langs/java`),php:()=>import(`@shikijs/langs/php`),sql:()=>import(`@shikijs/langs/sql`),graphql:()=>import(`@shikijs/langs/graphql`),http:()=>import(`@shikijs/langs/http`),xml:()=>import(`@shikijs/langs/xml`),vue:()=>import(`@shikijs/langs/vue`),svelte:()=>import(`@shikijs/langs/svelte`),ruby:()=>import(`@shikijs/langs/ruby`),kotlin:()=>import(`@shikijs/langs/kotlin`),swift:()=>import(`@shikijs/langs/swift`),powershell:()=>import(`@shikijs/langs/powershell`),c:()=>import(`@shikijs/langs/c`),cpp:()=>import(`@shikijs/langs/cpp`),elixir:()=>import(`@shikijs/langs/elixir`)},S={javascript:`js`,typescript:`ts`,shell:`bash`,sh:`bash`,zsh:`bash`,console:`bash`,terminal:`bash`,shellsession:`bash`,yml:`yaml`,py:`python`,golang:`go`,rs:`rust`,rb:`ruby`,kt:`kotlin`},C=new Set([`text`,`plaintext`,`txt`,`plain`,`ansi`,`none`]);function w(e){if(!e)return null;let t=e.trim().toLowerCase();return!t||C.has(t)?null:S[t]??t}const T=new Map;async function E(){return a(await import(`shiki/wasm`))}async function D(){let{createJavaScriptRegexEngine:e}=await import(`shiki/engine/javascript`);return e({forgiving:!0})}async function O(e){return e===`javascript`?D():E()}const k=async e=>{let t=e?.regexEngine===`oniguruma`?`oniguruma`:`javascript`,n=T.get(t);if(n)return n;let r=(async()=>{let e=performance.now(),n=await o({themes:y,langs:b,engine:await O(t)});return process.env.BOLTDOCS_DEBUG===`true`&&console.log(`[boltdocs] shiki-ready in ${Math.round(performance.now()-e)}ms (${t}, ${b.length} langs)`),n})();return T.set(t,r),r},A=new Map;async function j(e,t=`oniguruma`){let n=w(e);if(!n)return!0;let r;try{r=await k({regexEngine:t})}catch{return!1}let i=[];try{i=r.getLoadedLanguages()}catch{i=[]}if(i.includes(n))return!0;let a=A.get(n);if(a)return a;let o=x[n];if(!o)return!1;let s=(async()=>{try{let e=await o(),t=e?.default??e;return await r.loadLanguage(t),!0}catch{return!1}finally{A.delete(n)}})();return A.set(n,s),s}const M={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},N={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},P={LIGHT:`github-light`,DARK:`github-dark`},F={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},I=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,N.LINE_NUMBERS)}}},L=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,N.WORD_WRAP)}}},R=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[M.TITLE]=t)}}),z=()=>({name:`AddLanguageProperty`,pre(e){e.properties[M.LANG]=this.options.lang||F.LANG}});var B=class{name=`shiki`;version=`3.23.0`;theme;regexEngine;constructor(e){let t=n(e?.theme?.codeHighlighting);this.theme=t?.theme??e?.theme?.codeTheme??{light:P.LIGHT,dark:P.DARK},this.regexEngine=String(t?.options?.regexEngine)===`oniguruma`?`oniguruma`:`javascript`}getTheme(){return this.theme}async getHighlighter(){return await k({regexEngine:this.regexEngine})}async initialize(){let e=await this.getHighlighter();return{codeToHast:(t,n)=>e.codeToHast(t,n),codeToHtml:async(t,n)=>e.codeToHtml(t,n)}}async ensureLanguage(e){return j(e,this.regexEngine)}getOptions(e,t){let n={},r=``;if(typeof t==`string`)r=t,n=i(t);else if(t&&typeof t==`object`){let e=t;n={...e},r=String(e.__raw??``)}let a={__raw:r};for(let[e,t]of Object.entries(n))e!==`__raw`&&Object.defineProperty(a,e,{value:t,enumerable:!1,configurable:!0,writable:!0});return{lang:e||F.LANG,meta:a,transformers:[I(),L(),R(),z()],...typeof this.theme==`string`?{theme:this.theme}:{themes:{light:this.theme.light,dark:this.theme.dark}}}}async render(n,r,i){try{let e=this.getOptions(r,i);return await(await this.initialize()).codeToHtml(n,e)}catch(r){return t(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${N.FALLBACK}"><code>${e(n)}</code></pre>`}}prewarm(e){k({regexEngine:this.regexEngine}).catch(()=>{})}};let V=null,H;function U(e){let t=n(e?.theme?.codeHighlighting),r=t?.theme??e?.theme?.codeTheme,i=JSON.stringify({theme:r,regexEngine:t?.options?.regexEngine??`oniguruma`});return(V===null||H!==i)&&(V=new B(e),H=i),V}function W(e){U(e).prewarm()}export{B as ShikiAdapter,j as ensureLanguage,U as getShikiAdapter,r as parseMetaString,W as prewarmShiki};
6
+ import{n as e}from"../../utils-8lzafE49.mjs";import{error as t}from"@bdocs/dui";import{normalizeCodeHighlightConfig as n,parseMetaString as r,parseMetaString as i}from"@bdocs/unist-utils";import{createOnigurumaEngine as a}from"@shikijs/engine-oniguruma";import{createHighlighterCore as o}from"shiki/core";import s from"@shikijs/themes/github-light";import c from"@shikijs/themes/github-dark";import l from"@shikijs/langs/html";import u from"@shikijs/langs/js";import d from"@shikijs/langs/ts";import f from"@shikijs/langs/tsx";import p from"@shikijs/langs/css";import m from"@shikijs/langs/bash";import h from"@shikijs/langs/json";import g from"@shikijs/langs/markdown";import _ from"@shikijs/langs/python";import v from"@shikijs/langs/go";const y=[s.default||s,c.default||c],b=[l,u,d,f,p,m,h,g,_,v],x={scss:()=>import(`@shikijs/langs/scss`),less:()=>import(`@shikijs/langs/less`),jsonc:()=>import(`@shikijs/langs/jsonc`),json5:()=>import(`@shikijs/langs/json5`),ini:()=>import(`@shikijs/langs/ini`),mdx:()=>import(`@shikijs/langs/mdx`),yaml:()=>import(`@shikijs/langs/yaml`),rust:()=>import(`@shikijs/langs/rust`),toml:()=>import(`@shikijs/langs/toml`),csv:()=>import(`@shikijs/langs/csv`),nginx:()=>import(`@shikijs/langs/nginx`),apache:()=>import(`@shikijs/langs/apache`),dockerfile:()=>import(`@shikijs/langs/dockerfile`),docker:()=>import(`@shikijs/langs/docker`),java:()=>import(`@shikijs/langs/java`),php:()=>import(`@shikijs/langs/php`),sql:()=>import(`@shikijs/langs/sql`),graphql:()=>import(`@shikijs/langs/graphql`),http:()=>import(`@shikijs/langs/http`),xml:()=>import(`@shikijs/langs/xml`),vue:()=>import(`@shikijs/langs/vue`),svelte:()=>import(`@shikijs/langs/svelte`),ruby:()=>import(`@shikijs/langs/ruby`),kotlin:()=>import(`@shikijs/langs/kotlin`),swift:()=>import(`@shikijs/langs/swift`),powershell:()=>import(`@shikijs/langs/powershell`),c:()=>import(`@shikijs/langs/c`),cpp:()=>import(`@shikijs/langs/cpp`),elixir:()=>import(`@shikijs/langs/elixir`)},S={javascript:`js`,typescript:`ts`,shell:`bash`,sh:`bash`,zsh:`bash`,console:`bash`,terminal:`bash`,shellsession:`bash`,yml:`yaml`,py:`python`,golang:`go`,rs:`rust`,rb:`ruby`,kt:`kotlin`},C=new Set([`text`,`plaintext`,`txt`,`plain`,`ansi`,`none`]);function w(e){if(!e)return null;let t=e.trim().toLowerCase();return!t||C.has(t)?null:S[t]??t}const T=new Map;async function E(){return a(await import(`shiki/wasm`))}async function D(){let{createJavaScriptRegexEngine:e}=await import(`shiki/engine/javascript`);return e({forgiving:!0})}async function O(e){return e===`javascript`?D():E()}const k=async e=>{let t=e?.regexEngine===`oniguruma`?`oniguruma`:`javascript`,n=T.get(t);if(n)return n;let r=(async()=>{let e=performance.now(),n=await o({themes:y,langs:b,engine:await O(t)});return process.env.BOLTDOCS_DEBUG===`true`&&console.log(`[boltdocs] shiki-ready in ${Math.round(performance.now()-e)}ms (${t}, ${b.length} langs)`),n})();return T.set(t,r),r},A=new Map;async function j(e,t=`oniguruma`){let n=w(e);if(!n)return!0;let r;try{r=await k({regexEngine:t})}catch{return!1}let i=[];try{i=r.getLoadedLanguages()}catch{i=[]}if(i.includes(n))return!0;let a=A.get(n);if(a)return a;let o=x[n];if(!o)return!1;let s=(async()=>{try{let e=await o(),t=e?.default??e;return await r.loadLanguage(t),!0}catch{return!1}finally{A.delete(n)}})();return A.set(n,s),s}const M={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},N={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},P={LIGHT:`github-light`,DARK:`github-dark`},F={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},I=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,N.LINE_NUMBERS)}}},L=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,N.WORD_WRAP)}}},R=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[M.TITLE]=t)}}),z=()=>({name:`AddLanguageProperty`,pre(e){e.properties[M.LANG]=this.options.lang||F.LANG}});var B=class{name=`shiki`;version=`3.23.0`;theme;regexEngine;colorReplacements=null;constructor(e){let t=n(e?.theme?.codeHighlighting);this.theme=t?.theme??e?.theme?.codeTheme??{light:P.LIGHT,dark:P.DARK},this.regexEngine=String(t?.options?.regexEngine)===`oniguruma`?`oniguruma`:`javascript`;let r=t?.options?.colorReplacements;if(r&&typeof r==`object`&&!Array.isArray(r)){let e=e=>{let t=e.trim();return/^#[0-9a-fA-F]{3,8}$/.test(t)?t.toLowerCase():t};this.colorReplacements=Object.fromEntries(Object.entries(r).map(([t,n])=>[e(t),e(String(n))]))}}getTheme(){return this.theme}async getHighlighter(){return await k({regexEngine:this.regexEngine})}async initialize(){let e=await this.getHighlighter();return{codeToHast:(t,n)=>e.codeToHast(t,n),codeToHtml:async(t,n)=>e.codeToHtml(t,n)}}async ensureLanguage(e){return j(e,this.regexEngine)}getOptions(e,t){let n={},r=``;if(typeof t==`string`)r=t,n=i(t);else if(t&&typeof t==`object`){let e=t;n={...e},r=String(e.__raw??``)}let a={__raw:r};for(let[e,t]of Object.entries(n))e!==`__raw`&&Object.defineProperty(a,e,{value:t,enumerable:!1,configurable:!0,writable:!0});return{lang:e||F.LANG,meta:a,transformers:[I(),L(),R(),z()],...this.colorReplacements?{colorReplacements:this.colorReplacements}:{},...typeof this.theme==`string`?{theme:this.theme}:{themes:{light:this.theme.light,dark:this.theme.dark}}}}async render(n,r,i){try{let e=this.getOptions(r,i);return await(await this.initialize()).codeToHtml(n,e)}catch(r){return t(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${N.FALLBACK}"><code>${e(n)}</code></pre>`}}prewarm(e){k({regexEngine:this.regexEngine}).catch(()=>{})}};let V=null,H;function U(e){let t=n(e?.theme?.codeHighlighting),r=t?.theme??e?.theme?.codeTheme,i=JSON.stringify({theme:r,regexEngine:t?.options?.regexEngine??`oniguruma`,colorReplacements:t?.options?.colorReplacements??null});return(V===null||H!==i)&&(V=new B(e),H=i),V}function W(e){U(e).prewarm()}export{B as ShikiAdapter,j as ensureLanguage,U as getShikiAdapter,r as parseMetaString,W as prewarmShiki};
@@ -0,0 +1,23 @@
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(`./pages-external-DPiPFxxP.cjs`),r=require(`./plugin-context-BZs5lvDu.cjs`),i=require(`./node/cache.cjs`),a=require(`./routes-CzhKOw67.cjs`),o=require(`./config-BJp3lGzE.cjs`),s=require(`./registry-DLJIooEu.cjs`),c=require(`./types-generator-C83Iy6X5.cjs`),l=require(`./resolve-C9jGArE_.cjs`),u=require(`./handler-Ch-Q9NAB.cjs`),d=require(`./adapters-DwDTQoCG.cjs`);let f=require(`node:path`);f=e.r(f);let p=require(`node:fs`);p=e.r(p);let m=require(`node:crypto`);m=e.r(m);let h=require(`zod`),g=require(`@bdocs/dui`);g=e.r(g);let _=require(`semver`);_=e.r(_);let v=require(`@bdocs/ssg/node`),y=require(`@bdocs/unist-utils`);function b(){return{name:`boltdocs-ssr-dirname-polyfill`,config:(e,{isSsrBuild:t})=>t?{define:{__dirname:`import.meta.dirname`}}:{}}}const x=new Set([`boltdocs/entry`,`boltdocs/client`,`boltdocs/primitives`,`boltdocs/mdx`,`boltdocs/client/router`,`use-sync-external-store/shim/index.js`,`use-sync-external-store/shim`,`use-sync-external-store`]);function S(e){return e?Array.isArray(e)?[...e]:Object.entries(e).map(([e,t])=>({find:e,replacement:t})):[]}function C(e,t){typeof t.find==`string`&&x.has(t.find)&&e.some(e=>e.find===t.find)||e.push({...t,...typeof t.replacement==`string`?{replacement:t.replacement}:{}})}function w({root:e,clientSourceRoot:t,aliases:n}){let r=[{find:`boltdocs/entry`,replacement:f.default.resolve(e,`boltdocs-entry.tsx`)},{find:`boltdocs/client`,replacement:f.default.resolve(e,`boltdocs-client.mjs`)},...t?[{find:`boltdocs/primitives`,replacement:f.default.join(t,`primitives.ts`)},{find:`boltdocs/mdx`,replacement:f.default.join(t,`mdx.ts`)},{find:`boltdocs/client/router`,replacement:f.default.join(t,`router/index.ts`)}]:[],{find:`use-sync-external-store/shim/index.js`,replacement:`react`},{find:`use-sync-external-store/shim`,replacement:`react`},{find:`use-sync-external-store`,replacement:`react`}].map(e=>({...e,replacement:e.replacement}));for(let t of S(n))C(r,{...t,replacement:typeof t.replacement==`string`&&t.replacement.startsWith(`.`)?f.default.resolve(e,t.replacement):t.replacement});return r}function T(e){return e}function E(e){let t=[];if(e.website&&t.push(D(e.website)),e.article&&t.push(k(e.article)),e.breadcrumbs?.length&&t.push(A(e.breadcrumbs)),e.additional&&t.push(...Array.isArray(e.additional)?e.additional:[e.additional]),t.length===0)throw Error(`createStructuredData() requires at least one of website, article, breadcrumbs, or additional`);return t.length===1?t[0]:t}function D(e){let t={"@context":`https://schema.org`,"@type":`WebSite`,name:e.name,url:e.url};return e.description&&(t.description=e.description),e.searchUrl&&(t.potentialAction={"@type":`SearchAction`,target:`${e.searchUrl}{search_term_string}`,"query-input":`required name=search_term_string`}),t}function O(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))throw TypeError(`Invalid ${t} value: ${String(e)}`);return n.toISOString()}function k(e){let t={"@context":`https://schema.org`,"@type":`Article`,headline:e.headline,url:e.url};return e.description&&(t.description=e.description),e.datePublished&&(t.datePublished=O(e.datePublished,`datePublished`)),e.dateModified&&(t.dateModified=O(e.dateModified,`dateModified`)),e.image&&(t.image=e.image),e.author&&(t.author=typeof e.author==`string`?{"@type":`Person`,name:e.author}:{"@type":`Person`,...e.author}),t}function A(e){return{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:e.map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.name,item:e.url}))}}var j=class extends Error{name=this.constructor.name;constructor(e,t,n){super(`[plugin:${e}] ${t}`,n),this.pluginName=e}},M=class extends j{constructor(e,t){super(e,`Validation failed: ${t}`)}},N=class extends j{constructor(e,t){super(e,`Compatibility error: ${t}`)}},P=class extends j{constructor(e,t,n){super(e,`Error in hook '${t}': ${n.message}`,{cause:n}),this.hookName=t}},F=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let n=this.getNamespaceKey(e,t),r=this.data.get(n);if(r!==void 0)return typeof r==`object`&&r?JSON.parse(JSON.stringify(r)):r}set(e,t,n){let r=this.getNamespaceKey(e,t),i=typeof n==`object`&&n?JSON.parse(JSON.stringify(n)):n;this.data.set(r,i)}has(e,t){let n=this.getNamespaceKey(e,t);return this.data.has(n)}};const I=o.n.extend({version:h.z.string().optional(),boltdocsVersion:h.z.string().optional(),css:h.z.object({cssFiles:h.z.array(h.z.string()).optional(),headStyles:h.z.array(h.z.string()).optional(),postcssPlugins:h.z.array(h.z.any()).optional(),preprocessorOptions:h.z.record(h.z.string(),h.z.any()).optional()}).optional(),hooks:h.z.object({beforeBuild:h.z.custom(e=>typeof e==`function`).optional(),afterBuild:h.z.custom(e=>typeof e==`function`).optional(),beforeDev:h.z.custom(e=>typeof e==`function`).optional(),afterDev:h.z.custom(e=>typeof e==`function`).optional(),buildEnd:h.z.custom(e=>typeof e==`function`).optional(),transformSource:h.z.custom(e=>typeof e==`function`).optional(),transformMdx:h.z.custom(e=>typeof e==`function`).optional(),transformHtml:h.z.custom(e=>typeof e==`function`).optional()}).passthrough().optional()});function L(e,t){let n=[],r=new Set;for(let i of e){let e=I.safeParse(i);if(!e.success)throw new M(i.name||`unknown`,e.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `));let a=e.data;if(r.has(a.name))throw new M(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!_.default.satisfies(t,a.boltdocsVersion))throw new N(a.name,`Plugin expects Boltdocs version ${a.boltdocsVersion}, but current is ${t}`);if(a.components)for(let[e,t]of Object.entries(a.components)){if(t.includes(`..`))throw new M(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`);if(f.default.isAbsolute(t))throw new M(a.name,`Component '${e}' has an invalid path: absolute paths are not allowed.`)}a.codeHighlighter&&s.l(a.name,a.codeHighlighter),n.push(a)}return n}const R=new Map;function z(e,t=process.cwd()){let n=e.plugins||[];for(let e of n)if(e.name&&!R.has(e.name))try{let n=l.t(e.name,t)?.pkg,r=n&&typeof n.scripts==`object`?n.scripts:{},i=!!(r.preinstall||r.postinstall||r.install);i&&(0,g.warn)(`💡 ${g.colors.yellow(g.colors.bold(`Nota de seguridad:`))} El plugin ${g.colors.cyan(e.name)} ejecuta scripts nativos al instalarse. Corre ${g.colors.bold(`boltdocs audit`)} para un análisis detallado.`),R.set(e.name,i)}catch{R.set(e.name,!1)}}var B=class{name=`ConfigResolve`;async execute(e){e.config=await o.t(`docs`,e.root,`build`,`production`),e.allCached||z(e.config,e.root);let t=f.default.resolve(e.root,e.config.docsDir||`docs`);e.docsDir=t;let r=await a.t(t,e.config,void 0,!1);e.routes=r;let i=r.map(e=>e.path),s=(e.config.base||`/docs`).replace(/\/$/,``);i.includes(s)||i.push(s);let c=n.n(t,e.config);for(let e of c)i.includes(e)||i.push(e);e.routePaths=i,e.viteConfig=await $(e.root,`production`,e.config,{routes:r,skipTypes:!0,skipLinkTree:!0})}},ee=class{name=`RouteGenerate`;async execute(e){if(!e.routes)throw Error(`Routes not generated by ConfigResolveStep. Verify pipeline order.`)}};const te=h.z.object({title:h.z.string().optional(),description:h.z.string().optional(),canonical:h.z.string().url().optional(),robots:h.z.string().optional(),noindex:h.z.boolean().optional(),"og:title":h.z.string().optional(),"og:description":h.z.string().optional(),"og:image":h.z.string().optional(),"og:type":h.z.string().optional(),"og:url":h.z.string().url().optional()});var ne=class{name=`SEOValidate`;async execute(e){if(!e.routes||!e.config)throw Error(`Routes or Config not initialized.`);let t=e.config?.siteUrl,n=e.routes,r=e=>typeof e==`string`?e:void 0;for(let i of n){let n=i.seo??{},a=r(n.canonical)||(t?`${t.replace(/\/$/,``)}${i.path}`:void 0),o=r(n[`og:url`])||a||void 0,s=r(e.config?.seo?.thumbnails?.background),c=r(n[`og:image`])||i.coverImage||s;c&&t&&!/^https?:\/\/|^\/\//.test(c)&&(c=`${t.endsWith(`/`)?t.slice(0,-1):t}${c.startsWith(`/`)?c:`/${c}`}`);let l={...n};a&&(l.canonical=a),o&&(l[`og:url`]=o),c&&(l[`og:image`]=c),!l[`og:title`]&&i.title&&(l[`og:title`]=String(i.title)),!l[`og:description`]&&i.description&&(l[`og:description`]=String(i.description));let u=te.safeParse(l);u.success||(0,g.warn)(`[SEOValidate] Validation issues on route "${i.path}": ${u.error.message}`),i.title||(0,g.warn)(`[SEOValidate] Route "${i.path}" is missing a title.`),i.seo=l}e.ssgRoutes=n}},re=class{name=`TypeGenerate`;async execute(e){if(!e.config||!e.docsDir||!e.routePaths)throw Error(`Config, docs directory, or route paths not initialized. Verify pipeline order.`);c.t(e.config,`docs`,e.root,e.routePaths),c.r(e.routePaths,e.root),e.typesGenerated=!0}},ie=class{name=`SSGBuild`;async execute(e){if(!e.routes||!e.viteConfig)throw Error(`Routes or ViteConfig not initialized.`);let t={};for(let n of e.routes)if(n.path&&n.componentPath){t[n.path]=n.componentPath;let e=n.path.replace(/\/$/,``);t[e]=n.componentPath}let n=[];await(0,v.build)({entry:`boltdocs/entry`,routeToSourceFileMap:t,cacheDir:f.default.resolve(e.root,`.boltdocs/build`),onStep:e=>{n.push(e)}},e.viteConfig),e.ssgSubSteps=n,e.outDir=e.viteConfig.build?.outDir||`dist`}};function ae(e,n){let r=(n.siteUrl||``).replace(/\/$/,``);if(!r)return``;let i=n.seo?.indexing!==`all`&&n.seo?.indexing!==`public`;return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
8
+ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(i&&e.seo?.index,!0)).map(e=>`${r}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`).sort((e,t)=>e<t?-1:e>t?1:0).map(e=>` <url>
9
+ <loc>${t.r(e)}</loc>
10
+ <changefreq>weekly</changefreq>
11
+ <priority>0.7</priority>
12
+ </url>`).join(`
13
+ `)}
14
+ </urlset>`}function oe(e){let t=e.siteUrl||``,n=t?`${t.replace(/\/$/,``)}/sitemap.xml`:``;if(e.seo?.indexing!==`all`&&e.seo?.indexing!==`public`&&e.seo?.indexing)return[`User-agent: *`,`Disallow: /`].filter(Boolean).join(`
15
+ `);if(typeof e.robots==`string`)return e.robots;if(e.robots&&typeof e.robots==`object`){let t=e.robots.rules||[],r=e.robots.sitemaps||[],i=t.map(e=>{let t=`User-agent: ${e.userAgent}\n`;return e.allow&&(Array.isArray(e.allow)?t+=e.allow.map(e=>`Allow: ${e}`).join(`
16
+ `)+`
17
+ `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
18
+ `)+`
19
+ `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
20
+
21
+ `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
+ `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
+ `)}var se=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=ae(e.ssgRoutes,e.config),n=e.docsDir||f.default.resolve(e.root,`docs`),r=f.default.resolve(e.root,e.outDir);t&&p.default.writeFileSync(f.default.join(r,`sitemap.xml`),t,`utf-8`);let i=oe(e.config);if(p.default.writeFileSync(f.default.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>require(`./plugin-lifecycle-s89gzTlh.cjs`));await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function ce(){return new V().addStep(new B).addStep(new ee).addParallelSteps([new ne,new re]).addStep(new ie).addStep(new se)}var V=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}r.ssgSubSteps&&(t.push(...r.ssgSubSteps),delete r.ssgSubSteps)}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}};const H={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function U(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=H[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var W=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,i,o,s,c,l,u){this.plugins=e,this.config=t,this.store=new F,this.docsDir=n||process.cwd(),this.rootDir=i||process.cwd(),this.routes=o||[],this.outDir=s||`dist`,this.runtime=c??r.u(),this.routeCacheContext=l??a.d(this.docsDir),this.routeCacheVariant=u??a.f(this.routeCacheContext,a.p(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new V;for(let i of n)U(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=U(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new P(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>U(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=U(e,t);i&&await i(r,...n)}catch(n){let i=new P(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=U(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e.name,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>g.info(`${t} ${e}`),warn:e=>g.warn(`${t} ${e}`),error:e=>{g.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>g.debug(`${t} ${e}`)}}};function G(e){return t=>typeof e==`function`?e(t):e}function K(e){return typeof e==`function`?G(e):e}var le=e.t({BUILTIN_HIGHLIGHTERS:()=>s.t,BoltdocsPluginStore:()=>F,DEFAULT_HIGHLIGHTER:()=>s.n,PluginCompatibilityError:()=>N,PluginError:()=>j,PluginHookError:()=>P,PluginLifecycleManager:()=>W,PluginValidationError:()=>M,createArticleStructuredData:()=>k,createBreadcrumbStructuredData:()=>A,createPlugin:()=>K,createStructuredData:()=>E,createViteConfig:()=>$,createWebSiteStructuredData:()=>D,default:()=>Q,defineConfig:()=>o.r,definePlugin:()=>G,defineStructuredData:()=>T,flushCache:()=>i.flushCache,generateEntryCode:()=>r.g,generateRoutes:()=>a.t,getCodeHighlighterAdapter:()=>s.r,getHighlighterNames:()=>s.i,handleAwsFeedback:()=>d.t,handleFeedback:()=>u.t,handleNetlifyFeedback:()=>d.r,handleVercelFeedback:()=>d.i,handleWebFeedback:()=>d.n,invalidateRouteCache:()=>a.i,isHighlighterRegistered:()=>s.a,normalizeCodeHighlightConfig:()=>y.normalizeCodeHighlightConfig,normalizePath:()=>t.u,prewarmCodeHighlighting:()=>s.o,prewarmHighlighter:()=>s.s,registerHighlighter:()=>s.c,registerPluginHighlighter:()=>s.l,resolveConfig:()=>o.t,resolvePluginHook:()=>U,sanitizeFilename:()=>t.f,shouldEnableBundledDev:()=>X,shouldUseReactPlugin:()=>Z,validatePlugins:()=>L});const q=new Map;function ue(){let e=__dirname;for(;e&&e!==f.default.parse(e).root;){let t=f.default.join(e,`package.json`);if(p.default.existsSync(t)){let n=``;try{n=JSON.parse(p.default.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=f.default.join(e,`src/client`);return p.default.existsSync(t)?t:void 0}}e=f.default.dirname(e)}}const de=ue();function J(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return f.default.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return f.default.resolve(e,r);let i=f.default.resolve(e,`public`),a=f.default.resolve(e,t?.docsDir||`docs`,`public`);return p.default.existsSync(i)||!p.default.existsSync(a)?i:a}function Y(e,t,n,r){return`${e}::${t}::${m.default.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:J(e,r,n.publicDir)})).digest(`hex`)}`}function X(e,t=process.env.BOLTDOCS_BUNDLED_DEV){return!e&&t===`true`}function Z(e,t,n=process.env.BOLTDOCS_REACT_REFRESH){return e||n===`true`?!0:t===`/`||t===``}async function Q(e){let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-BC_qhXws.cjs`)),{generateRoutes:n,getExternalRoutePaths:r}=await Promise.resolve().then(()=>require(`./routes-Dq_2EUIB.cjs`)),{generateProjectTypes:i,writeLinkTree:a}=await Promise.resolve().then(()=>require(`./types-generator-C83Iy6X5.cjs`)).then(e=>e.n),{boltdocsPlugin:o}=await Promise.resolve().then(()=>require(`./plugin-AgNI3ktz.cjs`)),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function $(e,t=`development`,n,r={}){let i=Y(e,t,r,n),a=q.get(i);if(a)return a.config;let o=null;function s(){return o||(o=Promise.all([import(`@vitejs/plugin-react`),Promise.resolve().then(()=>require(`./plugin-AgNI3ktz.cjs`)),Promise.resolve().then(()=>require(`./resolve-BelytNYR.cjs`)),import(`vite`)]).then(([e,t,n,r])=>({reactPlugin:e.default,boltdocsPlugin:t.boltdocsPlugin,getExternalAbsolutePaths:t.getExternalAbsolutePaths,resolveSecurityHeaders:n.resolveSecurityHeaders,normalizePath:r.normalizePath})),o)}let c=s(),l=n||await(async()=>{let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-BC_qhXws.cjs`));return t(`docs`,e)})(),u=f.default.resolve(e,l.docsDir||`docs`),d=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await Promise.resolve().then(()=>require(`./routes-Dq_2EUIB.cjs`));return e(u,l,void 0,!1)})()),p=t===`production`,m=c.then(({resolveSecurityHeaders:e})=>e(l,p)),h=!r.skipTypes,g=!r.skipLinkTree;if(h||g){let[{getExternalRoutePaths:t},{generateProjectTypes:n,writeLinkTree:r}]=await Promise.all([Promise.resolve().then(()=>require(`./routes-Dq_2EUIB.cjs`)),Promise.resolve().then(()=>require(`./types-generator-C83Iy6X5.cjs`)).then(e=>e.n)]),i=d.map(e=>e.path),a=(l.base||`/docs`).replace(/\/$/,``);i.includes(a)||i.push(a);let o=t(u,l);for(let e of o)i.includes(e)||i.push(e);h&&n(l,u,e,i),g&&r(i)}let _=await m,{reactPlugin:v,boltdocsPlugin:y,getExternalAbsolutePaths:x,normalizePath:C}=await c,T=[],E={};if(l.plugins)for(let e of l.plugins)e.css?.postcssPlugins&&T.push(...e.css.postcssPlugins.filter(e=>typeof e==`function`||typeof e==`object`&&!!e)),e.css?.preprocessorOptions&&Object.assign(E,e.css.preprocessorOptions);let D=l.vite??{},O=D.server??{},k=D.preview??{},A=D.ssr??{},j=D.optimizeDeps??{},M=j.entries??[`index.html`],N=Array.isArray(A.external)?A.external:typeof A.external==`string`?[A.external]:[],P=O.watch?.ignored,F=P?Array.isArray(P)?[`**/.boltdocs/**`,...P]:[`**/.boltdocs/**`,P]:[`**/.boltdocs/**`],I=D.css!==void 0||T.length>0||Object.keys(E).length>0,L={...D.css,...T.length>0?{postcss:{plugins:T}}:{},...Object.keys(E).length>0?{preprocessorOptions:{...D.css?.preprocessorOptions,...E}}:{}},R=l.base||D.base||`/`,z={...D,root:e,mode:t,experimental:{...D.experimental,bundledDev:X(p)},oxc:{...D.oxc,jsx:{development:!p,runtime:`automatic`,importSource:`react`}},optimizeDeps:{...j,entries:M,include:[...j.include??[],`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:I?L:void 0,build:D.build??{},plugins:[...D.plugins??[],b(),...Z(p,R)?v():[],...y({docsDir:u,root:e,routes:d},l)],ssr:{...A,external:[...N,`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...x()],optimizeDeps:{...A.optimizeDeps,include:[...A.optimizeDeps?.include??[],`react`,`react-dom`,`react-fast-compare`]},noExternal:[]},server:{...O,watch:{...O.watch,ignored:F},headers:{..._,...O.headers}},preview:{...k,headers:{..._,...k.headers}},resolve:{...D.resolve,alias:[...w({root:e,clientSourceRoot:de,aliases:[...S(l.aliases),...S(D.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:C(e.replacement)}:{}}))],dedupe:[`react`,`react-dom`,`react-router-dom`,...D.resolve?.dedupe??[]]},base:R,publicDir:J(e,l,r.publicDir)};return q.set(i,{config:z}),z.__boltdocsConfig=l,z}Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return A}});
@@ -0,0 +1,23 @@
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{_ as t,a as n,c as r,i,l as a,n as o,o as s,r as c,u as l}from"./plugin-context-b5qVVQSU.mjs";import{r as u}from"./utils-8lzafE49.mjs";import{n as d}from"./pages-external-BBw8ObVK.mjs";import"./node/cache.mjs";import{d as f,f as p,p as m,t as h}from"./routes-Dw6g0bfF.mjs";import{n as g,r as _}from"./config-B3_iVsbi.mjs";import{l as v}from"./registry-CHh8A5as.mjs";import{r as y,t as ee}from"./types-generator-BtZ6-ZKx.mjs";import{t as b}from"./resolve-C8AFoOQL.mjs";import"./handler-Lex5DbvG.mjs";import"./adapters-BKzKe2mO.mjs";import x from"node:path";import S from"node:fs";import C from"node:crypto";import{z as w}from"zod";import*as T from"@bdocs/dui";import{colors as E,warn as D}from"@bdocs/dui";import O from"semver";import{build as k}from"@bdocs/ssg/node";import{normalizeCodeHighlightConfig as A}from"@bdocs/unist-utils";function te(){return{name:`boltdocs-ssr-dirname-polyfill`,config:(e,{isSsrBuild:t})=>t?{define:{__dirname:`import.meta.dirname`}}:{}}}const j=new Set([`boltdocs/entry`,`boltdocs/client`,`boltdocs/primitives`,`boltdocs/mdx`,`boltdocs/client/router`,`use-sync-external-store/shim/index.js`,`use-sync-external-store/shim`,`use-sync-external-store`]);function M(e){return e?Array.isArray(e)?[...e]:Object.entries(e).map(([e,t])=>({find:e,replacement:t})):[]}function N(e,t){typeof t.find==`string`&&j.has(t.find)&&e.some(e=>e.find===t.find)||e.push({...t,...typeof t.replacement==`string`?{replacement:t.replacement}:{}})}function ne({root:e,clientSourceRoot:t,aliases:n}){let r=[{find:`boltdocs/entry`,replacement:x.resolve(e,`boltdocs-entry.tsx`)},{find:`boltdocs/client`,replacement:x.resolve(e,`boltdocs-client.mjs`)},...t?[{find:`boltdocs/primitives`,replacement:x.join(t,`primitives.ts`)},{find:`boltdocs/mdx`,replacement:x.join(t,`mdx.ts`)},{find:`boltdocs/client/router`,replacement:x.join(t,`router/index.ts`)}]:[],{find:`use-sync-external-store/shim/index.js`,replacement:`react`},{find:`use-sync-external-store/shim`,replacement:`react`},{find:`use-sync-external-store`,replacement:`react`}].map(e=>({...e,replacement:e.replacement}));for(let t of M(n))N(r,{...t,replacement:typeof t.replacement==`string`&&t.replacement.startsWith(`.`)?x.resolve(e,t.replacement):t.replacement});return r}function P(e){return e}function F(e){let t=[];if(e.website&&t.push(I(e.website)),e.article&&t.push(R(e.article)),e.breadcrumbs?.length&&t.push(z(e.breadcrumbs)),e.additional&&t.push(...Array.isArray(e.additional)?e.additional:[e.additional]),t.length===0)throw Error(`createStructuredData() requires at least one of website, article, breadcrumbs, or additional`);return t.length===1?t[0]:t}function I(e){let t={"@context":`https://schema.org`,"@type":`WebSite`,name:e.name,url:e.url};return e.description&&(t.description=e.description),e.searchUrl&&(t.potentialAction={"@type":`SearchAction`,target:`${e.searchUrl}{search_term_string}`,"query-input":`required name=search_term_string`}),t}function L(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))throw TypeError(`Invalid ${t} value: ${String(e)}`);return n.toISOString()}function R(e){let t={"@context":`https://schema.org`,"@type":`Article`,headline:e.headline,url:e.url};return e.description&&(t.description=e.description),e.datePublished&&(t.datePublished=L(e.datePublished,`datePublished`)),e.dateModified&&(t.dateModified=L(e.dateModified,`dateModified`)),e.image&&(t.image=e.image),e.author&&(t.author=typeof e.author==`string`?{"@type":`Person`,name:e.author}:{"@type":`Person`,...e.author}),t}function z(e){return{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:e.map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.name,item:e.url}))}}var B=class extends Error{name=this.constructor.name;constructor(e,t,n){super(`[plugin:${e}] ${t}`,n),this.pluginName=e}},V=class extends B{constructor(e,t){super(e,`Validation failed: ${t}`)}},H=class extends B{constructor(e,t){super(e,`Compatibility error: ${t}`)}},U=class extends B{constructor(e,t,n){super(e,`Error in hook '${t}': ${n.message}`,{cause:n}),this.hookName=t}},W=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let n=this.getNamespaceKey(e,t),r=this.data.get(n);if(r!==void 0)return typeof r==`object`&&r?JSON.parse(JSON.stringify(r)):r}set(e,t,n){let r=this.getNamespaceKey(e,t),i=typeof n==`object`&&n?JSON.parse(JSON.stringify(n)):n;this.data.set(r,i)}has(e,t){let n=this.getNamespaceKey(e,t);return this.data.has(n)}};const re=_.extend({version:w.string().optional(),boltdocsVersion:w.string().optional(),css:w.object({cssFiles:w.array(w.string()).optional(),headStyles:w.array(w.string()).optional(),postcssPlugins:w.array(w.any()).optional(),preprocessorOptions:w.record(w.string(),w.any()).optional()}).optional(),hooks:w.object({beforeBuild:w.custom(e=>typeof e==`function`).optional(),afterBuild:w.custom(e=>typeof e==`function`).optional(),beforeDev:w.custom(e=>typeof e==`function`).optional(),afterDev:w.custom(e=>typeof e==`function`).optional(),buildEnd:w.custom(e=>typeof e==`function`).optional(),transformSource:w.custom(e=>typeof e==`function`).optional(),transformMdx:w.custom(e=>typeof e==`function`).optional(),transformHtml:w.custom(e=>typeof e==`function`).optional()}).passthrough().optional()});function ie(e,t){let n=[],r=new Set;for(let i of e){let e=re.safeParse(i);if(!e.success)throw new V(i.name||`unknown`,e.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `));let a=e.data;if(r.has(a.name))throw new V(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!O.satisfies(t,a.boltdocsVersion))throw new H(a.name,`Plugin expects Boltdocs version ${a.boltdocsVersion}, but current is ${t}`);if(a.components)for(let[e,t]of Object.entries(a.components)){if(t.includes(`..`))throw new V(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`);if(x.isAbsolute(t))throw new V(a.name,`Component '${e}' has an invalid path: absolute paths are not allowed.`)}a.codeHighlighter&&v(a.name,a.codeHighlighter),n.push(a)}return n}const G=new Map;function K(e,t=process.cwd()){let n=e.plugins||[];for(let e of n)if(e.name&&!G.has(e.name))try{let n=b(e.name,t)?.pkg,r=n&&typeof n.scripts==`object`?n.scripts:{},i=!!(r.preinstall||r.postinstall||r.install);i&&D(`💡 ${E.yellow(E.bold(`Nota de seguridad:`))} El plugin ${E.cyan(e.name)} ejecuta scripts nativos al instalarse. Corre ${E.bold(`boltdocs audit`)} para un análisis detallado.`),G.set(e.name,i)}catch{G.set(e.name,!1)}}var ae=class{name=`ConfigResolve`;async execute(e){e.config=await g(`docs`,e.root,`build`,`production`),e.allCached||K(e.config,e.root);let t=x.resolve(e.root,e.config.docsDir||`docs`);e.docsDir=t;let n=await h(t,e.config,void 0,!1);e.routes=n;let r=n.map(e=>e.path),i=(e.config.base||`/docs`).replace(/\/$/,``);r.includes(i)||r.push(i);let a=d(t,e.config);for(let e of a)r.includes(e)||r.push(e);e.routePaths=r,e.viteConfig=await Ce(e.root,`production`,e.config,{routes:n,skipTypes:!0,skipLinkTree:!0})}},oe=class{name=`RouteGenerate`;async execute(e){if(!e.routes)throw Error(`Routes not generated by ConfigResolveStep. Verify pipeline order.`)}};const se=w.object({title:w.string().optional(),description:w.string().optional(),canonical:w.string().url().optional(),robots:w.string().optional(),noindex:w.boolean().optional(),"og:title":w.string().optional(),"og:description":w.string().optional(),"og:image":w.string().optional(),"og:type":w.string().optional(),"og:url":w.string().url().optional()});var ce=class{name=`SEOValidate`;async execute(e){if(!e.routes||!e.config)throw Error(`Routes or Config not initialized.`);let t=e.config?.siteUrl,n=e.routes,r=e=>typeof e==`string`?e:void 0;for(let i of n){let n=i.seo??{},a=r(n.canonical)||(t?`${t.replace(/\/$/,``)}${i.path}`:void 0),o=r(n[`og:url`])||a||void 0,s=r(e.config?.seo?.thumbnails?.background),c=r(n[`og:image`])||i.coverImage||s;c&&t&&!/^https?:\/\/|^\/\//.test(c)&&(c=`${t.endsWith(`/`)?t.slice(0,-1):t}${c.startsWith(`/`)?c:`/${c}`}`);let l={...n};a&&(l.canonical=a),o&&(l[`og:url`]=o),c&&(l[`og:image`]=c),!l[`og:title`]&&i.title&&(l[`og:title`]=String(i.title)),!l[`og:description`]&&i.description&&(l[`og:description`]=String(i.description));let u=se.safeParse(l);u.success||D(`[SEOValidate] Validation issues on route "${i.path}": ${u.error.message}`),i.title||D(`[SEOValidate] Route "${i.path}" is missing a title.`),i.seo=l}e.ssgRoutes=n}},le=class{name=`TypeGenerate`;async execute(e){if(!e.config||!e.docsDir||!e.routePaths)throw Error(`Config, docs directory, or route paths not initialized. Verify pipeline order.`);ee(e.config,`docs`,e.root,e.routePaths),y(e.routePaths,e.root),e.typesGenerated=!0}},ue=class{name=`SSGBuild`;async execute(e){if(!e.routes||!e.viteConfig)throw Error(`Routes or ViteConfig not initialized.`);let t={};for(let n of e.routes)if(n.path&&n.componentPath){t[n.path]=n.componentPath;let e=n.path.replace(/\/$/,``);t[e]=n.componentPath}let n=[];await k({entry:`boltdocs/entry`,routeToSourceFileMap:t,cacheDir:x.resolve(e.root,`.boltdocs/build`),onStep:e=>{n.push(e)}},e.viteConfig),e.ssgSubSteps=n,e.outDir=e.viteConfig.build?.outDir||`dist`}};function de(e,t){let n=(t.siteUrl||``).replace(/\/$/,``);if(!n)return``;let r=t.seo?.indexing!==`all`&&t.seo?.indexing!==`public`;return`<?xml version="1.0" encoding="UTF-8"?>
7
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
8
+ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(r&&e.seo?.index,!0)).map(e=>`${n}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`).sort((e,t)=>e<t?-1:e>t?1:0).map(e=>` <url>
9
+ <loc>${u(e)}</loc>
10
+ <changefreq>weekly</changefreq>
11
+ <priority>0.7</priority>
12
+ </url>`).join(`
13
+ `)}
14
+ </urlset>`}function fe(e){let t=e.siteUrl||``,n=t?`${t.replace(/\/$/,``)}/sitemap.xml`:``;if(e.seo?.indexing!==`all`&&e.seo?.indexing!==`public`&&e.seo?.indexing)return[`User-agent: *`,`Disallow: /`].filter(Boolean).join(`
15
+ `);if(typeof e.robots==`string`)return e.robots;if(e.robots&&typeof e.robots==`object`){let t=e.robots.rules||[],r=e.robots.sitemaps||[],i=t.map(e=>{let t=`User-agent: ${e.userAgent}\n`;return e.allow&&(Array.isArray(e.allow)?t+=e.allow.map(e=>`Allow: ${e}`).join(`
16
+ `)+`
17
+ `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
18
+ `)+`
19
+ `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
20
+
21
+ `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
+ `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
+ `)}var pe=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=de(e.ssgRoutes,e.config),n=e.docsDir||x.resolve(e.root,`docs`),r=x.resolve(e.root,e.outDir);t&&S.writeFileSync(x.join(r,`sitemap.xml`),t,`utf-8`);let i=fe(e.config);if(S.writeFileSync(x.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>J);await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function me(){return new q().addStep(new ae).addStep(new oe).addParallelSteps([new ce,new le]).addStep(new ue).addStep(new pe)}var q=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}r.ssgSubSteps&&(t.push(...r.ssgSubSteps),delete r.ssgSubSteps)}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}},J=e({PluginLifecycleManager:()=>X,resolvePluginHook:()=>Y});const he={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function Y(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=he[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var X=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,r,i,a,o,s,c){this.plugins=e,this.config=t,this.store=new W,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd(),this.routes=i||[],this.outDir=a||`dist`,this.runtime=o??l(),this.routeCacheContext=s??f(this.docsDir),this.routeCacheVariant=c??p(this.routeCacheContext,m(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new q;for(let i of n)Y(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=Y(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new U(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>Y(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=Y(e,t);i&&await i(r,...n)}catch(n){let i=new U(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=Y(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e.name,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>T.info(`${t} ${e}`),warn:e=>T.warn(`${t} ${e}`),error:e=>{T.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>T.debug(`${t} ${e}`)}}};function Z(e){return t=>typeof e==`function`?e(t):e}function ge(e){return typeof e==`function`?Z(e):e}const Q=new Map;function _e(){let e=t;for(;e&&e!==x.parse(e).root;){let t=x.join(e,`package.json`);if(S.existsSync(t)){let n=``;try{n=JSON.parse(S.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=x.join(e,`src/client`);return S.existsSync(t)?t:void 0}}e=x.dirname(e)}}const ve=_e();function $(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return x.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return x.resolve(e,r);let i=x.resolve(e,`public`),a=x.resolve(e,t?.docsDir||`docs`,`public`);return S.existsSync(i)||!S.existsSync(a)?i:a}function ye(e,t,n,r){return`${e}::${t}::${C.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:$(e,r,n.publicDir)})).digest(`hex`)}`}function be(e,t=process.env.BOLTDOCS_BUNDLED_DEV){return!e&&t===`true`}function xe(e,t,n=process.env.BOLTDOCS_REACT_REFRESH){return e||n===`true`?!0:t===`/`||t===``}async function Se(e){let{resolveConfig:t}=await import(`./config-B3_iVsbi.mjs`).then(e=>e.t),{generateRoutes:n,getExternalRoutePaths:r}=await import(`./routes-Dw6g0bfF.mjs`).then(e=>e.i),{generateProjectTypes:i,writeLinkTree:a}=await import(`./types-generator-BtZ6-ZKx.mjs`).then(e=>e.n),{boltdocsPlugin:o}=await import(`./plugin-BAv_pYLt.mjs`),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function Ce(e,t=`development`,n,r={}){let i=ye(e,t,r,n),a=Q.get(i);if(a)return a.config;let o=null;function s(){return o||(o=Promise.all([import(`@vitejs/plugin-react`),import(`./plugin-BAv_pYLt.mjs`),import(`./resolve-C5rT6B21.mjs`),import(`vite`)]).then(([e,t,n,r])=>({reactPlugin:e.default,boltdocsPlugin:t.boltdocsPlugin,getExternalAbsolutePaths:t.getExternalAbsolutePaths,resolveSecurityHeaders:n.resolveSecurityHeaders,normalizePath:r.normalizePath})),o)}let c=s(),l=n||await(async()=>{let{resolveConfig:t}=await import(`./config-B3_iVsbi.mjs`).then(e=>e.t);return t(`docs`,e)})(),u=x.resolve(e,l.docsDir||`docs`),d=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await import(`./routes-Dw6g0bfF.mjs`).then(e=>e.i);return e(u,l,void 0,!1)})()),f=t===`production`,p=c.then(({resolveSecurityHeaders:e})=>e(l,f)),m=!r.skipTypes,h=!r.skipLinkTree;if(m||h){let[{getExternalRoutePaths:t},{generateProjectTypes:n,writeLinkTree:r}]=await Promise.all([import(`./routes-Dw6g0bfF.mjs`).then(e=>e.i),import(`./types-generator-BtZ6-ZKx.mjs`).then(e=>e.n)]),i=d.map(e=>e.path),a=(l.base||`/docs`).replace(/\/$/,``);i.includes(a)||i.push(a);let o=t(u,l);for(let e of o)i.includes(e)||i.push(e);m&&n(l,u,e,i),h&&r(i)}let g=await p,{reactPlugin:_,boltdocsPlugin:v,getExternalAbsolutePaths:y,normalizePath:ee}=await c,b=[],S={};if(l.plugins)for(let e of l.plugins)e.css?.postcssPlugins&&b.push(...e.css.postcssPlugins.filter(e=>typeof e==`function`||typeof e==`object`&&!!e)),e.css?.preprocessorOptions&&Object.assign(S,e.css.preprocessorOptions);let C=l.vite??{},w=C.server??{},T=C.preview??{},E=C.ssr??{},D=C.optimizeDeps??{},O=D.entries??[`index.html`],k=Array.isArray(E.external)?E.external:typeof E.external==`string`?[E.external]:[],A=w.watch?.ignored,j=A?Array.isArray(A)?[`**/.boltdocs/**`,...A]:[`**/.boltdocs/**`,A]:[`**/.boltdocs/**`],N=C.css!==void 0||b.length>0||Object.keys(S).length>0,P={...C.css,...b.length>0?{postcss:{plugins:b}}:{},...Object.keys(S).length>0?{preprocessorOptions:{...C.css?.preprocessorOptions,...S}}:{}},F=l.base||C.base||`/`,I={...C,root:e,mode:t,experimental:{...C.experimental,bundledDev:be(f)},oxc:{...C.oxc,jsx:{development:!f,runtime:`automatic`,importSource:`react`}},optimizeDeps:{...D,entries:O,include:[...D.include??[],`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:N?P:void 0,build:C.build??{},plugins:[...C.plugins??[],te(),...xe(f,F)?_():[],...v({docsDir:u,root:e,routes:d},l)],ssr:{...E,external:[...k,`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...y()],optimizeDeps:{...E.optimizeDeps,include:[...E.optimizeDeps?.include??[],`react`,`react-dom`,`react-fast-compare`]},noExternal:[]},server:{...w,watch:{...w.watch,ignored:j},headers:{...g,...w.headers}},preview:{...T,headers:{...g,...T.headers}},resolve:{...C.resolve,alias:[...ne({root:e,clientSourceRoot:ve,aliases:[...M(l.aliases),...M(C.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:ee(e.replacement)}:{}}))],dedupe:[`react`,`react-dom`,`react-router-dom`,...C.resolve?.dedupe??[]]},base:F,publicDir:$(e,l,r.publicDir)};return Q.set(i,{config:I}),I.__boltdocsConfig=l,I}export{P as C,I as S,U as _,xe as a,z as b,X as c,me as d,K as f,B as g,H as h,be as i,J as l,W as m,Ce as n,ge as o,ie as p,A as r,Z as s,Se as t,Y as u,V as v,F as x,R as y};
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var e=`3.3.4`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
6
+ var e=`3.3.6`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var e=`3.3.4`;export{e as version};
6
+ var e=`3.3.6`;export{e as version};
@@ -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
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-7Cfw6nMr.cjs`),n=require(`./utils-ej6_SjIZ.cjs`),r=require(`./pages-external-DPiPFxxP.cjs`),i=require(`./plugin-context-BZs5lvDu.cjs`),a=require(`./routes-CzhKOw67.cjs`),o=require(`./config-BJp3lGzE.cjs`),s=require(`./types-generator-C83Iy6X5.cjs`),c=require(`./config-files-ph2ZtHWl.cjs`),l=require(`./doctor-BqxOFRt3.cjs`),u=require(`./virtual-modules-C3S3Nz8r.cjs`),d=require(`./csp-BiGAG8aF.cjs`);let f=require(`node:path`);f=e.r(f);let p=require(`node:fs`);p=e.r(p);let m=require(`@bdocs/dui`),h=require(`node:module`),g=require(`@bdocs/unist-utils`),_=require(`vite`),v=require(`@bdocs/plugin-image-optimizer`),y=require(`@bdocs/processor-satteri/node`);function b(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 x(e,t,n){return e?typeof e==`string`?e:e[n||``]||Object.values(e)[0]||t:t}function S(e){let t=e.i18n?.defaultLocale,r=x(e.theme?.title,`Boltdocs`,t),i=e.theme?.favicon;!i&&e.theme?.logo&&(i=typeof e.theme.logo==`string`?e.theme.logo:e.theme.logo.light||e.theme.logo.dark);let a=e.seo?.indexing,o=a===`none`?`noindex, nofollow`:a===`all`?void 0:a,s=e.seo?.metatags||{},c=Object.entries(s).map(([e,t])=>{let r=n.n(e),i=n.n(t);return e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${r}" content="${i}">`:`<meta name="${r}" content="${i}">`});return{title:r,favicon:i,robotsContent:o,customMetaTags:c}}function C(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 w(e,t){let r=e.favicon?C(e.favicon,t):void 0;return[r?`<link rel="icon" href="${n.n(r)}">`:``,e.robotsContent?`<meta name="robots" content="${n.n(e.robotsContent)}">`:``,`<meta name="generator" content="Boltdocs">`,...e.customMetaTags].filter(Boolean).join(`
16
+ `)}function T(e){if(!e)return``;let t=[];return e.google&&t.push(`<meta name="google-site-verification" content="${n.n(e.google)}">`),e.bing&&t.push(`<meta name="msvalidate.01" content="${n.n(e.bing)}">`),e.yandex&&t.push(`<meta name="yandex-verification" content="${n.n(e.yandex)}">`),e.pinterest&&t.push(`<meta name="p:domain_verify" content="${n.n(e.pinterest)}">`),e.facebook&&t.push(`<meta name="facebook-domain-verification" content="${n.n(e.facebook)}">`),t.join(`
17
+ `)}function E(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="${C(r,e)}" type="${n}" fetchpriority="high">`)}return t.join(`
18
+ `)}function D(){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 O(e,t){if(!e||!t&&!e.debug)return``;let r=e.anonymizeIp?`gtag('set', 'ip', true);`:``,i=e.sendPageView===!1?`{send_page_view: false}`:`{}`,a=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``,o=n.n(e.measurementId);return`
33
+ <!-- Google tag (gtag.js) -->
34
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${o}"><\/script>
35
+ <script>
36
+ window.dataLayer = window.dataLayer || [];
37
+ function gtag(){dataLayer.push(arguments);}
38
+ gtag('js', new Date());
39
+ ${r}
40
+ gtag('config', '${o}', ${i}${a});
41
+ <\/script>
42
+ `}function k(e,t){if(!e||!t)return{script:``,noScript:``};let r=n.n(e.dataLayerName||`dataLayer`),i=e.preview?`&gtm_preview=${n.n(e.preview)}`:``,a=n.n(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!='${r}'?'&l='+l:'';j.src=
47
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${i}';f.parentNode.insertBefore(j,f);
48
+ })(window,document,'script','${r}','${a}');<\/script>
49
+ <!-- End Google Tag Manager -->
50
+ `,noScript:`
51
+ <!-- Google Tag Manager (noscript) -->
52
+ <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${a}"
53
+ height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
54
+ <!-- End Google Tag Manager (noscript) -->
55
+ `}}function A(e,t,n){if(!e||!t)return``;let{analytics:r,speedInsights:i}=e,a=e=>C(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 j(e,t){if(!e||!t)return``;let r=n.n(e.apiKey),i=[`api_host: "${n.n(e.host||`https://us.i.posthog.com`)}"`];return e.capturePageview===!1&&i.push(`capture_pageview: false`),e.capturePageleave===!1&&i.push(`capture_pageleave: false`),e.sessionRecording===!0&&i.push(`session_recording: { recordCrossOriginPages: true }`),e.autocapture===!0&&i.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("${r}", { ${i.join(`, `)} });
66
+ <\/script>
67
+ `}function M(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function N(e,t){return e.replace(`</head>`,` ${t}</head>`)}function P(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function F(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 ee(e,t){(!e?.includes(`<body`)||!e.includes(`<head`))&&(e=b(t));let n=process.env.NODE_ENV===`production`,r=w(S(t),t),i=T(t.seo?.verification),a=E(t),o=D(),s=O(t.integrations?.analytics?.ga4,n),c=k(t.integrations?.analytics?.gtm,n),l=[i,a,r,s,A(t.integrations?.analytics?.vercel,n,t),j(t.integrations?.analytics?.posthog,n),c.script].filter(Boolean).join(`
69
+ `);return e=M(e,o),e=N(e,l),e=P(e,c.noScript),e=F(e),e}function te(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 Promise.resolve().then(()=>require(`./handler-Ch-Q9NAB.cjs`)).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 ne(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(f.default.extname(a))return r();let o=e(),s=f.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=f.default.join(s,c,`index.html`);c!==`/`&&p.default.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const I=/\.(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 re(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(te(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(d.n).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,d.t(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`)&&!I.test(a)){let n=b(s);n=ee(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const ie=(()=>{let e=Number.parseInt(process.env.BOLTDOCS_PREWARM_LIMIT||``,10);return Number.isFinite(e)&&e>0?e:200})(),L=new WeakMap,R=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],ae=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function oe(e){for(let t=0;t<R.length;t++)if(R[t].test(e))return t;return R.length}function se(e,t){let n=e.config.root,r=f.default.join(e.config.cacheDir,`deps`,t.file);return`/${f.default.relative(n,r).split(f.default.sep).join(`/`)}`}function ce(e){let t=e.config;if(!t?.cacheDir)return;let n=ae.map(e=>({file:`${e.replaceAll(`/`,`_`)}.js`})).filter(({file:e})=>p.default.existsSync(f.default.join(t.cacheDir,`deps`,e)));Promise.allSettled(n.map(t=>e.warmupRequest(se(e,t))))}function le(e,t,n,r){if(L.has(e))return;ce(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await Promise.resolve().then(()=>require(`./routes-Dq_2EUIB.cjs`))).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>oe(e)-oe(t)),a=performance.now(),o=process.env.BOLTDOCS_PREWARM_ALL===`true`?i:i.slice(0,ie);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=f.default.isAbsolute(t)?t:f.default.resolve(e.config.root,t);if(!p.default.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{L.delete(e),i()}},1500)});L.set(e,i)}const ue=[`tsx`,`jsx`],z=[`tsx`,`ts`,`jsx`,`js`];function de(e,t){let n=f.default.resolve(e.config.root),r=e=>{let t=f.default.resolve(e);return t===n||t.startsWith(`${n}${f.default.sep}`)},i=[...c.t.map(e=>f.default.resolve(process.cwd(),e)),...ue.map(e=>f.default.resolve(t,`layout.${e}`)),...z.map(e=>f.default.resolve(t,`mdx-components.${e}`)),...z.map(e=>f.default.resolve(t,`pages-external/index.${e}`)),...z.map(e=>f.default.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}function B(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 fe(e,t,r,o,d,p,h,g){let _=h&&!h.disposed?h:p?.routeCacheContext&&!p.routeCacheContext.disposed?p.routeCacheContext:a.d(t),v=g??a.f(_,a.p(o())),b=new Map,x=new Map,S=new Map,C=r.replace(/\/+$/,``).toLowerCase(),w=null;function T(){if(w)return w;w=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&w.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return w}e.watcher.on(`all`,()=>{w=null});function E(e,t){return S.get(e)===t}function D(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=T().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function O(r,i,a){if(!E(i,a))return;let o=n.u(f.default.relative(t,r)),s=D(i);E(i,a)&&(s?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:i,relPath:o}}):e.ws.send({type:`full-reload`}))}let k=async(r,f)=>{try{let h=n.u(r),g=(S.get(h)??0)+1;if(S.set(h,g),f===`add`||f===`unlink`){let e=b.get(h);e&&(clearTimeout(e),b.delete(h))}if(c.t.some(e=>h.endsWith(e))){e.restart();return}if(h.includes(`/pages-external/`)||h.includes(`\\pages-external\\`)){B(e,`entry`),e.ws.send({type:`full-reload`});return}let w=h.toLowerCase(),T=w===C||w.startsWith(`${C}/`),k=e=>T&&w===`${C}/${e}`;if(k(`mdx-components.tsx`)||k(`mdx-components.ts`)||k(`mdx-components.jsx`)||k(`mdx-components.js`)){s.t(o(),t),B(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(k(`icons.tsx`)||k(`icons.ts`)||k(`icons.jsx`)||k(`icons.js`)){B(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(k(`layout.tsx`)||k(`layout.jsx`)){B(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(T&&[`/post.tsx`,`/post.jsx`,`/list.tsx`,`/list.jsx`].some(e=>w.endsWith(e))){B(e,`entry`),e.ws.send({type:`full-reload`});return}if(!T)return;let A=h.slice(h.lastIndexOf(`/`)+1),j=A===`meta.json`||A===`_meta.json`;if(!j&&!n.c(h))return;if(f===`add`||f===`unlink`||j){f===`unlink`&&a.s(r,_,v),j&&a.m(r,_),f===`add`&&((0,y.invalidateMdxFileCache)(r),D(h)),a.i(_),u.invalidateDirectoryMetaCache(p),(d?i.f(f,h,d):i.f(f,h)).catch(e=>{(0,m.error)(`Plugin HMR handler error:`,e)});let n=o();s.t(n,t),B(e,`config`),B(e,`routes`),B(e,`search`),B(e,`collections`),l.c(t,process.cwd(),n).catch(e=>{(0,m.error)(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:n?.theme,i18n:n?.i18n,versions:n?.versions,siteUrl:n?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(b.has(h)){let e=b.get(h);e&&clearTimeout(e)}b.set(h,setTimeout(()=>{b.delete(h);let n=(x.get(h)??Promise.resolve()).then(async()=>{if(S.get(h)===g)try{let n=a.o(r,_,v),s=await a.a(r);if(S.get(h)!==g||!E(h,g))return;if(a.r(r,_),(0,y.invalidateMdxFileCache)(r),a.c(r,s,_,v),d?await i.f(`change`,h,d):await i.f(`change`,h),n!==void 0&&n!==s){if(!E(h,g))return;B(e,`routes`),B(e,`search`),B(e,`collections`);let n=o();try{let r=await u.computeFrontmatterDelta(t,n,p,_,v);if(!E(h,g))return;if(r.routes.deleted.length>0){E(h,g)&&e.ws.send({type:`full-reload`});return}if(!E(h,g))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){E(h,g)&&e.ws.send({type:`full-reload`});return}(0,m.error)(`Failed to compute frontmatter delta:`,t),E(h,g)&&e.ws.send({type:`full-reload`});return}O(r,h,g);return}O(r,h,g)}catch(e){(0,m.error)(`HMR error processing content change:`,e)}});x.set(h,n);let s=()=>{x.get(h)===n&&x.delete(h)};n.then(s,s)},150))}catch(e){(0,m.error)(`HMR error during ${f} event:`,e)}};e.watcher.on(`add`,e=>k(e,`add`)),e.watcher.on(`unlink`,e=>k(e,`unlink`)),e.watcher.on(`change`,e=>k(e,`change`))}function pe(e){let t=n.u(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let r=n.u(e).toLowerCase(),i=r===t||r.startsWith(`${t}/`),a=r.includes(`/pages-external/`)||r.includes(`\\pages-external\\`);if(i&&(n.c(e)||r.endsWith(`meta.json`)||a))return[]}}function me(e,t,n,r,o,s,c,l){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){i.d(s),u.invalidateDirectoryMetaCache(c);let d=o();await d?.runHook(`dev:before`).catch(e=>{(0,m.error)(`dev:before hook failed:`,e)});let f=Promise.resolve().then(()=>require(`./routes-Dq_2EUIB.cjs`)).then(({generateRoutes:t})=>t(e,n()));f.then(e=>Promise.resolve().then(()=>require(`./types-generator-C83Iy6X5.cjs`)).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let p=l&&!l.disposed?l:c?.routeCacheContext&&!c.routeCacheContext.disposed?c.routeCacheContext:a.d(e);c&&(c.routeCacheContext=p),le(r,e,n,f),re(r,e,n),de(r,e),fe(r,e,t,n,s,c,p),p&&r.httpServer?.once(`close`,()=>{a.l(e,p)}),r.httpServer?.once(`listening`,()=>{Promise.resolve().then(()=>require(`./registry-DLJIooEu.cjs`)).then(e=>e.u).then(({prewarmHighlighter:e})=>{let t=n(),r=(0,g.normalizeCodeHighlightConfig)(t.theme?.codeHighlighting);e({engine:r?.engine,theme:r?.theme??t.theme?.codeTheme,options:r?.options})}).catch(()=>{})}),i.m((e,t)=>{r.ws.send(e,t)},s),i.t(r,s),await i.p(s).catch(()=>{}),await d?.runHook(`dev:after`).catch(()=>{})},hotUpdate:pe(t)}}function V(e,t){let n=new Map,r=ge(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=f.default.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&p.default.existsSync(a)&&p.default.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i},a;try{let t=p.default.readdirSync(e).filter(e=>e.length>0&&e!==`.`&&e!==`..`).map(e=>he(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 he(e){let t=H(e);return/[ !"#$%&'()+,:;=?@[\]^`{}~]/.test(e)?`${t}|${H(encodeURIComponent(e).replace(/'/g,`%27`).replace(/~/g,`%7E`))}`:t}function H(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function ge(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const U=`srcset`,_e=RegExp(`((?:src|href|poster|content)|${U})="([^"]*)"`,`g`);function ve(e,t){return t.mightRewrite&&!t.mightRewrite(e)?e:(_e.lastIndex=0,e.replace(_e,(e,n,r)=>{if(n===U){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?`${U}="${i}"`:e}if(!r.startsWith(`/`))return e;let i=t.resolve(r);return i?e.replace(r,i):e}))}function ye(e,t){let n=V(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 W=(0,h.createRequire)(require(`url`).pathToFileURL(__filename).href),be=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],xe=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function G(e=W){try{let e=f.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return p.default.existsSync(e)?(0,h.createRequire)(p.default.realpathSync(e)):(0,h.createRequire)(f.default.join(process.cwd(),`package.json`))}catch{return e}}function K(e,t=W){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=f.default.dirname(e);for(;n&&n!==f.default.dirname(n);){let e=f.default.join(n,`package.json`);if(p.default.existsSync(e)){a=e;break}n=f.default.dirname(n)}}if(!a)throw Error();let o=f.default.dirname(a),s=JSON.parse(p.default.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=f.default.resolve(o,l);if(p.default.existsSync(u))return u}catch{}return t.resolve(e)}function q(e=W){let t=[],r=G(e),i=new Set([r,e]);for(let e of i){for(let n of be)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?K(n,e):e.resolve(n);r&&t.push(p.default.realpathSync(r))}catch{}for(let n of xe)try{t.push(p.default.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>n.u(e))}const J=(0,h.createRequire)(require(`url`).pathToFileURL(__filename).href),Se=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),Ce=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],Y=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let X=null;function we(){return X||=new Map,X}function Te(e,t){return`${e}::${t?`1`:`0`}`}const Ee=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let De=null;function Oe(){return De||=JSON.parse(p.default.readFileSync(f.default.resolve(__dirname,`../../../package.json`),`utf-8`)).version??`0.0.0`,De}const Z=new Map;function ke(e){return f.default.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function Ae(e,t){try{let n=ke(e);if(!p.default.existsSync(n))return!1;let r=p.default.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function je(e,t,n,r){try{let i=ke(e);p.default.mkdirSync(f.default.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};p.default.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function Me(e={},c){let l=f.default.resolve(e.root||process.cwd()),d=f.default.resolve(l,e.docsDir||`docs`),m=n.u(d),h=c,b,x=!1,S=i.s(),C=a.d(d),w=u.createVirtualModuleState(C),T,E=e.routes??[],D=null,O=null,k=()=>O||(O=V(b?.publicDir,b?.base),O),A=[];if(h?.plugins?.length)try{let e=Oe(),n=JSON.stringify(h.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),r=Z.get(n);if(r){let e=r.validated;h.plugins=e,T=new t.c(e,h,d,void 0,void 0,void 0,S,C),A=e.flatMap(e=>$(e.vitePlugins))}else if(Ae(l,n)){let e=h.plugins;T=new t.c(e,h,d,void 0,void 0,void 0,S,C),A=e.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:e})}else{let r=t.f(h.plugins,e);h.plugins=r,T=new t.c(r,h,d,void 0,void 0,void 0,S,C),A=r.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:r}),je(l,n,e,r.map(e=>e.name))}}catch{}let j=null,M=new Map,N=()=>h,P=e=>{h=e},F=()=>b,I=()=>(C.disposed&&(C=a.d(d),w.routeCacheContext=C,w.routeCacheVariant=void 0,w.routeGenerationFingerprint=void 0,w.routesDataMap.clear(),w.collectionsDataMap.clear(),w.searchDataMap.clear(),T=new t.c(h.plugins||[],h,d,void 0,E,b?.build?.outDir||`dist`,S,C)),T);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,n){x=n.command===`build`;let i=!!(n.isSsrBuild||e.build?.ssr);if(i&&h&&E.length>0&&T)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`,...q(J)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,(0,_.loadEnv)(n.mode,e.envDir||process.cwd(),``)),h||=await o.t(d),E.length===0&&x){D||=a.t(d,h),E=await D;let e=E.map(e=>e.path),t=(h.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=r.n(d,h);for(let t of n)e.includes(t)||e.push(t);s.t(h,d,void 0,e),s.r(e)}if(x&&Promise.resolve().then(()=>require(`./registry-DLJIooEu.cjs`)).then(e=>e.u).then(({prewarmHighlighter:e})=>{let t=(0,g.normalizeCodeHighlightConfig)(h.theme?.codeHighlighting);e({engine:t?.engine,theme:t?.theme??h.theme?.codeTheme,options:t?.options})}).catch(()=>{}),!T){let{version:e}=await Promise.resolve().then(()=>require(`./package-Bah2tHjK.cjs`)),n=t.f(h.plugins||[],e);h.plugins=n,T=new t.c(n,h,d,void 0,E,b?.build?.outDir||`dist`,S,C),A=n.flatMap(e=>$(e.vitePlugins))}if(x&&await T?.runHook(`build:before`),!j){let e=h.ssg?.criticalCss;j={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:h.ssg?.criticalCssMaxSize,onPageRendered:async(e,t)=>{if(!T)return t;try{let n=M.get(e)??E.find(t=>t.path===e);n&&M.set(e,n);let r=(await T.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await T.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=k();return i&&(r=ve(r,i)),r}catch{return t}}}}return{ssgOptions:j,build:{ssrManifest:x},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:i?[]:[{find:`react-router-dom`,replacement:K(`react-router-dom`)},{find:`react-helmet-async`,replacement:K(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:K(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...i?[]:[`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`,...q(J)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(b=e,!Q){Q=new Map;for(let e of Y)try{let t=K(e),n=p.default.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=J.resolve(e),n=p.default.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=we(),i=Te(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!f.default.isAbsolute(e)&&!e.startsWith(`.`)&&!Se.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(Se.has(e)&&(o=e),!o&&!f.default.isAbsolute(e)&&!e.startsWith(`.`)){let t=Ce.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of Ee)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!f.default.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=G(J),a=e;try{a=Y.has(o)?K(e,n):n.resolve(e)}catch{try{a=Y.has(o)?K(e,J):J.resolve(e)}catch{}}try{a=p.default.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=>ee(e,h)},configureServer(e){e.middlewares.use(ye(b?.publicDir,b?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){Promise.resolve().then(()=>require(`./virtual-modules-C3S3Nz8r.cjs`)).then(()=>{t.setHeader(`Content-Type`,`application/json`),t.end(u.getSearchJsonExport(w))}).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`)){Promise.resolve().then(()=>require(`./virtual-modules-C3S3Nz8r.cjs`)).then(()=>{t.setHeader(`Content-Type`,`application/json`),t.end(u.getPageSourceJsonExport(w))}).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(!(!x||e!==`client`)){try{let e=u.getSearchJsonExport(w);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:u.getPageSourceJsonExport(w)})}catch(e){console.error(`[boltdocs] Failed to emit page-source.json:`,e)}}},async closeBundle(){let e=this.environment?.config?.consumer??`client`;!x||e!==`client`||(await T?.runHook(`build:after`),await T?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(te(N)),e.middlewares.use(ne(F)),i.t(e,S),i.p(S).catch(()=>{})}},u.createVirtualModulesPlugin(e,N,F,d,S,w),me(d,m,N,P,I,S,w),...$([(0,y.createSatteriMdxPlugin)(h,I,{docsDir:e.docsDir||`docs`})]),...$([(0,v.ViteImageOptimizer)({includePublic:!0})]),...A]}exports.boltdocsPlugin=Me,exports.getBaseRequire=G,exports.getExternalAbsolutePaths=q,exports.resolveEsm=K;
@@ -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,13 +3,13 @@
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
- `),C=b.length?`const _external_file_pages = {\n${b.map((e,t)=>` ${JSON.stringify(e.path)}: _external_file_${t},`).join(`
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(`
10
10
  `)}\n};`:`const _external_file_mdx = {};`,T=e.ssr===!0,E=`/${h}/**/layout.tsx`,D=`/${h}/**/list.tsx`,O=`/${h}/**/post.tsx`,k=e.useCompiledPages?s(i):null,A;if(k){let{globMap:e,chunkMap:t}=k,n=Object.keys(e).sort((e,t)=>e.localeCompare(t));if(T){let t=c(i,`combined.mjs`);if(o.default.existsSync(t)&&n.length>0)A=[`const __mdx_pages = await import(${JSON.stringify(c(i,`combined.mjs`))});`,`const mdxModules = __mdx_pages.default || __mdx_pages;`].join(`
11
11
  `);else{let t=n.map(t=>`import * as ${e[t]} from ${JSON.stringify(c(i,`${e[t]}.mjs`))};`),r=n.map(t=>` ${JSON.stringify(t)}: { default: ${e[t]}.default }`);A=[...t,`const mdxModules = {`,r.join(`,`),`};`].join(`
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,9 +3,9 @@
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
- `),C=b.length?`const _external_file_pages = {\n${b.map((e,t)=>` ${JSON.stringify(e.path)}: _external_file_${t},`).join(`
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(`
10
10
  `)}\n};`:`const _external_file_mdx = {};`,T=n.ssr===!0,E=`/${h}/**/layout.tsx`,D=`/${h}/**/list.tsx`,O=`/${h}/**/post.tsx`,k=n.useCompiledPages?c(a):null,A;if(k){let{globMap:e,chunkMap:t}=k,n=Object.keys(e).sort((e,t)=>e.localeCompare(t));if(T){let t=l(a,`combined.mjs`);if(o.existsSync(t)&&n.length>0)A=[`const __mdx_pages = await import(${JSON.stringify(l(a,`combined.mjs`))});`,`const mdxModules = __mdx_pages.default || __mdx_pages;`].join(`
11
11
  `);else{let t=n.map(t=>`import * as ${e[t]} from ${JSON.stringify(l(a,`${e[t]}.mjs`))};`),r=n.map(t=>` ${JSON.stringify(t)}: { default: ${e[t]}.default }`);A=[...t,`const mdxModules = {`,r.join(`,`),`};`].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-C3HctGaH.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-o7iZ2BAR.cjs";
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-Db6zToZH.mjs";
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
  /**