boltdocs 2.4.1 → 2.5.0

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 (113) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cache-3FOEPC2P.mjs +1 -0
  3. package/dist/chunk-ITFGVXPE.mjs +1 -0
  4. package/dist/chunk-TP5KMRD3.mjs +1 -0
  5. package/dist/chunk-UD2LQG2M.mjs +75 -0
  6. package/dist/chunk-Y4RE5KI7.mjs +1 -0
  7. package/dist/client/index.d.mts +1225 -14
  8. package/dist/client/index.d.ts +1225 -14
  9. package/dist/client/index.js +1 -1
  10. package/dist/client/index.mjs +1 -1
  11. package/dist/client/ssr.js +1 -1
  12. package/dist/client/ssr.mjs +1 -1
  13. package/dist/node/cli-entry.js +37 -35
  14. package/dist/node/cli-entry.mjs +1 -1
  15. package/dist/node/index.d.mts +263 -1
  16. package/dist/node/index.d.ts +263 -1
  17. package/dist/node/index.js +34 -32
  18. package/dist/node/index.mjs +1 -1
  19. package/dist/package-TWC3BMZ7.mjs +1 -0
  20. package/dist/search-dialog-YBM4GYDR.mjs +1 -0
  21. package/package.json +46 -76
  22. package/src/client/components/primitives/breadcrumbs.tsx +10 -10
  23. package/src/client/components/primitives/index.ts +17 -16
  24. package/src/client/components/primitives/menu.tsx +11 -14
  25. package/src/client/components/primitives/navbar.tsx +29 -29
  26. package/src/client/components/primitives/navigation-menu.tsx +7 -9
  27. package/src/client/components/primitives/on-this-page.tsx +16 -18
  28. package/src/client/components/primitives/page-nav.tsx +10 -13
  29. package/src/client/components/primitives/search-dialog.tsx +17 -19
  30. package/src/client/components/primitives/sidebar.tsx +8 -10
  31. package/src/client/components/primitives/tabs.tsx +10 -12
  32. package/src/client/components/primitives/tooltip.tsx +3 -5
  33. package/src/client/components/ui-base/breadcrumbs.tsx +12 -15
  34. package/src/client/components/ui-base/copy-markdown.tsx +8 -10
  35. package/src/client/components/ui-base/navbar.tsx +10 -10
  36. package/src/client/components/ui-base/on-this-page.tsx +13 -12
  37. package/src/client/components/ui-base/page-nav.tsx +15 -15
  38. package/src/client/components/ui-base/search-dialog.tsx +13 -20
  39. package/src/client/components/ui-base/sidebar.tsx +9 -9
  40. package/src/client/components/ui-base/tabs.tsx +6 -7
  41. package/src/client/components/ui-base/theme-toggle.tsx +11 -11
  42. package/src/client/hooks/index.ts +12 -12
  43. package/src/client/index.ts +34 -11
  44. package/src/node/config.ts +48 -6
  45. package/src/node/errors.ts +44 -0
  46. package/src/node/index.ts +29 -2
  47. package/src/node/mdx/index.ts +9 -2
  48. package/src/node/plugin/index.ts +72 -4
  49. package/src/node/plugins/index.ts +17 -0
  50. package/src/node/plugins/plugin-errors.ts +62 -0
  51. package/src/node/plugins/plugin-lifecycle.ts +117 -0
  52. package/src/node/plugins/plugin-sandbox.ts +59 -0
  53. package/src/node/plugins/plugin-store.ts +54 -0
  54. package/src/node/plugins/plugin-types.ts +107 -0
  55. package/src/node/plugins/plugin-validator.ts +105 -0
  56. package/src/node/routes/parser.ts +35 -5
  57. package/src/node/schema/config.ts +208 -0
  58. package/src/node/schema/frontmatter.ts +17 -0
  59. package/src/node/security/constants/index.ts +10 -0
  60. package/src/node/security/csp.ts +31 -0
  61. package/src/node/security/headers.ts +27 -0
  62. package/src/node/utils.ts +153 -5
  63. package/tsup.config.ts +0 -6
  64. package/dist/base-ui/index.d.mts +0 -25
  65. package/dist/base-ui/index.d.ts +0 -25
  66. package/dist/base-ui/index.js +0 -1
  67. package/dist/base-ui/index.mjs +0 -1
  68. package/dist/cache-P6WK424C.mjs +0 -1
  69. package/dist/chunk-2DI3OGHV.mjs +0 -1
  70. package/dist/chunk-2Z5T6EAU.mjs +0 -1
  71. package/dist/chunk-64AJ5QLT.mjs +0 -1
  72. package/dist/chunk-DDX52BX4.mjs +0 -1
  73. package/dist/chunk-HRZDSFR5.mjs +0 -1
  74. package/dist/chunk-JD3RSDE4.mjs +0 -1
  75. package/dist/chunk-JZXLCA2E.mjs +0 -1
  76. package/dist/chunk-NBCYHLAA.mjs +0 -1
  77. package/dist/chunk-PPVDMDEL.mjs +0 -1
  78. package/dist/chunk-T3W44KWY.mjs +0 -1
  79. package/dist/chunk-UBE4CKOA.mjs +0 -1
  80. package/dist/chunk-UWT4AJTH.mjs +0 -73
  81. package/dist/chunk-WWJ7WKDI.mjs +0 -1
  82. package/dist/chunk-Y4RRHPXC.mjs +0 -1
  83. package/dist/client/types.d.mts +0 -3
  84. package/dist/client/types.d.ts +0 -3
  85. package/dist/client/types.js +0 -1
  86. package/dist/client/types.mjs +0 -0
  87. package/dist/copy-markdown--9yjpbyy.d.mts +0 -15
  88. package/dist/copy-markdown-l2MYkcG7.d.ts +0 -15
  89. package/dist/hooks/index.d.mts +0 -137
  90. package/dist/hooks/index.d.ts +0 -137
  91. package/dist/hooks/index.js +0 -1
  92. package/dist/hooks/index.mjs +0 -1
  93. package/dist/integrations/index.d.mts +0 -48
  94. package/dist/integrations/index.d.ts +0 -48
  95. package/dist/integrations/index.js +0 -1
  96. package/dist/integrations/index.mjs +0 -1
  97. package/dist/link-DfBwCeZc.d.mts +0 -68
  98. package/dist/link-DfBwCeZc.d.ts +0 -68
  99. package/dist/loading-BwUos0wZ.d.mts +0 -57
  100. package/dist/loading-nlnUD01v.d.ts +0 -57
  101. package/dist/mdx/index.d.mts +0 -178
  102. package/dist/mdx/index.d.ts +0 -178
  103. package/dist/mdx/index.js +0 -1
  104. package/dist/mdx/index.mjs +0 -1
  105. package/dist/primitives/index.d.mts +0 -292
  106. package/dist/primitives/index.d.ts +0 -292
  107. package/dist/primitives/index.js +0 -1
  108. package/dist/primitives/index.mjs +0 -1
  109. package/dist/search-dialog-OONKKC5H.mjs +0 -1
  110. package/dist/types-opDA2E9-.d.mts +0 -394
  111. package/dist/types-opDA2E9-.d.ts +0 -394
  112. package/dist/use-routes-DNwgTRpU.d.ts +0 -29
  113. package/dist/use-routes-DrT80Eom.d.mts +0 -29
