boltdocs 2.5.4 → 2.5.5

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.
@@ -1,22 +1,22 @@
1
- "use strict";var Ji=Object.create;var He=Object.defineProperty;var Zi=Object.getOwnPropertyDescriptor;var Qi=Object.getOwnPropertyNames;var eo=Object.getPrototypeOf,to=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),or=(r,e)=>{for(var t in e)He(r,t,{get:e[t],enumerable:!0})},nr=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Qi(e))!to.call(r,s)&&s!==t&&He(r,s,{get:()=>e[s],enumerable:!(i=Zi(e,s))||i.enumerable});return r};var I=(r,e,t)=>(t=r!=null?Ji(eo(r)):{},nr(e||!r||!r.__esModule?He(t,"default",{value:r,enumerable:!0}):t,r)),ro=r=>nr(He({},"__esModule",{value:!0}),r);var so,f,a=ce(()=>{"use strict";so=()=>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,f=so()});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 mr(r){return/\.mdx?$/.test(r)}function Xe(r){try{return $t.default.statSync(r).mtimeMs}catch{return 0}}function dr(r){let e=$t.default.readFileSync(r,"utf-8");try{let{data:t,content:i,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 o=lr.safeParse(t);o.success||console.warn(`[VALIDATION][${r}] Invalid frontmatter fields detected.`);let u={...o.success?o.data:{}};return u.title&&(u.title=xe(u.title).trim()),u.description&&(u.description=xe(u.description).trim()),{data:u,content:i}}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 fr(r){let t=r.split("/").map(i=>$e(oo(i))).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 oo(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 i=new Date().toISOString(),s={...t};for(let o in s)typeof s[o]=="string"&&s[o].includes(":")&&(s[o]=s[o].split(/[\\/]/).pop()||s[o]);console.error(`[SECURITY][${i}] 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={};or(It,{AssetCache:()=>Rt,FileCache:()=>Se,TransformCache:()=>Re,flushCache:()=>po});async function po(){await ee.flush()}var N,B,ue,le,pe,We,no,Ye,wt,_c,Ct,ao,co,lo,uo,bt,St,ee,Se,Re,Rt,we=ce(()=>{"use strict";a();N=I(require("fs")),B=I(require("path")),ue=I(require("crypto")),le=I(require("zlib")),pe=require("util");K();We=(0,pe.promisify)(N.default.writeFile),no=(0,pe.promisify)(N.default.readFile),Ye=(0,pe.promisify)(N.default.mkdir),wt=(0,pe.promisify)(N.default.rename),_c=(0,pe.promisify)(N.default.unlink),Ct=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",ao="assets",co="shards",lo=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),uo=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 i=this.cache.keys().next().value;i!==void 0&&this.cache.delete(i)}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:uo,e.name){let t=e.root||process.cwd(),i=this.compress?"json.gz":"json";this.cachePath=B.default.resolve(t,Ct,`${e.name}.${i}`)}}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),i=this.cachePath,s=this.compress;ee.add(async()=>{try{await Ye(B.default.dirname(i),{recursive:!0});let o=Buffer.from(t);s&&(o=le.default.gzipSync(o));let n=`${i}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,o),await wt(n,i)}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(lo);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=B.default.resolve(t,Ct,`transform-${e}`),this.shardsDir=B.default.resolve(this.baseDir,co),this.indexPath=B.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(B.default.dirname(t),{recursive:!0}),await We(t,e)})}async getMany(e){let t=new Map,i=[];for(let s of e){let o=this.memoryCache.get(s);o?t.set(s,o):this.index.has(s)&&i.push(s)}if(i.length>0){let s=await Promise.all(i.map(async o=>{let n=this.index.get(o),u=B.default.resolve(this.shardsDir,`${n}.gz`);try{let p=await no(u),c=le.default.gunzipSync(p).toString("utf-8");return this.memoryCache.set(o,c),{key:o,val:c}}catch{return null}}));for(let o of s)o&&t.set(o.key,o.val)}return t}get(e){let t=this.memoryCache.get(e);if(t)return t;let i=this.index.get(e);if(!i)return null;let s=B.default.resolve(this.shardsDir,`${i}.gz`);if(!N.default.existsSync(s))return null;try{let o=N.default.readFileSync(s),n=le.default.gunzipSync(o).toString("utf-8");return this.memoryCache.set(e,n),n}catch{return null}}set(e,t){let i=ue.default.createHash("md5").update(t).digest("hex");this.index.set(e,i),this.memoryCache.set(e,t);let s=B.default.resolve(this.shardsDir,`${i}.gz`);ee.add(async()=>{if(N.default.existsSync(s))return;await Ye(this.shardsDir,{recursive:!0});let o=le.default.gzipSync(Buffer.from(t)),n=`${s}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,o),await wt(n,s)})}get size(){return this.index.size}async flush(){await ee.flush()}},Rt=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=B.default.resolve(e,Ct,ao)}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 i=this.getFileHash(e),s=this.getCachedPath(e,`${t}-${i}`);return N.default.existsSync(s)?s:null}set(e,t,i){let s=this.getFileHash(e),o=this.getCachedPath(e,`${t}-${s}`);ee.add(async()=>{await Ye(this.assetsDir,{recursive:!0});let n=`${o}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await We(n,i),await wt(n,o)})}getCachedPath(e,t){let i=B.default.extname(e),s=B.default.basename(e,i),o=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return B.default.join(this.assetsDir,`${s}.${o}${i}`)}clear(){N.default.existsSync(this.assetsDir)&&N.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await ee.flush()}}});var Ae=P((_l,Dr)=>{"use strict";a();var wo="2.0.0",Co=Number.MAX_SAFE_INTEGER||9007199254740991,Io=16,Oo=250,To=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Dr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Io,MAX_SAFE_BUILD_LENGTH:Oo,MAX_SAFE_INTEGER:Co,RELEASE_TYPES:To,SEMVER_SPEC_VERSION:wo,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ne=P((Ml,jr)=>{"use strict";a();var Lo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};jr.exports=Lo});var fe=P((W,kr)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:jt,MAX_SAFE_BUILD_LENGTH:Ao,MAX_LENGTH:No}=Ae(),Do=Ne();W=kr.exports={};var jo=W.re=[],ko=W.safeRe=[],h=W.src=[],qo=W.safeSrc=[],y=W.t={},Bo=0,kt="[a-zA-Z0-9-]",_o=[["\\s",1],["\\d",No],[kt,Ao]],Fo=r=>{for(let[e,t]of _o)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},v=(r,e,t)=>{let i=Fo(e),s=Bo++;Do(r,s,e),y[r]=s,h[s]=e,qo[s]=i,jo[s]=new RegExp(e,t?"g":void 0),ko[s]=new RegExp(i,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((Ul,qr)=>{"use strict";a();var Mo=Object.freeze({loose:!0}),Ho=Object.freeze({}),Go=r=>r?typeof r!="object"?Mo:r:Ho;qr.exports=Go});var qt=P((zl,Fr)=>{"use strict";a();var Br=/^[0-9]+$/,_r=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=Br.test(r),i=Br.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r<e?-1:1},Uo=(r,e)=>_r(e,r);Fr.exports={compareIdentifiers:_r,rcompareIdentifiers:Uo}});var D=P((Wl,Hr)=>{"use strict";a();var st=Ne(),{MAX_LENGTH:Mr,MAX_SAFE_INTEGER:it}=Ae(),{safeRe:ot,t:nt}=fe(),Vo=rt(),{compareIdentifiers:Bt}=qt(),_t=class r{constructor(e,t){if(t=Vo(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 i=e.trim().match(t.loose?ot[nt.LOOSE]:ot[nt.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>it||this.major<0)throw new TypeError("Invalid major version");if(this.minor>it||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>it||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let o=+s;if(o>=0&&o<it)return o}return s}):this.prerelease=[],this.build=i[5]?i[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 i=this.prerelease[t],s=e.prerelease[t];if(st("prerelease compare",t,i,s),i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(i===s)continue;return Bt(i,s)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let i=this.build[t],s=e.build[t];if(st("build compare",t,i,s),i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(i===s)continue;return Bt(i,s)}while(++t)}inc(e,t,i){if(e.startsWith("pre")){if(!t&&i===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?ot[nt.PRERELEASELOOSE]:ot[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,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,i),this.inc("pre",t,i);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,i),this.inc("pre",t,i);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(i)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(t===this.prerelease.join(".")&&i===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let o=[t,s];i===!1&&(o=[t]),Bt(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}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((Kl,Ur)=>{"use strict";a();var Gr=D(),zo=(r,e,t=!1)=>{if(r instanceof Gr)return r;try{return new Gr(r,e)}catch(i){if(!t)return null;throw i}};Ur.exports=zo});var zr=P((Zl,Vr)=>{"use strict";a();var Xo=ne(),Wo=(r,e)=>{let t=Xo(r,e);return t?t.version:null};Vr.exports=Wo});var Wr=P((eu,Xr)=>{"use strict";a();var Yo=ne(),Ko=(r,e)=>{let t=Yo(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};Xr.exports=Ko});var Jr=P((ru,Kr)=>{"use strict";a();var Yr=D(),Jo=(r,e,t,i,s)=>{typeof t=="string"&&(s=i,i=t,t=void 0);try{return new Yr(r instanceof Yr?r.version:r,t).inc(e,i,s).version}catch{return null}};Kr.exports=Jo});var es=P((iu,Qr)=>{"use strict";a();var Zr=ne(),Zo=(r,e)=>{let t=Zr(r,null,!0),i=Zr(e,null,!0),s=t.compare(i);if(s===0)return null;let o=s>0,n=o?t:i,u=o?i: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 d=p?"pre":"";return t.major!==i.major?d+"major":t.minor!==i.minor?d+"minor":t.patch!==i.patch?d+"patch":"prerelease"};Qr.exports=Zo});var rs=P((nu,ts)=>{"use strict";a();var Qo=D(),en=(r,e)=>new Qo(r,e).major;ts.exports=en});var is=P((cu,ss)=>{"use strict";a();var tn=D(),rn=(r,e)=>new tn(r,e).minor;ss.exports=rn});var ns=P((uu,os)=>{"use strict";a();var sn=D(),on=(r,e)=>new sn(r,e).patch;os.exports=on});var cs=P((mu,as)=>{"use strict";a();var nn=ne(),an=(r,e)=>{let t=nn(r,e);return t&&t.prerelease.length?t.prerelease:null};as.exports=an});var F=P((fu,us)=>{"use strict";a();var ls=D(),cn=(r,e,t)=>new ls(r,t).compare(new ls(e,t));us.exports=cn});var ms=P((hu,ps)=>{"use strict";a();var ln=F(),un=(r,e,t)=>ln(e,r,t);ps.exports=un});var fs=P((Eu,ds)=>{"use strict";a();var pn=F(),mn=(r,e)=>pn(r,e,!0);ds.exports=mn});var at=P(($u,hs)=>{"use strict";a();var gs=D(),dn=(r,e,t)=>{let i=new gs(r,t),s=new gs(e,t);return i.compare(s)||i.compareBuild(s)};hs.exports=dn});var Es=P((vu,ys)=>{"use strict";a();var fn=at(),gn=(r,e)=>r.sort((t,i)=>fn(t,i,e));ys.exports=gn});var $s=P((Su,xs)=>{"use strict";a();var hn=at(),yn=(r,e)=>r.sort((t,i)=>hn(i,t,e));xs.exports=yn});var De=P((wu,Ps)=>{"use strict";a();var En=F(),xn=(r,e,t)=>En(r,e,t)>0;Ps.exports=xn});var ct=P((Iu,vs)=>{"use strict";a();var $n=F(),Pn=(r,e,t)=>$n(r,e,t)<0;vs.exports=Pn});var Ft=P((Tu,bs)=>{"use strict";a();var vn=F(),bn=(r,e,t)=>vn(r,e,t)===0;bs.exports=bn});var Mt=P((Au,Ss)=>{"use strict";a();var Sn=F(),Rn=(r,e,t)=>Sn(r,e,t)!==0;Ss.exports=Rn});var lt=P((Du,Rs)=>{"use strict";a();var wn=F(),Cn=(r,e,t)=>wn(r,e,t)>=0;Rs.exports=Cn});var ut=P((ku,ws)=>{"use strict";a();var In=F(),On=(r,e,t)=>In(r,e,t)<=0;ws.exports=On});var Ht=P((Bu,Cs)=>{"use strict";a();var Tn=Ft(),Ln=Mt(),An=De(),Nn=lt(),Dn=ct(),jn=ut(),kn=(r,e,t,i)=>{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 Tn(r,t,i);case"!=":return Ln(r,t,i);case">":return An(r,t,i);case">=":return Nn(r,t,i);case"<":return Dn(r,t,i);case"<=":return jn(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};Cs.exports=kn});var Os=P((Fu,Is)=>{"use strict";a();var qn=D(),Bn=ne(),{safeRe:pt,t:mt}=fe(),_n=(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[mt.COERCEFULL]:pt[mt.COERCE]);else{let p=e.includePrerelease?pt[mt.COERCERTLFULL]:pt[mt.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 i=t[2],s=t[3]||"0",o=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",u=e.includePrerelease&&t[6]?`+${t[6]}`:"";return Bn(`${i}.${s}.${o}${n}${u}`,e)};Is.exports=_n});var Ls=P((Hu,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((Uu,js)=>{"use strict";a();var Fn=/\s+/g,Ut=class r{constructor(e,t){if(t=Hn(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(Fn," "),this.set=this.raw.split("||").map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(s=>!Ns(s[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&Yn(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 i=0;i<t.length;i++)i>0&&(this.formatted+=" "),this.formatted+=t[i].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let i=((this.options.includePrerelease&&Xn)|(this.options.loose&&Wn))+":"+e,s=As.get(i);if(s)return s;let o=this.options.loose,n=o?k[j.HYPHENRANGELOOSE]:k[j.HYPHENRANGE];e=e.replace(n,oa(this.options.includePrerelease)),O("hyphen replace",e),e=e.replace(k[j.COMPARATORTRIM],Un),O("comparator trim",e),e=e.replace(k[j.TILDETRIM],Vn),O("tilde trim",e),e=e.replace(k[j.CARETTRIM],zn),O("caret trim",e);let u=e.split(" ").map(m=>Kn(m,this.options)).join(" ").split(/\s+/).map(m=>ia(m,this.options));o&&(u=u.filter(m=>(O("loose invalid filter",m,this.options),!!m.match(k[j.COMPARATORLOOSE])))),O("range list",u);let p=new Map,c=u.map(m=>new Vt(m,this.options));for(let m of c){if(Ns(m))return[m];p.set(m.value,m)}p.size>1&&p.has("")&&p.delete("");let d=[...p.values()];return As.set(i,d),d}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(i=>Ds(i,t)&&e.set.some(s=>Ds(s,t)&&i.every(o=>s.every(n=>o.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Gn(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(na(this.set[t],e,this.options))return!0;return!1}};js.exports=Ut;var Mn=Ls(),As=new Mn,Hn=rt(),Vt=je(),O=Ne(),Gn=D(),{safeRe:k,t:j,comparatorTrimReplace:Un,tildeTrimReplace:Vn,caretTrimReplace:zn}=fe(),{FLAG_INCLUDE_PRERELEASE:Xn,FLAG_LOOSE:Wn}=Ae(),Ns=r=>r.value==="<0.0.0-0",Yn=r=>r.value==="",Ds=(r,e)=>{let t=!0,i=r.slice(),s=i.pop();for(;t&&i.length;)t=i.every(o=>s.intersects(o,e)),s=i.pop();return t},Kn=(r,e)=>(r=r.replace(k[j.BUILD],""),O("comp",r,e),r=Qn(r,e),O("caret",r),r=Jn(r,e),O("tildes",r),r=ta(r,e),O("xrange",r),r=sa(r,e),O("stars",r),r),q=r=>!r||r.toLowerCase()==="x"||r==="*",Jn=(r,e)=>r.trim().split(/\s+/).map(t=>Zn(t,e)).join(" "),Zn=(r,e)=>{let t=e.loose?k[j.TILDELOOSE]:k[j.TILDE];return r.replace(t,(i,s,o,n,u)=>{O("tilde",r,i,s,o,n,u);let p;return q(s)?p="":q(o)?p=`>=${s}.0.0 <${+s+1}.0.0-0`:q(n)?p=`>=${s}.${o}.0 <${s}.${+o+1}.0-0`:u?(O("replaceTilde pr",u),p=`>=${s}.${o}.${n}-${u} <${s}.${+o+1}.0-0`):p=`>=${s}.${o}.${n} <${s}.${+o+1}.0-0`,O("tilde return",p),p})},Qn=(r,e)=>r.trim().split(/\s+/).map(t=>ea(t,e)).join(" "),ea=(r,e)=>{O("caret",r,e);let t=e.loose?k[j.CARETLOOSE]:k[j.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(s,o,n,u,p)=>{O("caret",r,s,o,n,u,p);let c;return q(o)?c="":q(n)?c=`>=${o}.0.0${i} <${+o+1}.0.0-0`:q(u)?o==="0"?c=`>=${o}.${n}.0${i} <${o}.${+n+1}.0-0`:c=`>=${o}.${n}.0${i} <${+o+1}.0.0-0`:p?(O("replaceCaret pr",p),o==="0"?n==="0"?c=`>=${o}.${n}.${u}-${p} <${o}.${n}.${+u+1}-0`:c=`>=${o}.${n}.${u}-${p} <${o}.${+n+1}.0-0`:c=`>=${o}.${n}.${u}-${p} <${+o+1}.0.0-0`):(O("no pr"),o==="0"?n==="0"?c=`>=${o}.${n}.${u}${i} <${o}.${n}.${+u+1}-0`:c=`>=${o}.${n}.${u}${i} <${o}.${+n+1}.0-0`:c=`>=${o}.${n}.${u} <${+o+1}.0.0-0`),O("caret return",c),c})},ta=(r,e)=>(O("replaceXRanges",r,e),r.split(/\s+/).map(t=>ra(t,e)).join(" ")),ra=(r,e)=>{r=r.trim();let t=e.loose?k[j.XRANGELOOSE]:k[j.XRANGE];return r.replace(t,(i,s,o,n,u,p)=>{O("xRange",r,i,s,o,n,u,p);let c=q(o),d=c||q(n),m=d||q(u),E=m;return s==="="&&E&&(s=""),p=e.includePrerelease?"-0":"",c?s===">"||s==="<"?i="<0.0.0-0":i="*":s&&E?(d&&(n=0),u=0,s===">"?(s=">=",d?(o=+o+1,n=0,u=0):(n=+n+1,u=0)):s==="<="&&(s="<",d?o=+o+1:n=+n+1),s==="<"&&(p="-0"),i=`${s+o}.${n}.${u}${p}`):d?i=`>=${o}.0.0${p} <${+o+1}.0.0-0`:m&&(i=`>=${o}.${n}.0${p} <${o}.${+n+1}.0-0`),O("xRange return",i),i})},sa=(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],"")),oa=r=>(e,t,i,s,o,n,u,p,c,d,m,E)=>(q(i)?t="":q(s)?t=`>=${i}.0.0${r?"-0":""}`:q(o)?t=`>=${i}.${s}.0${r?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,q(c)?p="":q(d)?p=`<${+c+1}.0.0-0`:q(m)?p=`<${c}.${+d+1}.0-0`:E?p=`<=${c}.${d}.${m}-${E}`:r?p=`<${c}.${d}.${+m+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),na=(r,e,t)=>{for(let i=0;i<r.length;i++)if(!r[i].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let i=0;i<r.length;i++)if(O(r[i].semver),r[i].semver!==Vt.ANY&&r[i].semver.prerelease.length>0){let s=r[i].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var je=P((zu,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?qs[Bs.COMPARATORLOOSE]:qs[Bs.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new _s(i[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:qs,t:Bs}=fe(),zt=Ht(),Xt=Ne(),_s=D(),Fs=M()});var qe=P((Wu,Hs)=>{"use strict";a();var aa=M(),ca=(r,e,t)=>{try{e=new aa(e,t)}catch{return!1}return e.test(r)};Hs.exports=ca});var Us=P((Ku,Gs)=>{"use strict";a();var la=M(),ua=(r,e)=>new la(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));Gs.exports=ua});var zs=P((Zu,Vs)=>{"use strict";a();var pa=D(),ma=M(),da=(r,e,t)=>{let i=null,s=null,o=null;try{o=new ma(e,t)}catch{return null}return r.forEach(n=>{o.test(n)&&(!i||s.compare(n)===-1)&&(i=n,s=new pa(i,t))}),i};Vs.exports=da});var Ws=P((ep,Xs)=>{"use strict";a();var fa=D(),ga=M(),ha=(r,e,t)=>{let i=null,s=null,o=null;try{o=new ga(e,t)}catch{return null}return r.forEach(n=>{o.test(n)&&(!i||s.compare(n)===1)&&(i=n,s=new fa(i,t))}),i};Xs.exports=ha});var Js=P((rp,Ks)=>{"use strict";a();var Yt=D(),ya=M(),Ys=De(),Ea=(r,e)=>{r=new ya(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 i=0;i<r.set.length;++i){let s=r.set[i],o=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">=":(!o||Ys(u,o))&&(o=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),o&&(!t||Ys(t,o))&&(t=o)}return t&&r.test(t)?t:null};Ks.exports=Ea});var Qs=P((ip,Zs)=>{"use strict";a();var xa=M(),$a=(r,e)=>{try{return new xa(r,e).range||"*"}catch{return null}};Zs.exports=$a});var dt=P((np,si)=>{"use strict";a();var Pa=D(),ri=je(),{ANY:va}=ri,ba=M(),Sa=qe(),ei=De(),ti=ct(),Ra=ut(),wa=lt(),Ca=(r,e,t,i)=>{r=new Pa(r,i),e=new ba(e,i);let s,o,n,u,p;switch(t){case">":s=ei,o=Ra,n=ti,u=">",p=">=";break;case"<":s=ti,o=wa,n=ei,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Sa(r,e,i))return!1;for(let c=0;c<e.set.length;++c){let d=e.set[c],m=null,E=null;if(d.forEach(g=>{g.semver===va&&(g=new ri(">=0.0.0")),m=m||g,E=E||g,s(g.semver,m.semver,i)?m=g:n(g.semver,E.semver,i)&&(E=g)}),m.operator===u||m.operator===p||(!E.operator||E.operator===u)&&o(r,E.semver))return!1;if(E.operator===p&&n(r,E.semver))return!1}return!0};si.exports=Ca});var oi=P((cp,ii)=>{"use strict";a();var Ia=dt(),Oa=(r,e,t)=>Ia(r,e,">",t);ii.exports=Oa});var ai=P((up,ni)=>{"use strict";a();var Ta=dt(),La=(r,e,t)=>Ta(r,e,"<",t);ni.exports=La});var ui=P((mp,li)=>{"use strict";a();var ci=M(),Aa=(r,e,t)=>(r=new ci(r,t),e=new ci(e,t),r.intersects(e,t));li.exports=Aa});var mi=P((fp,pi)=>{"use strict";a();var Na=qe(),Da=F();pi.exports=(r,e,t)=>{let i=[],s=null,o=null,n=r.sort((d,m)=>Da(d,m,t));for(let d of n)Na(d,e,t)?(o=d,s||(s=d)):(o&&i.push([s,o]),o=null,s=null);s&&i.push([s,null]);let u=[];for(let[d,m]of i)d===m?u.push(d):!m&&d===n[0]?u.push("*"):m?d===n[0]?u.push(`<=${m}`):u.push(`${d} - ${m}`):u.push(`>=${d}`);let p=u.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var Ei=P((hp,yi)=>{"use strict";a();var di=M(),Jt=je(),{ANY:Kt}=Jt,Be=qe(),Zt=F(),ja=(r,e,t={})=>{if(r===e)return!0;r=new di(r,t),e=new di(e,t);let i=!1;e:for(let s of r.set){for(let o of e.set){let n=qa(s,o,t);if(i=i||n!==null,n)continue e}if(i)return!1}return!0},ka=[new Jt(">=0.0.0-0")],fi=[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=ka:r=fi}if(e.length===1&&e[0].semver===Kt){if(t.includePrerelease)return!0;e=fi}let i=new Set,s,o;for(let g of r)g.operator===">"||g.operator===">="?s=gi(s,g,t):g.operator==="<"||g.operator==="<="?o=hi(o,g,t):i.add(g.semver);if(i.size>1)return null;let n;if(s&&o){if(n=Zt(s.semver,o.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||o.operator!=="<="))return null}for(let g of i){if(s&&!Be(g,String(s),t)||o&&!Be(g,String(o),t))return null;for(let C of e)if(!Be(g,String(C),t))return!1;return!0}let u,p,c,d,m=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;m&&m.prerelease.length===1&&o.operator==="<"&&m.prerelease[0]===0&&(m=!1);for(let g of e){if(d=d||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=gi(s,g,t),u===g&&u!==s)return!1}else if(s.operator===">="&&!Be(s.semver,String(g),t))return!1}if(o){if(m&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===m.major&&g.semver.minor===m.minor&&g.semver.patch===m.patch&&(m=!1),g.operator==="<"||g.operator==="<="){if(p=hi(o,g,t),p===g&&p!==o)return!1}else if(o.operator==="<="&&!Be(o.semver,String(g),t))return!1}if(!g.operator&&(o||s)&&n!==0)return!1}return!(s&&c&&!o&&n!==0||o&&d&&!s&&n!==0||E||m)},gi=(r,e,t)=>{if(!r)return e;let i=Zt(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},hi=(r,e,t)=>{if(!r)return e;let i=Zt(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};yi.exports=ja});var vi=P((Ep,Pi)=>{"use strict";a();var Qt=fe(),xi=Ae(),Ba=D(),$i=qt(),_a=ne(),Fa=zr(),Ma=Wr(),Ha=Jr(),Ga=es(),Ua=rs(),Va=is(),za=ns(),Xa=cs(),Wa=F(),Ya=ms(),Ka=fs(),Ja=at(),Za=Es(),Qa=$s(),ec=De(),tc=ct(),rc=Ft(),sc=Mt(),ic=lt(),oc=ut(),nc=Ht(),ac=Os(),cc=je(),lc=M(),uc=qe(),pc=Us(),mc=zs(),dc=Ws(),fc=Js(),gc=Qs(),hc=dt(),yc=oi(),Ec=ai(),xc=ui(),$c=mi(),Pc=Ei();Pi.exports={parse:_a,valid:Fa,clean:Ma,inc:Ha,diff:Ga,major:Ua,minor:Va,patch:za,prerelease:Xa,compare:Wa,rcompare:Ya,compareLoose:Ka,compareBuild:Ja,sort:Za,rsort:Qa,gt:ec,lt:tc,eq:rc,neq:sc,gte:ic,lte:oc,cmp:nc,coerce:ac,Comparator:cc,Range:lc,satisfies:uc,toComparators:pc,maxSatisfying:mc,minSatisfying:dc,minVersion:fc,validRange:gc,outside:hc,gtr:yc,ltr:Ec,intersects:xc,simplifyRange:$c,subset:Pc,SemVer:Ba,re:Qt.re,src:Qt.src,tokens:Qt.t,SEMVER_SPEC_VERSION:xi.SEMVER_SPEC_VERSION,RELEASE_TYPES:xi.RELEASE_TYPES,compareIdentifiers:$i.compareIdentifiers,rcompareIdentifiers:$i.rcompareIdentifiers}});var wi=P((Mp,bc)=>{bc.exports={name:"boltdocs",version:"2.5.4",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/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","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 Rc={};or(Rc,{BoltdocsPluginStore:()=>Le,PluginCompatibilityError:()=>Oe,PluginError:()=>ie,PluginHookError:()=>Te,PluginLifecycleManager:()=>_e,PluginPermissionError:()=>de,PluginSandbox:()=>Y,PluginValidationError:()=>oe,SecurePluginSchema:()=>Ri,createPlugin:()=>vc,createViteConfig:()=>Sc,default:()=>rr,defineConfig:()=>Sr,generateStaticPages:()=>Qe,hasPermission:()=>ae,resolveConfig:()=>te,validatePlugins:()=>er});module.exports=ro(Rc);a();var Vi=I(require("@vitejs/plugin-react")),zi=I(require("@tailwindcss/vite"));a();var Ci=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,i){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 o=Z.default.resolve(s),n=Z.default.resolve(e),u=G(Z.default.relative(n,o));if(u.startsWith("../")||u===".."||o.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}=dr(r),d=u.split("/"),m,E;if(i?.versions&&d.length>0){let L=d[0],Et=i.versions.prefix||"",Me=i.versions.versions.find(he=>{let xt=Et+he.path;return L===xt||L===he.path});Me&&(E=Me.path,d=d.slice(1))}if(i?.i18n&&d.length>0){let L=d[0];i.i18n.locales[L]&&(m=L,d=d.slice(1))}let g;if(d.length>0){let L=d[0].match(/^\((.+)\)$/);L&&(g=L[1].toLowerCase(),d=d.slice(1))}let C=d.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=fr(C||"index.md");let x=t;E&&(x+="/"+E),m&&(x+="/"+m),g&&(x+="/"+g),x+=$==="/"?"":$,(!x||x==="")&&(x="/");let b=d[d.length-1],R=$e(b),S=$e(Z.default.basename(r,Z.default.extname(r))),T=p.sidebarPosition??ze(b),A=d.length>=2?d[0]:void 0,w=A?$e(A):void 0,Q=d.length>=2&&/^index\.mdx?$/.test(R),_=new hr.default,sr=[],Xi=/^(#{2,4})\s+(.+)$/gm;for(let L of c.matchAll(Xi)){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 Wi=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 Yi=p.badge?Pe(String(p.badge)):void 0,ir=p.icon?String(p.icon):void 0,Ki=mo(c);return{route:{path:x,componentPath:r,filePath:u,title:Wi,description:yt,sidebarPosition:T,headings:sr,locale:m,version:E,badge:Yi,icon:ir,tab:g,_content:Ki,_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:ir}:void 0,inferredGroupPosition:A?ze(A):void 0}}function mo(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?fo(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 fo(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 me(r,e,t="/docs",i=!0){let s=performance.now();J.load(),Ce.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&J.invalidateAll();let o;!i&&Lt?o=Lt:(o=await(0,$r.default)(["**/*.md","**/*.mdx"],{cwd:r,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Lt=o),J.pruneStale(new Set(o));let n=50,u=[],p=0;for(let $=0;$<o.length;$+=n){let x=o.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<o.length&&await new Promise(R=>setImmediate(R))}J.save();let c=new Map,d=[];for(let $ of u)if($.isGroupIndex&&$.relativeDir&&d.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 d){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 m=new Array(u.length);for(let $=0;$<u.length;$++){let x=u[$],b=x.relativeDir,R=b?c.get(b):void 0;m[$]={...x.route,group:b,groupTitle:R?.title||(b?ve(b):void 0),groupPosition:R?.position,groupIcon:R?.icon}}let E=m;if(e?.i18n){let $=go(m,e,t);E=[...m,...$]}let g=xr(E),C=performance.now()-s;return console.log(`[boltdocs] Route generation: ${C.toFixed(2)}ms (${o.length} files, ${p} cache hits)`),g}function go(r,e,t){let i=e.i18n.defaultLocale,s=Object.keys(e.i18n.locales),o=[],n=new Map,u=[];for(let p of r){let c=p.locale||i;n.has(c)||n.set(c,new Set),n.get(c).add(p.path),c===i&&u.push(p)}for(let p of s){let c=n.get(p)||new Set;for(let d of u){let m=ho(d.path,i,p,t,e);m!==d.path&&(c.has(m)||o.push({...d,path:m,locale:p}))}}return o}function ho(r,e,t,i,s){let o=`${r}:${t}`,n=Ce.get(o);if(n)return n;let u=i;if(s?.versions){let m=s.versions.prefix||"";for(let E of s.versions.versions){let g=m+E.path;if(r.startsWith(`${i}/${g}`)){u+="/"+g;break}if(r.startsWith(`${i}/${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 m=p.startsWith("/")?"":"/";p="/"+t+m+p}let d=u+p;return Ce.size>2e3&&Ce.clear(),Ce.set(o,d),d}var Ii=require("vite-plugin-image-optimizer");a();var Ke=I(require("path")),vr=I(require("fs")),br=require("vite");a();var l=require("zod"),yo=l.z.object({icon:l.z.string().max(50),link:l.z.string().url()}),Eo=l.z.object({text:l.z.string().max(2e3).optional()}),xo=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(xo).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()}),$o=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(yo).optional(),footer:Eo.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()}),Po=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()})]),vo=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()}),bo=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()}))}),So=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()}),Pr=l.z.object({siteUrl:l.z.string().url().optional(),docsDir:l.z.string().optional(),homePage:l.z.string().optional(),theme:$o.optional(),i18n:vo.optional(),versions:bo.optional(),plugins:l.z.array(At).optional(),robots:Po.optional(),security:So.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,i={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 d of Je){let m=Ke.default.resolve(t,d);if(vr.default.existsSync(m))try{let E=await(0,br.loadConfigFromFile)({command:"serve",mode:"development"},m,t);if(E){s=E.config;break}}catch(E){console.warn(`[boltdocs] Failed to load config from ${d}:`,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(([d,m])=>m!==void 0));u.navbar&&(u.navbar=u.navbar.map(d=>({label:d.label||d.text||"",href:d.href||d.link||d.to||""})));let p={docsDir:Ke.default.resolve(r),homePage:s.homePage,theme:{...i.theme,...u},i18n:s.i18n,versions:s.versions,siteUrl:s.siteUrl,plugins:s.plugins||[],robots:s.robots,security:s.security,vite:s.vite},c=Pr.safeParse(p);if(!c.success){let d=c.error.issues.map(m=>` - ${m.path.join(".")}: ${m.message}`).join(`
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,f,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,f=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 mr(r){return/\.mdx?$/.test(r)}function Xe(r){try{return $t.default.statSync(r).mtimeMs}catch{return 0}}function dr(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 fr(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:()=>mi});async function mi(){await ee.flush()}var N,B,ue,le,pe,We,ai,Ye,wt,_c,Ct,ci,li,ui,pi,bt,St,ee,Se,Re,Rt,we=ce(()=>{"use strict";a();N=I(require("fs")),B=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),_c=(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=B.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(B.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=B.default.resolve(t,Ct,`transform-${e}`),this.shardsDir=B.default.resolve(this.baseDir,li),this.indexPath=B.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(B.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=B.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=B.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=B.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=B.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=B.default.extname(e),s=B.default.basename(e,o),i=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return B.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((_l,Dr)=>{"use strict";a();var wi="2.0.0",Ci=Number.MAX_SAFE_INTEGER||9007199254740991,Ii=16,Oi=250,Ti=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Dr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ii,MAX_SAFE_BUILD_LENGTH:Oi,MAX_SAFE_INTEGER:Ci,RELEASE_TYPES:Ti,SEMVER_SPEC_VERSION:wi,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ne=P((Ml,jr)=>{"use strict";a();var Li=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};jr.exports=Li});var fe=P((W,kr)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:jt,MAX_SAFE_BUILD_LENGTH:Ai,MAX_LENGTH:Ni}=Ae(),Di=Ne();W=kr.exports={};var ji=W.re=[],ki=W.safeRe=[],h=W.src=[],qi=W.safeSrc=[],y=W.t={},Bi=0,kt="[a-zA-Z0-9-]",_i=[["\\s",1],["\\d",Ni],[kt,Ai]],Fi=r=>{for(let[e,t]of _i)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},v=(r,e,t)=>{let o=Fi(e),s=Bi++;Di(r,s,e),y[r]=s,h[s]=e,qi[s]=o,ji[s]=new RegExp(e,t?"g":void 0),ki[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((Ul,qr)=>{"use strict";a();var Mi=Object.freeze({loose:!0}),Hi=Object.freeze({}),Gi=r=>r?typeof r!="object"?Mi:r:Hi;qr.exports=Gi});var qt=P((zl,Fr)=>{"use strict";a();var Br=/^[0-9]+$/,_r=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=Br.test(r),o=Br.test(e);return t&&o&&(r=+r,e=+e),r===e?0:t&&!o?-1:o&&!t?1:r<e?-1:1},Ui=(r,e)=>_r(e,r);Fr.exports={compareIdentifiers:_r,rcompareIdentifiers:Ui}});var D=P((Wl,Hr)=>{"use strict";a();var st=Ne(),{MAX_LENGTH:Mr,MAX_SAFE_INTEGER:ot}=Ae(),{safeRe:it,t:nt}=fe(),Vi=rt(),{compareIdentifiers:Bt}=qt(),_t=class r{constructor(e,t){if(t=Vi(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 Bt(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 Bt(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]),Bt(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((Kl,Ur)=>{"use strict";a();var Gr=D(),zi=(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=zi});var zr=P((Zl,Vr)=>{"use strict";a();var Xi=ne(),Wi=(r,e)=>{let t=Xi(r,e);return t?t.version:null};Vr.exports=Wi});var Wr=P((eu,Xr)=>{"use strict";a();var Yi=ne(),Ki=(r,e)=>{let t=Yi(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};Xr.exports=Ki});var Jr=P((ru,Kr)=>{"use strict";a();var Yr=D(),Ji=(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=Ji});var es=P((ou,Qr)=>{"use strict";a();var Zr=ne(),Zi=(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 d=p?"pre":"";return t.major!==o.major?d+"major":t.minor!==o.minor?d+"minor":t.patch!==o.patch?d+"patch":"prerelease"};Qr.exports=Zi});var rs=P((nu,ts)=>{"use strict";a();var Qi=D(),en=(r,e)=>new Qi(r,e).major;ts.exports=en});var os=P((cu,ss)=>{"use strict";a();var tn=D(),rn=(r,e)=>new tn(r,e).minor;ss.exports=rn});var ns=P((uu,is)=>{"use strict";a();var sn=D(),on=(r,e)=>new sn(r,e).patch;is.exports=on});var cs=P((mu,as)=>{"use strict";a();var nn=ne(),an=(r,e)=>{let t=nn(r,e);return t&&t.prerelease.length?t.prerelease:null};as.exports=an});var F=P((fu,us)=>{"use strict";a();var ls=D(),cn=(r,e,t)=>new ls(r,t).compare(new ls(e,t));us.exports=cn});var ms=P((hu,ps)=>{"use strict";a();var ln=F(),un=(r,e,t)=>ln(e,r,t);ps.exports=un});var fs=P((Eu,ds)=>{"use strict";a();var pn=F(),mn=(r,e)=>pn(r,e,!0);ds.exports=mn});var at=P(($u,hs)=>{"use strict";a();var gs=D(),dn=(r,e,t)=>{let o=new gs(r,t),s=new gs(e,t);return o.compare(s)||o.compareBuild(s)};hs.exports=dn});var Es=P((vu,ys)=>{"use strict";a();var fn=at(),gn=(r,e)=>r.sort((t,o)=>fn(t,o,e));ys.exports=gn});var $s=P((Su,xs)=>{"use strict";a();var hn=at(),yn=(r,e)=>r.sort((t,o)=>hn(o,t,e));xs.exports=yn});var De=P((wu,Ps)=>{"use strict";a();var En=F(),xn=(r,e,t)=>En(r,e,t)>0;Ps.exports=xn});var ct=P((Iu,vs)=>{"use strict";a();var $n=F(),Pn=(r,e,t)=>$n(r,e,t)<0;vs.exports=Pn});var Ft=P((Tu,bs)=>{"use strict";a();var vn=F(),bn=(r,e,t)=>vn(r,e,t)===0;bs.exports=bn});var Mt=P((Au,Ss)=>{"use strict";a();var Sn=F(),Rn=(r,e,t)=>Sn(r,e,t)!==0;Ss.exports=Rn});var lt=P((Du,Rs)=>{"use strict";a();var wn=F(),Cn=(r,e,t)=>wn(r,e,t)>=0;Rs.exports=Cn});var ut=P((ku,ws)=>{"use strict";a();var In=F(),On=(r,e,t)=>In(r,e,t)<=0;ws.exports=On});var Ht=P((Bu,Cs)=>{"use strict";a();var Tn=Ft(),Ln=Mt(),An=De(),Nn=lt(),Dn=ct(),jn=ut(),kn=(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 Tn(r,t,o);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);default:throw new TypeError(`Invalid operator: ${e}`)}};Cs.exports=kn});var Os=P((Fu,Is)=>{"use strict";a();var qn=D(),Bn=ne(),{safeRe:pt,t:mt}=fe(),_n=(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[mt.COERCEFULL]:pt[mt.COERCE]);else{let p=e.includePrerelease?pt[mt.COERCERTLFULL]:pt[mt.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 Bn(`${o}.${s}.${i}${n}${u}`,e)};Is.exports=_n});var Ls=P((Hu,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((Uu,js)=>{"use strict";a();var Fn=/\s+/g,Ut=class r{constructor(e,t){if(t=Hn(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(Fn," "),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&&Yn(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&&Xn)|(this.options.loose&&Wn))+":"+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,ia(this.options.includePrerelease)),O("hyphen replace",e),e=e.replace(k[j.COMPARATORTRIM],Un),O("comparator trim",e),e=e.replace(k[j.TILDETRIM],Vn),O("tilde trim",e),e=e.replace(k[j.CARETTRIM],zn),O("caret trim",e);let u=e.split(" ").map(m=>Kn(m,this.options)).join(" ").split(/\s+/).map(m=>oa(m,this.options));i&&(u=u.filter(m=>(O("loose invalid filter",m,this.options),!!m.match(k[j.COMPARATORLOOSE])))),O("range list",u);let p=new Map,c=u.map(m=>new Vt(m,this.options));for(let m of c){if(Ns(m))return[m];p.set(m.value,m)}p.size>1&&p.has("")&&p.delete("");let d=[...p.values()];return As.set(o,d),d}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 Gn(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(na(this.set[t],e,this.options))return!0;return!1}};js.exports=Ut;var Mn=Ls(),As=new Mn,Hn=rt(),Vt=je(),O=Ne(),Gn=D(),{safeRe:k,t:j,comparatorTrimReplace:Un,tildeTrimReplace:Vn,caretTrimReplace:zn}=fe(),{FLAG_INCLUDE_PRERELEASE:Xn,FLAG_LOOSE:Wn}=Ae(),Ns=r=>r.value==="<0.0.0-0",Yn=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},Kn=(r,e)=>(r=r.replace(k[j.BUILD],""),O("comp",r,e),r=Qn(r,e),O("caret",r),r=Jn(r,e),O("tildes",r),r=ta(r,e),O("xrange",r),r=sa(r,e),O("stars",r),r),q=r=>!r||r.toLowerCase()==="x"||r==="*",Jn=(r,e)=>r.trim().split(/\s+/).map(t=>Zn(t,e)).join(" "),Zn=(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 q(s)?p="":q(i)?p=`>=${s}.0.0 <${+s+1}.0.0-0`:q(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})},Qn=(r,e)=>r.trim().split(/\s+/).map(t=>ea(t,e)).join(" "),ea=(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 q(i)?c="":q(n)?c=`>=${i}.0.0${o} <${+i+1}.0.0-0`:q(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})},ta=(r,e)=>(O("replaceXRanges",r,e),r.split(/\s+/).map(t=>ra(t,e)).join(" ")),ra=(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=q(i),d=c||q(n),m=d||q(u),E=m;return s==="="&&E&&(s=""),p=e.includePrerelease?"-0":"",c?s===">"||s==="<"?o="<0.0.0-0":o="*":s&&E?(d&&(n=0),u=0,s===">"?(s=">=",d?(i=+i+1,n=0,u=0):(n=+n+1,u=0)):s==="<="&&(s="<",d?i=+i+1:n=+n+1),s==="<"&&(p="-0"),o=`${s+i}.${n}.${u}${p}`):d?o=`>=${i}.0.0${p} <${+i+1}.0.0-0`:m&&(o=`>=${i}.${n}.0${p} <${i}.${+n+1}.0-0`),O("xRange return",o),o})},sa=(r,e)=>(O("replaceStars",r,e),r.trim().replace(k[j.STAR],"")),oa=(r,e)=>(O("replaceGTE0",r,e),r.trim().replace(k[e.includePrerelease?j.GTE0PRE:j.GTE0],"")),ia=r=>(e,t,o,s,i,n,u,p,c,d,m,E)=>(q(o)?t="":q(s)?t=`>=${o}.0.0${r?"-0":""}`:q(i)?t=`>=${o}.${s}.0${r?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,q(c)?p="":q(d)?p=`<${+c+1}.0.0-0`:q(m)?p=`<${c}.${+d+1}.0-0`:E?p=`<=${c}.${d}.${m}-${E}`:r?p=`<${c}.${d}.${+m+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),na=(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((zu,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?qs[Bs.COMPARATORLOOSE]:qs[Bs.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:qs,t:Bs}=fe(),zt=Ht(),Xt=Ne(),_s=D(),Fs=M()});var qe=P((Wu,Hs)=>{"use strict";a();var aa=M(),ca=(r,e,t)=>{try{e=new aa(e,t)}catch{return!1}return e.test(r)};Hs.exports=ca});var Us=P((Ku,Gs)=>{"use strict";a();var la=M(),ua=(r,e)=>new la(r,e).set.map(t=>t.map(o=>o.value).join(" ").trim().split(" "));Gs.exports=ua});var zs=P((Zu,Vs)=>{"use strict";a();var pa=D(),ma=M(),da=(r,e,t)=>{let o=null,s=null,i=null;try{i=new ma(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===-1)&&(o=n,s=new pa(o,t))}),o};Vs.exports=da});var Ws=P((ep,Xs)=>{"use strict";a();var fa=D(),ga=M(),ha=(r,e,t)=>{let o=null,s=null,i=null;try{i=new ga(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===1)&&(o=n,s=new fa(o,t))}),o};Xs.exports=ha});var Js=P((rp,Ks)=>{"use strict";a();var Yt=D(),ya=M(),Ys=De(),Ea=(r,e)=>{r=new ya(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=Ea});var Qs=P((op,Zs)=>{"use strict";a();var xa=M(),$a=(r,e)=>{try{return new xa(r,e).range||"*"}catch{return null}};Zs.exports=$a});var dt=P((np,so)=>{"use strict";a();var Pa=D(),ro=je(),{ANY:va}=ro,ba=M(),Sa=qe(),eo=De(),to=ct(),Ra=ut(),wa=lt(),Ca=(r,e,t,o)=>{r=new Pa(r,o),e=new ba(e,o);let s,i,n,u,p;switch(t){case">":s=eo,i=Ra,n=to,u=">",p=">=";break;case"<":s=to,i=wa,n=eo,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Sa(r,e,o))return!1;for(let c=0;c<e.set.length;++c){let d=e.set[c],m=null,E=null;if(d.forEach(g=>{g.semver===va&&(g=new ro(">=0.0.0")),m=m||g,E=E||g,s(g.semver,m.semver,o)?m=g:n(g.semver,E.semver,o)&&(E=g)}),m.operator===u||m.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=Ca});var io=P((cp,oo)=>{"use strict";a();var Ia=dt(),Oa=(r,e,t)=>Ia(r,e,">",t);oo.exports=Oa});var ao=P((up,no)=>{"use strict";a();var Ta=dt(),La=(r,e,t)=>Ta(r,e,"<",t);no.exports=La});var uo=P((mp,lo)=>{"use strict";a();var co=M(),Aa=(r,e,t)=>(r=new co(r,t),e=new co(e,t),r.intersects(e,t));lo.exports=Aa});var mo=P((fp,po)=>{"use strict";a();var Na=qe(),Da=F();po.exports=(r,e,t)=>{let o=[],s=null,i=null,n=r.sort((d,m)=>Da(d,m,t));for(let d of n)Na(d,e,t)?(i=d,s||(s=d)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);let u=[];for(let[d,m]of o)d===m?u.push(d):!m&&d===n[0]?u.push("*"):m?d===n[0]?u.push(`<=${m}`):u.push(`${d} - ${m}`):u.push(`>=${d}`);let p=u.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var xo=P((hp,Eo)=>{"use strict";a();var fo=M(),Jt=je(),{ANY:Kt}=Jt,Be=qe(),Zt=F(),ja=(r,e,t={})=>{if(r===e)return!0;r=new fo(r,t),e=new fo(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},ka=[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=ka: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&&!Be(g,String(s),t)||i&&!Be(g,String(i),t))return null;for(let C of e)if(!Be(g,String(C),t))return!1;return!0}let u,p,c,d,m=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;m&&m.prerelease.length===1&&i.operator==="<"&&m.prerelease[0]===0&&(m=!1);for(let g of e){if(d=d||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===">="&&!Be(s.semver,String(g),t))return!1}if(i){if(m&&g.semver.prerelease&&g.semver.prerelease.length&&g.semver.major===m.major&&g.semver.minor===m.minor&&g.semver.patch===m.patch&&(m=!1),g.operator==="<"||g.operator==="<="){if(p=yo(i,g,t),p===g&&p!==i)return!1}else if(i.operator==="<="&&!Be(i.semver,String(g),t))return!1}if(!g.operator&&(i||s)&&n!==0)return!1}return!(s&&c&&!i&&n!==0||i&&d&&!s&&n!==0||E||m)},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=ja});var bo=P((Ep,vo)=>{"use strict";a();var Qt=fe(),$o=Ae(),Ba=D(),Po=qt(),_a=ne(),Fa=zr(),Ma=Wr(),Ha=Jr(),Ga=es(),Ua=rs(),Va=os(),za=ns(),Xa=cs(),Wa=F(),Ya=ms(),Ka=fs(),Ja=at(),Za=Es(),Qa=$s(),ec=De(),tc=ct(),rc=Ft(),sc=Mt(),oc=lt(),ic=ut(),nc=Ht(),ac=Os(),cc=je(),lc=M(),uc=qe(),pc=Us(),mc=zs(),dc=Ws(),fc=Js(),gc=Qs(),hc=dt(),yc=io(),Ec=ao(),xc=uo(),$c=mo(),Pc=xo();vo.exports={parse:_a,valid:Fa,clean:Ma,inc:Ha,diff:Ga,major:Ua,minor:Va,patch:za,prerelease:Xa,compare:Wa,rcompare:Ya,compareLoose:Ka,compareBuild:Ja,sort:Za,rsort:Qa,gt:ec,lt:tc,eq:rc,neq:sc,gte:oc,lte:ic,cmp:nc,coerce:ac,Comparator:cc,Range:lc,satisfies:uc,toComparators:pc,maxSatisfying:mc,minSatisfying:dc,minVersion:fc,validRange:gc,outside:hc,gtr:yc,ltr:Ec,intersects:xc,simplifyRange:$c,subset:Pc,SemVer:Ba,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((Mp,bc)=>{bc.exports={name:"boltdocs",version:"2.5.5",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/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","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 Rc={};ir(Rc,{BoltdocsPluginStore:()=>Le,PluginCompatibilityError:()=>Oe,PluginError:()=>oe,PluginHookError:()=>Te,PluginLifecycleManager:()=>_e,PluginPermissionError:()=>de,PluginSandbox:()=>Y,PluginValidationError:()=>ie,SecurePluginSchema:()=>wo,createPlugin:()=>vc,createViteConfig:()=>Sc,default:()=>rr,defineConfig:()=>Sr,generateStaticPages:()=>Qe,hasPermission:()=>ae,resolveConfig:()=>te,validatePlugins:()=>er});module.exports=si(Rc);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}=dr(r),d=u.split("/"),m,E;if(o?.versions&&d.length>0){let L=d[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,d=d.slice(1))}if(o?.i18n&&d.length>0){let L=d[0];o.i18n.locales[L]&&(m=L,d=d.slice(1))}let g;if(d.length>0){let L=d[0].match(/^\((.+)\)$/);L&&(g=L[1].toLowerCase(),d=d.slice(1))}let C=d.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=fr(C||"index.md");let x=t;E&&(x+="/"+E),m&&(x+="/"+m),g&&(x+="/"+g),x+=$==="/"?"":$,(!x||x==="")&&(x="/");let b=d[d.length-1],R=$e(b),S=$e(Z.default.basename(r,Z.default.extname(r))),T=p.sidebarPosition??ze(b),A=d.length>=2?d[0]:void 0,w=A?$e(A):void 0,Q=d.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=di(c);return{route:{path:x,componentPath:r,filePath:u,title:Yo,description:yt,sidebarPosition:T,headings:sr,locale:m,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 di(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?fi(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 fi(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 me(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,d=[];for(let $ of u)if($.isGroupIndex&&$.relativeDir&&d.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 d){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 m=new Array(u.length);for(let $=0;$<u.length;$++){let x=u[$],b=x.relativeDir,R=b?c.get(b):void 0;m[$]={...x.route,group:b,groupTitle:R?.title||(b?ve(b):void 0),groupPosition:R?.position,groupIcon:R?.icon}}let E=m;if(e?.i18n){let $=gi(m,e,t);E=[...m,...$]}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 d of u){let m=hi(d.path,o,p,t,e);m!==d.path&&(c.has(m)||i.push({...d,path:m,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 m=s.versions.prefix||"";for(let E of s.versions.versions){let g=m+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 m=p.startsWith("/")?"":"/";p="/"+t+m+p}let d=u+p;return Ce.size>2e3&&Ce.clear(),Ce.set(i,d),d}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()}),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(),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 d of Je){let m=Ke.default.resolve(t,d);if(vr.default.existsSync(m))try{let E=await(0,br.loadConfigFromFile)({command:"serve",mode:"development"},m,t);if(E){s=E.config;break}}catch(E){console.warn(`[boltdocs] Failed to load config from ${d}:`,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(([d,m])=>m!==void 0));u.navbar&&(u.navbar=u.navbar.map(d=>({label:d.label||d.text||"",href:d.href||d.link||d.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||[],robots:s.robots,security:s.security,vite:s.vite},c=Pr.safeParse(p);if(!c.success){let d=c.error.issues.map(m=>` - ${m.path.join(".")}: ${m.message}`).join(`
2
2
  `);throw new re(`Invalid Boltdocs configuration:
3
- ${d}`)}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),i=se(e.description);return r.replace(/<title>.*?<\/title>/,`<title>${t}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${i}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${i}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${i}$2`)}a();K();function wr(r,e){let t=e?.siteUrl?.replace(/\/$/,"")||"https://example.com",i=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"?>
3
+ ${d}`)}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"?>
4
4
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
5
5
  ${[...s,...r.map(n=>({url:n,priority:"0.8",changefreq:"weekly"}))].map(n=>` <url>
6
6
  <loc>${Pt(t)}${Pt(n.url)}</loc>
7
- <lastmod>${i}</lastmod>
7
+ <lastmod>${o}</lastmod>
8
8
  <changefreq>${n.changefreq}</changefreq>
9
9
  <priority>${n.priority}</priority>
10
10
  </url>`).join(`
11
11
  `)}
12
- </urlset>`}a();function Ze(r){if(typeof r.robots=="string")return r.robots;let e=r.siteUrl?.replace(/\/$/,"")||"",t=r.robots||{},i=t.rules||[{userAgent:"*",allow:"/"}],s=t.sitemaps||(e?[`${e}/sitemap.xml`]:[]),o="";for(let n of i){if(o+=`User-agent: ${n.userAgent}
13
- `,n.disallow){let u=Array.isArray(n.disallow)?n.disallow:[n.disallow];for(let p of u)o+=`Disallow: ${p}
14
- `}if(n.allow){let u=Array.isArray(n.allow)?n.allow:[n.allow];for(let p of u)o+=`Allow: ${p}
15
- `}o+=`
16
- `}for(let n of s)o+=`Sitemap: ${n}
17
- `;return o.trim()}var Ro=(0,Or.fileURLToPath)(f),Cr=X.default.dirname(Ro),Ir=(0,Tr.createRequire)(f);async function Qe(r){let{docsDir:e,docsDirName:t,outDir:i,config:s}=r,o=await me(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)o.some(T=>T.path===S)||o.push({path:S,title:S.slice(1).charAt(0).toUpperCase()+S.slice(2),filePath:"",componentPath:"",_content:""})}x.includes("homePage")&&!o.some(R=>R.path==="/")&&o.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:d}=Ir(u);p.prototype.require=c;let m=X.default.join(i,"index.html");if(!z.default.existsSync(m)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let E=z.default.readFileSync(m,"utf-8");await Promise.all(o.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 d({path:x.path,routes:o,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(i,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(o.map(x=>x.path),s);z.default.writeFileSync(X.default.join(i,"sitemap.xml"),g,"utf-8");let C=Ze(s);z.default.writeFileSync(X.default.join(i,"robots.txt"),C,"utf-8"),console.log(`[boltdocs] Generated ${o.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)}';`:"",i=Ie.default.resolve(process.cwd(),"index.css"),s=Nt.default.existsSync(i)?"import './index.css';":"",o=r.homePage?"homePage: HomePage,":"",n=e?.plugins?.flatMap(C=>Object.entries(C.components||{}))||[],u=n.map(([C,$])=>`import * as _comp_${C} from '${G($)}';
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 Ri=(0,Or.fileURLToPath)(f),Cr=X.default.dirname(Ri),Ir=(0,Tr.createRequire)(f);async function Qe(r){let{docsDir:e,docsDirName:t,outDir:o,config:s}=r,i=await me(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:d}=Ir(u);p.prototype.require=c;let m=X.default.join(o,"index.html");if(!z.default.existsSync(m)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let E=z.default.readFileSync(m,"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 d({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
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"),d=Ie.default.resolve(process.cwd(),r.docsDir||"docs"),m=["tsx","ts","jsx","js"].map(C=>Ie.default.resolve(d,`pages-external/index.${C}`)).find(C=>Nt.default.existsSync(C)),E=m?`import * as _external_module from '${G(m)}';`:"";return o=m?"homePage: _external_module.homePage || HomePage,":r.homePage?"homePage: HomePage,":"",`
19
+ `),p=n.map(([C])=>C).join(", "),c=Ie.default.basename(r.docsDir||"docs"),d=Ie.default.resolve(process.cwd(),r.docsDir||"docs"),m=["tsx","ts","jsx","js"].map(C=>Ie.default.resolve(d,`pages-external/index.${C}`)).find(C=>Nt.default.existsSync(C)),E=m?`import * as _external_module from '${G(m)}';`:"";return i=m?"homePage: _external_module.homePage || HomePage,":r.homePage?"homePage: HomePage,":"",`
20
20
  import { createBoltdocsApp as _createApp } from 'boltdocs/client';
21
21
  import _routes from 'virtual:boltdocs-routes';
22
22
  import _config from 'virtual:boltdocs-config';
@@ -33,7 +33,7 @@ _createApp({
33
33
  config: _config,
34
34
  modules: import.meta.glob('/${c}/**/*.{md,mdx}'),
35
35
  hot: import.meta.hot,
36
- ${o}
36
+ ${i}
37
37
  ${m?"externalPages: _external_module.pages, externalLayout: _external_module.layout,":""}
38
38
  components: { ${p}${p?", ":""} ...(_user_mdx_components || {}) },
39
39
  });
@@ -47,7 +47,7 @@ _createApp({
47
47
  <body>
48
48
  <div id="root"></div>
49
49
  </body>
50
- </html>`}function Dt(r,e){let t=e.theme,i=t?.title||"Boltdocs",s=t?.description||"",o=t?.favicon;!o&&t?.logo&&(typeof t.logo=="string"?o=t.logo:o=t.logo.light||t.logo.dark);let n=[o?`<link rel="icon" href="${o}">`:"",`<meta name="description" content="${s}">`,`<meta property="og:title" content="${i}">`,`<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="${i}">`,`<meta name="twitter:description" content="${s}">`,t?.ogImage?`<meta name="twitter:image" content="${t.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
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
51
  `),u=`
52
52
  <script>
53
53
  (function() {
@@ -64,12 +64,14 @@ _createApp({
64
64
  } catch (e) {}
65
65
  })();
66
66
  </script>
67
- `;return r.includes("<title>")?r=r.replace(/<title>.*?<\/title>/,`<title>${i}</title>`):r=r.replace("</head>",` <title>${i}</title>
67
+ `;return r.includes("<title>")?r=r.replace(/<title>.*?<\/title>/,`<title>${o}</title>`):r=r.replace("</head>",` <title>${o}</title>
68
68
  </head>`),r=r.replace("</head>",` ${n}
69
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 i of t.headings)e.push({id:`${t.path}#${i.id}`,title:i.text,content:`${i.text} in ${t.title}`,url:`${t.path}#${i.id}`,display:`${t.title} > ${i.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(([i,s])=>`${i} ${s.join(" ")}`).join("; ")}var tr=I(require("fs"));a();a();var ie=class r extends Error{pluginName;constructor(e,t){super(`[plugin:${e}] ${t}`),this.name="PluginError",this.pluginName=e,Object.setPrototypeOf(this,r.prototype)}},oe=class r extends ie{constructor(e,t){super(e,`Validation failed: ${t}`),this.name="PluginValidationError",Object.setPrototypeOf(this,r.prototype)}},Oe=class r extends ie{constructor(e,t){super(e,`Compatibility error: ${t}`),this.name="PluginCompatibilityError",Object.setPrototypeOf(this,r.prototype)}},de=class r extends ie{constructor(e,t){super(e,`Missing required permission: '${t}'`),this.name="PluginPermissionError",Object.setPrototypeOf(this,r.prototype)}},Te=class r extends ie{hookName;constructor(e,t,i){super(e,`Error in hook '${t}': ${i.message}`),this.name="PluginHookError",this.hookName=t,this.stack=i.stack,Object.setPrototypeOf(this,r.prototype)}};a();var Le=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let i=this.getNamespaceKey(e,t),s=this.data.get(i);if(s!==void 0)return typeof s=="object"&&s!==null?JSON.parse(JSON.stringify(s)):s}set(e,t,i){let s=this.getNamespaceKey(e,t),o=typeof i=="object"&&i!==null?JSON.parse(JSON.stringify(i)):i;this.data.set(s,o)}has(e,t){let i=this.getNamespaceKey(e,t);return this.data.has(i)}};a();var H=require("zod"),bi=I(vi()),Si=I(require("path"));var Ri=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=[],i=new Set;for(let s of r){let o=Ri.safeParse(s);if(!o.success)throw new oe(s.name||"unknown",o.error.issues.map(u=>`${u.path.join(".")}: ${u.message}`).join(", "));let n=o.data;if(i.has(n.name))throw new oe(n.name,"Duplicate plugin name detected");if(i.add(n.name),n.boltdocsVersion&&!bi.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("..")||Si.default.isAbsolute(p))&&p.includes(".."))throw new oe(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 de(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,i,s){try{return this.checkPermission(e,t),await s()}catch(o){if(o instanceof de){console.warn(`[boltdocs] Skipping hook '${i}' for plugin '${e.name}': ${o.message}`);return}throw o}}};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 i=this.getSortedPlugins();for(let s of i){if(!s.hooks?.[e])continue;let o=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](o,...t)):await s.hooks[e](o,...t)}catch(c){let d=new Te(s.name,e,c instanceof Error?c:new Error(String(c)));o.logger.error(d)}}}getSortedPlugins(){let e=this.plugins.filter(s=>s.enforce==="pre"),t=this.plugins.filter(s=>!s.enforce),i=this.plugins.filter(s=>s.enforce==="post");return[...e,...t,...i]}createContext(e){return{config:Object.freeze({...this.config}),meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(t,i)=>this.store.get(t,i),set:(t,i,s)=>this.store.set(t,i,s),has:(t,i)=>this.store.has(t,i)},logger:this.createLogger(e.name)}}createLogger(e){let t=`[plugin:${e}]`;return{info:i=>console.log(`${t} INFO: ${i}`),warn:i=>console.warn(`${t} WARN: ${i}`),error:i=>{let s=i instanceof Error?i.message:i;console.error(`${t} ERROR: ${s}`)},debug:i=>console.debug(`${t} DEBUG: ${i}`)}}};function vc(r){return r}function Oi(r={},e){let t=U.default.resolve(process.cwd(),r.docsDir||"docs"),i=G(t),s=e,o,n=!1,u,p=[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(c,d){n=d.command==="build";let m=c.envDir||process.cwd(),E=(0,Ci.loadEnv)(d.mode,m,"");Object.assign(process.env,E),s||(s=await te(t));let g=(await Promise.resolve().then(()=>I(wi()))).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","use-sync-external-store/shim","use-sync-external-store/shim/index.js","use-sync-external-store/with-selector","use-sync-external-store"],exclude:["boltdocs","boltdocs/client","boltdocs/hooks","boltdocs/primitives","boltdocs/base-ui","boltdocs/mdx","boltdocs/integrations","boltdocs/client/hooks","boltdocs/client/primitives"]}}},configResolved(c){o=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 d=Je.map(b=>U.default.resolve(process.cwd(),b)),m=["tsx","jsx"],E=m.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([...d,...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(m.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(i)||!mr(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,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl}})}else Tt(b);let T=await me(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 d=await me(t,s);return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-config"){let d={theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,plugins:s?.plugins?.map(m=>({name:m.name}))};return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-entry")return Lr(r,s);if(c==="\0virtual:boltdocs-mdx-components"){let d=["tsx","ts","jsx","js"],m=null;for(let E of d){let g=U.default.resolve(t,`mdx-components.${E}`);if(tr.default.existsSync(g)){m=g;break}}if(m){let E=G(m);return`import * as components from '${E}';
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)}},de=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 de(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 de){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 d=new Te(s.name,e,c instanceof Error?c:new Error(String(c)));i.logger.error(d)}}}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 vc(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,d){n=d.command==="build";let m=c.envDir||process.cwd(),E=(0,Io.loadEnv)(d.mode,m,"");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"),{resolve:{alias:[{find:/^(.*)\/?use-sync-external-store\/shim(?:.*)$/,replacement:"\0virtual:boltdocs-usesync-shim"},{find:/^(.*)\/?use-sync-external-store$/,replacement:"\0virtual:boltdocs-usesync-shim"}]},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 d=Je.map(b=>U.default.resolve(process.cwd(),b)),m=["tsx","jsx"],E=m.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([...d,...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(m.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)||!mr(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,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl}})}else Tt(b);let T=await me(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;if((c.includes("use-sync-external-store/shim")||c==="use-sync-external-store"||c.endsWith("use-sync-external-store/index.js"))&&!c.includes("with-selector"))return"\0virtual:boltdocs-usesync-shim"},async load(c){if(c==="\0virtual:boltdocs-usesync-shim")return`import * as React from 'react';
71
+ export const useSyncExternalStore = React.useSyncExternalStore;
72
+ export default React.useSyncExternalStore;`;if(c==="\0virtual:boltdocs-routes"){let d=await me(t,s);return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-config"){let d={theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,plugins:s?.plugins?.map(m=>({name:m.name}))};return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-entry")return Lr(r,s);if(c==="\0virtual:boltdocs-mdx-components"){let d=["tsx","ts","jsx","js"],m=null;for(let E of d){let g=U.default.resolve(t,`mdx-components.${E}`);if(tr.default.existsSync(g)){m=g;break}}if(m){let E=G(m);return`import * as components from '${E}';
71
73
  const mdxComponents = components.default || components;
72
74
  export default mdxComponents;
73
75
  export * from '${E}';`}return"export default {};"}if(c==="\0virtual:boltdocs-layout"){let d=["tsx","jsx"],m=null;for(let E of d){let g=U.default.resolve(t,`layout.${E}`);if(tr.default.existsSync(g)){m=g;break}}return m?`import UserLayout from '${G(m)}';
74
76
  export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
75
- export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let d=await me(t,s),m=Nr(d);return`export default ${JSON.stringify(m,null,2)};`}},transformIndexHtml:{order:"pre",handler(c){return Dt(c,s)}},async closeBundle(){if(!n)return;let c=o?.build?.outDir?U.default.resolve(o.root,o.build.outDir):U.default.resolve(process.cwd(),"dist"),d=U.default.basename(t||"docs");await Qe({docsDir:t,docsDirName:d,outDir:c,config:s});let{flushCache:m}=await Promise.resolve().then(()=>(we(),It));await m(),await u?.runHook("afterBuild"),await u?.runHook("buildEnd")}},(0,Ii.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 _i=I(require("@mdx-js/rollup")),Fi=I(require("remark-gfm")),Mi=I(require("remark-frontmatter")),Hi=I(require("rehype-slug")),Gi=I(require("crypto"));a();we();var Ti="v4",ge=new Re("mdx");a();var Ai=require("unist-util-visit");a();var Li=require("shiki"),ft=null;async function gt(r){if(ft)return ft;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)}),ft=await(0,Li.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),ft}function Ni(r){return async e=>{let t=r?.theme?.codeTheme??{light:"github-light",dark:"github-dark"},i=await gt(t);(0,Ai.visit)(e,["mdxJsxFlowElement","mdxJsxTextElement"],s=>{if(s.name!=="ComponentPreview")return;let o=s.attributes?.find(c=>c.name==="code"),n="";if(o){if(typeof o.value=="string")n=o.value;else if(o.value?.type==="mdxJsxAttributeValueExpression"){let c=o.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=i.codeToHtml(n,u);s.attributes=(s.attributes??[]).filter(c=>c.name!=="highlightedHtml"),s.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:p})})}}a();var Di=require("unist-util-visit");function ji(r){return async e=>{let t=r?.theme?.codeTheme||{light:"github-light",dark:"github-dark"},i=await gt(t);(0,Di.visit)(e,"element",s=>{if(s.tagName==="pre"&&s.children?.[0]?.tagName==="code"){let o=s.children[0],u=(o.properties?.className||[]).find($=>$.startsWith("language-")),p=u?u.slice(9):"text",c=o.children[0]?.value||"",m=(o.data?.meta||o.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),E=m?m[1]:void 0,g={lang:p};typeof t=="object"?g.themes={light:t.light,dark:t.dark}:g.theme=t;let C=i.codeToHtml(c,g);s.properties["data-highlighted"]="true",s.properties["data-highlighted-html"]=C,s.properties["data-lang"]=p,E&&(s.properties.title=E),s.children=[]}})}}a();var ki=require("unist-util-visit");function qi(){return r=>{(0,ki.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,i=t.match(/title\s*=\s*"([^"]*)"/);i&&(e.data.hProperties.title=i[1]),e.data.hProperties.metastring=t})}}var Bi=!1,ht=0,Fe=0;function Ui(r,e=_i.default){let t=r?.plugins?.flatMap(o=>Y.getSanitizedCapabilities(o).remarkPlugins||[])||[],i=r?.plugins?.flatMap(o=>Y.getSanitizedCapabilities(o).rehypePlugins||[])||[],s=e({remarkPlugins:[Fi.default,Mi.default,qi,[Ni,r],...t],rehypePlugins:[Hi.default,[ji,r],...i],jsxRuntime:"automatic"});return{...s,name:"vite-plugin-boltdocs-mdx",async buildStart(){ht=0,Fe=0,Bi||(ge.load(),Bi=!0),s.buildStart&&await s.buildStart.call(this)},async transform(o,n,u){if(!n.endsWith(".md")&&!n.endsWith(".mdx"))return s.transform?.call(this,o,n,u);console.log(`[boltdocs] Transforming MDX: ${n}`),Fe++;let p=Gi.default.createHash("md5").update(o).digest("hex"),c=`${n}:${p}:${Ti}`,d=ge.get(c);if(d)return ht++,{code:d,map:null};let m=await s.transform.call(this,o,n,u);return m&&typeof m=="object"&&m.code&&ge.set(c,m.code),m},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),i={...r,homePage:r?.homePage||t.homePage};return[...Oi(i,t),Ui(t)]}async function Sc(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,Vi.default)(),(0,zi.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});
77
+ export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let d=await me(t,s),m=Nr(d);return`export default ${JSON.stringify(m,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"),d=U.default.basename(t||"docs");await Qe({docsDir:t,docsDirName:d,outDir:c,config:s});let{flushCache:m}=await Promise.resolve().then(()=>(we(),It));await m(),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"),ft=null;async function gt(r){if(ft)return ft;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)}),ft=await(0,Ao.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),ft}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||"",m=(i.data?.meta||i.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),E=m?m[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["data-highlighted"]="true",s.properties["data-highlighted-html"]=C,s.properties["data-lang"]=p,E&&(s.properties.title=E),s.children=[]}})}}a();var qo=require("unist-util-visit");function Bo(){return r=>{(0,qo.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,Bo,[Do,r],...t],rehypePlugins:[Go.default,[ko,r],...o],jsxRuntime:"automatic"});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}`,d=ge.get(c);if(d)return ht++,{code:d,map:null};let m=await s.transform.call(this,i,n,u);return m&&typeof m=="object"&&m.code&&ge.set(c,m.code),m},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 Sc(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,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-IMEKU5U3.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};
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-5B5NKOW6.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};
@@ -1 +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.4",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/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","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};
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.5",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/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","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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boltdocs",
3
- "version": "2.5.4",
3
+ "version": "2.5.5",
4
4
  "description": "A lightweight documentation generator for React projects.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/node/index.mjs",
@@ -88,15 +88,20 @@ export function boltdocsPlugin(
88
88
  }
89
89
 
90
90
  return {
91
+ resolve: {
92
+ alias: [
93
+ {
94
+ find: /^(.*)\/?use-sync-external-store\/shim(?:.*)$/,
95
+ replacement: '\0virtual:boltdocs-usesync-shim',
96
+ },
97
+ {
98
+ find: /^(.*)\/?use-sync-external-store$/,
99
+ replacement: '\0virtual:boltdocs-usesync-shim',
100
+ },
101
+ ]
102
+ },
91
103
  optimizeDeps: {
92
- include: [
93
- 'react',
94
- 'react-dom',
95
- 'use-sync-external-store/shim',
96
- 'use-sync-external-store/shim/index.js',
97
- 'use-sync-external-store/with-selector',
98
- 'use-sync-external-store'
99
- ],
104
+ include: ['react', 'react-dom'],
100
105
  exclude: [
101
106
  'boltdocs',
102
107
  'boltdocs/client',
@@ -338,9 +343,18 @@ export function boltdocsPlugin(
338
343
  ) {
339
344
  return '\0' + id
340
345
  }
346
+
347
+ // --- Intercept use-sync-external-store imports to fix React 19 ESM bugs ---
348
+ // Exclude with-selector as it's not exported by react directly
349
+ if ((id.includes('use-sync-external-store/shim') || id === 'use-sync-external-store' || id.endsWith('use-sync-external-store/index.js')) && !id.includes('with-selector')) {
350
+ return '\0virtual:boltdocs-usesync-shim'
351
+ }
341
352
  },
342
353
 
343
354
  async load(id) {
355
+ if (id === '\0virtual:boltdocs-usesync-shim') {
356
+ return `import * as React from 'react';\nexport const useSyncExternalStore = React.useSyncExternalStore;\nexport default React.useSyncExternalStore;`
357
+ }
344
358
  if (id === '\0virtual:boltdocs-routes') {
345
359
  const routes = await generateRoutes(docsDir, config)
346
360
  return `export default ${JSON.stringify(routes, null, 2)};`