@@ -1,52 +1,54 @@
1
- "use strict";var Te=Object.create;var it=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Fe=Object.getOwnPropertyNames;var Ie=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var xt=(o,e)=>()=>(o&&(e=o(o=0)),e);var Et=(o,e)=>{for(var t in e)it(o,t,{get:e[t],enumerable:!0})},zt=(o,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fe(e))!je.call(o,i)&&i!==t&&it(o,i,{get:()=>e[i],enumerable:!(s=Oe(e,i))||s.enumerable});return o};var v=(o,e,t)=>(t=o!=null?Te(Ie(o)):{},zt(e||!o||!o.__esModule?it(t,"default",{value:o,enumerable:!0}):t,o)),He=o=>zt(it({},"__esModule",{value:!0}),o);var Le,P,u=xt(()=>{"use strict";Le=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,P=Le()});function k(o){return o.replace(/\\/g,"/")}function W(o){return o.replace(/^\d+\./,"")}function nt(o){let e=o.match(/^(\d+)\./);return e?parseInt(e[1],10):void 0}function Nt(o){return/\.mdx?$/.test(o)}function rt(o){try{return bt.default.statSync(o).mtimeMs}catch{return 0}}function Gt(o){let e=bt.default.readFileSync(o,"utf-8");try{let{data:t,content:s}=(0,At.default)(e);return{data:t,content:s}}catch{return{data:{},content:e}}}function L(o){return o.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Pt(o){return L(o)}function Ut(o){let t=o.split("/").map(W).join("/").replace(/\/$/,"");return t=t.replace(/\.mdx?$/,""),(t==="index"||t.endsWith("/index"))&&(t=t.replace(/index$/,"")),t.startsWith("/")||(t="/"+t),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}function q(o){return vt.default.sanitize(o)}function wt(o){return vt.default.sanitize(o,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function J(o){return o.charAt(0).toUpperCase()+o.slice(1)}function Ct(o,e){return o?typeof o=="string"?o:e&&o[e]?o[e]:Object.values(o)[0]||"":""}var bt,At,vt,F=xt(()=>{"use strict";u();bt=v(require("fs")),At=v(require("gray-matter")),vt=v(require("isomorphic-dompurify"))});var Rt={};Et(Rt,{AssetCache:()=>Dt,FileCache:()=>K,TransformCache:()=>X,flushCache:()=>Ue});async function Ue(){await j.flush()}var $,M,z,E,A,st,Ee,at,Bt,io,Mt,ze,Ae,Ne,Ge,$t,St,j,K,X,Dt,Z=xt(()=>{"use strict";u();$=v(require("fs")),M=v(require("path")),z=v(require("crypto")),E=v(require("zlib")),A=require("util");F();st=(0,A.promisify)($.default.writeFile),Ee=(0,A.promisify)($.default.readFile),at=(0,A.promisify)($.default.mkdir),Bt=(0,A.promisify)($.default.rename),io=(0,A.promisify)($.default.unlink),Mt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",ze="assets",Ae="shards",Ne=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Ge=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",$t=class{constructor(e){this.limit=e}cache=new Map;get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.limit){let s=this.cache.keys().next().value;s!==void 0&&this.cache.delete(s)}this.cache.set(e,t)}get size(){return this.cache.size}clear(){this.cache.clear()}},St=class{queue=Promise.resolve();pendingCount=0;add(e){this.pendingCount++,this.queue=this.queue.then(e).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},j=new St,K=class{entries=new Map;cachePath=null;compress;constructor(e={}){if(this.compress=e.compress!==void 0?e.compress:Ge,e.name){let t=e.root||process.cwd(),s=this.compress?"json.gz":"json";this.cachePath=M.default.resolve(t,Mt,`${e.name}.${s}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!$.default.existsSync(this.cachePath)))try{let e=$.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(e=E.default.gunzipSync(e));let t=JSON.parse(e.toString("utf-8"));this.entries=new Map(Object.entries(t))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let e=Object.fromEntries(this.entries),t=JSON.stringify(e),s=this.cachePath,i=this.compress;j.add(async()=>{try{await at(M.default.dirname(s),{recursive:!0});let r=Buffer.from(t);i&&(r=E.default.gzipSync(r));let c=`${s}.${z.default.randomBytes(4).toString("hex")}.tmp`;await st(c,r),await Bt(c,s)}catch{}})}get(e){let t=this.entries.get(e);return!t||rt(e)!==t.mtime?null:t.data}set(e,t){this.entries.set(e,{data:t,mtime:rt(e)})}isValid(e){let t=this.entries.get(e);return t?rt(e)===t.mtime:!1}invalidate(e){this.entries.delete(e)}invalidateAll(){this.entries.clear()}pruneStale(e){for(let t of this.entries.keys())e.has(t)||this.entries.delete(t)}get size(){return this.entries.size}async flush(){await j.flush()}},X=class{index=new Map;memoryCache=new $t(Ne);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=M.default.resolve(t,Mt,`transform-${e}`),this.shardsDir=M.default.resolve(this.baseDir,Ae),this.indexPath=M.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&$.default.existsSync(this.indexPath))try{let e=$.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(e)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let e=JSON.stringify(Object.fromEntries(this.index)),t=this.indexPath;j.add(async()=>{await at(M.default.dirname(t),{recursive:!0}),await st(t,e)})}async getMany(e){let t=new Map,s=[];for(let i of e){let r=this.memoryCache.get(i);r?t.set(i,r):this.index.has(i)&&s.push(i)}if(s.length>0){let i=await Promise.all(s.map(async r=>{let c=this.index.get(r),p=M.default.resolve(this.shardsDir,`${c}.gz`);try{let n=await Ee(p),l=E.default.gunzipSync(n).toString("utf-8");return this.memoryCache.set(r,l),{key:r,val:l}}catch{return null}}));for(let r of i)r&&t.set(r.key,r.val)}return t}get(e){let t=this.memoryCache.get(e);if(t)return t;let s=this.index.get(e);if(!s)return null;let i=M.default.resolve(this.shardsDir,`${s}.gz`);if(!$.default.existsSync(i))return null;try{let r=$.default.readFileSync(i),c=E.default.gunzipSync(r).toString("utf-8");return this.memoryCache.set(e,c),c}catch{return null}}set(e,t){let s=z.default.createHash("md5").update(t).digest("hex");this.index.set(e,s),this.memoryCache.set(e,t);let i=M.default.resolve(this.shardsDir,`${s}.gz`);j.add(async()=>{if($.default.existsSync(i))return;await at(this.shardsDir,{recursive:!0});let r=E.default.gzipSync(Buffer.from(t)),c=`${i}.${z.default.randomBytes(4).toString("hex")}.tmp`;await st(c,r),await Bt(c,i)})}get size(){return this.index.size}async flush(){await j.flush()}},Dt=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=M.default.resolve(e,Mt,ze)}getFileHash(e){return z.default.createHash("md5").update($.default.readFileSync(e)).digest("hex")}get(e,t){if(!$.default.existsSync(e))return null;let s=this.getFileHash(e),i=this.getCachedPath(e,`${t}-${s}`);return $.default.existsSync(i)?i:null}set(e,t,s){let i=this.getFileHash(e),r=this.getCachedPath(e,`${t}-${i}`);j.add(async()=>{await at(this.assetsDir,{recursive:!0});let c=`${r}.${z.default.randomBytes(4).toString("hex")}.tmp`;await st(c,s),await Bt(c,r)})}getCachedPath(e,t){let s=M.default.extname(e),i=M.default.basename(e,s),r=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return M.default.join(this.assetsDir,`${i}.${r}${s}`)}clear(){$.default.existsSync(this.assetsDir)&&$.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await j.flush()}}});var Ze={};Et(Ze,{createViteConfig:()=>Xe,default:()=>jt,defineConfig:()=>Qt,generateStaticPages:()=>pt,resolveConfig:()=>H});module.exports=He(Ze);u();var De=v(require("@vitejs/plugin-react")),Be=v(require("@tailwindcss/vite"));u();var ce=require("vite");u();var Kt=v(require("fast-glob"));F();u();Z();var I=new K({name:"routes"});function kt(){I.invalidateAll()}function _t(o){I.invalidate(o)}u();var N=v(require("path")),Vt=v(require("github-slugger"));F();function Wt(o,e,t,s){let i=decodeURIComponent(o),r=N.default.resolve(i),c=N.default.resolve(e),p=k(N.default.relative(c,r));if(p.startsWith("../")||p===".."||r.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:n,content:l}=Gt(o),d=p.split("/"),g,b;if(s?.versions&&d.length>0){let R=d[0],ht=s.versions.prefix||"",ot=s.versions.versions.find(V=>{let yt=ht+V.path;return R===yt||R===V.path});ot&&(b=ot.path,d=d.slice(1))}if(s?.i18n&&d.length>0){let R=d[0];s.i18n.locales[R]&&(g=R,d=d.slice(1))}let C;if(d.length>0){let R=d[0].match(/^\((.+)\)$/);R&&(C=R[1].toLowerCase(),d=d.slice(1))}let w=d.join("/"),m;n.permalink?m=n.permalink.startsWith("/")?n.permalink:`/${n.permalink}`:m=Ut(w||"index.md");let a=t;b&&(a+="/"+b),g&&(a+="/"+g),C&&(a+="/"+C),a+=m==="/"?"":m,(!a||a==="")&&(a="/");let y=d[d.length-1],f=W(y),x=W(N.default.basename(o,N.default.extname(o))),S=n.sidebarPosition??nt(y),h=d.length>=2?d[0]:void 0,B=h?W(h):void 0,D=d.length>=2&&/^index\.mdx?$/.test(f),et=new Vt.default,Ht=[],Me=/^(#{2,4})\s+(.+)$/gm;for(let R of l.matchAll(Me)){let ht=R[1].length,ot=R[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),V=q(ot).trim(),yt=et.slug(V);Ht.push({level:ht,text:V,id:yt})}let Re=n.title?q(String(n.title)):x,ft=n.description?q(String(n.description)):"";!ft&&l&&(ft=wt(l.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let ke=n.badge?q(String(n.badge)):void 0,Lt=n.icon?String(n.icon):void 0,_e=Ve(l);return{route:{path:a,componentPath:o,filePath:p,title:Re,description:ft,sidebarPosition:S,headings:Ht,locale:g,version:b,badge:ke,icon:Lt,tab:C,_content:_e,_rawContent:l},relativeDir:B,isGroupIndex:D,inferredTab:C,groupMeta:D?{title:n.groupTitle||n.title||(B?J(B):""),position:n.groupPosition??n.sidebarPosition??(h?nt(h):void 0),icon:Lt}:void 0,inferredGroupPosition:h?nt(h):void 0}}function Ve(o){let e=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return wt(e).trim()}u();function Jt(o){return o.sort((e,t)=>!e.group&&!t.group?qt(e,t):e.group?t.group?e.group!==t.group?We(e,t):qt(e,t):1:-1)}function qt(o,e){return o.sidebarPosition!==void 0&&e.sidebarPosition!==void 0?o.sidebarPosition-e.sidebarPosition:o.sidebarPosition!==void 0?-1:e.sidebarPosition!==void 0?1:o.title.localeCompare(e.title)}function We(o,e){return o.groupPosition!==void 0&&e.groupPosition!==void 0?o.groupPosition-e.groupPosition:o.groupPosition!==void 0?-1:e.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(e.groupTitle||e.group)}var Tt=null,Q=new Map;async function G(o,e,t="/docs",s=!0){let i=performance.now();I.load(),Q.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&I.invalidateAll();let r;!s&&Tt?r=Tt:(r=await(0,Kt.default)(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Tt=r),I.pruneStale(new Set(r));let c=50,p=[],n=0;for(let m=0;m<r.length;m+=c){let a=r.slice(m,m+c),y=await Promise.all(a.map(async f=>{let x=I.get(f);if(x)return n++,x;let S=Wt(f,o,t,e);return I.set(f,S),S}));p.push(...y),m+c<r.length&&await new Promise(f=>setImmediate(f))}I.save();let l=new Map,d=[];for(let m of p)if(m.isGroupIndex&&m.relativeDir&&d.push(m),m.relativeDir){let a=l.get(m.relativeDir);a?(a.position===void 0&&m.inferredGroupPosition!==void 0&&(a.position=m.inferredGroupPosition),!a.icon&&m.route.icon&&(a.icon=m.route.icon)):(a={title:J(m.relativeDir),position:m.inferredGroupPosition,icon:m.route.icon},l.set(m.relativeDir,a))}for(let m of d){let a=l.get(m.relativeDir);m.groupMeta&&(a.title=m.groupMeta.title,m.groupMeta.position!==void 0&&(a.position=m.groupMeta.position),m.groupMeta.icon&&(a.icon=m.groupMeta.icon))}let g=new Array(p.length);for(let m=0;m<p.length;m++){let a=p[m],y=a.relativeDir,f=y?l.get(y):void 0;g[m]={...a.route,group:y,groupTitle:f?.title||(y?J(y):void 0),groupPosition:f?.position,groupIcon:f?.icon}}let b=g;if(e?.i18n){let m=qe(g,e,t);b=[...g,...m]}let C=Jt(b),w=performance.now()-i;return console.log(`[boltdocs] Route generation: ${w.toFixed(2)}ms (${r.length} files, ${n} cache hits)`),C}function qe(o,e,t){let s=e.i18n.defaultLocale,i=Object.keys(e.i18n.locales),r=[],c=new Map,p=[];for(let n of o){let l=n.locale||s;c.has(l)||c.set(l,new Set),c.get(l).add(n.path),l===s&&p.push(n)}for(let n of i){let l=c.get(n)||new Set;for(let d of p){let g=Je(d.path,s,n,t,e);g!==d.path&&(l.has(g)||r.push({...d,path:g,locale:n}))}}return r}function Je(o,e,t,s,i){let r=`${o}:${t}`,c=Q.get(r);if(c)return c;let p=s;if(i?.versions){let g=i.versions.prefix||"";for(let b of i.versions.versions){let C=g+b.path;if(o.startsWith(`${s}/${C}`)){p+="/"+C;break}if(o.startsWith(`${s}/${b.path}`)){p+="/"+b.path;break}}}let n=o.substring(p.length),l=`/${e}`;if(n.startsWith(l+"/"))n="/"+t+"/"+n.substring(l.length+1);else if(n===l)n="/"+t;else if(n==="/"||n==="")n="/"+t;else{let g=n.startsWith("/")?"":"/";n="/"+t+g+n}let d=p+n;return Q.size>2e3&&Q.clear(),Q.set(r,d),d}var le=require("vite-plugin-image-optimizer");u();var ct=v(require("path")),Xt=v(require("fs")),Zt=require("vite");function Qt(o){return o}var lt=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function H(o,e=process.cwd()){let t=e,s={docsDir:ct.default.resolve(o),theme:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},i={};for(let n of lt){let l=ct.default.resolve(t,n);if(Xt.default.existsSync(l))try{let d=await(0,Zt.loadConfigFromFile)({command:"serve",mode:"development"},l,t);if(d){i=d.config;break}}catch(d){console.warn(`[boltdocs] Failed to load config from ${n}:`,d)}}let c={...{title:i.title,description:i.description,logo:i.logo,favicon:i.favicon,ogImage:i.ogImage,navbar:i.navbar,sidebar:i.sidebar,socialLinks:i.socialLinks,footer:i.footer,githubRepo:i.githubRepo,tabs:i.tabs,codeTheme:i.codeTheme,copyMarkdown:i.copyMarkdown,breadcrumbs:i.breadcrumbs,poweredBy:i.poweredBy,communityHelp:i.communityHelp,version:i.version,editLink:i.editLink},...i.theme||{}},p=Object.fromEntries(Object.entries(c).filter(([n,l])=>l!==void 0));return p.navbar&&(p.navbar=p.navbar.map(n=>({label:n.label||n.text||"",href:n.href||n.link||n.to||""}))),{docsDir:ct.default.resolve(o),homePage:i.homePage,theme:{...s.theme,...p},i18n:i.i18n,versions:i.versions,siteUrl:i.siteUrl,plugins:i.plugins||[],integrations:i.integrations,robots:i.robots,vite:i.vite}}u();var T=v(require("fs")),O=v(require("path"));F();var ie=require("url"),ne=require("module");u();F();function Yt(o,e){let t=L(e.title),s=L(e.description);return o.replace(/<title>.*?<\/title>/,`<title>${t}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${s}$2`)}u();F();function te(o,e){let t=e?.siteUrl?.replace(/\/$/,"")||"https://example.com",s=new Date().toISOString().split("T")[0],i=[{url:"/",priority:"1.0",changefreq:"daily"}];if(e?.i18n){let c=e.i18n.defaultLocale;for(let p of Object.keys(e.i18n.locales))p!==c&&i.push({url:`/${p}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
1
+ "use strict";var Zo=Object.create;var He=Object.defineProperty;var Qo=Object.getOwnPropertyDescriptor;var ei=Object.getOwnPropertyNames;var ti=Object.getPrototypeOf,ri=Object.prototype.hasOwnProperty;var ce=(r,e)=>()=>(r&&(e=r(r=0)),e);var P=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ir=(r,e)=>{for(var t in e)He(r,t,{get:e[t],enumerable:!0})},nr=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ei(e))!ri.call(r,s)&&s!==t&&He(r,s,{get:()=>e[s],enumerable:!(o=Qo(e,s))||o.enumerable});return r};var I=(r,e,t)=>(t=r!=null?Zo(ti(r)):{},nr(e||!r||!r.__esModule?He(t,"default",{value:r,enumerable:!0}):t,r)),si=r=>nr(He({},"__esModule",{value:!0}),r);var oi,m,a=ce(()=>{"use strict";oi=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,m=oi()});var ar,cr=ce(()=>{"use strict";a();ar=/^[a-zA-Z0-9\-_\/\.\(\)]+$/});var V,lr,ur=ce(()=>{"use strict";a();V=require("zod"),lr=V.z.object({title:V.z.string().max(200).optional(),description:V.z.string().max(500).optional(),sidebarPosition:V.z.number().optional(),sidebarLabel:V.z.string().max(100).optional(),category:V.z.string().max(50).optional(),order:V.z.number().optional(),badge:V.z.string().max(50).optional(),icon:V.z.string().max(50).optional()})});var ye,Ee,Ge,re,Ue=ce(()=>{"use strict";a();ye=class r extends Error{constructor(e){super(e),this.name="SecurityViolationError",Object.setPrototypeOf(this,r.prototype)}},Ee=class r extends ye{constructor(e){super(e),this.name="PathTraversalError",Object.setPrototypeOf(this,r.prototype)}},Ge=class r extends ye{constructor(e){super(e),this.name="EncodingSecurityError",Object.setPrototypeOf(this,r.prototype)}},re=class r extends ye{constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,r.prototype)}}});function G(r){return r.replace(/\\/g,"/")}function $e(r){return r.replace(/^\d+\./,"")}function ze(r){let e=r.match(/^(\d+)\./);return e?parseInt(e[1],10):void 0}function dr(r){return/\.mdx?$/.test(r)}function Xe(r){try{return $t.default.statSync(r).mtimeMs}catch{return 0}}function fr(r){let e=$t.default.readFileSync(r,"utf-8");try{let{data:t,content:o,matter:s}=(0,pr.default)(e);if(s&&s.length>10240)throw be("FRONTMATTER_TOO_LARGE","Frontmatter block exceeds size limit",{size:s.length,file:r}),new re(`Security breach: Frontmatter size exceeds limit of ${10240} bytes`);let i=lr.safeParse(t);i.success||console.warn(`[VALIDATION][${r}] Invalid frontmatter fields detected.`);let u={...i.success?i.data:{}};return u.title&&(u.title=xe(u.title).trim()),u.description&&(u.description=xe(u.description).trim()),{data:u,content:o}}catch(t){if(t instanceof re)throw t;return{data:{},content:e}}}function se(r){return r.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Pt(r){return se(r)}function mr(r){let t=r.split("/").map(o=>$e(ni(o))).join("/").replace(/\/$/,"");return t=t.replace(/\.mdx?$/,""),(t==="index"||t.endsWith("/index"))&&(t=t.replace(/index$/,"")),t.startsWith("/")||(t="/"+t),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}function Pe(r){return Ve.default.sanitize(r,{ALLOWED_TAGS:["b","i","em","strong","a","p","br","code","pre","span","div","h1","h2","h3","h4","h5","h6","ul","ol","li","table","thead","tbody","tr","th","td","blockquote","hr"],ALLOWED_ATTR:["href","title","target","class","id","src","alt","width","height"],FORCE_BODY:!0})}function xe(r){return Ve.default.sanitize(r,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function ve(r){return r.charAt(0).toUpperCase()+r.slice(1)}function vt(r,e){return r?typeof r=="string"?r:e&&r[e]?r[e]:Object.values(r)[0]||"":""}function ni(r){return r.replace(/[^a-zA-Z0-9\-_\/\.]/g,"").split("/").filter(e=>e!==".."&&e!==".").map(e=>e.replace(/\.\.+/g,".")).join("/")}function be(r,e,t={}){let o=new Date().toISOString(),s={...t};for(let i in s)typeof s[i]=="string"&&s[i].includes(":")&&(s[i]=s[i].split(/[\\/]/).pop()||s[i]);console.error(`[SECURITY][${o}] TYPE: ${r} | MESSAGE: ${e} | DETAILS: ${JSON.stringify(s)}`)}var $t,pr,Ve,K=ce(()=>{"use strict";a();$t=I(require("fs")),pr=I(require("gray-matter")),Ve=I(require("isomorphic-dompurify"));ur();Ue();Ve.default.addHook("afterSanitizeAttributes",r=>{if(r.hasAttribute("href")){let e=r.getAttribute("href")?.toLowerCase()||"";(e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&r.removeAttribute("href")}if(r.hasAttribute("src")){let e=r.getAttribute("src")?.toLowerCase()||"";(e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&r.removeAttribute("src")}})});var It={};ir(It,{AssetCache:()=>Rt,FileCache:()=>Se,TransformCache:()=>Re,flushCache:()=>di});async function di(){await ee.flush()}var N,q,ue,le,pe,We,ai,Ye,wt,Fc,Ct,ci,li,ui,pi,bt,St,ee,Se,Re,Rt,we=ce(()=>{"use strict";a();N=I(require("fs")),q=I(require("path")),ue=I(require("crypto")),le=I(require("zlib")),pe=require("util");K();We=(0,pe.promisify)(N.default.writeFile),ai=(0,pe.promisify)(N.default.readFile),Ye=(0,pe.promisify)(N.default.mkdir),wt=(0,pe.promisify)(N.default.rename),Fc=(0,pe.promisify)(N.default.unlink),Ct=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",ci="assets",li="shards",ui=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),pi=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",bt=class{constructor(e){this.limit=e}cache=new Map;get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.limit){let o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}this.cache.set(e,t)}get size(){return this.cache.size}clear(){this.cache.clear()}},St=class{queue=Promise.resolve();pendingCount=0;add(e){this.pendingCount++,this.queue=this.queue.then(e).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},ee=new St,Se=class{entries=new Map;cachePath=null;compress;constructor(e={}){if(this.compress=e.compress!==void 0?e.compress:pi,e.name){let t=e.root||process.cwd(),o=this.compress?"json.gz":"json";this.cachePath=q.default.resolve(t,Ct,`${e.name}.${o}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!N.default.existsSync(this.cachePath)))try{let e=N.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(e=le.default.gunzipSync(e));let t=JSON.parse(e.toString("utf-8"));this.entries=new Map(Object.entries(t))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let e=Object.fromEntries(this.entries),t=JSON.stringify(e),o=this.cachePath,s=this.compress;ee.add(async()=>{try{await Ye(q.default.dirname(o),{recursive:!0});let i=Buffer.from(t);s&&(i=le.default.gzipSync(i));let n=`${o}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,i),await wt(n,o)}catch{}})}get(e){let t=this.entries.get(e);return!t||Xe(e)!==t.mtime?null:t.data}set(e,t){this.entries.set(e,{data:t,mtime:Xe(e)})}isValid(e){let t=this.entries.get(e);return t?Xe(e)===t.mtime:!1}invalidate(e){this.entries.delete(e)}invalidateAll(){this.entries.clear()}pruneStale(e){for(let t of this.entries.keys())e.has(t)||this.entries.delete(t)}get size(){return this.entries.size}async flush(){await ee.flush()}},Re=class{index=new Map;memoryCache=new bt(ui);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=q.default.resolve(t,Ct,`transform-${e}`),this.shardsDir=q.default.resolve(this.baseDir,li),this.indexPath=q.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&N.default.existsSync(this.indexPath))try{let e=N.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(e)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let e=JSON.stringify(Object.fromEntries(this.index)),t=this.indexPath;ee.add(async()=>{await Ye(q.default.dirname(t),{recursive:!0}),await We(t,e)})}async getMany(e){let t=new Map,o=[];for(let s of e){let i=this.memoryCache.get(s);i?t.set(s,i):this.index.has(s)&&o.push(s)}if(o.length>0){let s=await Promise.all(o.map(async i=>{let n=this.index.get(i),u=q.default.resolve(this.shardsDir,`${n}.gz`);try{let p=await ai(u),c=le.default.gunzipSync(p).toString("utf-8");return this.memoryCache.set(i,c),{key:i,val:c}}catch{return null}}));for(let i of s)i&&t.set(i.key,i.val)}return t}get(e){let t=this.memoryCache.get(e);if(t)return t;let o=this.index.get(e);if(!o)return null;let s=q.default.resolve(this.shardsDir,`${o}.gz`);if(!N.default.existsSync(s))return null;try{let i=N.default.readFileSync(s),n=le.default.gunzipSync(i).toString("utf-8");return this.memoryCache.set(e,n),n}catch{return null}}set(e,t){let o=ue.default.createHash("md5").update(t).digest("hex");this.index.set(e,o),this.memoryCache.set(e,t);let s=q.default.resolve(this.shardsDir,`${o}.gz`);ee.add(async()=>{if(N.default.existsSync(s))return;await Ye(this.shardsDir,{recursive:!0});let i=le.default.gzipSync(Buffer.from(t)),n=`${s}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,i),await wt(n,s)})}get size(){return this.index.size}async flush(){await ee.flush()}},Rt=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=q.default.resolve(e,Ct,ci)}getFileHash(e){return ue.default.createHash("md5").update(N.default.readFileSync(e)).digest("hex")}get(e,t){if(!N.default.existsSync(e))return null;let o=this.getFileHash(e),s=this.getCachedPath(e,`${t}-${o}`);return N.default.existsSync(s)?s:null}set(e,t,o){let s=this.getFileHash(e),i=this.getCachedPath(e,`${t}-${s}`);ee.add(async()=>{await Ye(this.assetsDir,{recursive:!0});let n=`${i}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,o),await wt(n,i)})}getCachedPath(e,t){let o=q.default.extname(e),s=q.default.basename(e,o),i=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return q.default.join(this.assetsDir,`${s}.${i}${o}`)}clear(){N.default.existsSync(this.assetsDir)&&N.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await ee.flush()}}});var Ae=P((Fl,Dr)=>{"use strict";a();var Ci="2.0.0",Ii=Number.MAX_SAFE_INTEGER||9007199254740991,Oi=16,Ti=250,Li=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Dr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Oi,MAX_SAFE_BUILD_LENGTH:Ti,MAX_SAFE_INTEGER:Ii,RELEASE_TYPES:Li,SEMVER_SPEC_VERSION:Ci,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ne=P((Hl,jr)=>{"use strict";a();var Ai=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};jr.exports=Ai});var me=P((W,kr)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:jt,MAX_SAFE_BUILD_LENGTH:Ni,MAX_LENGTH:Di}=Ae(),ji=Ne();W=kr.exports={};var ki=W.re=[],Bi=W.safeRe=[],h=W.src=[],qi=W.safeSrc=[],y=W.t={},_i=0,kt="[a-zA-Z0-9-]",Fi=[["\\s",1],["\\d",Di],[kt,Ni]],Mi=r=>{for(let[e,t]of Fi)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},v=(r,e,t)=>{let o=Mi(e),s=_i++;ji(r,s,e),y[r]=s,h[s]=e,qi[s]=o,ki[s]=new RegExp(e,t?"g":void 0),Bi[s]=new RegExp(o,t?"g":void 0)};v("NUMERICIDENTIFIER","0|[1-9]\\d*");v("NUMERICIDENTIFIERLOOSE","\\d+");v("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${kt}*`);v("MAINVERSION",`(${h[y.NUMERICIDENTIFIER]})\\.(${h[y.NUMERICIDENTIFIER]})\\.(${h[y.NUMERICIDENTIFIER]})`);v("MAINVERSIONLOOSE",`(${h[y.NUMERICIDENTIFIERLOOSE]})\\.(${h[y.NUMERICIDENTIFIERLOOSE]})\\.(${h[y.NUMERICIDENTIFIERLOOSE]})`);v("PRERELEASEIDENTIFIER",`(?:${h[y.NONNUMERICIDENTIFIER]}|${h[y.NUMERICIDENTIFIER]})`);v("PRERELEASEIDENTIFIERLOOSE",`(?:${h[y.NONNUMERICIDENTIFIER]}|${h[y.NUMERICIDENTIFIERLOOSE]})`);v("PRERELEASE",`(?:-(${h[y.PRERELEASEIDENTIFIER]}(?:\\.${h[y.PRERELEASEIDENTIFIER]})*))`);v("PRERELEASELOOSE",`(?:-?(${h[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${h[y.PRERELEASEIDENTIFIERLOOSE]})*))`);v("BUILDIDENTIFIER",`${kt}+`);v("BUILD",`(?:\\+(${h[y.BUILDIDENTIFIER]}(?:\\.${h[y.BUILDIDENTIFIER]})*))`);v("FULLPLAIN",`v?${h[y.MAINVERSION]}${h[y.PRERELEASE]}?${h[y.BUILD]}?`);v("FULL",`^${h[y.FULLPLAIN]}$`);v("LOOSEPLAIN",`[v=\\s]*${h[y.MAINVERSIONLOOSE]}${h[y.PRERELEASELOOSE]}?${h[y.BUILD]}?`);v("LOOSE",`^${h[y.LOOSEPLAIN]}$`);v("GTLT","((?:<|>)?=?)");v("XRANGEIDENTIFIERLOOSE",`${h[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);v("XRANGEIDENTIFIER",`${h[y.NUMERICIDENTIFIER]}|x|X|\\*`);v("XRANGEPLAIN",`[v=\\s]*(${h[y.XRANGEIDENTIFIER]})(?:\\.(${h[y.XRANGEIDENTIFIER]})(?:\\.(${h[y.XRANGEIDENTIFIER]})(?:${h[y.PRERELEASE]})?${h[y.BUILD]}?)?)?`);v("XRANGEPLAINLOOSE",`[v=\\s]*(${h[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${h[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${h[y.XRANGEIDENTIFIERLOOSE]})(?:${h[y.PRERELEASELOOSE]})?${h[y.BUILD]}?)?)?`);v("XRANGE",`^${h[y.GTLT]}\\s*${h[y.XRANGEPLAIN]}$`);v("XRANGELOOSE",`^${h[y.GTLT]}\\s*${h[y.XRANGEPLAINLOOSE]}$`);v("COERCEPLAIN",`(^|[^\\d])(\\d{1,${jt}})(?:\\.(\\d{1,${jt}}))?(?:\\.(\\d{1,${jt}}))?`);v("COERCE",`${h[y.COERCEPLAIN]}(?:$|[^\\d])`);v("COERCEFULL",h[y.COERCEPLAIN]+`(?:${h[y.PRERELEASE]})?(?:${h[y.BUILD]})?(?:$|[^\\d])`);v("COERCERTL",h[y.COERCE],!0);v("COERCERTLFULL",h[y.COERCEFULL],!0);v("LONETILDE","(?:~>?)");v("TILDETRIM",`(\\s*)${h[y.LONETILDE]}\\s+`,!0);W.tildeTrimReplace="$1~";v("TILDE",`^${h[y.LONETILDE]}${h[y.XRANGEPLAIN]}$`);v("TILDELOOSE",`^${h[y.LONETILDE]}${h[y.XRANGEPLAINLOOSE]}$`);v("LONECARET","(?:\\^)");v("CARETTRIM",`(\\s*)${h[y.LONECARET]}\\s+`,!0);W.caretTrimReplace="$1^";v("CARET",`^${h[y.LONECARET]}${h[y.XRANGEPLAIN]}$`);v("CARETLOOSE",`^${h[y.LONECARET]}${h[y.XRANGEPLAINLOOSE]}$`);v("COMPARATORLOOSE",`^${h[y.GTLT]}\\s*(${h[y.LOOSEPLAIN]})$|^$`);v("COMPARATOR",`^${h[y.GTLT]}\\s*(${h[y.FULLPLAIN]})$|^$`);v("COMPARATORTRIM",`(\\s*)${h[y.GTLT]}\\s*(${h[y.LOOSEPLAIN]}|${h[y.XRANGEPLAIN]})`,!0);W.comparatorTrimReplace="$1$2$3";v("HYPHENRANGE",`^\\s*(${h[y.XRANGEPLAIN]})\\s+-\\s+(${h[y.XRANGEPLAIN]})\\s*$`);v("HYPHENRANGELOOSE",`^\\s*(${h[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${h[y.XRANGEPLAINLOOSE]})\\s*$`);v("STAR","(<|>)?=?\\s*\\*");v("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");v("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var rt=P((Vl,Br)=>{"use strict";a();var Hi=Object.freeze({loose:!0}),Gi=Object.freeze({}),Ui=r=>r?typeof r!="object"?Hi:r:Gi;Br.exports=Ui});var Bt=P((Xl,Fr)=>{"use strict";a();var qr=/^[0-9]+$/,_r=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=qr.test(r),o=qr.test(e);return t&&o&&(r=+r,e=+e),r===e?0:t&&!o?-1:o&&!t?1:r<e?-1:1},Vi=(r,e)=>_r(e,r);Fr.exports={compareIdentifiers:_r,rcompareIdentifiers:Vi}});var D=P((Yl,Hr)=>{"use strict";a();var st=Ne(),{MAX_LENGTH:Mr,MAX_SAFE_INTEGER:ot}=Ae(),{safeRe:it,t:nt}=me(),zi=rt(),{compareIdentifiers:qt}=Bt(),_t=class r{constructor(e,t){if(t=zi(t),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Mr)throw new TypeError(`version is longer than ${Mr} characters`);st("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let o=e.trim().match(t.loose?it[nt.LOOSE]:it[nt.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>ot||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ot||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ot||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<ot)return i}return s}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(st("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let o=this.prerelease[t],s=e.prerelease[t];if(st("prerelease compare",t,o,s),o===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(o===void 0)return-1;if(o===s)continue;return qt(o,s)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let o=this.build[t],s=e.build[t];if(st("build compare",t,o,s),o===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(o===void 0)return-1;if(o===s)continue;return qt(o,s)}while(++t)}inc(e,t,o){if(e.startsWith("pre")){if(!t&&o===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?it[nt.PRERELEASELOOSE]:it[nt.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,o);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,o);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,o),this.inc("pre",t,o);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,o),this.inc("pre",t,o);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(o)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];o===!1&&(i=[t]),qt(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Hr.exports=_t});var ne=P((Jl,Ur)=>{"use strict";a();var Gr=D(),Xi=(r,e,t=!1)=>{if(r instanceof Gr)return r;try{return new Gr(r,e)}catch(o){if(!t)return null;throw o}};Ur.exports=Xi});var zr=P((Ql,Vr)=>{"use strict";a();var Wi=ne(),Yi=(r,e)=>{let t=Wi(r,e);return t?t.version:null};Vr.exports=Yi});var Wr=P((tu,Xr)=>{"use strict";a();var Ki=ne(),Ji=(r,e)=>{let t=Ki(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};Xr.exports=Ji});var Jr=P((su,Kr)=>{"use strict";a();var Yr=D(),Zi=(r,e,t,o,s)=>{typeof t=="string"&&(s=o,o=t,t=void 0);try{return new Yr(r instanceof Yr?r.version:r,t).inc(e,o,s).version}catch{return null}};Kr.exports=Zi});var es=P((iu,Qr)=>{"use strict";a();var Zr=ne(),Qi=(r,e)=>{let t=Zr(r,null,!0),o=Zr(e,null,!0),s=t.compare(o);if(s===0)return null;let i=s>0,n=i?t:o,u=i?o:t,p=!!n.prerelease.length;if(!!u.prerelease.length&&!p){if(!u.patch&&!u.minor)return"major";if(u.compareMain(n)===0)return u.minor&&!u.patch?"minor":"patch"}let f=p?"pre":"";return t.major!==o.major?f+"major":t.minor!==o.minor?f+"minor":t.patch!==o.patch?f+"patch":"prerelease"};Qr.exports=Qi});var rs=P((au,ts)=>{"use strict";a();var en=D(),tn=(r,e)=>new en(r,e).major;ts.exports=tn});var os=P((lu,ss)=>{"use strict";a();var rn=D(),sn=(r,e)=>new rn(r,e).minor;ss.exports=sn});var ns=P((pu,is)=>{"use strict";a();var on=D(),nn=(r,e)=>new on(r,e).patch;is.exports=nn});var cs=P((fu,as)=>{"use strict";a();var an=ne(),cn=(r,e)=>{let t=an(r,e);return t&&t.prerelease.length?t.prerelease:null};as.exports=cn});var F=P((gu,us)=>{"use strict";a();var ls=D(),ln=(r,e,t)=>new ls(r,t).compare(new ls(e,t));us.exports=ln});var ds=P((yu,ps)=>{"use strict";a();var un=F(),pn=(r,e,t)=>un(e,r,t);ps.exports=pn});var ms=P((xu,fs)=>{"use strict";a();var dn=F(),fn=(r,e)=>dn(r,e,!0);fs.exports=fn});var at=P((Pu,hs)=>{"use strict";a();var gs=D(),mn=(r,e,t)=>{let o=new gs(r,t),s=new gs(e,t);return o.compare(s)||o.compareBuild(s)};hs.exports=mn});var Es=P((bu,ys)=>{"use strict";a();var gn=at(),hn=(r,e)=>r.sort((t,o)=>gn(t,o,e));ys.exports=hn});var $s=P((Ru,xs)=>{"use strict";a();var yn=at(),En=(r,e)=>r.sort((t,o)=>yn(o,t,e));xs.exports=En});var De=P((Cu,Ps)=>{"use strict";a();var xn=F(),$n=(r,e,t)=>xn(r,e,t)>0;Ps.exports=$n});var ct=P((Ou,vs)=>{"use strict";a();var Pn=F(),vn=(r,e,t)=>Pn(r,e,t)<0;vs.exports=vn});var Ft=P((Lu,bs)=>{"use strict";a();var bn=F(),Sn=(r,e,t)=>bn(r,e,t)===0;bs.exports=Sn});var Mt=P((Nu,Ss)=>{"use strict";a();var Rn=F(),wn=(r,e,t)=>Rn(r,e,t)!==0;Ss.exports=wn});var lt=P((ju,Rs)=>{"use strict";a();var Cn=F(),In=(r,e,t)=>Cn(r,e,t)>=0;Rs.exports=In});var ut=P((Bu,ws)=>{"use strict";a();var On=F(),Tn=(r,e,t)=>On(r,e,t)<=0;ws.exports=Tn});var Ht=P((_u,Cs)=>{"use strict";a();var Ln=Ft(),An=Mt(),Nn=De(),Dn=lt(),jn=ct(),kn=ut(),Bn=(r,e,t,o)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Ln(r,t,o);case"!=":return An(r,t,o);case">":return Nn(r,t,o);case">=":return Dn(r,t,o);case"<":return jn(r,t,o);case"<=":return kn(r,t,o);default:throw new TypeError(`Invalid operator: ${e}`)}};Cs.exports=Bn});var Os=P((Mu,Is)=>{"use strict";a();var qn=D(),_n=ne(),{safeRe:pt,t:dt}=me(),Fn=(r,e)=>{if(r instanceof qn)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?pt[dt.COERCEFULL]:pt[dt.COERCE]);else{let p=e.includePrerelease?pt[dt.COERCERTLFULL]:pt[dt.COERCERTL],c;for(;(c=p.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||c.index+c[0].length!==t.index+t[0].length)&&(t=c),p.lastIndex=c.index+c[1].length+c[2].length;p.lastIndex=-1}if(t===null)return null;let o=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",u=e.includePrerelease&&t[6]?`+${t[6]}`:"";return _n(`${o}.${s}.${i}${n}${u}`,e)};Is.exports=Fn});var Ls=P((Gu,Ts)=>{"use strict";a();var Gt=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};Ts.exports=Gt});var M=P((Vu,js)=>{"use strict";a();var Mn=/\s+/g,Ut=class r{constructor(e,t){if(t=Gn(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof Vt)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(Mn," "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(s=>!Ns(s[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&Kn(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let o=0;o<t.length;o++)o>0&&(this.formatted+=" "),this.formatted+=t[o].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&Wn)|(this.options.loose&&Yn))+":"+e,s=As.get(o);if(s)return s;let i=this.options.loose,n=i?k[j.HYPHENRANGELOOSE]:k[j.HYPHENRANGE];e=e.replace(n,na(this.options.includePrerelease)),O("hyphen replace",e),e=e.replace(k[j.COMPARATORTRIM],Vn),O("comparator trim",e),e=e.replace(k[j.TILDETRIM],zn),O("tilde trim",e),e=e.replace(k[j.CARETTRIM],Xn),O("caret trim",e);let u=e.split(" ").map(d=>Jn(d,this.options)).join(" ").split(/\s+/).map(d=>ia(d,this.options));i&&(u=u.filter(d=>(O("loose invalid filter",d,this.options),!!d.match(k[j.COMPARATORLOOSE])))),O("range list",u);let p=new Map,c=u.map(d=>new Vt(d,this.options));for(let d of c){if(Ns(d))return[d];p.set(d.value,d)}p.size>1&&p.has("")&&p.delete("");let f=[...p.values()];return As.set(o,f),f}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(o=>Ds(o,t)&&e.set.some(s=>Ds(s,t)&&o.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Un(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(aa(this.set[t],e,this.options))return!0;return!1}};js.exports=Ut;var Hn=Ls(),As=new Hn,Gn=rt(),Vt=je(),O=Ne(),Un=D(),{safeRe:k,t:j,comparatorTrimReplace:Vn,tildeTrimReplace:zn,caretTrimReplace:Xn}=me(),{FLAG_INCLUDE_PRERELEASE:Wn,FLAG_LOOSE:Yn}=Ae(),Ns=r=>r.value==="<0.0.0-0",Kn=r=>r.value==="",Ds=(r,e)=>{let t=!0,o=r.slice(),s=o.pop();for(;t&&o.length;)t=o.every(i=>s.intersects(i,e)),s=o.pop();return t},Jn=(r,e)=>(r=r.replace(k[j.BUILD],""),O("comp",r,e),r=ea(r,e),O("caret",r),r=Zn(r,e),O("tildes",r),r=ra(r,e),O("xrange",r),r=oa(r,e),O("stars",r),r),B=r=>!r||r.toLowerCase()==="x"||r==="*",Zn=(r,e)=>r.trim().split(/\s+/).map(t=>Qn(t,e)).join(" "),Qn=(r,e)=>{let t=e.loose?k[j.TILDELOOSE]:k[j.TILDE];return r.replace(t,(o,s,i,n,u)=>{O("tilde",r,o,s,i,n,u);let p;return B(s)?p="":B(i)?p=`>=${s}.0.0 <${+s+1}.0.0-0`:B(n)?p=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:u?(O("replaceTilde pr",u),p=`>=${s}.${i}.${n}-${u} <${s}.${+i+1}.0-0`):p=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,O("tilde return",p),p})},ea=(r,e)=>r.trim().split(/\s+/).map(t=>ta(t,e)).join(" "),ta=(r,e)=>{O("caret",r,e);let t=e.loose?k[j.CARETLOOSE]:k[j.CARET],o=e.includePrerelease?"-0":"";return r.replace(t,(s,i,n,u,p)=>{O("caret",r,s,i,n,u,p);let c;return B(i)?c="":B(n)?c=`>=${i}.0.0${o} <${+i+1}.0.0-0`:B(u)?i==="0"?c=`>=${i}.${n}.0${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.0${o} <${+i+1}.0.0-0`:p?(O("replaceCaret pr",p),i==="0"?n==="0"?c=`>=${i}.${n}.${u}-${p} <${i}.${n}.${+u+1}-0`:c=`>=${i}.${n}.${u}-${p} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${u}-${p} <${+i+1}.0.0-0`):(O("no pr"),i==="0"?n==="0"?c=`>=${i}.${n}.${u}${o} <${i}.${n}.${+u+1}-0`:c=`>=${i}.${n}.${u}${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${u} <${+i+1}.0.0-0`),O("caret return",c),c})},ra=(r,e)=>(O("replaceXRanges",r,e),r.split(/\s+/).map(t=>sa(t,e)).join(" ")),sa=(r,e)=>{r=r.trim();let t=e.loose?k[j.XRANGELOOSE]:k[j.XRANGE];return r.replace(t,(o,s,i,n,u,p)=>{O("xRange",r,o,s,i,n,u,p);let c=B(i),f=c||B(n),d=f||B(u),E=d;return s==="="&&E&&(s=""),p=e.includePrerelease?"-0":"",c?s===">"||s==="<"?o="<0.0.0-0":o="*":s&&E?(f&&(n=0),u=0,s===">"?(s=">=",f?(i=+i+1,n=0,u=0):(n=+n+1,u=0)):s==="<="&&(s="<",f?i=+i+1:n=+n+1),s==="<"&&(p="-0"),o=`${s+i}.${n}.${u}${p}`):f?o=`>=${i}.0.0${p} <${+i+1}.0.0-0`:d&&(o=`>=${i}.${n}.0${p} <${i}.${+n+1}.0-0`),O("xRange return",o),o})},oa=(r,e)=>(O("replaceStars",r,e),r.trim().replace(k[j.STAR],"")),ia=(r,e)=>(O("replaceGTE0",r,e),r.trim().replace(k[e.includePrerelease?j.GTE0PRE:j.GTE0],"")),na=r=>(e,t,o,s,i,n,u,p,c,f,d,E)=>(B(o)?t="":B(s)?t=`>=${o}.0.0${r?"-0":""}`:B(i)?t=`>=${o}.${s}.0${r?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,B(c)?p="":B(f)?p=`<${+c+1}.0.0-0`:B(d)?p=`<${c}.${+f+1}.0-0`:E?p=`<=${c}.${f}.${d}-${E}`:r?p=`<${c}.${f}.${+d+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),aa=(r,e,t)=>{for(let o=0;o<r.length;o++)if(!r[o].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let o=0;o<r.length;o++)if(O(r[o].semver),r[o].semver!==Vt.ANY&&r[o].semver.prerelease.length>0){let s=r[o].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var je=P((Xu,Ms)=>{"use strict";a();var ke=Symbol("SemVer ANY"),Wt=class r{static get ANY(){return ke}constructor(e,t){if(t=ks(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Xt("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ke?this.value="":this.value=this.operator+this.semver.version,Xt("comp",this)}parse(e){let t=this.options.loose?Bs[qs.COMPARATORLOOSE]:Bs[qs.COMPARATOR],o=e.match(t);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new _s(o[2],this.options.loose):this.semver=ke}toString(){return this.value}test(e){if(Xt("Comparator.test",e,this.options.loose),this.semver===ke||e===ke)return!0;if(typeof e=="string")try{e=new _s(e,this.options)}catch{return!1}return zt(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Fs(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Fs(this.value,t).test(e.semver):(t=ks(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||zt(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||zt(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ms.exports=Wt;var ks=rt(),{safeRe:Bs,t:qs}=me(),zt=Ht(),Xt=Ne(),_s=D(),Fs=M()});var Be=P((Yu,Hs)=>{"use strict";a();var ca=M(),la=(r,e,t)=>{try{e=new ca(e,t)}catch{return!1}return e.test(r)};Hs.exports=la});var Us=P((Ju,Gs)=>{"use strict";a();var ua=M(),pa=(r,e)=>new ua(r,e).set.map(t=>t.map(o=>o.value).join(" ").trim().split(" "));Gs.exports=pa});var zs=P((Qu,Vs)=>{"use strict";a();var da=D(),fa=M(),ma=(r,e,t)=>{let o=null,s=null,i=null;try{i=new fa(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===-1)&&(o=n,s=new da(o,t))}),o};Vs.exports=ma});var Ws=P((tp,Xs)=>{"use strict";a();var ga=D(),ha=M(),ya=(r,e,t)=>{let o=null,s=null,i=null;try{i=new ha(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===1)&&(o=n,s=new ga(o,t))}),o};Xs.exports=ya});var Js=P((sp,Ks)=>{"use strict";a();var Yt=D(),Ea=M(),Ys=De(),xa=(r,e)=>{r=new Ea(r,e);let t=new Yt("0.0.0");if(r.test(t)||(t=new Yt("0.0.0-0"),r.test(t)))return t;t=null;for(let o=0;o<r.set.length;++o){let s=r.set[o],i=null;s.forEach(n=>{let u=new Yt(n.semver.version);switch(n.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!i||Ys(u,i))&&(i=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||Ys(t,i))&&(t=i)}return t&&r.test(t)?t:null};Ks.exports=xa});var Qs=P((ip,Zs)=>{"use strict";a();var $a=M(),Pa=(r,e)=>{try{return new $a(r,e).range||"*"}catch{return null}};Zs.exports=Pa});var ft=P((ap,so)=>{"use strict";a();var va=D(),ro=je(),{ANY:ba}=ro,Sa=M(),Ra=Be(),eo=De(),to=ct(),wa=ut(),Ca=lt(),Ia=(r,e,t,o)=>{r=new va(r,o),e=new Sa(e,o);let s,i,n,u,p;switch(t){case">":s=eo,i=wa,n=to,u=">",p=">=";break;case"<":s=to,i=Ca,n=eo,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ra(r,e,o))return!1;for(let c=0;c<e.set.length;++c){let f=e.set[c],d=null,E=null;if(f.forEach(g=>{g.semver===ba&&(g=new ro(">=0.0.0")),d=d||g,E=E||g,s(g.semver,d.semver,o)?d=g:n(g.semver,E.semver,o)&&(E=g)}),d.operator===u||d.operator===p||(!E.operator||E.operator===u)&&i(r,E.semver))return!1;if(E.operator===p&&n(r,E.semver))return!1}return!0};so.exports=Ia});var io=P((lp,oo)=>{"use strict";a();var Oa=ft(),Ta=(r,e,t)=>Oa(r,e,">",t);oo.exports=Ta});var ao=P((pp,no)=>{"use strict";a();var La=ft(),Aa=(r,e,t)=>La(r,e,"<",t);no.exports=Aa});var uo=P((fp,lo)=>{"use strict";a();var co=M(),Na=(r,e,t)=>(r=new co(r,t),e=new co(e,t),r.intersects(e,t));lo.exports=Na});var fo=P((gp,po)=>{"use strict";a();var Da=Be(),ja=F();po.exports=(r,e,t)=>{let o=[],s=null,i=null,n=r.sort((f,d)=>ja(f,d,t));for(let f of n)Da(f,e,t)?(i=f,s||(s=f)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);let u=[];for(let[f,d]of o)f===d?u.push(f):!d&&f===n[0]?u.push("*"):d?f===n[0]?u.push(`<=${d}`):u.push(`${f} - ${d}`):u.push(`>=${f}`);let p=u.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var xo=P((yp,Eo)=>{"use strict";a();var mo=M(),Jt=je(),{ANY:Kt}=Jt,qe=Be(),Zt=F(),ka=(r,e,t={})=>{if(r===e)return!0;r=new mo(r,t),e=new mo(e,t);let o=!1;e:for(let s of r.set){for(let i of e.set){let n=qa(s,i,t);if(o=o||n!==null,n)continue e}if(o)return!1}return!0},Ba=[new Jt(">=0.0.0-0")],go=[new Jt(">=0.0.0")],qa=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===Kt){if(e.length===1&&e[0].semver===Kt)return!0;t.includePrerelease?r=Ba:r=go}if(e.length===1&&e[0].semver===Kt){if(t.includePrerelease)return!0;e=go}let o=new Set,s,i;for(let g of r)g.operator===">"||g.operator===">="?s=ho(s,g,t):g.operator==="<"||g.operator==="<="?i=yo(i,g,t):o.add(g.semver);if(o.size>1)return null;let n;if(s&&i){if(n=Zt(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let g of o){if(s&&!qe(g,String(s),t)||i&&!qe(g,String(i),t))return null;for(let C of e)if(!qe(g,String(C),t))return!1;return!0}let u,p,c,f,d=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let g of e){if(f=f||g.operator===">"||g.operator===">=",c=c||g.operator==="<"||g.operator==="<=",s){if(E&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===E.major&&g.semver.minor===E.minor&&g.semver.patch===E.patch&&(E=!1),g.operator===">"||g.operator===">="){if(u=ho(s,g,t),u===g&&u!==s)return!1}else if(s.operator===">="&&!qe(s.semver,String(g),t))return!1}if(i){if(d&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===d.major&&g.semver.minor===d.minor&&g.semver.patch===d.patch&&(d=!1),g.operator==="<"||g.operator==="<="){if(p=yo(i,g,t),p===g&&p!==i)return!1}else if(i.operator==="<="&&!qe(i.semver,String(g),t))return!1}if(!g.operator&&(i||s)&&n!==0)return!1}return!(s&&c&&!i&&n!==0||i&&f&&!s&&n!==0||E||d)},ho=(r,e,t)=>{if(!r)return e;let o=Zt(r.semver,e.semver,t);return o>0?r:o<0||e.operator===">"&&r.operator===">="?e:r},yo=(r,e,t)=>{if(!r)return e;let o=Zt(r.semver,e.semver,t);return o<0?r:o>0||e.operator==="<"&&r.operator==="<="?e:r};Eo.exports=ka});var bo=P((xp,vo)=>{"use strict";a();var Qt=me(),$o=Ae(),_a=D(),Po=Bt(),Fa=ne(),Ma=zr(),Ha=Wr(),Ga=Jr(),Ua=es(),Va=rs(),za=os(),Xa=ns(),Wa=cs(),Ya=F(),Ka=ds(),Ja=ms(),Za=at(),Qa=Es(),ec=$s(),tc=De(),rc=ct(),sc=Ft(),oc=Mt(),ic=lt(),nc=ut(),ac=Ht(),cc=Os(),lc=je(),uc=M(),pc=Be(),dc=Us(),fc=zs(),mc=Ws(),gc=Js(),hc=Qs(),yc=ft(),Ec=io(),xc=ao(),$c=uo(),Pc=fo(),vc=xo();vo.exports={parse:Fa,valid:Ma,clean:Ha,inc:Ga,diff:Ua,major:Va,minor:za,patch:Xa,prerelease:Wa,compare:Ya,rcompare:Ka,compareLoose:Ja,compareBuild:Za,sort:Qa,rsort:ec,gt:tc,lt:rc,eq:sc,neq:oc,gte:ic,lte:nc,cmp:ac,coerce:cc,Comparator:lc,Range:uc,satisfies:pc,toComparators:dc,maxSatisfying:fc,minSatisfying:mc,minVersion:gc,validRange:hc,outside:yc,gtr:Ec,ltr:xc,intersects:$c,simplifyRange:Pc,subset:vc,SemVer:_a,re:Qt.re,src:Qt.src,tokens:Qt.t,SEMVER_SPEC_VERSION:$o.SEMVER_SPEC_VERSION,RELEASE_TYPES:$o.RELEASE_TYPES,compareIdentifiers:Po.compareIdentifiers,rcompareIdentifiers:Po.rcompareIdentifiers}});var Co=P((Hp,Sc)=>{Sc.exports={name:"boltdocs",version:"2.5.0",description:"A lightweight documentation generator for React projects.",main:"dist/node/index.js",module:"dist/node/index.mjs",types:"dist/node/index.d.ts",bin:{boltdocs:"bin/boltdocs.js"},publishConfig:{access:"public"},type:"commonjs",sideEffects:["**/*.css"],exports:{".":{types:"./dist/node/index.d.ts",import:"./dist/node/index.mjs",require:"./dist/node/index.js"},"./client":{types:"./dist/client/index.d.ts",import:"./dist/client/index.mjs",require:"./dist/client/index.js"},"./ssr":{types:"./dist/client/ssr.d.ts",import:"./dist/client/ssr.mjs",require:"./dist/client/ssr.js"},"./theme/neutral.css":"./src/client/theme/neutral.css"},scripts:{build:"tsup",dev:"tsup --watch",format:"pnpm exec biome format --write",lint:"pnpm exec biome lint --write",check:"pnpm exec biome check --write"},keywords:["docs","documentation","static site generator","ssg","markdown","mdx","react","vite","typescript"],author:"Jesus Alcala",license:"MIT",dependencies:{"@mdx-js/react":"3.1.1","@mdx-js/rollup":"3.1.1","@tailwindcss/vite":"4.2.2","@vitejs/plugin-react":"4.2.1",cac:"7.0.0","class-variance-authority":"0.7.1",clsx:"2.1.1",codesandbox:"2.2.3","fast-glob":"3.3.3",flexsearch:"0.8.212","github-slugger":"2.0.0","gray-matter":"4.0.3","isomorphic-dompurify":"3.7.1","lucide-react":"0.575.0","react-aria-components":"1.16.0","react-router-dom":"6.30.3","rehype-slug":"6.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.1","scroll-into-view-if-needed":"3.1.0",sharp:"0.34.5",shiki:"3.23.0",svgo:"4.0.1","tailwind-merge":"3.5.0","unist-util-visit":"5.1.0",vite:"7.3.1","vite-plugin-image-optimizer":"2.0.3",zod:"4.3.6",zustand:"5.0.12"},peerDependencies:{react:"19.1.0","react-dom":"19.1.0"},packageManager:"pnpm@10.30.2",devDependencies:{"@types/node":"25.3.2","@types/react":"19.2.14","@types/react-dom":"18.3.7","@types/react-router-dom":"5.3.3","@types/semver":"7.7.1",tsup:"8.5.1",typescript:"^5.9.3"}}});var wc={};ir(wc,{BoltdocsPluginStore:()=>Le,PluginCompatibilityError:()=>Oe,PluginError:()=>oe,PluginHookError:()=>Te,PluginLifecycleManager:()=>_e,PluginPermissionError:()=>fe,PluginSandbox:()=>Y,PluginValidationError:()=>ie,SecurePluginSchema:()=>wo,createPlugin:()=>bc,createViteConfig:()=>Rc,default:()=>rr,defineConfig:()=>Sr,generateStaticPages:()=>Qe,hasPermission:()=>ae,resolveConfig:()=>te,validatePlugins:()=>er});module.exports=si(wc);a();var zo=I(require("@vitejs/plugin-react")),Xo=I(require("@tailwindcss/vite"));a();var Io=require("vite");a();var $r=I(require("fast-glob"));K();a();we();var J=new Se({name:"routes"});function Ot(){J.invalidateAll()}function Tt(r){J.invalidate(r)}a();var Z=I(require("path")),hr=I(require("github-slugger"));K();cr();Ue();function yr(r,e,t,o){let s;try{s=decodeURIComponent(r)}catch{let L=Z.default.basename(r);throw be("ENCODING_ERROR","Invalid character encoding",{file:L}),new Ge(`Security breach: Invalid characters or encoding in path: ${L}`)}if(s.length>260){let L=Z.default.basename(s);throw be("PATH_TOO_LONG","Path length exceeds limit",{length:s.length,file:L}),new Ee(`Security breach: Path length exceeds limit of ${260} characters: ${L}`)}let i=Z.default.resolve(s),n=Z.default.resolve(e),u=G(Z.default.relative(n,i));if(u.startsWith("../")||u===".."||i.includes("\0")||!ar.test(u)){let L=Z.default.basename(r);throw be("PATH_TRAVERSAL_ATTEMPT","Path traversal or invalid characters detected",{path:u}),new Ee(`Security breach: File is outside of docs directory, contains null bytes, or invalid characters: ${L}`)}let{data:p,content:c}=fr(r),f=u.split("/"),d,E;if(o?.versions&&f.length>0){let L=f[0],Et=o.versions.prefix||"",Me=o.versions.versions.find(he=>{let xt=Et+he.path;return L===xt||L===he.path});Me&&(E=Me.path,f=f.slice(1))}if(o?.i18n&&f.length>0){let L=f[0];o.i18n.locales[L]&&(d=L,f=f.slice(1))}let g;if(f.length>0){let L=f[0].match(/^\((.+)\)$/);L&&(g=L[1].toLowerCase(),f=f.slice(1))}let C=f.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=mr(C||"index.md");let x=t;E&&(x+="/"+E),d&&(x+="/"+d),g&&(x+="/"+g),x+=$==="/"?"":$,(!x||x==="")&&(x="/");let b=f[f.length-1],R=$e(b),S=$e(Z.default.basename(r,Z.default.extname(r))),T=p.sidebarPosition??ze(b),A=f.length>=2?f[0]:void 0,w=A?$e(A):void 0,Q=f.length>=2&&/^index\.mdx?$/.test(R),_=new hr.default,sr=[],Wo=/^(#{2,4})\s+(.+)$/gm;for(let L of c.matchAll(Wo)){let Et=L[1].length,Me=L[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),he=Pe(Me).trim(),xt=_.slug(he);sr.push({level:Et,text:he,id:xt})}let Yo=p.title?Pe(String(p.title)):S,yt=p.description?Pe(String(p.description)):"";!yt&&c&&(yt=xe(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let Ko=p.badge?Pe(String(p.badge)):void 0,or=p.icon?String(p.icon):void 0,Jo=fi(c);return{route:{path:x,componentPath:r,filePath:u,title:Yo,description:yt,sidebarPosition:T,headings:sr,locale:d,version:E,badge:Ko,icon:or,tab:g,_content:Jo,_rawContent:c},relativeDir:w,isGroupIndex:Q,inferredTab:g,groupMeta:Q?{title:p.groupTitle||p.title||(w?ve(w):""),position:p.groupPosition??p.sidebarPosition??(A?ze(A):void 0),icon:or}:void 0,inferredGroupPosition:A?ze(A):void 0}}function fi(r){let e=r.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return xe(e).trim()}a();function xr(r){return r.sort((e,t)=>!e.group&&!t.group?Er(e,t):e.group?t.group?e.group!==t.group?mi(e,t):Er(e,t):1:-1)}function Er(r,e){return r.sidebarPosition!==void 0&&e.sidebarPosition!==void 0?r.sidebarPosition-e.sidebarPosition:r.sidebarPosition!==void 0?-1:e.sidebarPosition!==void 0?1:r.title.localeCompare(e.title)}function mi(r,e){return r.groupPosition!==void 0&&e.groupPosition!==void 0?r.groupPosition-e.groupPosition:r.groupPosition!==void 0?-1:e.groupPosition!==void 0?1:(r.groupTitle||r.group).localeCompare(e.groupTitle||e.group)}var Lt=null,Ce=new Map;async function de(r,e,t="/docs",o=!0){let s=performance.now();J.load(),Ce.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&J.invalidateAll();let i;!o&&Lt?i=Lt:(i=await(0,$r.default)(["**/*.md","**/*.mdx"],{cwd:r,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Lt=i),J.pruneStale(new Set(i));let n=50,u=[],p=0;for(let $=0;$<i.length;$+=n){let x=i.slice($,$+n),b=await Promise.all(x.map(async R=>{let S=J.get(R);if(S)return p++,S;let T=yr(R,r,t,e);return J.set(R,T),T}));u.push(...b),$+n<i.length&&await new Promise(R=>setImmediate(R))}J.save();let c=new Map,f=[];for(let $ of u)if($.isGroupIndex&&$.relativeDir&&f.push($),$.relativeDir){let x=c.get($.relativeDir);x?(x.position===void 0&&$.inferredGroupPosition!==void 0&&(x.position=$.inferredGroupPosition),!x.icon&&$.route.icon&&(x.icon=$.route.icon)):(x={title:ve($.relativeDir),position:$.inferredGroupPosition,icon:$.route.icon},c.set($.relativeDir,x))}for(let $ of f){let x=c.get($.relativeDir);$.groupMeta&&(x.title=$.groupMeta.title,$.groupMeta.position!==void 0&&(x.position=$.groupMeta.position),$.groupMeta.icon&&(x.icon=$.groupMeta.icon))}let d=new Array(u.length);for(let $=0;$<u.length;$++){let x=u[$],b=x.relativeDir,R=b?c.get(b):void 0;d[$]={...x.route,group:b,groupTitle:R?.title||(b?ve(b):void 0),groupPosition:R?.position,groupIcon:R?.icon}}let E=d;if(e?.i18n){let $=gi(d,e,t);E=[...d,...$]}let g=xr(E),C=performance.now()-s;return console.log(`[boltdocs] Route generation: ${C.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),g}function gi(r,e,t){let o=e.i18n.defaultLocale,s=Object.keys(e.i18n.locales),i=[],n=new Map,u=[];for(let p of r){let c=p.locale||o;n.has(c)||n.set(c,new Set),n.get(c).add(p.path),c===o&&u.push(p)}for(let p of s){let c=n.get(p)||new Set;for(let f of u){let d=hi(f.path,o,p,t,e);d!==f.path&&(c.has(d)||i.push({...f,path:d,locale:p}))}}return i}function hi(r,e,t,o,s){let i=`${r}:${t}`,n=Ce.get(i);if(n)return n;let u=o;if(s?.versions){let d=s.versions.prefix||"";for(let E of s.versions.versions){let g=d+E.path;if(r.startsWith(`${o}/${g}`)){u+="/"+g;break}if(r.startsWith(`${o}/${E.path}`)){u+="/"+E.path;break}}}let p=r.substring(u.length),c=`/${e}`;if(p.startsWith(c+"/"))p="/"+t+"/"+p.substring(c.length+1);else if(p===c)p="/"+t;else if(p==="/"||p==="")p="/"+t;else{let d=p.startsWith("/")?"":"/";p="/"+t+d+p}let f=u+p;return Ce.size>2e3&&Ce.clear(),Ce.set(i,f),f}var Oo=require("vite-plugin-image-optimizer");a();var Ke=I(require("path")),vr=I(require("fs")),br=require("vite");a();var l=require("zod"),yi=l.z.object({icon:l.z.string().max(50),link:l.z.string().url()}),Ei=l.z.object({text:l.z.string().max(2e3).optional()}),xi=l.z.enum(["fs:read","fs:write","vite:config","mdx:remark","mdx:rehype","components","hooks:build","hooks:dev"]),At=l.z.object({name:l.z.string(),enforce:l.z.enum(["pre","post"]).optional(),version:l.z.string().optional(),boltdocsVersion:l.z.string().optional(),permissions:l.z.array(xi).optional(),remarkPlugins:l.z.array(l.z.any()).optional(),rehypePlugins:l.z.array(l.z.any()).optional(),vitePlugins:l.z.array(l.z.any()).optional(),components:l.z.record(l.z.string(),l.z.string()).optional(),hooks:l.z.record(l.z.string(),l.z.any()).optional()}),$i=l.z.object({title:l.z.union([l.z.string(),l.z.record(l.z.string(),l.z.string())]).optional(),description:l.z.union([l.z.string(),l.z.record(l.z.string(),l.z.string())]).optional(),logo:l.z.union([l.z.string(),l.z.object({dark:l.z.string(),light:l.z.string(),alt:l.z.string().optional(),width:l.z.number().optional(),height:l.z.number().optional()})]).optional(),navbar:l.z.array(l.z.object({label:l.z.union([l.z.string(),l.z.record(l.z.string(),l.z.string())]),href:l.z.string()})).optional(),sidebar:l.z.record(l.z.string(),l.z.array(l.z.object({text:l.z.string(),link:l.z.string()}))).optional(),socialLinks:l.z.array(yi).optional(),footer:Ei.optional(),breadcrumbs:l.z.boolean().optional(),editLink:l.z.string().refine(r=>!r||r.includes(":path"),{message:"editLink must contain ':path' placeholder if specified"}).optional(),communityHelp:l.z.string().url().optional(),version:l.z.string().max(50).optional(),githubRepo:l.z.string().max(100).optional(),favicon:l.z.string().optional(),ogImage:l.z.string().optional(),poweredBy:l.z.boolean().optional(),tabs:l.z.array(l.z.object({id:l.z.string(),text:l.z.union([l.z.string(),l.z.record(l.z.string(),l.z.string())]),icon:l.z.string().optional()})).optional(),codeTheme:l.z.union([l.z.string(),l.z.object({light:l.z.string(),dark:l.z.string()})]).optional(),copyMarkdown:l.z.union([l.z.boolean(),l.z.object({text:l.z.string().optional(),icon:l.z.string().optional()})]).optional()}),Pi=l.z.union([l.z.string(),l.z.object({rules:l.z.array(l.z.object({userAgent:l.z.string(),allow:l.z.union([l.z.string(),l.z.array(l.z.string())]).optional(),disallow:l.z.union([l.z.string(),l.z.array(l.z.string())]).optional()})).optional(),sitemaps:l.z.array(l.z.string().url()).optional()})]),vi=l.z.object({defaultLocale:l.z.string(),locales:l.z.record(l.z.string(),l.z.string()),localeConfigs:l.z.record(l.z.string(),l.z.object({label:l.z.string().optional(),direction:l.z.enum(["ltr","rtl"]).optional(),htmlLang:l.z.string().optional(),calendar:l.z.string().optional()})).optional()}),bi=l.z.object({defaultVersion:l.z.string(),prefix:l.z.string().optional(),versions:l.z.array(l.z.object({label:l.z.string(),path:l.z.string()}))}),Si=l.z.object({headers:l.z.record(l.z.string(),l.z.string()).optional(),enableCSP:l.z.boolean().optional(),customHeaders:l.z.record(l.z.string(),l.z.string()).optional()}),Ri=l.z.object({sandbox:l.z.object({enable:l.z.boolean().optional(),config:l.z.record(l.z.string(),l.z.unknown()).optional()}).optional()}),Pr=l.z.object({siteUrl:l.z.string().url().optional(),docsDir:l.z.string().optional(),homePage:l.z.string().optional(),theme:$i.optional(),i18n:vi.optional(),versions:bi.optional(),plugins:l.z.array(At).optional(),integrations:Ri.optional(),robots:Pi.optional(),security:Si.optional(),vite:l.z.record(l.z.string(),l.z.unknown()).optional()});Ue();function Sr(r){return r}var Je=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function te(r,e=process.cwd()){let t=e,o={docsDir:Ke.default.resolve(r),theme:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},s={};for(let f of Je){let d=Ke.default.resolve(t,f);if(vr.default.existsSync(d))try{let E=await(0,br.loadConfigFromFile)({command:"serve",mode:"development"},d,t);if(E){s=E.config;break}}catch(E){console.warn(`[boltdocs] Failed to load config from ${f}:`,E)}}let n={...{title:s.title,description:s.description,logo:s.logo,favicon:s.favicon,ogImage:s.ogImage,navbar:s.navbar,sidebar:s.sidebar,socialLinks:s.socialLinks,footer:s.footer,githubRepo:s.githubRepo,tabs:s.tabs,codeTheme:s.codeTheme,copyMarkdown:s.copyMarkdown,breadcrumbs:s.breadcrumbs,poweredBy:s.poweredBy,communityHelp:s.communityHelp,version:s.version,editLink:s.editLink},...s.theme||{}},u=Object.fromEntries(Object.entries(n).filter(([f,d])=>d!==void 0));u.navbar&&(u.navbar=u.navbar.map(f=>({label:f.label||f.text||"",href:f.href||f.link||f.to||""})));let p={docsDir:Ke.default.resolve(r),homePage:s.homePage,theme:{...o.theme,...u},i18n:s.i18n,versions:s.versions,siteUrl:s.siteUrl,plugins:s.plugins||[],integrations:s.integrations,robots:s.robots,security:s.security,vite:s.vite},c=Pr.safeParse(p);if(!c.success){let f=c.error.issues.map(d=>` - ${d.path.join(".")}: ${d.message}`).join(`
2
+ `);throw new re(`Invalid Boltdocs configuration:
3
+ ${f}`)}return c.data}a();var z=I(require("fs")),X=I(require("path"));K();var Or=require("url"),Tr=require("module");a();K();function Rr(r,e){let t=se(e.title),o=se(e.description);return r.replace(/<title>.*?<\/title>/,`<title>${t}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${o}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${o}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${o}$2`)}a();K();function wr(r,e){let t=e?.siteUrl?.replace(/\/$/,"")||"https://example.com",o=new Date().toISOString().split("T")[0],s=[{url:"/",priority:"1.0",changefreq:"daily"}];if(e?.i18n){let n=e.i18n.defaultLocale;for(let u of Object.keys(e.i18n.locales))u!==n&&s.push({url:`/${u}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
2
4
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
- ${[...i,...o.map(c=>({url:c,priority:"0.8",changefreq:"weekly"}))].map(c=>` <url>
4
- <loc>${Pt(t)}${Pt(c.url)}</loc>
5
- <lastmod>${s}</lastmod>
6
- <changefreq>${c.changefreq}</changefreq>
7
- <priority>${c.priority}</priority>
5
+ ${[...s,...r.map(n=>({url:n,priority:"0.8",changefreq:"weekly"}))].map(n=>` <url>
6
+ <loc>${Pt(t)}${Pt(n.url)}</loc>
7
+ <lastmod>${o}</lastmod>
8
+ <changefreq>${n.changefreq}</changefreq>
9
+ <priority>${n.priority}</priority>
8
10
  </url>`).join(`
9
11
  `)}
10
- </urlset>`}u();function dt(o){if(typeof o.robots=="string")return o.robots;let e=o.siteUrl?.replace(/\/$/,"")||"",t=o.robots||{},s=t.rules||[{userAgent:"*",allow:"/"}],i=t.sitemaps||(e?[`${e}/sitemap.xml`]:[]),r="";for(let c of s){if(r+=`User-agent: ${c.userAgent}
11
- `,c.disallow){let p=Array.isArray(c.disallow)?c.disallow:[c.disallow];for(let n of p)r+=`Disallow: ${n}
12
- `}if(c.allow){let p=Array.isArray(c.allow)?c.allow:[c.allow];for(let n of p)r+=`Allow: ${n}
13
- `}r+=`
14
- `}for(let c of i)r+=`Sitemap: ${c}
15
- `;return r.trim()}var Ke=(0,ie.fileURLToPath)(P),ee=O.default.dirname(Ke),oe=(0,ne.createRequire)(P);async function pt(o){let{docsDir:e,docsDirName:t,outDir:s,config:i}=o,r=await G(e,i),c=["tsx","ts","jsx","js"].map(a=>O.default.resolve(e,`pages-external/index.${a}`)).find(a=>T.default.existsSync(a));if(c)try{let a=T.default.readFileSync(c,"utf-8"),y=a.match(/pages\s*:\s*{([^}]+)}/s);if(y){let f=y[1].split(",").map(x=>x.split(":")[0].trim().replace(/['"]/g,"")).filter(x=>x&&x.startsWith("/"));for(let x of f)r.some(S=>S.path===x)||r.push({path:x,title:x.slice(1).charAt(0).toUpperCase()+x.slice(2),filePath:"",componentPath:"",_content:""})}a.includes("homePage")&&!r.some(f=>f.path==="/")&&r.push({path:"/",title:"Home",filePath:"",componentPath:"",_content:""})}catch(a){console.warn("[boltdocs] Failed to parse external routes for SSG:",a)}let p=O.default.resolve(ee,"../client/ssr.js");if(!T.default.existsSync(p)){console.error("[boltdocs] SSR module not found at",p,"- Did you build the core package?");return}let n=oe("module"),l=n.prototype.require;n.prototype.require=function(a,...y){return a.startsWith("virtual:boltdocs-")?a==="virtual:boltdocs-layout"?{__esModule:!0,default:function(x){try{let h=l.apply(this,[O.default.resolve(ee,"../client/index.js")]).DefaultLayout||(({children:D})=>D);return l.apply(this,["react"]).createElement(h,x)}catch{return x.children}}}:a==="virtual:boltdocs-mdx-components"?{__esModule:!0,default:{}}:a==="virtual:boltdocs-config"?{__esModule:!0,default:i}:{__esModule:!0,default:a.includes("routes")?[]:{}}:l.apply(this,[a,...y])};let{render:d}=oe(p);n.prototype.require=l;let g=O.default.join(s,"index.html");if(!T.default.existsSync(g)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let b=T.default.readFileSync(g,"utf-8");await Promise.all(r.map(async a=>{let y=Ct(i?.theme?.title,a.locale)||"Boltdocs",f=Ct(i?.theme?.description,a.locale)||"",x=`${a.title} | ${y}`,S=a.description||f,h={};h[`/${t}/${a.filePath}`]={default:()=>null};try{let B=await d({path:a.path,routes:r,config:i||{},docsDirName:t,modules:h,homePage:void 0}),D=Yt(b,{title:L(x),description:L(S)}).replace("<!--app-html-->",B).replace('<div id="root"></div>',`<div id="root">${B}</div>`),et=O.default.join(s,a.path);await T.default.promises.mkdir(et,{recursive:!0}),await T.default.promises.writeFile(O.default.join(et,"index.html"),D,"utf-8")}catch(B){console.error(`[boltdocs] Error SSR rendering route ${a.path}:`,B&&(B.stack||B))}}));let C=te(r.map(a=>a.path),i);T.default.writeFileSync(O.default.join(s,"sitemap.xml"),C,"utf-8");let w=dt(i);T.default.writeFileSync(O.default.join(s,"robots.txt"),w,"utf-8"),console.log(`[boltdocs] Generated ${r.length} static pages + sitemap.xml + robots.txt`);let{flushCache:m}=await Promise.resolve().then(()=>(Z(),Rt));await m()}F();var _=v(require("path"));u();F();var Y=v(require("path")),Ot=v(require("fs"));function re(o,e){let t=o.homePage?`import HomePage from '${k(o.homePage)}';`:"",s=Y.default.resolve(process.cwd(),"index.css"),i=Ot.default.existsSync(s)?"import './index.css';":"",r=o.homePage?"homePage: HomePage,":"",c=e?.plugins?.flatMap(w=>Object.entries(w.components||{}))||[],p=c.map(([w,m])=>`import * as _comp_${w} from '${k(m)}';
16
- const ${w} = _comp_${w}.default || _comp_${w}['${w}'] || _comp_${w};`).join(`
17
- `),n=c.map(([w])=>w).join(", "),l=Y.default.basename(o.docsDir||"docs"),d=Y.default.resolve(process.cwd(),o.docsDir||"docs"),g=["tsx","ts","jsx","js"].map(w=>Y.default.resolve(d,`pages-external/index.${w}`)).find(w=>Ot.default.existsSync(w)),b=g?`import * as _external_module from '${k(g)}';`:"";return r=g?"homePage: _external_module.homePage || HomePage,":o.homePage?"homePage: HomePage,":"",`
12
+ </urlset>`}a();function Ze(r){if(typeof r.robots=="string")return r.robots;let e=r.siteUrl?.replace(/\/$/,"")||"",t=r.robots||{},o=t.rules||[{userAgent:"*",allow:"/"}],s=t.sitemaps||(e?[`${e}/sitemap.xml`]:[]),i="";for(let n of o){if(i+=`User-agent: ${n.userAgent}
13
+ `,n.disallow){let u=Array.isArray(n.disallow)?n.disallow:[n.disallow];for(let p of u)i+=`Disallow: ${p}
14
+ `}if(n.allow){let u=Array.isArray(n.allow)?n.allow:[n.allow];for(let p of u)i+=`Allow: ${p}
15
+ `}i+=`
16
+ `}for(let n of s)i+=`Sitemap: ${n}
17
+ `;return i.trim()}var wi=(0,Or.fileURLToPath)(m),Cr=X.default.dirname(wi),Ir=(0,Tr.createRequire)(m);async function Qe(r){let{docsDir:e,docsDirName:t,outDir:o,config:s}=r,i=await de(e,s),n=["tsx","ts","jsx","js"].map(x=>X.default.resolve(e,`pages-external/index.${x}`)).find(x=>z.default.existsSync(x));if(n)try{let x=z.default.readFileSync(n,"utf-8"),b=x.match(/pages\s*:\s*{([^}]+)}/s);if(b){let R=b[1].split(",").map(S=>S.split(":")[0].trim().replace(/['"]/g,"")).filter(S=>S&&S.startsWith("/"));for(let S of R)i.some(T=>T.path===S)||i.push({path:S,title:S.slice(1).charAt(0).toUpperCase()+S.slice(2),filePath:"",componentPath:"",_content:""})}x.includes("homePage")&&!i.some(R=>R.path==="/")&&i.push({path:"/",title:"Home",filePath:"",componentPath:"",_content:""})}catch(x){console.warn("[boltdocs] Failed to parse external routes for SSG:",x)}let u=X.default.resolve(Cr,"../client/ssr.js");if(!z.default.existsSync(u)){console.error("[boltdocs] SSR module not found at",u,"- Did you build the core package?");return}let p=Ir("module"),c=p.prototype.require;p.prototype.require=function(x,...b){return x.startsWith("virtual:boltdocs-")?x==="virtual:boltdocs-layout"?{__esModule:!0,default:function(S){try{let A=c.apply(this,[X.default.resolve(Cr,"../client/index.js")]).DefaultLayout||(({children:Q})=>Q);return c.apply(this,["react"]).createElement(A,S)}catch{return S.children}}}:x==="virtual:boltdocs-mdx-components"?{__esModule:!0,default:{}}:x==="virtual:boltdocs-config"?{__esModule:!0,default:s}:{__esModule:!0,default:x.includes("routes")?[]:{}}:c.apply(this,[x,...b])};let{render:f}=Ir(u);p.prototype.require=c;let d=X.default.join(o,"index.html");if(!z.default.existsSync(d)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let E=z.default.readFileSync(d,"utf-8");await Promise.all(i.map(async x=>{let b=vt(s?.theme?.title,x.locale)||"Boltdocs",R=vt(s?.theme?.description,x.locale)||"",S=`${x.title} | ${b}`,T=x.description||R,A={};A[`/${t}/${x.filePath}`]={default:()=>null};try{let w=await f({path:x.path,routes:i,config:s||{},docsDirName:t,modules:A,homePage:void 0}),Q=Rr(E,{title:se(S),description:se(T)}).replace("<!--app-html-->",w).replace('<div id="root"></div>',`<div id="root">${w}</div>`),_=X.default.join(o,x.path);await z.default.promises.mkdir(_,{recursive:!0}),await z.default.promises.writeFile(X.default.join(_,"index.html"),Q,"utf-8")}catch(w){console.error(`[boltdocs] Error SSR rendering route ${x.path}:`,w&&(w.stack||w))}}));let g=wr(i.map(x=>x.path),s);z.default.writeFileSync(X.default.join(o,"sitemap.xml"),g,"utf-8");let C=Ze(s);z.default.writeFileSync(X.default.join(o,"robots.txt"),C,"utf-8"),console.log(`[boltdocs] Generated ${i.length} static pages + sitemap.xml + robots.txt`);let{flushCache:$}=await Promise.resolve().then(()=>(we(),It));await $()}K();var U=I(require("path"));a();K();var Ie=I(require("path")),Nt=I(require("fs"));function Lr(r,e){let t=r.homePage?`import HomePage from '${G(r.homePage)}';`:"",o=Ie.default.resolve(process.cwd(),"index.css"),s=Nt.default.existsSync(o)?"import './index.css';":"",i=r.homePage?"homePage: HomePage,":"",n=e?.plugins?.flatMap(C=>Object.entries(C.components||{}))||[],u=n.map(([C,$])=>`import * as _comp_${C} from '${G($)}';
18
+ const ${C} = _comp_${C}.default || _comp_${C}['${C}'] || _comp_${C};`).join(`
19
+ `),p=n.map(([C])=>C).join(", "),c=Ie.default.basename(r.docsDir||"docs"),f=Ie.default.resolve(process.cwd(),r.docsDir||"docs"),d=["tsx","ts","jsx","js"].map(C=>Ie.default.resolve(f,`pages-external/index.${C}`)).find(C=>Nt.default.existsSync(C)),E=d?`import * as _external_module from '${G(d)}';`:"";return i=d?"homePage: _external_module.homePage || HomePage,":r.homePage?"homePage: HomePage,":"",`
18
20
  import { createBoltdocsApp as _createApp } from 'boltdocs/client';
19
21
  import _routes from 'virtual:boltdocs-routes';
20
22
  import _config from 'virtual:boltdocs-config';
21
23
  import _user_mdx_components from 'virtual:boltdocs-mdx-components';
22
- ${i}
24
+ ${s}
23
25
  ${t}
24
- ${p}
25
- ${b}
26
+ ${u}
27
+ ${E}
26
28
 
27
29
  _createApp({
28
30
  target: '#root',
29
31
  routes: _routes,
30
- docsDirName: '${l}',
32
+ docsDirName: '${c}',
31
33
  config: _config,
32
- modules: import.meta.glob('/${l}/**/*.{md,mdx}'),
34
+ modules: import.meta.glob('/${c}/**/*.{md,mdx}'),
33
35
  hot: import.meta.hot,
34
- ${r}
35
- ${g?"externalPages: _external_module.pages, externalLayout: _external_module.layout,":""}
36
- components: { ${n}${n?", ":""} ...(_user_mdx_components || {}) },
36
+ ${i}
37
+ ${d?"externalPages: _external_module.pages, externalLayout: _external_module.layout,":""}
38
+ components: { ${p}${p?", ":""} ...(_user_mdx_components || {}) },
37
39
  });
38
- `}u();function se(o){return`<!doctype html>
40
+ `}a();function Ar(r){return`<!doctype html>
39
41
  <html lang="en">
40
42
  <head>
41
43
  <meta charset="UTF-8" />
42
44
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
43
- <title>${o.theme?.title||"Boltdocs"}</title>
45
+ <title>${r.theme?.title||"Boltdocs"}</title>
44
46
  </head>
45
47
  <body>
46
48
  <div id="root"></div>
47
49
  </body>
48
- </html>`}function Ft(o,e){let t=e.theme,s=t?.title||"Boltdocs",i=t?.description||"",r=t?.favicon;!r&&t?.logo&&(typeof t.logo=="string"?r=t.logo:r=t.logo.light||t.logo.dark);let c=[r?`<link rel="icon" href="${r}">`:"",`<meta name="description" content="${i}">`,`<meta property="og:title" content="${s}">`,`<meta property="og:description" content="${i}">`,t?.ogImage?`<meta property="og:image" content="${t.ogImage}">`:"",'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary_large_image">',`<meta name="twitter:title" content="${s}">`,`<meta name="twitter:description" content="${i}">`,t?.ogImage?`<meta name="twitter:image" content="${t.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
49
- `),p=`
50
+ </html>`}function Dt(r,e){let t=e.theme,o=t?.title||"Boltdocs",s=t?.description||"",i=t?.favicon;!i&&t?.logo&&(typeof t.logo=="string"?i=t.logo:i=t.logo.light||t.logo.dark);let n=[i?`<link rel="icon" href="${i}">`:"",`<meta name="description" content="${s}">`,`<meta property="og:title" content="${o}">`,`<meta property="og:description" content="${s}">`,t?.ogImage?`<meta property="og:image" content="${t.ogImage}">`:"",'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary_large_image">',`<meta name="twitter:title" content="${o}">`,`<meta name="twitter:description" content="${s}">`,t?.ogImage?`<meta name="twitter:image" content="${t.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
51
+ `),u=`
50
52
  <script>
51
53
  (function() {
52
54
  try {
@@ -62,12 +64,12 @@ _createApp({
62
64
  } catch (e) {}
63
65
  })();
64
66
  </script>
65
- `;return o.includes("<title>")?o=o.replace(/<title>.*?<\/title>/,`<title>${s}</title>`):o=o.replace("</head>",` <title>${s}</title>
66
- </head>`),o=o.replace("</head>",` ${c}
67
- ${p} </head>`),!o.includes("src/main")&&!o.includes("virtual:boltdocs-entry")&&(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
68
- </body>`)),o}u();function ae(o){let e=[];for(let t of o)if(e.push({id:t.path,title:t.title,content:t._content||"",url:t.path,display:t.groupTitle?`${t.groupTitle} > ${t.title}`:t.title,locale:t.locale,version:t.version}),t.headings)for(let s of t.headings)e.push({id:`${t.path}#${s.id}`,title:s.text,content:`${s.text} in ${t.title}`,url:`${t.path}#${s.id}`,display:`${t.title} > ${s.text}`,locale:t.locale,version:t.version});return e}var It=v(require("fs"));u();function de(o={},e){let t=_.default.resolve(process.cwd(),o.docsDir||"docs"),s=k(t),i=e,r,c=!1,p=i?.plugins?.flatMap(n=>n.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(n,l){c=l.command==="build";let d=n.envDir||process.cwd(),g=(0,ce.loadEnv)(l.mode,d,"");return Object.assign(process.env,g),i||(i=await H(t)),{optimizeDeps:{include:["react","react-dom"],exclude:["boltdocs","boltdocs/client","boltdocs/hooks","boltdocs/primitives","boltdocs/base-ui","boltdocs/mdx","boltdocs/integrations","boltdocs/client/hooks","boltdocs/client/primitives"]}}},configResolved(n){r=n},configureServer(n){n.middlewares.use((a,y,f)=>{if(a.url==="/robots.txt"){let x=dt(i);y.statusCode=200,y.setHeader("Content-Type","text/plain"),y.end(x);return}f()}),n.middlewares.use(async(a,y,f)=>{let x=a.url?.split("?")[0]||"/",S=a.headers.accept||"",h=x==="/"||x.startsWith("/docs")||i.i18n&&Object.keys(i.i18n.locales).some(D=>x.startsWith(`/${D}/docs`)||x===`/${D}`)||!0,B=/\.(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.test(x);if(S.includes("text/html")&&!B&&h){let D=se(i);D=Ft(D,i),D=await n.transformIndexHtml(a.url||"/",D),y.statusCode=200,y.setHeader("Content-Type","text/html"),y.end(D);return}f()});let l=lt.map(a=>_.default.resolve(process.cwd(),a)),d=["tsx","jsx"],g=d.map(a=>_.default.resolve(t,`layout.${a}`)),b=["tsx","ts","jsx","js"],C=b.map(a=>_.default.resolve(t,`mdx-components.${a}`)),w=b.map(a=>_.default.resolve(t,`pages-external/index.${a}`));n.watcher.add([...l,...C,...g,...w]);let m=async(a,y)=>{try{let f=k(a);if(lt.some(h=>f.endsWith(h))){n.restart();return}if(b.some(h=>f.endsWith(`mdx-components.${h}`))){let h=n.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");h&&n.moduleGraph.invalidateModule(h),n.ws.send({type:"full-reload"});return}if(d.some(h=>f.endsWith(`layout.${h}`))){let h=n.moduleGraph.getModuleById("\0virtual:boltdocs-layout");h&&n.moduleGraph.invalidateModule(h),n.ws.send({type:"full-reload"});return}if(f.includes("/pages-external/")||f.includes("\\pages-external\\")){let h=n.moduleGraph.getModuleById("\0virtual:boltdocs-entry");h&&n.moduleGraph.invalidateModule(h),n.ws.send({type:"full-reload"});return}if(!f.startsWith(s)||!Nt(f))return;if(y==="add"||y==="unlink"){kt(),i=await H(t);let h=n.moduleGraph.getModuleById("\0virtual:boltdocs-config");h&&n.moduleGraph.invalidateModule(h),n.ws.send({type:"custom",event:"boltdocs:config-update",data:{theme:i?.theme,integrations:i?.integrations,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl}})}else _t(a);let x=await G(t,i,"/docs",y!=="change"),S=n.moduleGraph.getModuleById("\0virtual:boltdocs-routes");S&&n.moduleGraph.invalidateModule(S),n.ws.send({type:"custom",event:"boltdocs:routes-update",data:x})}catch(f){console.error(`[boltdocs] HMR error during ${y} event:`,f)}};n.watcher.on("add",a=>m(a,"add")),n.watcher.on("unlink",a=>m(a,"unlink")),n.watcher.on("change",a=>m(a,"change"))},resolveId(n){if(n==="virtual:boltdocs-routes"||n==="virtual:boltdocs-config"||n==="virtual:boltdocs-entry"||n==="virtual:boltdocs-mdx-components"||n==="virtual:boltdocs-layout"||n==="virtual:boltdocs-search")return"\0"+n},async load(n){if(n==="\0virtual:boltdocs-routes"){let l=await G(t,i);return`export default ${JSON.stringify(l,null,2)};`}if(n==="\0virtual:boltdocs-config"){let l={theme:i?.theme,integrations:i?.integrations,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl,plugins:i?.plugins?.map(d=>({name:d.name}))};return`export default ${JSON.stringify(l,null,2)};`}if(n==="\0virtual:boltdocs-entry")return re(o,i);if(n==="\0virtual:boltdocs-mdx-components"){let l=["tsx","ts","jsx","js"],d=null;for(let g of l){let b=_.default.resolve(t,`mdx-components.${g}`);if(It.default.existsSync(b)){d=b;break}}if(d){let g=k(d);return`import * as components from '${g}';
67
+ `;return r.includes("<title>")?r=r.replace(/<title>.*?<\/title>/,`<title>${o}</title>`):r=r.replace("</head>",` <title>${o}</title>
68
+ </head>`),r=r.replace("</head>",` ${n}
69
+ ${u} </head>`),!r.includes("src/main")&&!r.includes("virtual:boltdocs-entry")&&(r=r.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
70
+ </body>`)),r}a();function Nr(r){let e=[];for(let t of r)if(e.push({id:t.path,title:t.title,content:t._content||"",url:t.path,display:t.groupTitle?`${t.groupTitle} > ${t.title}`:t.title,locale:t.locale,version:t.version}),t.headings)for(let o of t.headings)e.push({id:`${t.path}#${o.id}`,title:o.text,content:`${o.text} in ${t.title}`,url:`${t.path}#${o.id}`,display:`${t.title} > ${o.text}`,locale:t.locale,version:t.version});return e}a();var et={"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","X-XSS-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Permissions-Policy":"camera=(), microphone=(), geolocation=()","Strict-Transport-Security":"max-age=31536000; includeSubDomains"};a();function tt(r){let e=process.env.NODE_ENV==="development",t={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'"],"connect-src":["'self'"]};return e&&(t["script-src"]=["'self'","'unsafe-eval'","'unsafe-inline'"],t["style-src"]=["'self'","'unsafe-inline'"]),Object.entries(t).map(([o,s])=>`${o} ${s.join(" ")}`).join("; ")}var tr=I(require("fs"));a();a();var oe=class r extends Error{pluginName;constructor(e,t){super(`[plugin:${e}] ${t}`),this.name="PluginError",this.pluginName=e,Object.setPrototypeOf(this,r.prototype)}},ie=class r extends oe{constructor(e,t){super(e,`Validation failed: ${t}`),this.name="PluginValidationError",Object.setPrototypeOf(this,r.prototype)}},Oe=class r extends oe{constructor(e,t){super(e,`Compatibility error: ${t}`),this.name="PluginCompatibilityError",Object.setPrototypeOf(this,r.prototype)}},fe=class r extends oe{constructor(e,t){super(e,`Missing required permission: '${t}'`),this.name="PluginPermissionError",Object.setPrototypeOf(this,r.prototype)}},Te=class r extends oe{hookName;constructor(e,t,o){super(e,`Error in hook '${t}': ${o.message}`),this.name="PluginHookError",this.hookName=t,this.stack=o.stack,Object.setPrototypeOf(this,r.prototype)}};a();var Le=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let o=this.getNamespaceKey(e,t),s=this.data.get(o);if(s!==void 0)return typeof s=="object"&&s!==null?JSON.parse(JSON.stringify(s)):s}set(e,t,o){let s=this.getNamespaceKey(e,t),i=typeof o=="object"&&o!==null?JSON.parse(JSON.stringify(o)):o;this.data.set(s,i)}has(e,t){let o=this.getNamespaceKey(e,t);return this.data.has(o)}};a();var H=require("zod"),So=I(bo()),Ro=I(require("path"));var wo=At.extend({version:H.z.string().optional(),boltdocsVersion:H.z.string().optional(),permissions:H.z.array(H.z.string()).optional(),hooks:H.z.object({beforeBuild:H.z.function().optional(),afterBuild:H.z.function().optional(),beforeDev:H.z.function().optional(),afterDev:H.z.function().optional(),configResolved:H.z.function().optional(),buildEnd:H.z.function().optional()}).optional()});function er(r,e){let t=[],o=new Set;for(let s of r){let i=wo.safeParse(s);if(!i.success)throw new ie(s.name||"unknown",i.error.issues.map(u=>`${u.path.join(".")}: ${u.message}`).join(", "));let n=i.data;if(o.has(n.name))throw new ie(n.name,"Duplicate plugin name detected");if(o.add(n.name),n.boltdocsVersion&&!So.default.satisfies(e,n.boltdocsVersion))throw new Oe(n.name,`Plugin expects Boltdocs version ${n.boltdocsVersion}, but current is ${e}`);if(n.components){for(let[u,p]of Object.entries(n.components))if((p.includes("..")||Ro.default.isAbsolute(p))&&p.includes(".."))throw new ie(n.name,`Component '${u}' has an invalid path: traversal sequences are not allowed.`)}t.push(n)}return t}function ae(r,e){return r.permissions?r.permissions.includes(e):!1}a();var Y=class{static checkPermission(e,t){if(!ae(e,t))throw new fe(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:ae(e,"mdx:remark")?e.remarkPlugins:[],rehypePlugins:ae(e,"mdx:rehype")?e.rehypePlugins:[],vitePlugins:ae(e,"vite:config")?e.vitePlugins:[],components:ae(e,"components")?e.components:{}}}static async executeWithIsolation(e,t,o,s){try{return this.checkPermission(e,t),await s()}catch(i){if(i instanceof fe){console.warn(`[boltdocs] Skipping hook '${o}' for plugin '${e.name}': ${i.message}`);return}throw i}}};a();var _e=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new Le}async runHook(e,...t){let o=this.getSortedPlugins();for(let s of o){if(!s.hooks?.[e])continue;let i=this.createContext(s),n=e.toLowerCase().includes("build"),u=e.toLowerCase().includes("dev"),p=n?"hooks:build":u?"hooks:dev":void 0;try{p?await Y.executeWithIsolation(s,p,e,()=>s.hooks[e](i,...t)):await s.hooks[e](i,...t)}catch(c){let f=new Te(s.name,e,c instanceof Error?c:new Error(String(c)));i.logger.error(f)}}}getSortedPlugins(){let e=this.plugins.filter(s=>s.enforce==="pre"),t=this.plugins.filter(s=>!s.enforce),o=this.plugins.filter(s=>s.enforce==="post");return[...e,...t,...o]}createContext(e){return{config:Object.freeze({...this.config}),meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(t,o)=>this.store.get(t,o),set:(t,o,s)=>this.store.set(t,o,s),has:(t,o)=>this.store.has(t,o)},logger:this.createLogger(e.name)}}createLogger(e){let t=`[plugin:${e}]`;return{info:o=>console.log(`${t} INFO: ${o}`),warn:o=>console.warn(`${t} WARN: ${o}`),error:o=>{let s=o instanceof Error?o.message:o;console.error(`${t} ERROR: ${s}`)},debug:o=>console.debug(`${t} DEBUG: ${o}`)}}};function bc(r){return r}function To(r={},e){let t=U.default.resolve(process.cwd(),r.docsDir||"docs"),o=G(t),s=e,i,n=!1,u,p=[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(c,f){n=f.command==="build";let d=c.envDir||process.cwd(),E=(0,Io.loadEnv)(f.mode,d,"");Object.assign(process.env,E),s||(s=await te(t));let g=(await Promise.resolve().then(()=>I(Co()))).version,C=er(s.plugins||[],g);return s.plugins=C,u=new _e(C,s),p=C.flatMap($=>Y.getSanitizedCapabilities($).vitePlugins||[]),n&&await u.runHook("beforeBuild"),{optimizeDeps:{include:["react","react-dom"],exclude:["boltdocs","boltdocs/client","boltdocs/hooks","boltdocs/primitives","boltdocs/base-ui","boltdocs/mdx","boltdocs/integrations","boltdocs/client/hooks","boltdocs/client/primitives"]}}},configResolved(c){i=c,u?.runHook("configResolved",s)},async configureServer(c){await u?.runHook("beforeDev"),c.middlewares.use((b,R,S)=>{process.env.NODE_ENV==="production"&&Object.entries(et).forEach(([A,w])=>{R.setHeader(A,w)}),s.security?.enableCSP&&R.setHeader("Content-Security-Policy",tt(s)),S()}),c.middlewares.use((b,R,S)=>{if(b.url==="/robots.txt"){let T=Ze(s);R.statusCode=200,R.setHeader("Content-Type","text/plain"),R.end(T);return}S()}),c.middlewares.use(async(b,R,S)=>{let T=b.url?.split("?")[0]||"/",A=b.headers.accept||"",w=T==="/"||T.startsWith("/docs")||s.i18n&&Object.keys(s.i18n.locales).some(_=>T.startsWith(`/${_}/docs`)||T===`/${_}`)||!0,Q=/\.(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.test(T);if(A.includes("text/html")&&!Q&&w){let _=Ar(s);_=Dt(_,s),_=await c.transformIndexHtml(b.url||"/",_),R.statusCode=200,R.setHeader("Content-Type","text/html"),R.end(_);return}S()});let f=Je.map(b=>U.default.resolve(process.cwd(),b)),d=["tsx","jsx"],E=d.map(b=>U.default.resolve(t,`layout.${b}`)),g=["tsx","ts","jsx","js"],C=g.map(b=>U.default.resolve(t,`mdx-components.${b}`)),$=g.map(b=>U.default.resolve(t,`pages-external/index.${b}`));c.watcher.add([...f,...C,...E,...$]);let x=async(b,R)=>{try{let S=G(b);if(Je.some(w=>S.endsWith(w))){c.restart();return}if(g.some(w=>S.endsWith(`mdx-components.${w}`))){let w=c.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");w&&c.moduleGraph.invalidateModule(w),c.ws.send({type:"full-reload"});return}if(d.some(w=>S.endsWith(`layout.${w}`))){let w=c.moduleGraph.getModuleById("\0virtual:boltdocs-layout");w&&c.moduleGraph.invalidateModule(w),c.ws.send({type:"full-reload"});return}if(S.includes("/pages-external/")||S.includes("\\pages-external\\")){let w=c.moduleGraph.getModuleById("\0virtual:boltdocs-entry");w&&c.moduleGraph.invalidateModule(w),c.ws.send({type:"full-reload"});return}if(!S.startsWith(o)||!dr(S))return;if(R==="add"||R==="unlink"){Ot(),s=await te(t);let w=c.moduleGraph.getModuleById("\0virtual:boltdocs-config");w&&c.moduleGraph.invalidateModule(w),c.ws.send({type:"custom",event:"boltdocs:config-update",data:{theme:s?.theme,integrations:s?.integrations,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl}})}else Tt(b);let T=await de(t,s,"/docs",R!=="change"),A=c.moduleGraph.getModuleById("\0virtual:boltdocs-routes");A&&c.moduleGraph.invalidateModule(A),c.ws.send({type:"custom",event:"boltdocs:routes-update",data:T})}catch(S){console.error(`[boltdocs] HMR error during ${R} event:`,S)}};c.watcher.on("add",b=>x(b,"add")),c.watcher.on("unlink",b=>x(b,"unlink")),c.watcher.on("change",b=>x(b,"change")),await u?.runHook("afterDev")},resolveId(c){if(c==="virtual:boltdocs-routes"||c==="virtual:boltdocs-config"||c==="virtual:boltdocs-entry"||c==="virtual:boltdocs-mdx-components"||c==="virtual:boltdocs-layout"||c==="virtual:boltdocs-search")return"\0"+c},async load(c){if(c==="\0virtual:boltdocs-routes"){let f=await de(t,s);return`export default ${JSON.stringify(f,null,2)};`}if(c==="\0virtual:boltdocs-config"){let f={theme:s?.theme,integrations:s?.integrations,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,plugins:s?.plugins?.map(d=>({name:d.name}))};return`export default ${JSON.stringify(f,null,2)};`}if(c==="\0virtual:boltdocs-entry")return Lr(r,s);if(c==="\0virtual:boltdocs-mdx-components"){let f=["tsx","ts","jsx","js"],d=null;for(let E of f){let g=U.default.resolve(t,`mdx-components.${E}`);if(tr.default.existsSync(g)){d=g;break}}if(d){let E=G(d);return`import * as components from '${E}';
69
71
  const mdxComponents = components.default || components;
70
72
  export default mdxComponents;
71
- export * from '${g}';`}return"export default {};"}if(n==="\0virtual:boltdocs-layout"){let l=["tsx","jsx"],d=null;for(let g of l){let b=_.default.resolve(t,`layout.${g}`);if(It.default.existsSync(b)){d=b;break}}return d?`import UserLayout from '${k(d)}';
73
+ export * from '${E}';`}return"export default {};"}if(c==="\0virtual:boltdocs-layout"){let f=["tsx","jsx"],d=null;for(let E of f){let g=U.default.resolve(t,`layout.${E}`);if(tr.default.existsSync(g)){d=g;break}}return d?`import UserLayout from '${G(d)}';
72
74
  export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
73
- export default DefaultLayout;`}if(n==="\0virtual:boltdocs-search"){let l=await G(t,i),d=ae(l);return`export default ${JSON.stringify(d,null,2)};`}},transformIndexHtml:{order:"pre",handler(n){return Ft(n,i)}},async closeBundle(){if(!c)return;let n=r?.build?.outDir?_.default.resolve(r.root,r.build.outDir):_.default.resolve(process.cwd(),"dist"),l=_.default.basename(t||"docs");await pt({docsDir:t,docsDirName:l,outDir:n,config:i});let{flushCache:d}=await Promise.resolve().then(()=>(Z(),Rt));await d()}},(0,le.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...p.filter(n=>!!n)]}u();var ve=v(require("@mdx-js/rollup")),Pe=v(require("remark-gfm")),we=v(require("remark-frontmatter")),Ce=v(require("rehype-slug")),$e=v(require("crypto"));u();Z();var pe="v4",U=new X("mdx");u();var ue=require("unist-util-visit");u();var me=require("shiki"),mt=null;async function ut(o){if(mt)return mt;let e=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(t=>{e.includes(t)||e.push(t)}),mt=await(0,me.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),mt}function ge(o){return async e=>{let t=o?.theme?.codeTheme??{light:"github-light",dark:"github-dark"},s=await ut(t);(0,ue.visit)(e,["mdxJsxFlowElement","mdxJsxTextElement"],i=>{if(i.name!=="ComponentPreview")return;let r=i.attributes?.find(l=>l.name==="code"),c="";if(r){if(typeof r.value=="string")c=r.value;else if(r.value?.type==="mdxJsxAttributeValueExpression"){let l=r.value.value??"";c=l.match(/^[`'"]([\s\S]+)[`'"]$/)?.[1]??l}}if(!c)return;let p=typeof t=="object"?{themes:{light:t.light,dark:t.dark},lang:"tsx"}:{theme:t,lang:"tsx"},n=s.codeToHtml(c,p);i.attributes=(i.attributes??[]).filter(l=>l.name!=="highlightedHtml"),i.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:n})})}}u();var fe=require("unist-util-visit");function he(o){return async e=>{let t=o?.theme?.codeTheme||{light:"github-light",dark:"github-dark"},s=await ut(t);(0,fe.visit)(e,"element",i=>{if(i.tagName==="pre"&&i.children?.[0]?.tagName==="code"){let r=i.children[0],p=(r.properties?.className||[]).find(m=>m.startsWith("language-")),n=p?p.slice(9):"text",l=r.children[0]?.value||"",g=(r.data?.meta||r.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),b=g?g[1]:void 0,C={lang:n};typeof t=="object"?C.themes={light:t.light,dark:t.dark}:C.theme=t;let w=s.codeToHtml(l,C);i.properties.dataHighlighted="true",i.properties.highlightedHtml=w,i.properties["data-lang"]=n,b&&(i.properties.title=b),i.children=[]}})}}u();var ye=require("unist-util-visit");function xe(){return o=>{(0,ye.visit)(o,"code",e=>{if(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.lang&&(e.data.hProperties["data-lang"]=e.lang),!e.meta)return;let t=e.meta,s=t.match(/title\s*=\s*"([^"]*)"/);s&&(e.data.hProperties.title=s[1]),e.data.hProperties.metastring=t})}}var be=!1,gt=0,tt=0;function Se(o,e=ve.default){let t=o?.plugins?.flatMap(r=>r.remarkPlugins||[])||[],s=o?.plugins?.flatMap(r=>r.rehypePlugins||[])||[],i=e({remarkPlugins:[Pe.default,we.default,xe,[ge,o],...t],rehypePlugins:[Ce.default,[he,o],...s],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return{...i,name:"vite-plugin-boltdocs-mdx",async buildStart(){gt=0,tt=0,be||(U.load(),be=!0),i.buildStart&&await i.buildStart.call(this)},async transform(r,c,p){if(!c.endsWith(".md")&&!c.endsWith(".mdx"))return i.transform?.call(this,r,c,p);console.log(`[boltdocs] Transforming MDX: ${c}`),tt++;let n=$e.default.createHash("md5").update(r).digest("hex"),l=`${c}:${n}:${pe}`,d=U.get(l);if(d)return gt++,{code:d,map:null};let g=await i.transform.call(this,r,c,p);return g&&typeof g=="object"&&g.code&&U.set(l,g.code),g},async buildEnd(){tt>0&&console.log(`[boltdocs] MDX Cache Performance: ${gt}/${tt} hits (${Math.round(gt/tt*100)||0}%)`),U.save(),await U.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}async function jt(o){let e=o?.docsDir||"docs",t=await H(e),s={...o,homePage:o?.homePage||t.homePage};return[...de(s,t),Se(t)]}async function Xe(o,e="development"){let t=await H("docs",o);return{root:o,mode:e,plugins:[(0,De.default)(),(0,Be.default)(),await jt({docsDir:t.docsDir,homePage:t.homePage})],...t.vite}}0&&(module.exports={createViteConfig,defineConfig,generateStaticPages,resolveConfig});
75
+ export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let f=await de(t,s),d=Nr(f);return`export default ${JSON.stringify(d,null,2)};`}},transformIndexHtml:{order:"pre",handler(c){return Dt(c,s)}},async closeBundle(){if(!n)return;let c=i?.build?.outDir?U.default.resolve(i.root,i.build.outDir):U.default.resolve(process.cwd(),"dist"),f=U.default.basename(t||"docs");await Qe({docsDir:t,docsDirName:f,outDir:c,config:s});let{flushCache:d}=await Promise.resolve().then(()=>(we(),It));await d(),await u?.runHook("afterBuild"),await u?.runHook("buildEnd")}},(0,Oo.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),{name:"vite-plugin-boltdocs-extra-plugins",async configResolved(){}},...p]}a();var Fo=I(require("@mdx-js/rollup")),Mo=I(require("remark-gfm")),Ho=I(require("remark-frontmatter")),Go=I(require("rehype-slug")),Uo=I(require("crypto"));a();we();var Lo="v4",ge=new Re("mdx");a();var No=require("unist-util-visit");a();var Ao=require("shiki"),mt=null;async function gt(r){if(mt)return mt;let e=typeof r=="object"?[r.light,r.dark]:[r??"github-dark"];return["github-light","github-dark"].forEach(t=>{e.includes(t)||e.push(t)}),mt=await(0,Ao.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),mt}function Do(r){return async e=>{let t=r?.theme?.codeTheme??{light:"github-light",dark:"github-dark"},o=await gt(t);(0,No.visit)(e,["mdxJsxFlowElement","mdxJsxTextElement"],s=>{if(s.name!=="ComponentPreview")return;let i=s.attributes?.find(c=>c.name==="code"),n="";if(i){if(typeof i.value=="string")n=i.value;else if(i.value?.type==="mdxJsxAttributeValueExpression"){let c=i.value.value??"";n=c.match(/^[`'"]([\s\S]+)[`'"]$/)?.[1]??c}}if(!n)return;let u=typeof t=="object"?{themes:{light:t.light,dark:t.dark},lang:"tsx"}:{theme:t,lang:"tsx"},p=o.codeToHtml(n,u);s.attributes=(s.attributes??[]).filter(c=>c.name!=="highlightedHtml"),s.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:p})})}}a();var jo=require("unist-util-visit");function ko(r){return async e=>{let t=r?.theme?.codeTheme||{light:"github-light",dark:"github-dark"},o=await gt(t);(0,jo.visit)(e,"element",s=>{if(s.tagName==="pre"&&s.children?.[0]?.tagName==="code"){let i=s.children[0],u=(i.properties?.className||[]).find($=>$.startsWith("language-")),p=u?u.slice(9):"text",c=i.children[0]?.value||"",d=(i.data?.meta||i.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),E=d?d[1]:void 0,g={lang:p};typeof t=="object"?g.themes={light:t.light,dark:t.dark}:g.theme=t;let C=o.codeToHtml(c,g);s.properties.dataHighlighted="true",s.properties.highlightedHtml=C,s.properties["data-lang"]=p,E&&(s.properties.title=E),s.children=[]}})}}a();var Bo=require("unist-util-visit");function qo(){return r=>{(0,Bo.visit)(r,"code",e=>{if(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.lang&&(e.data.hProperties["data-lang"]=e.lang),!e.meta)return;let t=e.meta,o=t.match(/title\s*=\s*"([^"]*)"/);o&&(e.data.hProperties.title=o[1]),e.data.hProperties.metastring=t})}}var _o=!1,ht=0,Fe=0;function Vo(r,e=Fo.default){let t=r?.plugins?.flatMap(i=>Y.getSanitizedCapabilities(i).remarkPlugins||[])||[],o=r?.plugins?.flatMap(i=>Y.getSanitizedCapabilities(i).rehypePlugins||[])||[],s=e({remarkPlugins:[Mo.default,Ho.default,qo,[Do,r],...t],rehypePlugins:[Go.default,[ko,r],...o],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return{...s,name:"vite-plugin-boltdocs-mdx",async buildStart(){ht=0,Fe=0,_o||(ge.load(),_o=!0),s.buildStart&&await s.buildStart.call(this)},async transform(i,n,u){if(!n.endsWith(".md")&&!n.endsWith(".mdx"))return s.transform?.call(this,i,n,u);console.log(`[boltdocs] Transforming MDX: ${n}`),Fe++;let p=Uo.default.createHash("md5").update(i).digest("hex"),c=`${n}:${p}:${Lo}`,f=ge.get(c);if(f)return ht++,{code:f,map:null};let d=await s.transform.call(this,i,n,u);return d&&typeof d=="object"&&d.code&&ge.set(c,d.code),d},async buildEnd(){Fe>0&&console.log(`[boltdocs] MDX Cache Performance: ${ht}/${Fe} hits (${Math.round(ht/Fe*100)||0}%)`),ge.save(),await ge.flush(),s.buildEnd&&await s.buildEnd.call(this)}}}async function rr(r){let e=r?.docsDir||"docs",t=await te(e),o={...r,homePage:r?.homePage||t.homePage};return[...To(o,t),Vo(t)]}async function Rc(r,e="development"){let t=await te("docs",r),s=e==="production"?{...et}:{};return t.security?.enableCSP&&(s["Content-Security-Policy"]=tt(t)),{root:r,mode:e,plugins:[(0,zo.default)(),(0,Xo.default)(),await rr({docsDir:t.docsDir,homePage:t.homePage})],server:{headers:{...s,...t.vite?.server?.headers},...t.vite?.server},preview:{headers:{...s,...t.vite?.preview?.headers},...t.vite?.preview},...t.vite}}0&&(module.exports={BoltdocsPluginStore,PluginCompatibilityError,PluginError,PluginHookError,PluginLifecycleManager,PluginPermissionError,PluginSandbox,PluginValidationError,SecurePluginSchema,createPlugin,createViteConfig,defineConfig,generateStaticPages,hasPermission,resolveConfig,validatePlugins});
@@ -1 +1 @@
1
- import{a,b,d as c,g as d,h as e,i as f}from"../chunk-UWT4AJTH.mjs";import"../chunk-Y4RRHPXC.mjs";f();export{e as createViteConfig,d as default,a as defineConfig,c as generateStaticPages,b as resolveConfig};
1
+ import{a,b,d as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m,q as n,r as o,s as p,t as q,u as r}from"../chunk-UD2LQG2M.mjs";import"../chunk-TP5KMRD3.mjs";import"../chunk-Y4RE5KI7.mjs";r();export{i as BoltdocsPluginStore,f as PluginCompatibilityError,d as PluginError,h as PluginHookError,n as PluginLifecycleManager,g as PluginPermissionError,m as PluginSandbox,e as PluginValidationError,j as SecurePluginSchema,o as createPlugin,q as createViteConfig,p as default,a as defineConfig,c as generateStaticPages,l as hasPermission,b as resolveConfig,k as validatePlugins};
@@ -0,0 +1 @@
1
+ import{a as t}from"./chunk-Y4RE5KI7.mjs";var r,n,c,d,o,a,p,m,l,u,g,x,y,h,b,j,v,f,w,k,s=t(()=>{r="boltdocs",n="2.5.0",c="A lightweight documentation generator for React projects.",d="dist/node/index.js",o="dist/node/index.mjs",a="dist/node/index.d.ts",p={boltdocs:"bin/boltdocs.js"},m={access:"public"},l="commonjs",u=["**/*.css"],g={".":{types:"./dist/node/index.d.ts",import:"./dist/node/index.mjs",require:"./dist/node/index.js"},"./client":{types:"./dist/client/index.d.ts",import:"./dist/client/index.mjs",require:"./dist/client/index.js"},"./ssr":{types:"./dist/client/ssr.d.ts",import:"./dist/client/ssr.mjs",require:"./dist/client/ssr.js"},"./theme/neutral.css":"./src/client/theme/neutral.css"},x={build:"tsup",dev:"tsup --watch",format:"pnpm exec biome format --write",lint:"pnpm exec biome lint --write",check:"pnpm exec biome check --write"},y=["docs","documentation","static site generator","ssg","markdown","mdx","react","vite","typescript"],h="Jesus Alcala",b="MIT",j={"@mdx-js/react":"3.1.1","@mdx-js/rollup":"3.1.1","@tailwindcss/vite":"4.2.2","@vitejs/plugin-react":"4.2.1",cac:"7.0.0","class-variance-authority":"0.7.1",clsx:"2.1.1",codesandbox:"2.2.3","fast-glob":"3.3.3",flexsearch:"0.8.212","github-slugger":"2.0.0","gray-matter":"4.0.3","isomorphic-dompurify":"3.7.1","lucide-react":"0.575.0","react-aria-components":"1.16.0","react-router-dom":"6.30.3","rehype-slug":"6.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.1","scroll-into-view-if-needed":"3.1.0",sharp:"0.34.5",shiki:"3.23.0",svgo:"4.0.1","tailwind-merge":"3.5.0","unist-util-visit":"5.1.0",vite:"7.3.1","vite-plugin-image-optimizer":"2.0.3",zod:"4.3.6",zustand:"5.0.12"},v={react:"19.1.0","react-dom":"19.1.0"},f="pnpm@10.30.2",w={"@types/node":"25.3.2","@types/react":"19.2.14","@types/react-dom":"18.3.7","@types/react-router-dom":"5.3.3","@types/semver":"7.7.1",tsup:"8.5.1",typescript:"^5.9.3"},k={name:r,version:n,description:c,main:d,module:o,types:a,bin:p,publishConfig:m,type:l,sideEffects:u,exports:g,scripts:x,keywords:y,author:h,license:b,dependencies:j,peerDependencies:v,packageManager:f,devDependencies:w}});s();export{h as author,p as bin,k as default,j as dependencies,c as description,w as devDependencies,g as exports,y as keywords,b as license,d as main,o as module,r as name,f as packageManager,v as peerDependencies,m as publishConfig,x as scripts,u as sideEffects,l as type,a as types,n as version};
@@ -0,0 +1 @@
1
+ import{B as i,Q as u,z as g}from"./chunk-ITFGVXPE.mjs";import{useEffect as S,useCallback as y}from"react";import{useNavigate as I}from"react-router-dom";import{Fragment as D,jsx as o,jsxs as r}from"react/jsx-runtime";function C({routes:p}){let{isOpen:h,setIsOpen:n,query:v,setQuery:d,list:f}=u(p),s=I();S(()=>{let e=t=>{(/Mac/.test(navigator.userAgent)?t.metaKey:t.ctrlKey)&&(t.key==="k"||t.key==="j")&&(t.preventDefault(),n(a=>!a))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[n]);let l=y(e=>{let t=String(e);if(n(!1),t.includes("#")){let[c,m]=t.split("#");s(c),setTimeout(()=>{let a=document.getElementById(m);a&&a.scrollIntoView({behavior:"smooth"})},100)}else s(t)},[s,n]);return r(D,{children:[o(g.SearchTrigger,{onPress:()=>n(!0)}),o(i.Root,{isOpen:h,onOpenChange:n,children:r(i.Autocomplete,{onSelectionChange:l,children:[o(i.Input,{value:v,onChange:e=>d(e.target.value)}),o(i.List,{items:f,children:e=>r(i.Item,{onPress:()=>l(e.id),textValue:e.title,children:[o(i.Item.Icon,{isHeading:e.isHeading}),r("div",{className:"flex flex-col justify-center gap-0.5",children:[o(i.Item.Title,{children:e.title}),o(i.Item.Bio,{children:e.bio})]})]},e.id)})]})})]})}export{C as SearchDialog};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boltdocs",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "A lightweight documentation generator for React projects.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/node/index.mjs",
@@ -11,6 +11,10 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
+ "type": "commonjs",
15
+ "sideEffects": [
16
+ "**/*.css"
17
+ ],
14
18
  "exports": {
15
19
  ".": {
16
20
  "types": "./dist/node/index.d.ts",
@@ -22,45 +26,10 @@
22
26
  "import": "./dist/client/index.mjs",
23
27
  "require": "./dist/client/index.js"
24
28
  },
25
- "./hooks": {
26
- "types": "./dist/hooks/index.d.ts",
27
- "import": "./dist/hooks/index.mjs",
28
- "require": "./dist/hooks/index.js"
29
- },
30
- "./primitives": {
31
- "types": "./dist/primitives/index.d.ts",
32
- "import": "./dist/primitives/index.mjs",
33
- "require": "./dist/primitives/index.js"
34
- },
35
- "./base-ui": {
36
- "types": "./dist/base-ui/index.d.ts",
37
- "import": "./dist/base-ui/index.mjs",
38
- "require": "./dist/base-ui/index.js"
39
- },
40
- "./mdx": {
41
- "types": "./dist/mdx/index.d.ts",
42
- "import": "./dist/mdx/index.mjs",
43
- "require": "./dist/mdx/index.js"
44
- },
45
- "./integrations": {
46
- "types": "./dist/integrations/index.d.ts",
47
- "import": "./dist/integrations/index.mjs",
48
- "require": "./dist/integrations/index.js"
49
- },
50
- "./client/hooks": {
51
- "types": "./dist/hooks/index.d.ts",
52
- "import": "./dist/hooks/index.mjs",
53
- "require": "./dist/hooks/index.js"
54
- },
55
- "./client/primitives": {
56
- "types": "./dist/primitives/index.d.ts",
57
- "import": "./dist/primitives/index.mjs",
58
- "require": "./dist/primitives/index.js"
59
- },
60
- "./client/types": {
61
- "types": "./dist/client/types.d.ts",
62
- "import": "./dist/client/types.mjs",
63
- "require": "./dist/client/types.js"
29
+ "./ssr": {
30
+ "types": "./dist/client/ssr.d.ts",
31
+ "import": "./dist/client/ssr.mjs",
32
+ "require": "./dist/client/ssr.js"
64
33
  },
65
34
  "./theme/neutral.css": "./src/client/theme/neutral.css"
66
35
  },
@@ -77,47 +46,48 @@
77
46
  ],
78
47
  "author": "Jesus Alcala",
79
48
  "license": "MIT",
80
- "type": "commonjs",
81
49
  "dependencies": {
82
- "@mdx-js/react": "^3.1.1",
83
- "@mdx-js/rollup": "^3.1.1",
84
- "@tailwindcss/vite": "^4.2.2",
85
- "@vitejs/plugin-react": "^4.2.1",
86
- "cac": "^7.0.0",
87
- "class-variance-authority": "^0.7.1",
88
- "clsx": "^2.1.1",
89
- "codesandbox": "^2.2.3",
90
- "fast-glob": "^3.3.3",
91
- "flexsearch": "^0.8.212",
92
- "github-slugger": "^2.0.0",
93
- "gray-matter": "^4.0.3",
94
- "isomorphic-dompurify": "^3.7.1",
95
- "lucide-react": "^0.575.0",
96
- "react-aria-components": "^1.16.0",
97
- "react-router-dom": "^6.30.3",
98
- "rehype-slug": "^6.0.0",
99
- "remark-frontmatter": "^5.0.0",
100
- "remark-gfm": "^4.0.1",
101
- "scroll-into-view-if-needed": "^3.1.0",
102
- "sharp": "^0.34.5",
103
- "shiki": "^3.23.0",
104
- "svgo": "^4.0.1",
105
- "tailwind-merge": "^3.5.0",
106
- "unist-util-visit": "^5.1.0",
107
- "vite": "^7.3.1",
108
- "vite-plugin-image-optimizer": "^2.0.3",
109
- "zustand": "^5.0.12"
50
+ "@mdx-js/react": "3.1.1",
51
+ "@mdx-js/rollup": "3.1.1",
52
+ "@tailwindcss/vite": "4.2.2",
53
+ "@vitejs/plugin-react": "4.2.1",
54
+ "cac": "7.0.0",
55
+ "class-variance-authority": "0.7.1",
56
+ "clsx": "2.1.1",
57
+ "codesandbox": "2.2.3",
58
+ "fast-glob": "3.3.3",
59
+ "flexsearch": "0.8.212",
60
+ "github-slugger": "2.0.0",
61
+ "gray-matter": "4.0.3",
62
+ "isomorphic-dompurify": "3.7.1",
63
+ "lucide-react": "0.575.0",
64
+ "react-aria-components": "1.16.0",
65
+ "react-router-dom": "6.30.3",
66
+ "rehype-slug": "6.0.0",
67
+ "remark-frontmatter": "5.0.0",
68
+ "remark-gfm": "4.0.1",
69
+ "scroll-into-view-if-needed": "3.1.0",
70
+ "sharp": "0.34.5",
71
+ "shiki": "3.23.0",
72
+ "svgo": "4.0.1",
73
+ "tailwind-merge": "3.5.0",
74
+ "unist-util-visit": "5.1.0",
75
+ "vite": "7.3.1",
76
+ "vite-plugin-image-optimizer": "2.0.3",
77
+ "zod": "4.3.6",
78
+ "zustand": "5.0.12"
110
79
  },
111
80
  "peerDependencies": {
112
- "react": "^19.1.0",
113
- "react-dom": "^19.1.0"
81
+ "react": "19.1.0",
82
+ "react-dom": "19.1.0"
114
83
  },
115
84
  "devDependencies": {
116
- "@types/node": "^25.3.2",
117
- "@types/react": "^19.2.14",
118
- "@types/react-dom": "^18.3.7",
119
- "@types/react-router-dom": "^5.3.3",
120
- "tsup": "^8.5.1",
85
+ "@types/node": "25.3.2",
86
+ "@types/react": "19.2.14",
87
+ "@types/react-dom": "18.3.7",
88
+ "@types/react-router-dom": "5.3.3",
89
+ "@types/semver": "7.7.1",
90
+ "tsup": "8.5.1",
121
91
  "typescript": "^5.9.3"
122
92
  },
123
93
  "scripts": {