boltdocs 2.5.1 → 2.5.3
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.
- package/CHANGELOG.md +12 -0
- package/dist/chunk-CNGM3N5C.mjs +75 -0
- package/dist/{chunk-ITFGVXPE.mjs → chunk-J2PTDWZM.mjs} +1 -1
- package/dist/client/index.d.mts +0 -50
- package/dist/client/index.d.ts +0 -50
- package/dist/client/index.js +1 -1
- package/dist/client/index.mjs +1 -1
- package/dist/client/ssr.js +1 -1
- package/dist/client/ssr.mjs +1 -1
- package/dist/node/cli-entry.js +13 -13
- package/dist/node/cli-entry.mjs +1 -1
- package/dist/node/index.d.mts +0 -14
- package/dist/node/index.d.ts +0 -14
- package/dist/node/index.js +16 -16
- package/dist/node/index.mjs +1 -1
- package/dist/package-NW2UUNQH.mjs +1 -0
- package/dist/{search-dialog-YBM4GYDR.mjs → search-dialog-O6VLVSOA.mjs} +1 -1
- package/package.json +1 -2
- package/src/client/components/mdx/code-block.tsx +0 -19
- package/src/client/components/mdx/component-preview.tsx +0 -7
- package/src/client/components/mdx/hooks/use-code-block.ts +1 -21
- package/src/client/types.ts +0 -36
- package/src/node/config.ts +0 -16
- package/src/node/plugin/index.ts +0 -2
- package/src/node/schema/config.ts +0 -13
- package/dist/chunk-JGR2ELBA.mjs +0 -75
- package/dist/package-SGBODKXD.mjs +0 -1
package/dist/node/cli-entry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var gi=Object.create;var Nt=Object.defineProperty;var hi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Ei=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),hr=(r,e)=>{for(var t in e)Nt(r,t,{get:e[t],enumerable:!0})},$i=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yi(e))!Ei.call(r,s)&&s!==t&&Nt(r,s,{get:()=>e[s],enumerable:!(o=hi(e,s))||o.enumerable});return r};var O=(r,e,t)=>(t=r!=null?gi(xi(r)):{},$i(e||!r||!r.__esModule?Nt(t,"default",{value:r,enumerable:!0}):t,r));var vi,g,a=ce(()=>{"use strict";vi=()=>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,g=vi()});var yr,xr=ce(()=>{"use strict";a();yr=/^[a-zA-Z0-9\-_\/\.\(\)]+$/});var X,Er,$r=ce(()=>{"use strict";a();X=require("zod"),Er=X.z.object({title:X.z.string().max(200).optional(),description:X.z.string().max(500).optional(),sidebarPosition:X.z.number().optional(),sidebarLabel:X.z.string().max(100).optional(),category:X.z.string().max(50).optional(),order:X.z.number().optional(),badge:X.z.string().max(50).optional(),icon:X.z.string().max(50).optional()})});var ve,be,Ye,oe,Ke=ce(()=>{"use strict";a();ve=class r extends Error{constructor(e){super(e),this.name="SecurityViolationError",Object.setPrototypeOf(this,r.prototype)}},be=class r extends ve{constructor(e){super(e),this.name="PathTraversalError",Object.setPrototypeOf(this,r.prototype)}},Ye=class r extends ve{constructor(e){super(e),this.name="EncodingSecurityError",Object.setPrototypeOf(this,r.prototype)}},oe=class r extends ve{constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,r.prototype)}}});function _(r){return r.replace(/\\/g,"/")}function we(r){return r.replace(/^\d+\./,"")}function Ze(r){let e=r.match(/^(\d+)\./);return e?parseInt(e[1],10):void 0}function br(r){return/\.mdx?$/.test(r)}function Qe(r){try{return Dt.default.statSync(r).mtimeMs}catch{return 0}}function et(r){let e=Dt.default.readFileSync(r,"utf-8");try{let{data:t,content:o,matter:s}=(0,vr.default)(e);if(s&&s.length>10240)throw Ce("FRONTMATTER_TOO_LARGE","Frontmatter block exceeds size limit",{size:s.length,file:r}),new oe(`Security breach: Frontmatter size exceeds limit of ${10240} bytes`);let i=Er.safeParse(t);i.success||console.warn(`[VALIDATION][${r}] Invalid frontmatter fields detected.`);let u={...i.success?i.data:{}};return u.title&&(u.title=Pe(u.title).trim()),u.description&&(u.description=Pe(u.description).trim()),{data:u,content:o}}catch(t){if(t instanceof oe)throw t;return{data:{},content:e}}}function ie(r){return r.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function kt(r){return ie(r)}function Pr(r){let t=r.split("/").map(o=>we(Pi(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 Se(r){return Je.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 Pe(r){return Je.default.sanitize(r,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function Re(r){return r.charAt(0).toUpperCase()+r.slice(1)}function jt(r,e){return r?typeof r=="string"?r:e&&r[e]?r[e]:Object.values(r)[0]||"":""}function Pi(r){return r.replace(/[^a-zA-Z0-9\-_\/\.]/g,"").split("/").filter(e=>e!==".."&&e!==".").map(e=>e.replace(/\.\.+/g,".")).join("/")}function Ce(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 Dt,vr,Je,W=ce(()=>{"use strict";a();Dt=O(require("fs")),vr=O(require("gray-matter")),Je=O(require("isomorphic-dompurify"));$r();Ke();Je.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 Ht={};hr(Ht,{AssetCache:()=>Ft,FileCache:()=>Ie,TransformCache:()=>Oe,flushCache:()=>Oi});async function Oi(){await re.flush()}var D,F,ue,le,pe,tt,wi,rt,_t,tl,Mt,Si,Ri,Ci,Ii,Bt,qt,re,Ie,Oe,Ft,Le=ce(()=>{"use strict";a();D=O(require("fs")),F=O(require("path")),ue=O(require("crypto")),le=O(require("zlib")),pe=require("util");W();tt=(0,pe.promisify)(D.default.writeFile),wi=(0,pe.promisify)(D.default.readFile),rt=(0,pe.promisify)(D.default.mkdir),_t=(0,pe.promisify)(D.default.rename),tl=(0,pe.promisify)(D.default.unlink),Mt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Si="assets",Ri="shards",Ci=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Ii=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()}},qt=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}},re=new qt,Ie=class{entries=new Map;cachePath=null;compress;constructor(e={}){if(this.compress=e.compress!==void 0?e.compress:Ii,e.name){let t=e.root||process.cwd(),o=this.compress?"json.gz":"json";this.cachePath=F.default.resolve(t,Mt,`${e.name}.${o}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!D.default.existsSync(this.cachePath)))try{let e=D.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;re.add(async()=>{try{await rt(F.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 tt(n,i),await _t(n,o)}catch{}})}get(e){let t=this.entries.get(e);return!t||Qe(e)!==t.mtime?null:t.data}set(e,t){this.entries.set(e,{data:t,mtime:Qe(e)})}isValid(e){let t=this.entries.get(e);return t?Qe(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 re.flush()}},Oe=class{index=new Map;memoryCache=new Bt(Ci);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=F.default.resolve(t,Mt,`transform-${e}`),this.shardsDir=F.default.resolve(this.baseDir,Ri),this.indexPath=F.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&D.default.existsSync(this.indexPath))try{let e=D.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;re.add(async()=>{await rt(F.default.dirname(t),{recursive:!0}),await tt(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=F.default.resolve(this.shardsDir,`${n}.gz`);try{let p=await wi(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=F.default.resolve(this.shardsDir,`${o}.gz`);if(!D.default.existsSync(s))return null;try{let i=D.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=F.default.resolve(this.shardsDir,`${o}.gz`);re.add(async()=>{if(D.default.existsSync(s))return;await rt(this.shardsDir,{recursive:!0});let i=le.default.gzipSync(Buffer.from(t)),n=`${s}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,i),await _t(n,s)})}get size(){return this.index.size}async flush(){await re.flush()}},Ft=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=F.default.resolve(e,Mt,Si)}getFileHash(e){return ue.default.createHash("md5").update(D.default.readFileSync(e)).digest("hex")}get(e,t){if(!D.default.existsSync(e))return null;let o=this.getFileHash(e),s=this.getCachedPath(e,`${t}-${o}`);return D.default.existsSync(s)?s:null}set(e,t,o){let s=this.getFileHash(e),i=this.getCachedPath(e,`${t}-${s}`);re.add(async()=>{await rt(this.assetsDir,{recursive:!0});let n=`${i}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,o),await _t(n,i)})}getCachedPath(e,t){let o=F.default.extname(e),s=F.default.basename(e,o),i=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return F.default.join(this.assetsDir,`${s}.${i}${o}`)}clear(){D.default.existsSync(this.assetsDir)&&D.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await re.flush()}}});var De=P((tu,Hr)=>{"use strict";a();var Ui="2.0.0",Vi=Number.MAX_SAFE_INTEGER||9007199254740991,zi=16,Xi=250,Wi=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Hr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:zi,MAX_SAFE_BUILD_LENGTH:Xi,MAX_SAFE_INTEGER:Vi,RELEASE_TYPES:Wi,SEMVER_SPEC_VERSION:Ui,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ke=P((su,Gr)=>{"use strict";a();var Yi=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Gr.exports=Yi});var ge=P((J,Ur)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:Yt,MAX_SAFE_BUILD_LENGTH:Ki,MAX_LENGTH:Ji}=De(),Zi=ke();J=Ur.exports={};var Qi=J.re=[],en=J.safeRe=[],y=J.src=[],tn=J.safeSrc=[],x=J.t={},rn=0,Kt="[a-zA-Z0-9-]",sn=[["\\s",1],["\\d",Ji],[Kt,Ki]],on=r=>{for(let[e,t]of sn)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},w=(r,e,t)=>{let o=on(e),s=rn++;Zi(r,s,e),x[r]=s,y[s]=e,tn[s]=o,Qi[s]=new RegExp(e,t?"g":void 0),en[s]=new RegExp(o,t?"g":void 0)};w("NUMERICIDENTIFIER","0|[1-9]\\d*");w("NUMERICIDENTIFIERLOOSE","\\d+");w("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Kt}*`);w("MAINVERSION",`(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})`);w("MAINVERSIONLOOSE",`(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASEIDENTIFIER",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIER]})`);w("PRERELEASEIDENTIFIERLOOSE",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASE",`(?:-(${y[x.PRERELEASEIDENTIFIER]}(?:\\.${y[x.PRERELEASEIDENTIFIER]})*))`);w("PRERELEASELOOSE",`(?:-?(${y[x.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${y[x.PRERELEASEIDENTIFIERLOOSE]})*))`);w("BUILDIDENTIFIER",`${Kt}+`);w("BUILD",`(?:\\+(${y[x.BUILDIDENTIFIER]}(?:\\.${y[x.BUILDIDENTIFIER]})*))`);w("FULLPLAIN",`v?${y[x.MAINVERSION]}${y[x.PRERELEASE]}?${y[x.BUILD]}?`);w("FULL",`^${y[x.FULLPLAIN]}$`);w("LOOSEPLAIN",`[v=\\s]*${y[x.MAINVERSIONLOOSE]}${y[x.PRERELEASELOOSE]}?${y[x.BUILD]}?`);w("LOOSE",`^${y[x.LOOSEPLAIN]}$`);w("GTLT","((?:<|>)?=?)");w("XRANGEIDENTIFIERLOOSE",`${y[x.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);w("XRANGEIDENTIFIER",`${y[x.NUMERICIDENTIFIER]}|x|X|\\*`);w("XRANGEPLAIN",`[v=\\s]*(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:${y[x.PRERELEASE]})?${y[x.BUILD]}?)?)?`);w("XRANGEPLAINLOOSE",`[v=\\s]*(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:${y[x.PRERELEASELOOSE]})?${y[x.BUILD]}?)?)?`);w("XRANGE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAIN]}$`);w("XRANGELOOSE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAINLOOSE]}$`);w("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Yt}})(?:\\.(\\d{1,${Yt}}))?(?:\\.(\\d{1,${Yt}}))?`);w("COERCE",`${y[x.COERCEPLAIN]}(?:$|[^\\d])`);w("COERCEFULL",y[x.COERCEPLAIN]+`(?:${y[x.PRERELEASE]})?(?:${y[x.BUILD]})?(?:$|[^\\d])`);w("COERCERTL",y[x.COERCE],!0);w("COERCERTLFULL",y[x.COERCEFULL],!0);w("LONETILDE","(?:~>?)");w("TILDETRIM",`(\\s*)${y[x.LONETILDE]}\\s+`,!0);J.tildeTrimReplace="$1~";w("TILDE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAIN]}$`);w("TILDELOOSE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAINLOOSE]}$`);w("LONECARET","(?:\\^)");w("CARETTRIM",`(\\s*)${y[x.LONECARET]}\\s+`,!0);J.caretTrimReplace="$1^";w("CARET",`^${y[x.LONECARET]}${y[x.XRANGEPLAIN]}$`);w("CARETLOOSE",`^${y[x.LONECARET]}${y[x.XRANGEPLAINLOOSE]}$`);w("COMPARATORLOOSE",`^${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]})$|^$`);w("COMPARATOR",`^${y[x.GTLT]}\\s*(${y[x.FULLPLAIN]})$|^$`);w("COMPARATORTRIM",`(\\s*)${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]}|${y[x.XRANGEPLAIN]})`,!0);J.comparatorTrimReplace="$1$2$3";w("HYPHENRANGE",`^\\s*(${y[x.XRANGEPLAIN]})\\s+-\\s+(${y[x.XRANGEPLAIN]})\\s*$`);w("HYPHENRANGELOOSE",`^\\s*(${y[x.XRANGEPLAINLOOSE]})\\s+-\\s+(${y[x.XRANGEPLAINLOOSE]})\\s*$`);w("STAR","(<|>)?=?\\s*\\*");w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ft=P((nu,Vr)=>{"use strict";a();var nn=Object.freeze({loose:!0}),an=Object.freeze({}),cn=r=>r?typeof r!="object"?nn:r:an;Vr.exports=cn});var Jt=P((cu,Wr)=>{"use strict";a();var zr=/^[0-9]+$/,Xr=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=zr.test(r),o=zr.test(e);return t&&o&&(r=+r,e=+e),r===e?0:t&&!o?-1:o&&!t?1:r<e?-1:1},ln=(r,e)=>Xr(e,r);Wr.exports={compareIdentifiers:Xr,rcompareIdentifiers:ln}});var k=P((uu,Kr)=>{"use strict";a();var dt=ke(),{MAX_LENGTH:Yr,MAX_SAFE_INTEGER:mt}=De(),{safeRe:gt,t:ht}=ge(),un=ft(),{compareIdentifiers:Zt}=Jt(),Qt=class r{constructor(e,t){if(t=un(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>Yr)throw new TypeError(`version is longer than ${Yr} characters`);dt("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let o=e.trim().match(t.loose?gt[ht.LOOSE]:gt[ht.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>mt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>mt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>mt||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<mt)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(dt("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(dt("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 Zt(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(dt("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 Zt(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?gt[ht.PRERELEASELOOSE]:gt[ht.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]),Zt(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}};Kr.exports=Qt});var ne=P((fu,Zr)=>{"use strict";a();var Jr=k(),pn=(r,e,t=!1)=>{if(r instanceof Jr)return r;try{return new Jr(r,e)}catch(o){if(!t)return null;throw o}};Zr.exports=pn});var es=P((mu,Qr)=>{"use strict";a();var fn=ne(),dn=(r,e)=>{let t=fn(r,e);return t?t.version:null};Qr.exports=dn});var rs=P((hu,ts)=>{"use strict";a();var mn=ne(),gn=(r,e)=>{let t=mn(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};ts.exports=gn});var is=P((xu,os)=>{"use strict";a();var ss=k(),hn=(r,e,t,o,s)=>{typeof t=="string"&&(s=o,o=t,t=void 0);try{return new ss(r instanceof ss?r.version:r,t).inc(e,o,s).version}catch{return null}};os.exports=hn});var cs=P(($u,as)=>{"use strict";a();var ns=ne(),yn=(r,e)=>{let t=ns(r,null,!0),o=ns(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"};as.exports=yn});var us=P((bu,ls)=>{"use strict";a();var xn=k(),En=(r,e)=>new xn(r,e).major;ls.exports=En});var fs=P((wu,ps)=>{"use strict";a();var $n=k(),vn=(r,e)=>new $n(r,e).minor;ps.exports=vn});var ms=P((Ru,ds)=>{"use strict";a();var bn=k(),Pn=(r,e)=>new bn(r,e).patch;ds.exports=Pn});var hs=P((Iu,gs)=>{"use strict";a();var wn=ne(),Sn=(r,e)=>{let t=wn(r,e);return t&&t.prerelease.length?t.prerelease:null};gs.exports=Sn});var M=P((Lu,xs)=>{"use strict";a();var ys=k(),Rn=(r,e,t)=>new ys(r,t).compare(new ys(e,t));xs.exports=Rn});var $s=P((Au,Es)=>{"use strict";a();var Cn=M(),In=(r,e,t)=>Cn(e,r,t);Es.exports=In});var bs=P((Du,vs)=>{"use strict";a();var On=M(),Ln=(r,e)=>On(r,e,!0);vs.exports=Ln});var yt=P((ju,ws)=>{"use strict";a();var Ps=k(),Tn=(r,e,t)=>{let o=new Ps(r,t),s=new Ps(e,t);return o.compare(s)||o.compareBuild(s)};ws.exports=Tn});var Rs=P((qu,Ss)=>{"use strict";a();var An=yt(),Nn=(r,e)=>r.sort((t,o)=>An(t,o,e));Ss.exports=Nn});var Is=P((_u,Cs)=>{"use strict";a();var Dn=yt(),kn=(r,e)=>r.sort((t,o)=>Dn(o,t,e));Cs.exports=kn});var je=P((Hu,Os)=>{"use strict";a();var jn=M(),Bn=(r,e,t)=>jn(r,e,t)>0;Os.exports=Bn});var xt=P((Uu,Ls)=>{"use strict";a();var qn=M(),Fn=(r,e,t)=>qn(r,e,t)<0;Ls.exports=Fn});var er=P((zu,Ts)=>{"use strict";a();var _n=M(),Mn=(r,e,t)=>_n(r,e,t)===0;Ts.exports=Mn});var tr=P((Wu,As)=>{"use strict";a();var Hn=M(),Gn=(r,e,t)=>Hn(r,e,t)!==0;As.exports=Gn});var Et=P((Ku,Ns)=>{"use strict";a();var Un=M(),Vn=(r,e,t)=>Un(r,e,t)>=0;Ns.exports=Vn});var $t=P((Zu,Ds)=>{"use strict";a();var zn=M(),Xn=(r,e,t)=>zn(r,e,t)<=0;Ds.exports=Xn});var rr=P((ep,ks)=>{"use strict";a();var Wn=er(),Yn=tr(),Kn=je(),Jn=Et(),Zn=xt(),Qn=$t(),ea=(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 Wn(r,t,o);case"!=":return Yn(r,t,o);case">":return Kn(r,t,o);case">=":return Jn(r,t,o);case"<":return Zn(r,t,o);case"<=":return Qn(r,t,o);default:throw new TypeError(`Invalid operator: ${e}`)}};ks.exports=ea});var Bs=P((rp,js)=>{"use strict";a();var ta=k(),ra=ne(),{safeRe:vt,t:bt}=ge(),sa=(r,e)=>{if(r instanceof ta)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?vt[bt.COERCEFULL]:vt[bt.COERCE]);else{let p=e.includePrerelease?vt[bt.COERCERTLFULL]:vt[bt.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 ra(`${o}.${s}.${i}${n}${u}`,e)};js.exports=sa});var Fs=P((op,qs)=>{"use strict";a();var sr=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}};qs.exports=sr});var H=P((np,Gs)=>{"use strict";a();var oa=/\s+/g,or=class r{constructor(e,t){if(t=na(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof ir)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(oa," "),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=>!Ms(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&&da(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&&pa)|(this.options.loose&&fa))+":"+e,s=_s.get(o);if(s)return s;let i=this.options.loose,n=i?B[j.HYPHENRANGELOOSE]:B[j.HYPHENRANGE];e=e.replace(n,Pa(this.options.includePrerelease)),T("hyphen replace",e),e=e.replace(B[j.COMPARATORTRIM],ca),T("comparator trim",e),e=e.replace(B[j.TILDETRIM],la),T("tilde trim",e),e=e.replace(B[j.CARETTRIM],ua),T("caret trim",e);let u=e.split(" ").map(f=>ma(f,this.options)).join(" ").split(/\s+/).map(f=>ba(f,this.options));i&&(u=u.filter(f=>(T("loose invalid filter",f,this.options),!!f.match(B[j.COMPARATORLOOSE])))),T("range list",u);let p=new Map,c=u.map(f=>new ir(f,this.options));for(let f of c){if(Ms(f))return[f];p.set(f.value,f)}p.size>1&&p.has("")&&p.delete("");let d=[...p.values()];return _s.set(o,d),d}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(o=>Hs(o,t)&&e.set.some(s=>Hs(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 aa(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(wa(this.set[t],e,this.options))return!0;return!1}};Gs.exports=or;var ia=Fs(),_s=new ia,na=ft(),ir=Be(),T=ke(),aa=k(),{safeRe:B,t:j,comparatorTrimReplace:ca,tildeTrimReplace:la,caretTrimReplace:ua}=ge(),{FLAG_INCLUDE_PRERELEASE:pa,FLAG_LOOSE:fa}=De(),Ms=r=>r.value==="<0.0.0-0",da=r=>r.value==="",Hs=(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},ma=(r,e)=>(r=r.replace(B[j.BUILD],""),T("comp",r,e),r=ya(r,e),T("caret",r),r=ga(r,e),T("tildes",r),r=Ea(r,e),T("xrange",r),r=va(r,e),T("stars",r),r),q=r=>!r||r.toLowerCase()==="x"||r==="*",ga=(r,e)=>r.trim().split(/\s+/).map(t=>ha(t,e)).join(" "),ha=(r,e)=>{let t=e.loose?B[j.TILDELOOSE]:B[j.TILDE];return r.replace(t,(o,s,i,n,u)=>{T("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?(T("replaceTilde pr",u),p=`>=${s}.${i}.${n}-${u} <${s}.${+i+1}.0-0`):p=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,T("tilde return",p),p})},ya=(r,e)=>r.trim().split(/\s+/).map(t=>xa(t,e)).join(" "),xa=(r,e)=>{T("caret",r,e);let t=e.loose?B[j.CARETLOOSE]:B[j.CARET],o=e.includePrerelease?"-0":"";return r.replace(t,(s,i,n,u,p)=>{T("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?(T("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`):(T("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`),T("caret return",c),c})},Ea=(r,e)=>(T("replaceXRanges",r,e),r.split(/\s+/).map(t=>$a(t,e)).join(" ")),$a=(r,e)=>{r=r.trim();let t=e.loose?B[j.XRANGELOOSE]:B[j.XRANGE];return r.replace(t,(o,s,i,n,u,p)=>{T("xRange",r,o,s,i,n,u,p);let c=q(i),d=c||q(n),f=d||q(u),E=f;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`:f&&(o=`>=${i}.${n}.0${p} <${i}.${+n+1}.0-0`),T("xRange return",o),o})},va=(r,e)=>(T("replaceStars",r,e),r.trim().replace(B[j.STAR],"")),ba=(r,e)=>(T("replaceGTE0",r,e),r.trim().replace(B[e.includePrerelease?j.GTE0PRE:j.GTE0],"")),Pa=r=>(e,t,o,s,i,n,u,p,c,d,f,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(f)?p=`<${c}.${+d+1}.0-0`:E?p=`<=${c}.${d}.${f}-${E}`:r?p=`<${c}.${d}.${+f+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),wa=(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(T(r[o].semver),r[o].semver!==ir.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 Be=P((cp,Ys)=>{"use strict";a();var qe=Symbol("SemVer ANY"),cr=class r{static get ANY(){return qe}constructor(e,t){if(t=Us(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),ar("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===qe?this.value="":this.value=this.operator+this.semver.version,ar("comp",this)}parse(e){let t=this.options.loose?Vs[zs.COMPARATORLOOSE]:Vs[zs.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 Xs(o[2],this.options.loose):this.semver=qe}toString(){return this.value}test(e){if(ar("Comparator.test",e,this.options.loose),this.semver===qe||e===qe)return!0;if(typeof e=="string")try{e=new Xs(e,this.options)}catch{return!1}return nr(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 Ws(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Ws(this.value,t).test(e.semver):(t=Us(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("=")||nr(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||nr(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ys.exports=cr;var Us=ft(),{safeRe:Vs,t:zs}=ge(),nr=rr(),ar=ke(),Xs=k(),Ws=H()});var Fe=P((up,Ks)=>{"use strict";a();var Sa=H(),Ra=(r,e,t)=>{try{e=new Sa(e,t)}catch{return!1}return e.test(r)};Ks.exports=Ra});var Zs=P((fp,Js)=>{"use strict";a();var Ca=H(),Ia=(r,e)=>new Ca(r,e).set.map(t=>t.map(o=>o.value).join(" ").trim().split(" "));Js.exports=Ia});var eo=P((mp,Qs)=>{"use strict";a();var Oa=k(),La=H(),Ta=(r,e,t)=>{let o=null,s=null,i=null;try{i=new La(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===-1)&&(o=n,s=new Oa(o,t))}),o};Qs.exports=Ta});var ro=P((hp,to)=>{"use strict";a();var Aa=k(),Na=H(),Da=(r,e,t)=>{let o=null,s=null,i=null;try{i=new Na(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===1)&&(o=n,s=new Aa(o,t))}),o};to.exports=Da});var io=P((xp,oo)=>{"use strict";a();var lr=k(),ka=H(),so=je(),ja=(r,e)=>{r=new ka(r,e);let t=new lr("0.0.0");if(r.test(t)||(t=new lr("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 lr(n.semver.version);switch(n.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!i||so(u,i))&&(i=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||so(t,i))&&(t=i)}return t&&r.test(t)?t:null};oo.exports=ja});var ao=P(($p,no)=>{"use strict";a();var Ba=H(),qa=(r,e)=>{try{return new Ba(r,e).range||"*"}catch{return null}};no.exports=qa});var Pt=P((bp,po)=>{"use strict";a();var Fa=k(),uo=Be(),{ANY:_a}=uo,Ma=H(),Ha=Fe(),co=je(),lo=xt(),Ga=$t(),Ua=Et(),Va=(r,e,t,o)=>{r=new Fa(r,o),e=new Ma(e,o);let s,i,n,u,p;switch(t){case">":s=co,i=Ga,n=lo,u=">",p=">=";break;case"<":s=lo,i=Ua,n=co,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ha(r,e,o))return!1;for(let c=0;c<e.set.length;++c){let d=e.set[c],f=null,E=null;if(d.forEach(m=>{m.semver===_a&&(m=new uo(">=0.0.0")),f=f||m,E=E||m,s(m.semver,f.semver,o)?f=m:n(m.semver,E.semver,o)&&(E=m)}),f.operator===u||f.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};po.exports=Va});var mo=P((wp,fo)=>{"use strict";a();var za=Pt(),Xa=(r,e,t)=>za(r,e,">",t);fo.exports=Xa});var ho=P((Rp,go)=>{"use strict";a();var Wa=Pt(),Ya=(r,e,t)=>Wa(r,e,"<",t);go.exports=Ya});var Eo=P((Ip,xo)=>{"use strict";a();var yo=H(),Ka=(r,e,t)=>(r=new yo(r,t),e=new yo(e,t),r.intersects(e,t));xo.exports=Ka});var vo=P((Lp,$o)=>{"use strict";a();var Ja=Fe(),Za=M();$o.exports=(r,e,t)=>{let o=[],s=null,i=null,n=r.sort((d,f)=>Za(d,f,t));for(let d of n)Ja(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,f]of o)d===f?u.push(d):!f&&d===n[0]?u.push("*"):f?d===n[0]?u.push(`<=${f}`):u.push(`${d} - ${f}`):u.push(`>=${d}`);let p=u.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var Co=P((Ap,Ro)=>{"use strict";a();var bo=H(),pr=Be(),{ANY:ur}=pr,_e=Fe(),fr=M(),Qa=(r,e,t={})=>{if(r===e)return!0;r=new bo(r,t),e=new bo(e,t);let o=!1;e:for(let s of r.set){for(let i of e.set){let n=tc(s,i,t);if(o=o||n!==null,n)continue e}if(o)return!1}return!0},ec=[new pr(">=0.0.0-0")],Po=[new pr(">=0.0.0")],tc=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===ur){if(e.length===1&&e[0].semver===ur)return!0;t.includePrerelease?r=ec:r=Po}if(e.length===1&&e[0].semver===ur){if(t.includePrerelease)return!0;e=Po}let o=new Set,s,i;for(let m of r)m.operator===">"||m.operator===">="?s=wo(s,m,t):m.operator==="<"||m.operator==="<="?i=So(i,m,t):o.add(m.semver);if(o.size>1)return null;let n;if(s&&i){if(n=fr(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let m of o){if(s&&!_e(m,String(s),t)||i&&!_e(m,String(i),t))return null;for(let S of e)if(!_e(m,String(S),t))return!1;return!0}let u,p,c,d,f=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(let m of e){if(d=d||m.operator===">"||m.operator===">=",c=c||m.operator==="<"||m.operator==="<=",s){if(E&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===E.major&&m.semver.minor===E.minor&&m.semver.patch===E.patch&&(E=!1),m.operator===">"||m.operator===">="){if(u=wo(s,m,t),u===m&&u!==s)return!1}else if(s.operator===">="&&!_e(s.semver,String(m),t))return!1}if(i){if(f&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===f.major&&m.semver.minor===f.minor&&m.semver.patch===f.patch&&(f=!1),m.operator==="<"||m.operator==="<="){if(p=So(i,m,t),p===m&&p!==i)return!1}else if(i.operator==="<="&&!_e(i.semver,String(m),t))return!1}if(!m.operator&&(i||s)&&n!==0)return!1}return!(s&&c&&!i&&n!==0||i&&d&&!s&&n!==0||E||f)},wo=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o>0?r:o<0||e.operator===">"&&r.operator===">="?e:r},So=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o<0?r:o>0||e.operator==="<"&&r.operator==="<="?e:r};Ro.exports=Qa});var To=P((Dp,Lo)=>{"use strict";a();var dr=ge(),Io=De(),rc=k(),Oo=Jt(),sc=ne(),oc=es(),ic=rs(),nc=is(),ac=cs(),cc=us(),lc=fs(),uc=ms(),pc=hs(),fc=M(),dc=$s(),mc=bs(),gc=yt(),hc=Rs(),yc=Is(),xc=je(),Ec=xt(),$c=er(),vc=tr(),bc=Et(),Pc=$t(),wc=rr(),Sc=Bs(),Rc=Be(),Cc=H(),Ic=Fe(),Oc=Zs(),Lc=eo(),Tc=ro(),Ac=io(),Nc=ao(),Dc=Pt(),kc=mo(),jc=ho(),Bc=Eo(),qc=vo(),Fc=Co();Lo.exports={parse:sc,valid:oc,clean:ic,inc:nc,diff:ac,major:cc,minor:lc,patch:uc,prerelease:pc,compare:fc,rcompare:dc,compareLoose:mc,compareBuild:gc,sort:hc,rsort:yc,gt:xc,lt:Ec,eq:$c,neq:vc,gte:bc,lte:Pc,cmp:wc,coerce:Sc,Comparator:Rc,Range:Cc,satisfies:Ic,toComparators:Oc,maxSatisfying:Lc,minSatisfying:Tc,minVersion:Ac,validRange:Nc,outside:Dc,gtr:kc,ltr:jc,intersects:Bc,simplifyRange:qc,subset:Fc,SemVer:rc,re:dr.re,src:dr.src,tokens:dr.t,SEMVER_SPEC_VERSION:Io.SEMVER_SPEC_VERSION,RELEASE_TYPES:Io.RELEASE_TYPES,compareIdentifiers:Oo.compareIdentifiers,rcompareIdentifiers:Oo.rcompareIdentifiers}});var ko=P((Yp,Mc)=>{Mc.exports={name:"boltdocs",version:"2.5.1",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",codesandbox:"2.2.3","fast-glob":"3.3.3",flexsearch:"0.8.212","github-slugger":"2.0.0","gray-matter":"4.0.3","isomorphic-dompurify":"3.7.1","lucide-react":"0.575.0","react-aria-components":"1.16.0","react-router-dom":"6.30.3","rehype-slug":"6.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.1","scroll-into-view-if-needed":"3.1.0",sharp:"0.34.5",shiki:"3.23.0",svgo:"4.0.1","tailwind-merge":"3.5.0","unist-util-visit":"5.1.0",vite:"7.3.1","vite-plugin-image-optimizer":"2.0.3",zod:"4.3.6",zustand:"5.0.12"},peerDependencies:{react:"19.1.0","react-dom":"19.1.0"},packageManager:"pnpm@10.30.2",devDependencies:{"@types/node":"25.3.2","@types/react":"19.2.14","@types/react-dom":"18.3.7","@types/react-router-dom":"5.3.3","@types/semver":"7.7.1",tsup:"8.5.1",typescript:"^5.9.3"}}});a();var ui=O(require("cac"));a();var si=require("vite");a();var ei=O(require("@vitejs/plugin-react")),ti=O(require("@tailwindcss/vite"));a();var jo=require("vite");a();var Or=O(require("fast-glob"));W();a();Le();var Q=new Ie({name:"routes"});function Gt(){Q.invalidateAll()}function Ut(r){Q.invalidate(r)}a();var ee=O(require("path")),Sr=O(require("github-slugger"));W();xr();Ke();function Rr(r,e,t,o){let s;try{s=decodeURIComponent(r)}catch{let A=ee.default.basename(r);throw Ce("ENCODING_ERROR","Invalid character encoding",{file:A}),new Ye(`Security breach: Invalid characters or encoding in path: ${A}`)}if(s.length>260){let A=ee.default.basename(s);throw Ce("PATH_TOO_LONG","Path length exceeds limit",{length:s.length,file:A}),new be(`Security breach: Path length exceeds limit of ${260} characters: ${A}`)}let i=ee.default.resolve(s),n=ee.default.resolve(e),u=_(ee.default.relative(n,i));if(u.startsWith("../")||u===".."||i.includes("\0")||!yr.test(u)){let A=ee.default.basename(r);throw Ce("PATH_TRAVERSAL_ATTEMPT","Path traversal or invalid characters detected",{path:u}),new be(`Security breach: File is outside of docs directory, contains null bytes, or invalid characters: ${A}`)}let{data:p,content:c}=et(r),d=u.split("/"),f,E;if(o?.versions&&d.length>0){let A=d[0],Tt=o.versions.prefix||"",We=o.versions.versions.find($e=>{let At=Tt+$e.path;return A===At||A===$e.path});We&&(E=We.path,d=d.slice(1))}if(o?.i18n&&d.length>0){let A=d[0];o.i18n.locales[A]&&(f=A,d=d.slice(1))}let m;if(d.length>0){let A=d[0].match(/^\((.+)\)$/);A&&(m=A[1].toLowerCase(),d=d.slice(1))}let S=d.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=Pr(S||"index.md");let h=t;E&&(h+="/"+E),f&&(h+="/"+f),m&&(h+="/"+m),h+=$==="/"?"":$,(!h||h==="")&&(h="/");let v=d[d.length-1],b=we(v),C=we(ee.default.basename(r,ee.default.extname(r))),R=p.sidebarPosition??Ze(v),L=d.length>=2?d[0]:void 0,I=L?we(L):void 0,U=d.length>=2&&/^index\.mdx?$/.test(b),N=new Sr.default,Ee=[],pi=/^(#{2,4})\s+(.+)$/gm;for(let A of c.matchAll(pi)){let Tt=A[1].length,We=A[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),$e=Se(We).trim(),At=N.slug($e);Ee.push({level:Tt,text:$e,id:At})}let fi=p.title?Se(String(p.title)):C,Lt=p.description?Se(String(p.description)):"";!Lt&&c&&(Lt=Pe(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let di=p.badge?Se(String(p.badge)):void 0,gr=p.icon?String(p.icon):void 0,mi=Li(c);return{route:{path:h,componentPath:r,filePath:u,title:fi,description:Lt,sidebarPosition:R,headings:Ee,locale:f,version:E,badge:di,icon:gr,tab:m,_content:mi,_rawContent:c},relativeDir:I,isGroupIndex:U,inferredTab:m,groupMeta:U?{title:p.groupTitle||p.title||(I?Re(I):""),position:p.groupPosition??p.sidebarPosition??(L?Ze(L):void 0),icon:gr}:void 0,inferredGroupPosition:L?Ze(L):void 0}}function Li(r){let e=r.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return Pe(e).trim()}a();function Ir(r){return r.sort((e,t)=>!e.group&&!t.group?Cr(e,t):e.group?t.group?e.group!==t.group?Ti(e,t):Cr(e,t):1:-1)}function Cr(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 Ti(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 Vt=null,Te=new Map;async function fe(r,e,t="/docs",o=!0){let s=performance.now();Q.load(),Te.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&Q.invalidateAll();let i;!o&&Vt?i=Vt:(i=await(0,Or.default)(["**/*.md","**/*.mdx"],{cwd:r,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Vt=i),Q.pruneStale(new Set(i));let n=50,u=[],p=0;for(let $=0;$<i.length;$+=n){let h=i.slice($,$+n),v=await Promise.all(h.map(async b=>{let C=Q.get(b);if(C)return p++,C;let R=Rr(b,r,t,e);return Q.set(b,R),R}));u.push(...v),$+n<i.length&&await new Promise(b=>setImmediate(b))}Q.save();let c=new Map,d=[];for(let $ of u)if($.isGroupIndex&&$.relativeDir&&d.push($),$.relativeDir){let h=c.get($.relativeDir);h?(h.position===void 0&&$.inferredGroupPosition!==void 0&&(h.position=$.inferredGroupPosition),!h.icon&&$.route.icon&&(h.icon=$.route.icon)):(h={title:Re($.relativeDir),position:$.inferredGroupPosition,icon:$.route.icon},c.set($.relativeDir,h))}for(let $ of d){let h=c.get($.relativeDir);$.groupMeta&&(h.title=$.groupMeta.title,$.groupMeta.position!==void 0&&(h.position=$.groupMeta.position),$.groupMeta.icon&&(h.icon=$.groupMeta.icon))}let f=new Array(u.length);for(let $=0;$<u.length;$++){let h=u[$],v=h.relativeDir,b=v?c.get(v):void 0;f[$]={...h.route,group:v,groupTitle:b?.title||(v?Re(v):void 0),groupPosition:b?.position,groupIcon:b?.icon}}let E=f;if(e?.i18n){let $=Ai(f,e,t);E=[...f,...$]}let m=Ir(E),S=performance.now()-s;return console.log(`[boltdocs] Route generation: ${S.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),m}function Ai(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 f=Ni(d.path,o,p,t,e);f!==d.path&&(c.has(f)||i.push({...d,path:f,locale:p}))}}return i}function Ni(r,e,t,o,s){let i=`${r}:${t}`,n=Te.get(i);if(n)return n;let u=o;if(s?.versions){let f=s.versions.prefix||"";for(let E of s.versions.versions){let m=f+E.path;if(r.startsWith(`${o}/${m}`)){u+="/"+m;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 f=p.startsWith("/")?"":"/";p="/"+t+f+p}let d=u+p;return Te.size>2e3&&Te.clear(),Te.set(i,d),d}var Bo=require("vite-plugin-image-optimizer");a();var st=O(require("path")),Tr=O(require("fs")),Ar=require("vite");a();var l=require("zod"),Di=l.z.object({icon:l.z.string().max(50),link:l.z.string().url()}),ki=l.z.object({text:l.z.string().max(2e3).optional()}),ji=l.z.enum(["fs:read","fs:write","vite:config","mdx:remark","mdx:rehype","components","hooks:build","hooks:dev"]),zt=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(ji).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()}),Bi=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(Di).optional(),footer:ki.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()}),qi=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()})]),Fi=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()}),_i=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()}))}),Mi=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()}),Hi=l.z.object({sandbox:l.z.object({enable:l.z.boolean().optional(),config:l.z.record(l.z.string(),l.z.unknown()).optional()}).optional()}),Lr=l.z.object({siteUrl:l.z.string().url().optional(),docsDir:l.z.string().optional(),homePage:l.z.string().optional(),theme:Bi.optional(),i18n:Fi.optional(),versions:_i.optional(),plugins:l.z.array(zt).optional(),integrations:Hi.optional(),robots:qi.optional(),security:Mi.optional(),vite:l.z.record(l.z.string(),l.z.unknown()).optional()});Ke();var ot=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function V(r,e=process.cwd()){let t=e,o={docsDir:st.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 ot){let f=st.default.resolve(t,d);if(Tr.default.existsSync(f))try{let E=await(0,Ar.loadConfigFromFile)({command:"serve",mode:"development"},f,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,f])=>f!==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:st.default.resolve(r),homePage:s.homePage,theme:{...o.theme,...u},i18n:s.i18n,versions:s.versions,siteUrl:s.siteUrl,plugins:s.plugins||[],integrations:s.integrations,robots:s.robots,security:s.security,vite:s.vite},c=Lr.safeParse(p);if(!c.success){let d=c.error.issues.map(f=>` - ${f.path.join(".")}: ${f.message}`).join(`
|
|
2
|
+
"use strict";var gi=Object.create;var Nt=Object.defineProperty;var hi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Ei=Object.prototype.hasOwnProperty;var ce=(r,e)=>()=>(r&&(e=r(r=0)),e);var b=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),hr=(r,e)=>{for(var t in e)Nt(r,t,{get:e[t],enumerable:!0})},$i=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yi(e))!Ei.call(r,s)&&s!==t&&Nt(r,s,{get:()=>e[s],enumerable:!(o=hi(e,s))||o.enumerable});return r};var O=(r,e,t)=>(t=r!=null?gi(xi(r)):{},$i(e||!r||!r.__esModule?Nt(t,"default",{value:r,enumerable:!0}):t,r));var vi,g,a=ce(()=>{"use strict";vi=()=>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,g=vi()});var yr,xr=ce(()=>{"use strict";a();yr=/^[a-zA-Z0-9\-_\/\.\(\)]+$/});var X,Er,$r=ce(()=>{"use strict";a();X=require("zod"),Er=X.z.object({title:X.z.string().max(200).optional(),description:X.z.string().max(500).optional(),sidebarPosition:X.z.number().optional(),sidebarLabel:X.z.string().max(100).optional(),category:X.z.string().max(50).optional(),order:X.z.number().optional(),badge:X.z.string().max(50).optional(),icon:X.z.string().max(50).optional()})});var ve,Pe,Ye,oe,Ke=ce(()=>{"use strict";a();ve=class r extends Error{constructor(e){super(e),this.name="SecurityViolationError",Object.setPrototypeOf(this,r.prototype)}},Pe=class r extends ve{constructor(e){super(e),this.name="PathTraversalError",Object.setPrototypeOf(this,r.prototype)}},Ye=class r extends ve{constructor(e){super(e),this.name="EncodingSecurityError",Object.setPrototypeOf(this,r.prototype)}},oe=class r extends ve{constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,r.prototype)}}});function _(r){return r.replace(/\\/g,"/")}function we(r){return r.replace(/^\d+\./,"")}function Ze(r){let e=r.match(/^(\d+)\./);return e?parseInt(e[1],10):void 0}function Pr(r){return/\.mdx?$/.test(r)}function Qe(r){try{return Dt.default.statSync(r).mtimeMs}catch{return 0}}function et(r){let e=Dt.default.readFileSync(r,"utf-8");try{let{data:t,content:o,matter:s}=(0,vr.default)(e);if(s&&s.length>10240)throw Ce("FRONTMATTER_TOO_LARGE","Frontmatter block exceeds size limit",{size:s.length,file:r}),new oe(`Security breach: Frontmatter size exceeds limit of ${10240} bytes`);let i=Er.safeParse(t);i.success||console.warn(`[VALIDATION][${r}] Invalid frontmatter fields detected.`);let l={...i.success?i.data:{}};return l.title&&(l.title=be(l.title).trim()),l.description&&(l.description=be(l.description).trim()),{data:l,content:o}}catch(t){if(t instanceof oe)throw t;return{data:{},content:e}}}function ie(r){return r.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function kt(r){return ie(r)}function br(r){let t=r.split("/").map(o=>we(bi(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 Se(r){return Je.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 be(r){return Je.default.sanitize(r,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function Re(r){return r.charAt(0).toUpperCase()+r.slice(1)}function jt(r,e){return r?typeof r=="string"?r:e&&r[e]?r[e]:Object.values(r)[0]||"":""}function bi(r){return r.replace(/[^a-zA-Z0-9\-_\/\.]/g,"").split("/").filter(e=>e!==".."&&e!==".").map(e=>e.replace(/\.\.+/g,".")).join("/")}function Ce(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 Dt,vr,Je,W=ce(()=>{"use strict";a();Dt=O(require("fs")),vr=O(require("gray-matter")),Je=O(require("isomorphic-dompurify"));$r();Ke();Je.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 Ht={};hr(Ht,{AssetCache:()=>Ft,FileCache:()=>Ie,TransformCache:()=>Oe,flushCache:()=>Oi});async function Oi(){await re.flush()}var D,F,ue,le,pe,tt,wi,rt,_t,el,Mt,Si,Ri,Ci,Ii,qt,Bt,re,Ie,Oe,Ft,Le=ce(()=>{"use strict";a();D=O(require("fs")),F=O(require("path")),ue=O(require("crypto")),le=O(require("zlib")),pe=require("util");W();tt=(0,pe.promisify)(D.default.writeFile),wi=(0,pe.promisify)(D.default.readFile),rt=(0,pe.promisify)(D.default.mkdir),_t=(0,pe.promisify)(D.default.rename),el=(0,pe.promisify)(D.default.unlink),Mt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Si="assets",Ri="shards",Ci=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Ii=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",qt=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()}},Bt=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}},re=new Bt,Ie=class{entries=new Map;cachePath=null;compress;constructor(e={}){if(this.compress=e.compress!==void 0?e.compress:Ii,e.name){let t=e.root||process.cwd(),o=this.compress?"json.gz":"json";this.cachePath=F.default.resolve(t,Mt,`${e.name}.${o}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!D.default.existsSync(this.cachePath)))try{let e=D.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;re.add(async()=>{try{await rt(F.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 tt(n,i),await _t(n,o)}catch{}})}get(e){let t=this.entries.get(e);return!t||Qe(e)!==t.mtime?null:t.data}set(e,t){this.entries.set(e,{data:t,mtime:Qe(e)})}isValid(e){let t=this.entries.get(e);return t?Qe(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 re.flush()}},Oe=class{index=new Map;memoryCache=new qt(Ci);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=F.default.resolve(t,Mt,`transform-${e}`),this.shardsDir=F.default.resolve(this.baseDir,Ri),this.indexPath=F.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&D.default.existsSync(this.indexPath))try{let e=D.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;re.add(async()=>{await rt(F.default.dirname(t),{recursive:!0}),await tt(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),l=F.default.resolve(this.shardsDir,`${n}.gz`);try{let p=await wi(l),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=F.default.resolve(this.shardsDir,`${o}.gz`);if(!D.default.existsSync(s))return null;try{let i=D.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=F.default.resolve(this.shardsDir,`${o}.gz`);re.add(async()=>{if(D.default.existsSync(s))return;await rt(this.shardsDir,{recursive:!0});let i=le.default.gzipSync(Buffer.from(t)),n=`${s}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,i),await _t(n,s)})}get size(){return this.index.size}async flush(){await re.flush()}},Ft=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=F.default.resolve(e,Mt,Si)}getFileHash(e){return ue.default.createHash("md5").update(D.default.readFileSync(e)).digest("hex")}get(e,t){if(!D.default.existsSync(e))return null;let o=this.getFileHash(e),s=this.getCachedPath(e,`${t}-${o}`);return D.default.existsSync(s)?s:null}set(e,t,o){let s=this.getFileHash(e),i=this.getCachedPath(e,`${t}-${s}`);re.add(async()=>{await rt(this.assetsDir,{recursive:!0});let n=`${i}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,o),await _t(n,i)})}getCachedPath(e,t){let o=F.default.extname(e),s=F.default.basename(e,o),i=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return F.default.join(this.assetsDir,`${s}.${i}${o}`)}clear(){D.default.existsSync(this.assetsDir)&&D.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await re.flush()}}});var De=b((eu,Hr)=>{"use strict";a();var Gi="2.0.0",Ui=Number.MAX_SAFE_INTEGER||9007199254740991,Vi=16,zi=250,Xi=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Hr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Vi,MAX_SAFE_BUILD_LENGTH:zi,MAX_SAFE_INTEGER:Ui,RELEASE_TYPES:Xi,SEMVER_SPEC_VERSION:Gi,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ke=b((ru,Gr)=>{"use strict";a();var Wi=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Gr.exports=Wi});var ge=b((J,Ur)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:Yt,MAX_SAFE_BUILD_LENGTH:Yi,MAX_LENGTH:Ki}=De(),Ji=ke();J=Ur.exports={};var Zi=J.re=[],Qi=J.safeRe=[],y=J.src=[],en=J.safeSrc=[],x=J.t={},tn=0,Kt="[a-zA-Z0-9-]",rn=[["\\s",1],["\\d",Ki],[Kt,Yi]],sn=r=>{for(let[e,t]of rn)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},w=(r,e,t)=>{let o=sn(e),s=tn++;Ji(r,s,e),x[r]=s,y[s]=e,en[s]=o,Zi[s]=new RegExp(e,t?"g":void 0),Qi[s]=new RegExp(o,t?"g":void 0)};w("NUMERICIDENTIFIER","0|[1-9]\\d*");w("NUMERICIDENTIFIERLOOSE","\\d+");w("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Kt}*`);w("MAINVERSION",`(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})`);w("MAINVERSIONLOOSE",`(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASEIDENTIFIER",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIER]})`);w("PRERELEASEIDENTIFIERLOOSE",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASE",`(?:-(${y[x.PRERELEASEIDENTIFIER]}(?:\\.${y[x.PRERELEASEIDENTIFIER]})*))`);w("PRERELEASELOOSE",`(?:-?(${y[x.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${y[x.PRERELEASEIDENTIFIERLOOSE]})*))`);w("BUILDIDENTIFIER",`${Kt}+`);w("BUILD",`(?:\\+(${y[x.BUILDIDENTIFIER]}(?:\\.${y[x.BUILDIDENTIFIER]})*))`);w("FULLPLAIN",`v?${y[x.MAINVERSION]}${y[x.PRERELEASE]}?${y[x.BUILD]}?`);w("FULL",`^${y[x.FULLPLAIN]}$`);w("LOOSEPLAIN",`[v=\\s]*${y[x.MAINVERSIONLOOSE]}${y[x.PRERELEASELOOSE]}?${y[x.BUILD]}?`);w("LOOSE",`^${y[x.LOOSEPLAIN]}$`);w("GTLT","((?:<|>)?=?)");w("XRANGEIDENTIFIERLOOSE",`${y[x.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);w("XRANGEIDENTIFIER",`${y[x.NUMERICIDENTIFIER]}|x|X|\\*`);w("XRANGEPLAIN",`[v=\\s]*(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:${y[x.PRERELEASE]})?${y[x.BUILD]}?)?)?`);w("XRANGEPLAINLOOSE",`[v=\\s]*(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:${y[x.PRERELEASELOOSE]})?${y[x.BUILD]}?)?)?`);w("XRANGE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAIN]}$`);w("XRANGELOOSE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAINLOOSE]}$`);w("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Yt}})(?:\\.(\\d{1,${Yt}}))?(?:\\.(\\d{1,${Yt}}))?`);w("COERCE",`${y[x.COERCEPLAIN]}(?:$|[^\\d])`);w("COERCEFULL",y[x.COERCEPLAIN]+`(?:${y[x.PRERELEASE]})?(?:${y[x.BUILD]})?(?:$|[^\\d])`);w("COERCERTL",y[x.COERCE],!0);w("COERCERTLFULL",y[x.COERCEFULL],!0);w("LONETILDE","(?:~>?)");w("TILDETRIM",`(\\s*)${y[x.LONETILDE]}\\s+`,!0);J.tildeTrimReplace="$1~";w("TILDE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAIN]}$`);w("TILDELOOSE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAINLOOSE]}$`);w("LONECARET","(?:\\^)");w("CARETTRIM",`(\\s*)${y[x.LONECARET]}\\s+`,!0);J.caretTrimReplace="$1^";w("CARET",`^${y[x.LONECARET]}${y[x.XRANGEPLAIN]}$`);w("CARETLOOSE",`^${y[x.LONECARET]}${y[x.XRANGEPLAINLOOSE]}$`);w("COMPARATORLOOSE",`^${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]})$|^$`);w("COMPARATOR",`^${y[x.GTLT]}\\s*(${y[x.FULLPLAIN]})$|^$`);w("COMPARATORTRIM",`(\\s*)${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]}|${y[x.XRANGEPLAIN]})`,!0);J.comparatorTrimReplace="$1$2$3";w("HYPHENRANGE",`^\\s*(${y[x.XRANGEPLAIN]})\\s+-\\s+(${y[x.XRANGEPLAIN]})\\s*$`);w("HYPHENRANGELOOSE",`^\\s*(${y[x.XRANGEPLAINLOOSE]})\\s+-\\s+(${y[x.XRANGEPLAINLOOSE]})\\s*$`);w("STAR","(<|>)?=?\\s*\\*");w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ft=b((iu,Vr)=>{"use strict";a();var on=Object.freeze({loose:!0}),nn=Object.freeze({}),an=r=>r?typeof r!="object"?on:r:nn;Vr.exports=an});var Jt=b((au,Wr)=>{"use strict";a();var zr=/^[0-9]+$/,Xr=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=zr.test(r),o=zr.test(e);return t&&o&&(r=+r,e=+e),r===e?0:t&&!o?-1:o&&!t?1:r<e?-1:1},cn=(r,e)=>Xr(e,r);Wr.exports={compareIdentifiers:Xr,rcompareIdentifiers:cn}});var k=b((lu,Kr)=>{"use strict";a();var dt=ke(),{MAX_LENGTH:Yr,MAX_SAFE_INTEGER:mt}=De(),{safeRe:gt,t:ht}=ge(),ln=ft(),{compareIdentifiers:Zt}=Jt(),Qt=class r{constructor(e,t){if(t=ln(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>Yr)throw new TypeError(`version is longer than ${Yr} characters`);dt("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let o=e.trim().match(t.loose?gt[ht.LOOSE]:gt[ht.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>mt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>mt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>mt||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<mt)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(dt("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(dt("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 Zt(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(dt("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 Zt(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?gt[ht.PRERELEASELOOSE]:gt[ht.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]),Zt(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}};Kr.exports=Qt});var ne=b((pu,Zr)=>{"use strict";a();var Jr=k(),un=(r,e,t=!1)=>{if(r instanceof Jr)return r;try{return new Jr(r,e)}catch(o){if(!t)return null;throw o}};Zr.exports=un});var es=b((du,Qr)=>{"use strict";a();var pn=ne(),fn=(r,e)=>{let t=pn(r,e);return t?t.version:null};Qr.exports=fn});var rs=b((gu,ts)=>{"use strict";a();var dn=ne(),mn=(r,e)=>{let t=dn(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};ts.exports=mn});var is=b((yu,os)=>{"use strict";a();var ss=k(),gn=(r,e,t,o,s)=>{typeof t=="string"&&(s=o,o=t,t=void 0);try{return new ss(r instanceof ss?r.version:r,t).inc(e,o,s).version}catch{return null}};os.exports=gn});var cs=b((Eu,as)=>{"use strict";a();var ns=ne(),hn=(r,e)=>{let t=ns(r,null,!0),o=ns(e,null,!0),s=t.compare(o);if(s===0)return null;let i=s>0,n=i?t:o,l=i?o:t,p=!!n.prerelease.length;if(!!l.prerelease.length&&!p){if(!l.patch&&!l.minor)return"major";if(l.compareMain(n)===0)return l.minor&&!l.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"};as.exports=hn});var us=b((vu,ls)=>{"use strict";a();var yn=k(),xn=(r,e)=>new yn(r,e).major;ls.exports=xn});var fs=b((bu,ps)=>{"use strict";a();var En=k(),$n=(r,e)=>new En(r,e).minor;ps.exports=$n});var ms=b((Su,ds)=>{"use strict";a();var vn=k(),Pn=(r,e)=>new vn(r,e).patch;ds.exports=Pn});var hs=b((Cu,gs)=>{"use strict";a();var bn=ne(),wn=(r,e)=>{let t=bn(r,e);return t&&t.prerelease.length?t.prerelease:null};gs.exports=wn});var M=b((Ou,xs)=>{"use strict";a();var ys=k(),Sn=(r,e,t)=>new ys(r,t).compare(new ys(e,t));xs.exports=Sn});var $s=b((Tu,Es)=>{"use strict";a();var Rn=M(),Cn=(r,e,t)=>Rn(e,r,t);Es.exports=Cn});var Ps=b((Nu,vs)=>{"use strict";a();var In=M(),On=(r,e)=>In(r,e,!0);vs.exports=On});var yt=b((ku,ws)=>{"use strict";a();var bs=k(),Ln=(r,e,t)=>{let o=new bs(r,t),s=new bs(e,t);return o.compare(s)||o.compareBuild(s)};ws.exports=Ln});var Rs=b((qu,Ss)=>{"use strict";a();var Tn=yt(),An=(r,e)=>r.sort((t,o)=>Tn(t,o,e));Ss.exports=An});var Is=b((Fu,Cs)=>{"use strict";a();var Nn=yt(),Dn=(r,e)=>r.sort((t,o)=>Nn(o,t,e));Cs.exports=Dn});var je=b((Mu,Os)=>{"use strict";a();var kn=M(),jn=(r,e,t)=>kn(r,e,t)>0;Os.exports=jn});var xt=b((Gu,Ls)=>{"use strict";a();var qn=M(),Bn=(r,e,t)=>qn(r,e,t)<0;Ls.exports=Bn});var er=b((Vu,Ts)=>{"use strict";a();var Fn=M(),_n=(r,e,t)=>Fn(r,e,t)===0;Ts.exports=_n});var tr=b((Xu,As)=>{"use strict";a();var Mn=M(),Hn=(r,e,t)=>Mn(r,e,t)!==0;As.exports=Hn});var Et=b((Yu,Ns)=>{"use strict";a();var Gn=M(),Un=(r,e,t)=>Gn(r,e,t)>=0;Ns.exports=Un});var $t=b((Ju,Ds)=>{"use strict";a();var Vn=M(),zn=(r,e,t)=>Vn(r,e,t)<=0;Ds.exports=zn});var rr=b((Qu,ks)=>{"use strict";a();var Xn=er(),Wn=tr(),Yn=je(),Kn=Et(),Jn=xt(),Zn=$t(),Qn=(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 Xn(r,t,o);case"!=":return Wn(r,t,o);case">":return Yn(r,t,o);case">=":return Kn(r,t,o);case"<":return Jn(r,t,o);case"<=":return Zn(r,t,o);default:throw new TypeError(`Invalid operator: ${e}`)}};ks.exports=Qn});var qs=b((tp,js)=>{"use strict";a();var ea=k(),ta=ne(),{safeRe:vt,t:Pt}=ge(),ra=(r,e)=>{if(r instanceof ea)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?vt[Pt.COERCEFULL]:vt[Pt.COERCE]);else{let p=e.includePrerelease?vt[Pt.COERCERTLFULL]:vt[Pt.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]}`:"",l=e.includePrerelease&&t[6]?`+${t[6]}`:"";return ta(`${o}.${s}.${i}${n}${l}`,e)};js.exports=ra});var Fs=b((sp,Bs)=>{"use strict";a();var sr=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}};Bs.exports=sr});var H=b((ip,Gs)=>{"use strict";a();var sa=/\s+/g,or=class r{constructor(e,t){if(t=ia(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof ir)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(sa," "),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=>!Ms(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&&fa(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&&ua)|(this.options.loose&&pa))+":"+e,s=_s.get(o);if(s)return s;let i=this.options.loose,n=i?q[j.HYPHENRANGELOOSE]:q[j.HYPHENRANGE];e=e.replace(n,Pa(this.options.includePrerelease)),T("hyphen replace",e),e=e.replace(q[j.COMPARATORTRIM],aa),T("comparator trim",e),e=e.replace(q[j.TILDETRIM],ca),T("tilde trim",e),e=e.replace(q[j.CARETTRIM],la),T("caret trim",e);let l=e.split(" ").map(f=>da(f,this.options)).join(" ").split(/\s+/).map(f=>va(f,this.options));i&&(l=l.filter(f=>(T("loose invalid filter",f,this.options),!!f.match(q[j.COMPARATORLOOSE])))),T("range list",l);let p=new Map,c=l.map(f=>new ir(f,this.options));for(let f of c){if(Ms(f))return[f];p.set(f.value,f)}p.size>1&&p.has("")&&p.delete("");let d=[...p.values()];return _s.set(o,d),d}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(o=>Hs(o,t)&&e.set.some(s=>Hs(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 na(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(ba(this.set[t],e,this.options))return!0;return!1}};Gs.exports=or;var oa=Fs(),_s=new oa,ia=ft(),ir=qe(),T=ke(),na=k(),{safeRe:q,t:j,comparatorTrimReplace:aa,tildeTrimReplace:ca,caretTrimReplace:la}=ge(),{FLAG_INCLUDE_PRERELEASE:ua,FLAG_LOOSE:pa}=De(),Ms=r=>r.value==="<0.0.0-0",fa=r=>r.value==="",Hs=(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},da=(r,e)=>(r=r.replace(q[j.BUILD],""),T("comp",r,e),r=ha(r,e),T("caret",r),r=ma(r,e),T("tildes",r),r=xa(r,e),T("xrange",r),r=$a(r,e),T("stars",r),r),B=r=>!r||r.toLowerCase()==="x"||r==="*",ma=(r,e)=>r.trim().split(/\s+/).map(t=>ga(t,e)).join(" "),ga=(r,e)=>{let t=e.loose?q[j.TILDELOOSE]:q[j.TILDE];return r.replace(t,(o,s,i,n,l)=>{T("tilde",r,o,s,i,n,l);let p;return B(s)?p="":B(i)?p=`>=${s}.0.0 <${+s+1}.0.0-0`:B(n)?p=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:l?(T("replaceTilde pr",l),p=`>=${s}.${i}.${n}-${l} <${s}.${+i+1}.0-0`):p=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,T("tilde return",p),p})},ha=(r,e)=>r.trim().split(/\s+/).map(t=>ya(t,e)).join(" "),ya=(r,e)=>{T("caret",r,e);let t=e.loose?q[j.CARETLOOSE]:q[j.CARET],o=e.includePrerelease?"-0":"";return r.replace(t,(s,i,n,l,p)=>{T("caret",r,s,i,n,l,p);let c;return B(i)?c="":B(n)?c=`>=${i}.0.0${o} <${+i+1}.0.0-0`:B(l)?i==="0"?c=`>=${i}.${n}.0${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.0${o} <${+i+1}.0.0-0`:p?(T("replaceCaret pr",p),i==="0"?n==="0"?c=`>=${i}.${n}.${l}-${p} <${i}.${n}.${+l+1}-0`:c=`>=${i}.${n}.${l}-${p} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${l}-${p} <${+i+1}.0.0-0`):(T("no pr"),i==="0"?n==="0"?c=`>=${i}.${n}.${l}${o} <${i}.${n}.${+l+1}-0`:c=`>=${i}.${n}.${l}${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${l} <${+i+1}.0.0-0`),T("caret return",c),c})},xa=(r,e)=>(T("replaceXRanges",r,e),r.split(/\s+/).map(t=>Ea(t,e)).join(" ")),Ea=(r,e)=>{r=r.trim();let t=e.loose?q[j.XRANGELOOSE]:q[j.XRANGE];return r.replace(t,(o,s,i,n,l,p)=>{T("xRange",r,o,s,i,n,l,p);let c=B(i),d=c||B(n),f=d||B(l),E=f;return s==="="&&E&&(s=""),p=e.includePrerelease?"-0":"",c?s===">"||s==="<"?o="<0.0.0-0":o="*":s&&E?(d&&(n=0),l=0,s===">"?(s=">=",d?(i=+i+1,n=0,l=0):(n=+n+1,l=0)):s==="<="&&(s="<",d?i=+i+1:n=+n+1),s==="<"&&(p="-0"),o=`${s+i}.${n}.${l}${p}`):d?o=`>=${i}.0.0${p} <${+i+1}.0.0-0`:f&&(o=`>=${i}.${n}.0${p} <${i}.${+n+1}.0-0`),T("xRange return",o),o})},$a=(r,e)=>(T("replaceStars",r,e),r.trim().replace(q[j.STAR],"")),va=(r,e)=>(T("replaceGTE0",r,e),r.trim().replace(q[e.includePrerelease?j.GTE0PRE:j.GTE0],"")),Pa=r=>(e,t,o,s,i,n,l,p,c,d,f,E)=>(B(o)?t="":B(s)?t=`>=${o}.0.0${r?"-0":""}`:B(i)?t=`>=${o}.${s}.0${r?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,B(c)?p="":B(d)?p=`<${+c+1}.0.0-0`:B(f)?p=`<${c}.${+d+1}.0-0`:E?p=`<=${c}.${d}.${f}-${E}`:r?p=`<${c}.${d}.${+f+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),ba=(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(T(r[o].semver),r[o].semver!==ir.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 qe=b((ap,Ys)=>{"use strict";a();var Be=Symbol("SemVer ANY"),cr=class r{static get ANY(){return Be}constructor(e,t){if(t=Us(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),ar("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Be?this.value="":this.value=this.operator+this.semver.version,ar("comp",this)}parse(e){let t=this.options.loose?Vs[zs.COMPARATORLOOSE]:Vs[zs.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 Xs(o[2],this.options.loose):this.semver=Be}toString(){return this.value}test(e){if(ar("Comparator.test",e,this.options.loose),this.semver===Be||e===Be)return!0;if(typeof e=="string")try{e=new Xs(e,this.options)}catch{return!1}return nr(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 Ws(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Ws(this.value,t).test(e.semver):(t=Us(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("=")||nr(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||nr(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ys.exports=cr;var Us=ft(),{safeRe:Vs,t:zs}=ge(),nr=rr(),ar=ke(),Xs=k(),Ws=H()});var Fe=b((lp,Ks)=>{"use strict";a();var wa=H(),Sa=(r,e,t)=>{try{e=new wa(e,t)}catch{return!1}return e.test(r)};Ks.exports=Sa});var Zs=b((pp,Js)=>{"use strict";a();var Ra=H(),Ca=(r,e)=>new Ra(r,e).set.map(t=>t.map(o=>o.value).join(" ").trim().split(" "));Js.exports=Ca});var eo=b((dp,Qs)=>{"use strict";a();var Ia=k(),Oa=H(),La=(r,e,t)=>{let o=null,s=null,i=null;try{i=new Oa(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===-1)&&(o=n,s=new Ia(o,t))}),o};Qs.exports=La});var ro=b((gp,to)=>{"use strict";a();var Ta=k(),Aa=H(),Na=(r,e,t)=>{let o=null,s=null,i=null;try{i=new Aa(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===1)&&(o=n,s=new Ta(o,t))}),o};to.exports=Na});var io=b((yp,oo)=>{"use strict";a();var lr=k(),Da=H(),so=je(),ka=(r,e)=>{r=new Da(r,e);let t=new lr("0.0.0");if(r.test(t)||(t=new lr("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 l=new lr(n.semver.version);switch(n.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!i||so(l,i))&&(i=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||so(t,i))&&(t=i)}return t&&r.test(t)?t:null};oo.exports=ka});var ao=b((Ep,no)=>{"use strict";a();var ja=H(),qa=(r,e)=>{try{return new ja(r,e).range||"*"}catch{return null}};no.exports=qa});var bt=b((vp,po)=>{"use strict";a();var Ba=k(),uo=qe(),{ANY:Fa}=uo,_a=H(),Ma=Fe(),co=je(),lo=xt(),Ha=$t(),Ga=Et(),Ua=(r,e,t,o)=>{r=new Ba(r,o),e=new _a(e,o);let s,i,n,l,p;switch(t){case">":s=co,i=Ha,n=lo,l=">",p=">=";break;case"<":s=lo,i=Ga,n=co,l="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ma(r,e,o))return!1;for(let c=0;c<e.set.length;++c){let d=e.set[c],f=null,E=null;if(d.forEach(m=>{m.semver===Fa&&(m=new uo(">=0.0.0")),f=f||m,E=E||m,s(m.semver,f.semver,o)?f=m:n(m.semver,E.semver,o)&&(E=m)}),f.operator===l||f.operator===p||(!E.operator||E.operator===l)&&i(r,E.semver))return!1;if(E.operator===p&&n(r,E.semver))return!1}return!0};po.exports=Ua});var mo=b((bp,fo)=>{"use strict";a();var Va=bt(),za=(r,e,t)=>Va(r,e,">",t);fo.exports=za});var ho=b((Sp,go)=>{"use strict";a();var Xa=bt(),Wa=(r,e,t)=>Xa(r,e,"<",t);go.exports=Wa});var Eo=b((Cp,xo)=>{"use strict";a();var yo=H(),Ya=(r,e,t)=>(r=new yo(r,t),e=new yo(e,t),r.intersects(e,t));xo.exports=Ya});var vo=b((Op,$o)=>{"use strict";a();var Ka=Fe(),Ja=M();$o.exports=(r,e,t)=>{let o=[],s=null,i=null,n=r.sort((d,f)=>Ja(d,f,t));for(let d of n)Ka(d,e,t)?(i=d,s||(s=d)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);let l=[];for(let[d,f]of o)d===f?l.push(d):!f&&d===n[0]?l.push("*"):f?d===n[0]?l.push(`<=${f}`):l.push(`${d} - ${f}`):l.push(`>=${d}`);let p=l.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var Co=b((Tp,Ro)=>{"use strict";a();var Po=H(),pr=qe(),{ANY:ur}=pr,_e=Fe(),fr=M(),Za=(r,e,t={})=>{if(r===e)return!0;r=new Po(r,t),e=new Po(e,t);let o=!1;e:for(let s of r.set){for(let i of e.set){let n=ec(s,i,t);if(o=o||n!==null,n)continue e}if(o)return!1}return!0},Qa=[new pr(">=0.0.0-0")],bo=[new pr(">=0.0.0")],ec=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===ur){if(e.length===1&&e[0].semver===ur)return!0;t.includePrerelease?r=Qa:r=bo}if(e.length===1&&e[0].semver===ur){if(t.includePrerelease)return!0;e=bo}let o=new Set,s,i;for(let m of r)m.operator===">"||m.operator===">="?s=wo(s,m,t):m.operator==="<"||m.operator==="<="?i=So(i,m,t):o.add(m.semver);if(o.size>1)return null;let n;if(s&&i){if(n=fr(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let m of o){if(s&&!_e(m,String(s),t)||i&&!_e(m,String(i),t))return null;for(let S of e)if(!_e(m,String(S),t))return!1;return!0}let l,p,c,d,f=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(let m of e){if(d=d||m.operator===">"||m.operator===">=",c=c||m.operator==="<"||m.operator==="<=",s){if(E&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===E.major&&m.semver.minor===E.minor&&m.semver.patch===E.patch&&(E=!1),m.operator===">"||m.operator===">="){if(l=wo(s,m,t),l===m&&l!==s)return!1}else if(s.operator===">="&&!_e(s.semver,String(m),t))return!1}if(i){if(f&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===f.major&&m.semver.minor===f.minor&&m.semver.patch===f.patch&&(f=!1),m.operator==="<"||m.operator==="<="){if(p=So(i,m,t),p===m&&p!==i)return!1}else if(i.operator==="<="&&!_e(i.semver,String(m),t))return!1}if(!m.operator&&(i||s)&&n!==0)return!1}return!(s&&c&&!i&&n!==0||i&&d&&!s&&n!==0||E||f)},wo=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o>0?r:o<0||e.operator===">"&&r.operator===">="?e:r},So=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o<0?r:o>0||e.operator==="<"&&r.operator==="<="?e:r};Ro.exports=Za});var To=b((Np,Lo)=>{"use strict";a();var dr=ge(),Io=De(),tc=k(),Oo=Jt(),rc=ne(),sc=es(),oc=rs(),ic=is(),nc=cs(),ac=us(),cc=fs(),lc=ms(),uc=hs(),pc=M(),fc=$s(),dc=Ps(),mc=yt(),gc=Rs(),hc=Is(),yc=je(),xc=xt(),Ec=er(),$c=tr(),vc=Et(),Pc=$t(),bc=rr(),wc=qs(),Sc=qe(),Rc=H(),Cc=Fe(),Ic=Zs(),Oc=eo(),Lc=ro(),Tc=io(),Ac=ao(),Nc=bt(),Dc=mo(),kc=ho(),jc=Eo(),qc=vo(),Bc=Co();Lo.exports={parse:rc,valid:sc,clean:oc,inc:ic,diff:nc,major:ac,minor:cc,patch:lc,prerelease:uc,compare:pc,rcompare:fc,compareLoose:dc,compareBuild:mc,sort:gc,rsort:hc,gt:yc,lt:xc,eq:Ec,neq:$c,gte:vc,lte:Pc,cmp:bc,coerce:wc,Comparator:Sc,Range:Rc,satisfies:Cc,toComparators:Ic,maxSatisfying:Oc,minSatisfying:Lc,minVersion:Tc,validRange:Ac,outside:Nc,gtr:Dc,ltr:kc,intersects:jc,simplifyRange:qc,subset:Bc,SemVer:tc,re:dr.re,src:dr.src,tokens:dr.t,SEMVER_SPEC_VERSION:Io.SEMVER_SPEC_VERSION,RELEASE_TYPES:Io.RELEASE_TYPES,compareIdentifiers:Oo.compareIdentifiers,rcompareIdentifiers:Oo.rcompareIdentifiers}});var ko=b((Wp,_c)=>{_c.exports={name:"boltdocs",version:"2.5.3",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"}}});a();var ui=O(require("cac"));a();var si=require("vite");a();var ei=O(require("@vitejs/plugin-react")),ti=O(require("@tailwindcss/vite"));a();var jo=require("vite");a();var Or=O(require("fast-glob"));W();a();Le();var Q=new Ie({name:"routes"});function Gt(){Q.invalidateAll()}function Ut(r){Q.invalidate(r)}a();var ee=O(require("path")),Sr=O(require("github-slugger"));W();xr();Ke();function Rr(r,e,t,o){let s;try{s=decodeURIComponent(r)}catch{let A=ee.default.basename(r);throw Ce("ENCODING_ERROR","Invalid character encoding",{file:A}),new Ye(`Security breach: Invalid characters or encoding in path: ${A}`)}if(s.length>260){let A=ee.default.basename(s);throw Ce("PATH_TOO_LONG","Path length exceeds limit",{length:s.length,file:A}),new Pe(`Security breach: Path length exceeds limit of ${260} characters: ${A}`)}let i=ee.default.resolve(s),n=ee.default.resolve(e),l=_(ee.default.relative(n,i));if(l.startsWith("../")||l===".."||i.includes("\0")||!yr.test(l)){let A=ee.default.basename(r);throw Ce("PATH_TRAVERSAL_ATTEMPT","Path traversal or invalid characters detected",{path:l}),new Pe(`Security breach: File is outside of docs directory, contains null bytes, or invalid characters: ${A}`)}let{data:p,content:c}=et(r),d=l.split("/"),f,E;if(o?.versions&&d.length>0){let A=d[0],Tt=o.versions.prefix||"",We=o.versions.versions.find($e=>{let At=Tt+$e.path;return A===At||A===$e.path});We&&(E=We.path,d=d.slice(1))}if(o?.i18n&&d.length>0){let A=d[0];o.i18n.locales[A]&&(f=A,d=d.slice(1))}let m;if(d.length>0){let A=d[0].match(/^\((.+)\)$/);A&&(m=A[1].toLowerCase(),d=d.slice(1))}let S=d.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=br(S||"index.md");let h=t;E&&(h+="/"+E),f&&(h+="/"+f),m&&(h+="/"+m),h+=$==="/"?"":$,(!h||h==="")&&(h="/");let v=d[d.length-1],P=we(v),C=we(ee.default.basename(r,ee.default.extname(r))),R=p.sidebarPosition??Ze(v),L=d.length>=2?d[0]:void 0,I=L?we(L):void 0,U=d.length>=2&&/^index\.mdx?$/.test(P),N=new Sr.default,Ee=[],pi=/^(#{2,4})\s+(.+)$/gm;for(let A of c.matchAll(pi)){let Tt=A[1].length,We=A[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),$e=Se(We).trim(),At=N.slug($e);Ee.push({level:Tt,text:$e,id:At})}let fi=p.title?Se(String(p.title)):C,Lt=p.description?Se(String(p.description)):"";!Lt&&c&&(Lt=be(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let di=p.badge?Se(String(p.badge)):void 0,gr=p.icon?String(p.icon):void 0,mi=Li(c);return{route:{path:h,componentPath:r,filePath:l,title:fi,description:Lt,sidebarPosition:R,headings:Ee,locale:f,version:E,badge:di,icon:gr,tab:m,_content:mi,_rawContent:c},relativeDir:I,isGroupIndex:U,inferredTab:m,groupMeta:U?{title:p.groupTitle||p.title||(I?Re(I):""),position:p.groupPosition??p.sidebarPosition??(L?Ze(L):void 0),icon:gr}:void 0,inferredGroupPosition:L?Ze(L):void 0}}function Li(r){let e=r.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return be(e).trim()}a();function Ir(r){return r.sort((e,t)=>!e.group&&!t.group?Cr(e,t):e.group?t.group?e.group!==t.group?Ti(e,t):Cr(e,t):1:-1)}function Cr(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 Ti(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 Vt=null,Te=new Map;async function fe(r,e,t="/docs",o=!0){let s=performance.now();Q.load(),Te.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&Q.invalidateAll();let i;!o&&Vt?i=Vt:(i=await(0,Or.default)(["**/*.md","**/*.mdx"],{cwd:r,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Vt=i),Q.pruneStale(new Set(i));let n=50,l=[],p=0;for(let $=0;$<i.length;$+=n){let h=i.slice($,$+n),v=await Promise.all(h.map(async P=>{let C=Q.get(P);if(C)return p++,C;let R=Rr(P,r,t,e);return Q.set(P,R),R}));l.push(...v),$+n<i.length&&await new Promise(P=>setImmediate(P))}Q.save();let c=new Map,d=[];for(let $ of l)if($.isGroupIndex&&$.relativeDir&&d.push($),$.relativeDir){let h=c.get($.relativeDir);h?(h.position===void 0&&$.inferredGroupPosition!==void 0&&(h.position=$.inferredGroupPosition),!h.icon&&$.route.icon&&(h.icon=$.route.icon)):(h={title:Re($.relativeDir),position:$.inferredGroupPosition,icon:$.route.icon},c.set($.relativeDir,h))}for(let $ of d){let h=c.get($.relativeDir);$.groupMeta&&(h.title=$.groupMeta.title,$.groupMeta.position!==void 0&&(h.position=$.groupMeta.position),$.groupMeta.icon&&(h.icon=$.groupMeta.icon))}let f=new Array(l.length);for(let $=0;$<l.length;$++){let h=l[$],v=h.relativeDir,P=v?c.get(v):void 0;f[$]={...h.route,group:v,groupTitle:P?.title||(v?Re(v):void 0),groupPosition:P?.position,groupIcon:P?.icon}}let E=f;if(e?.i18n){let $=Ai(f,e,t);E=[...f,...$]}let m=Ir(E),S=performance.now()-s;return console.log(`[boltdocs] Route generation: ${S.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),m}function Ai(r,e,t){let o=e.i18n.defaultLocale,s=Object.keys(e.i18n.locales),i=[],n=new Map,l=[];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&&l.push(p)}for(let p of s){let c=n.get(p)||new Set;for(let d of l){let f=Ni(d.path,o,p,t,e);f!==d.path&&(c.has(f)||i.push({...d,path:f,locale:p}))}}return i}function Ni(r,e,t,o,s){let i=`${r}:${t}`,n=Te.get(i);if(n)return n;let l=o;if(s?.versions){let f=s.versions.prefix||"";for(let E of s.versions.versions){let m=f+E.path;if(r.startsWith(`${o}/${m}`)){l+="/"+m;break}if(r.startsWith(`${o}/${E.path}`)){l+="/"+E.path;break}}}let p=r.substring(l.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 f=p.startsWith("/")?"":"/";p="/"+t+f+p}let d=l+p;return Te.size>2e3&&Te.clear(),Te.set(i,d),d}var qo=require("vite-plugin-image-optimizer");a();var st=O(require("path")),Tr=O(require("fs")),Ar=require("vite");a();var u=require("zod"),Di=u.z.object({icon:u.z.string().max(50),link:u.z.string().url()}),ki=u.z.object({text:u.z.string().max(2e3).optional()}),ji=u.z.enum(["fs:read","fs:write","vite:config","mdx:remark","mdx:rehype","components","hooks:build","hooks:dev"]),zt=u.z.object({name:u.z.string(),enforce:u.z.enum(["pre","post"]).optional(),version:u.z.string().optional(),boltdocsVersion:u.z.string().optional(),permissions:u.z.array(ji).optional(),remarkPlugins:u.z.array(u.z.any()).optional(),rehypePlugins:u.z.array(u.z.any()).optional(),vitePlugins:u.z.array(u.z.any()).optional(),components:u.z.record(u.z.string(),u.z.string()).optional(),hooks:u.z.record(u.z.string(),u.z.any()).optional()}),qi=u.z.object({title:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]).optional(),description:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]).optional(),logo:u.z.union([u.z.string(),u.z.object({dark:u.z.string(),light:u.z.string(),alt:u.z.string().optional(),width:u.z.number().optional(),height:u.z.number().optional()})]).optional(),navbar:u.z.array(u.z.object({label:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]),href:u.z.string()})).optional(),sidebar:u.z.record(u.z.string(),u.z.array(u.z.object({text:u.z.string(),link:u.z.string()}))).optional(),socialLinks:u.z.array(Di).optional(),footer:ki.optional(),breadcrumbs:u.z.boolean().optional(),editLink:u.z.string().refine(r=>!r||r.includes(":path"),{message:"editLink must contain ':path' placeholder if specified"}).optional(),communityHelp:u.z.string().url().optional(),version:u.z.string().max(50).optional(),githubRepo:u.z.string().max(100).optional(),favicon:u.z.string().optional(),ogImage:u.z.string().optional(),poweredBy:u.z.boolean().optional(),tabs:u.z.array(u.z.object({id:u.z.string(),text:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]),icon:u.z.string().optional()})).optional(),codeTheme:u.z.union([u.z.string(),u.z.object({light:u.z.string(),dark:u.z.string()})]).optional(),copyMarkdown:u.z.union([u.z.boolean(),u.z.object({text:u.z.string().optional(),icon:u.z.string().optional()})]).optional()}),Bi=u.z.union([u.z.string(),u.z.object({rules:u.z.array(u.z.object({userAgent:u.z.string(),allow:u.z.union([u.z.string(),u.z.array(u.z.string())]).optional(),disallow:u.z.union([u.z.string(),u.z.array(u.z.string())]).optional()})).optional(),sitemaps:u.z.array(u.z.string().url()).optional()})]),Fi=u.z.object({defaultLocale:u.z.string(),locales:u.z.record(u.z.string(),u.z.string()),localeConfigs:u.z.record(u.z.string(),u.z.object({label:u.z.string().optional(),direction:u.z.enum(["ltr","rtl"]).optional(),htmlLang:u.z.string().optional(),calendar:u.z.string().optional()})).optional()}),_i=u.z.object({defaultVersion:u.z.string(),prefix:u.z.string().optional(),versions:u.z.array(u.z.object({label:u.z.string(),path:u.z.string()}))}),Mi=u.z.object({headers:u.z.record(u.z.string(),u.z.string()).optional(),enableCSP:u.z.boolean().optional(),customHeaders:u.z.record(u.z.string(),u.z.string()).optional()}),Lr=u.z.object({siteUrl:u.z.string().url().optional(),docsDir:u.z.string().optional(),homePage:u.z.string().optional(),theme:qi.optional(),i18n:Fi.optional(),versions:_i.optional(),plugins:u.z.array(zt).optional(),robots:Bi.optional(),security:Mi.optional(),vite:u.z.record(u.z.string(),u.z.unknown()).optional()});Ke();var ot=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function V(r,e=process.cwd()){let t=e,o={docsDir:st.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 ot){let f=st.default.resolve(t,d);if(Tr.default.existsSync(f))try{let E=await(0,Ar.loadConfigFromFile)({command:"serve",mode:"development"},f,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||{}},l=Object.fromEntries(Object.entries(n).filter(([d,f])=>f!==void 0));l.navbar&&(l.navbar=l.navbar.map(d=>({label:d.label||d.text||"",href:d.href||d.link||d.to||""})));let p={docsDir:st.default.resolve(r),homePage:s.homePage,theme:{...o.theme,...l},i18n:s.i18n,versions:s.versions,siteUrl:s.siteUrl,plugins:s.plugins||[],robots:s.robots,security:s.security,vite:s.vite},c=Lr.safeParse(p);if(!c.success){let d=c.error.issues.map(f=>` - ${f.path.join(".")}: ${f.message}`).join(`
|
|
3
3
|
`);throw new oe(`Invalid Boltdocs configuration:
|
|
4
|
-
${d}`)}return c.data}a();var Y=O(require("fs")),K=O(require("path"));W();var
|
|
4
|
+
${d}`)}return c.data}a();var Y=O(require("fs")),K=O(require("path"));W();var qr=require("url"),Br=require("module");a();W();function Nr(r,e){let t=ie(e.title),o=ie(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();W();function Dr(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 l of Object.keys(e.i18n.locales))l!==n&&s.push({url:`/${l}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
|
|
5
5
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
6
6
|
${[...s,...r.map(n=>({url:n,priority:"0.8",changefreq:"weekly"}))].map(n=>` <url>
|
|
7
7
|
<loc>${kt(t)}${kt(n.url)}</loc>
|
|
@@ -11,11 +11,11 @@ ${[...s,...r.map(n=>({url:n,priority:"0.8",changefreq:"weekly"}))].map(n=>` <ur
|
|
|
11
11
|
</url>`).join(`
|
|
12
12
|
`)}
|
|
13
13
|
</urlset>`}a();function it(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}
|
|
14
|
-
`,n.disallow){let
|
|
15
|
-
`}if(n.allow){let
|
|
14
|
+
`,n.disallow){let l=Array.isArray(n.disallow)?n.disallow:[n.disallow];for(let p of l)i+=`Disallow: ${p}
|
|
15
|
+
`}if(n.allow){let l=Array.isArray(n.allow)?n.allow:[n.allow];for(let p of l)i+=`Allow: ${p}
|
|
16
16
|
`}i+=`
|
|
17
17
|
`}for(let n of s)i+=`Sitemap: ${n}
|
|
18
|
-
`;return i.trim()}var
|
|
18
|
+
`;return i.trim()}var Hi=(0,qr.fileURLToPath)(g),kr=K.default.dirname(Hi),jr=(0,Br.createRequire)(g);async function Fr(r){let{docsDir:e,docsDirName:t,outDir:o,config:s}=r,i=await fe(e,s),n=["tsx","ts","jsx","js"].map(h=>K.default.resolve(e,`pages-external/index.${h}`)).find(h=>Y.default.existsSync(h));if(n)try{let h=Y.default.readFileSync(n,"utf-8"),v=h.match(/pages\s*:\s*{([^}]+)}/s);if(v){let P=v[1].split(",").map(C=>C.split(":")[0].trim().replace(/['"]/g,"")).filter(C=>C&&C.startsWith("/"));for(let C of P)i.some(R=>R.path===C)||i.push({path:C,title:C.slice(1).charAt(0).toUpperCase()+C.slice(2),filePath:"",componentPath:"",_content:""})}h.includes("homePage")&&!i.some(P=>P.path==="/")&&i.push({path:"/",title:"Home",filePath:"",componentPath:"",_content:""})}catch(h){console.warn("[boltdocs] Failed to parse external routes for SSG:",h)}let l=K.default.resolve(kr,"../client/ssr.js");if(!Y.default.existsSync(l)){console.error("[boltdocs] SSR module not found at",l,"- Did you build the core package?");return}let p=jr("module"),c=p.prototype.require;p.prototype.require=function(h,...v){return h.startsWith("virtual:boltdocs-")?h==="virtual:boltdocs-layout"?{__esModule:!0,default:function(C){try{let L=c.apply(this,[K.default.resolve(kr,"../client/index.js")]).DefaultLayout||(({children:U})=>U);return c.apply(this,["react"]).createElement(L,C)}catch{return C.children}}}:h==="virtual:boltdocs-mdx-components"?{__esModule:!0,default:{}}:h==="virtual:boltdocs-config"?{__esModule:!0,default:s}:{__esModule:!0,default:h.includes("routes")?[]:{}}:c.apply(this,[h,...v])};let{render:d}=jr(l);p.prototype.require=c;let f=K.default.join(o,"index.html");if(!Y.default.existsSync(f)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let E=Y.default.readFileSync(f,"utf-8");await Promise.all(i.map(async h=>{let v=jt(s?.theme?.title,h.locale)||"Boltdocs",P=jt(s?.theme?.description,h.locale)||"",C=`${h.title} | ${v}`,R=h.description||P,L={};L[`/${t}/${h.filePath}`]={default:()=>null};try{let I=await d({path:h.path,routes:i,config:s||{},docsDirName:t,modules:L,homePage:void 0}),U=Nr(E,{title:ie(C),description:ie(R)}).replace("<!--app-html-->",I).replace('<div id="root"></div>',`<div id="root">${I}</div>`),N=K.default.join(o,h.path);await Y.default.promises.mkdir(N,{recursive:!0}),await Y.default.promises.writeFile(K.default.join(N,"index.html"),U,"utf-8")}catch(I){console.error(`[boltdocs] Error SSR rendering route ${h.path}:`,I&&(I.stack||I))}}));let m=Dr(i.map(h=>h.path),s);Y.default.writeFileSync(K.default.join(o,"sitemap.xml"),m,"utf-8");let S=it(s);Y.default.writeFileSync(K.default.join(o,"robots.txt"),S,"utf-8"),console.log(`[boltdocs] Generated ${i.length} static pages + sitemap.xml + robots.txt`);let{flushCache:$}=await Promise.resolve().then(()=>(Le(),Ht));await $()}W();var z=O(require("path"));a();W();var Ae=O(require("path")),Xt=O(require("fs"));function _r(r,e){let t=r.homePage?`import HomePage from '${_(r.homePage)}';`:"",o=Ae.default.resolve(process.cwd(),"index.css"),s=Xt.default.existsSync(o)?"import './index.css';":"",i=r.homePage?"homePage: HomePage,":"",n=e?.plugins?.flatMap(S=>Object.entries(S.components||{}))||[],l=n.map(([S,$])=>`import * as _comp_${S} from '${_($)}';
|
|
19
19
|
const ${S} = _comp_${S}.default || _comp_${S}['${S}'] || _comp_${S};`).join(`
|
|
20
20
|
`),p=n.map(([S])=>S).join(", "),c=Ae.default.basename(r.docsDir||"docs"),d=Ae.default.resolve(process.cwd(),r.docsDir||"docs"),f=["tsx","ts","jsx","js"].map(S=>Ae.default.resolve(d,`pages-external/index.${S}`)).find(S=>Xt.default.existsSync(S)),E=f?`import * as _external_module from '${_(f)}';`:"";return i=f?"homePage: _external_module.homePage || HomePage,":r.homePage?"homePage: HomePage,":"",`
|
|
21
21
|
import { createBoltdocsApp as _createApp } from 'boltdocs/client';
|
|
@@ -24,7 +24,7 @@ import _config from 'virtual:boltdocs-config';
|
|
|
24
24
|
import _user_mdx_components from 'virtual:boltdocs-mdx-components';
|
|
25
25
|
${s}
|
|
26
26
|
${t}
|
|
27
|
-
${
|
|
27
|
+
${l}
|
|
28
28
|
${E}
|
|
29
29
|
|
|
30
30
|
_createApp({
|
|
@@ -49,7 +49,7 @@ _createApp({
|
|
|
49
49
|
<div id="root"></div>
|
|
50
50
|
</body>
|
|
51
51
|
</html>`}function Wt(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(`
|
|
52
|
-
`),
|
|
52
|
+
`),l=`
|
|
53
53
|
<script>
|
|
54
54
|
(function() {
|
|
55
55
|
try {
|
|
@@ -67,14 +67,14 @@ _createApp({
|
|
|
67
67
|
</script>
|
|
68
68
|
`;return r.includes("<title>")?r=r.replace(/<title>.*?<\/title>/,`<title>${o}</title>`):r=r.replace("</head>",` <title>${o}</title>
|
|
69
69
|
</head>`),r=r.replace("</head>",` ${n}
|
|
70
|
-
${
|
|
71
|
-
</body>`)),r}a();function Mr(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 at={"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 ct(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 mr=O(require("fs"));a();var de=class r extends Error{pluginName;constructor(e,t){super(`[plugin:${e}] ${t}`),this.name="PluginError",this.pluginName=e,Object.setPrototypeOf(this,r.prototype)}},me=class r extends de{constructor(e,t){super(e,`Validation failed: ${t}`),this.name="PluginValidationError",Object.setPrototypeOf(this,r.prototype)}},lt=class r extends de{constructor(e,t){super(e,`Compatibility error: ${t}`),this.name="PluginCompatibilityError",Object.setPrototypeOf(this,r.prototype)}},Ne=class r extends de{constructor(e,t){super(e,`Missing required permission: '${t}'`),this.name="PluginPermissionError",Object.setPrototypeOf(this,r.prototype)}},ut=class r extends de{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 pt=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 G=require("zod"),Ao=O(To()),No=O(require("path"));var
|
|
70
|
+
${l} </head>`),!r.includes("src/main")&&!r.includes("virtual:boltdocs-entry")&&(r=r.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
|
|
71
|
+
</body>`)),r}a();function Mr(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 at={"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 ct(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 mr=O(require("fs"));a();var de=class r extends Error{pluginName;constructor(e,t){super(`[plugin:${e}] ${t}`),this.name="PluginError",this.pluginName=e,Object.setPrototypeOf(this,r.prototype)}},me=class r extends de{constructor(e,t){super(e,`Validation failed: ${t}`),this.name="PluginValidationError",Object.setPrototypeOf(this,r.prototype)}},lt=class r extends de{constructor(e,t){super(e,`Compatibility error: ${t}`),this.name="PluginCompatibilityError",Object.setPrototypeOf(this,r.prototype)}},Ne=class r extends de{constructor(e,t){super(e,`Missing required permission: '${t}'`),this.name="PluginPermissionError",Object.setPrototypeOf(this,r.prototype)}},ut=class r extends de{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 pt=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 G=require("zod"),Ao=O(To()),No=O(require("path"));var Fc=zt.extend({version:G.z.string().optional(),boltdocsVersion:G.z.string().optional(),permissions:G.z.array(G.z.string()).optional(),hooks:G.z.object({beforeBuild:G.z.function().optional(),afterBuild:G.z.function().optional(),beforeDev:G.z.function().optional(),afterDev:G.z.function().optional(),configResolved:G.z.function().optional(),buildEnd:G.z.function().optional()}).optional()});function Do(r,e){let t=[],o=new Set;for(let s of r){let i=Fc.safeParse(s);if(!i.success)throw new me(s.name||"unknown",i.error.issues.map(l=>`${l.path.join(".")}: ${l.message}`).join(", "));let n=i.data;if(o.has(n.name))throw new me(n.name,"Duplicate plugin name detected");if(o.add(n.name),n.boltdocsVersion&&!Ao.default.satisfies(e,n.boltdocsVersion))throw new lt(n.name,`Plugin expects Boltdocs version ${n.boltdocsVersion}, but current is ${e}`);if(n.components){for(let[l,p]of Object.entries(n.components))if((p.includes("..")||No.default.isAbsolute(p))&&p.includes(".."))throw new me(n.name,`Component '${l}' has an invalid path: traversal sequences are not allowed.`)}t.push(n)}return t}function he(r,e){return r.permissions?r.permissions.includes(e):!1}a();var te=class{static checkPermission(e,t){if(!he(e,t))throw new Ne(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:he(e,"mdx:remark")?e.remarkPlugins:[],rehypePlugins:he(e,"mdx:rehype")?e.rehypePlugins:[],vitePlugins:he(e,"vite:config")?e.vitePlugins:[],components:he(e,"components")?e.components:{}}}static async executeWithIsolation(e,t,o,s){try{return this.checkPermission(e,t),await s()}catch(i){if(i instanceof Ne){console.warn(`[boltdocs] Skipping hook '${o}' for plugin '${e.name}': ${i.message}`);return}throw i}}};a();var wt=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new pt}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"),l=e.toLowerCase().includes("dev"),p=n?"hooks:build":l?"hooks:dev":void 0;try{p?await te.executeWithIsolation(s,p,e,()=>s.hooks[e](i,...t)):await s.hooks[e](i,...t)}catch(c){let d=new ut(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 Bo(r={},e){let t=z.default.resolve(process.cwd(),r.docsDir||"docs"),o=_(t),s=e,i,n=!1,l,p=[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(c,d){n=d.command==="build";let f=c.envDir||process.cwd(),E=(0,jo.loadEnv)(d.mode,f,"");Object.assign(process.env,E),s||(s=await V(t));let m=(await Promise.resolve().then(()=>O(ko()))).version,S=Do(s.plugins||[],m);return s.plugins=S,l=new wt(S,s),p=S.flatMap($=>te.getSanitizedCapabilities($).vitePlugins||[]),n&&await l.runHook("beforeBuild"),{optimizeDeps:{include:["react","react-dom"],exclude:["boltdocs","boltdocs/client","boltdocs/hooks","boltdocs/primitives","boltdocs/base-ui","boltdocs/mdx","boltdocs/integrations","boltdocs/client/hooks","boltdocs/client/primitives"]}}},configResolved(c){i=c,l?.runHook("configResolved",s)},async configureServer(c){await l?.runHook("beforeDev"),c.middlewares.use((v,P,C)=>{process.env.NODE_ENV==="production"&&Object.entries(at).forEach(([L,I])=>{P.setHeader(L,I)}),s.security?.enableCSP&&P.setHeader("Content-Security-Policy",ct(s)),C()}),c.middlewares.use((v,P,C)=>{if(v.url==="/robots.txt"){let R=it(s);P.statusCode=200,P.setHeader("Content-Type","text/plain"),P.end(R);return}C()}),c.middlewares.use(async(v,P,C)=>{let R=v.url?.split("?")[0]||"/",L=v.headers.accept||"",I=R==="/"||R.startsWith("/docs")||s.i18n&&Object.keys(s.i18n.locales).some(N=>R.startsWith(`/${N}/docs`)||R===`/${N}`)||!0,U=/\.(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(R);if(L.includes("text/html")&&!U&&I){let N=nt(s);N=Wt(N,s),N=await c.transformIndexHtml(v.url||"/",N),P.statusCode=200,P.setHeader("Content-Type","text/html"),P.end(N);return}C()});let d=ot.map(v=>z.default.resolve(process.cwd(),v)),f=["tsx","jsx"],E=f.map(v=>z.default.resolve(t,`layout.${v}`)),m=["tsx","ts","jsx","js"],S=m.map(v=>z.default.resolve(t,`mdx-components.${v}`)),$=m.map(v=>z.default.resolve(t,`pages-external/index.${v}`));c.watcher.add([...d,...S,...E,...$]);let h=async(v,P)=>{try{let C=_(v);if(ot.some(I=>C.endsWith(I))){c.restart();return}if(m.some(I=>C.endsWith(`mdx-components.${I}`))){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(f.some(I=>C.endsWith(`layout.${I}`))){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-layout");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(C.includes("/pages-external/")||C.includes("\\pages-external\\")){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-entry");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(!C.startsWith(o)||!Pr(C))return;if(P==="add"||P==="unlink"){Gt(),s=await V(t);let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-config");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"custom",event:"boltdocs:config-update",data:{theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl}})}else Ut(v);let R=await fe(t,s,"/docs",P!=="change"),L=c.moduleGraph.getModuleById("\0virtual:boltdocs-routes");L&&c.moduleGraph.invalidateModule(L),c.ws.send({type:"custom",event:"boltdocs:routes-update",data:R})}catch(C){console.error(`[boltdocs] HMR error during ${P} event:`,C)}};c.watcher.on("add",v=>h(v,"add")),c.watcher.on("unlink",v=>h(v,"unlink")),c.watcher.on("change",v=>h(v,"change")),await l?.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 fe(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(f=>({name:f.name}))};return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-entry")return _r(r,s);if(c==="\0virtual:boltdocs-mdx-components"){let d=["tsx","ts","jsx","js"],f=null;for(let E of d){let m=z.default.resolve(t,`mdx-components.${E}`);if(mr.default.existsSync(m)){f=m;break}}if(f){let E=_(f);return`import * as components from '${E}';
|
|
72
72
|
const mdxComponents = components.default || components;
|
|
73
73
|
export default mdxComponents;
|
|
74
74
|
export * from '${E}';`}return"export default {};"}if(c==="\0virtual:boltdocs-layout"){let d=["tsx","jsx"],f=null;for(let E of d){let m=z.default.resolve(t,`layout.${E}`);if(mr.default.existsSync(m)){f=m;break}}return f?`import UserLayout from '${_(f)}';
|
|
75
75
|
export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
|
|
76
|
-
export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let d=await fe(t,s),f=Mr(d);return`export default ${JSON.stringify(f,null,2)};`}},transformIndexHtml:{order:"pre",handler(c){return Wt(c,s)}},async closeBundle(){if(!n)return;let c=i?.build?.outDir?z.default.resolve(i.root,i.build.outDir):z.default.resolve(process.cwd(),"dist"),d=z.default.basename(t||"docs");await Fr({docsDir:t,docsDirName:d,outDir:c,config:s});let{flushCache:f}=await Promise.resolve().then(()=>(Le(),Ht));await f(),await
|
|
77
|
-
`);let t=performance.now();try{let o=await V("docs",r),s=se.default.resolve(r,"docs");Xe.default.existsSync(s)||(Z(`Documentation directory not found at ${s}`),process.exit(1));let i=await(0,ci.default)(["**/*.md","**/*.mdx"],{cwd:s,absolute:!0,suppressErrors:!0}),n=0,
|
|
78
|
-
`);else{for(let[m,S]of c.entries()){console.log(`\u{1F4C4} ${e.bold}${m}${e.reset}`);let $=S.sort((h,v)=>{let
|
|
79
|
-
`),n>0&&Z("HIGH ERROR: Fix these to ensure your documentation builds correctly."),(
|
|
76
|
+
export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let d=await fe(t,s),f=Mr(d);return`export default ${JSON.stringify(f,null,2)};`}},transformIndexHtml:{order:"pre",handler(c){return Wt(c,s)}},async closeBundle(){if(!n)return;let c=i?.build?.outDir?z.default.resolve(i.root,i.build.outDir):z.default.resolve(process.cwd(),"dist"),d=z.default.basename(t||"docs");await Fr({docsDir:t,docsDirName:d,outDir:c,config:s});let{flushCache:f}=await Promise.resolve().then(()=>(Le(),Ht));await f(),await l?.runHook("afterBuild"),await l?.runHook("buildEnd")}},(0,qo.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 Wo=O(require("@mdx-js/rollup")),Yo=O(require("remark-gfm")),Ko=O(require("remark-frontmatter")),Jo=O(require("rehype-slug")),Zo=O(require("crypto"));a();Le();var Fo="v4",ye=new Oe("mdx");a();var Mo=require("unist-util-visit");a();var _o=require("shiki"),St=null;async function Rt(r){if(St)return St;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)}),St=await(0,_o.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),St}function Ho(r){return async e=>{let t=r?.theme?.codeTheme??{light:"github-light",dark:"github-dark"},o=await Rt(t);(0,Mo.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 l=typeof t=="object"?{themes:{light:t.light,dark:t.dark},lang:"tsx"}:{theme:t,lang:"tsx"},p=o.codeToHtml(n,l);s.attributes=(s.attributes??[]).filter(c=>c.name!=="highlightedHtml"),s.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:p})})}}a();var Go=require("unist-util-visit");function Uo(r){return async e=>{let t=r?.theme?.codeTheme||{light:"github-light",dark:"github-dark"},o=await Rt(t);(0,Go.visit)(e,"element",s=>{if(s.tagName==="pre"&&s.children?.[0]?.tagName==="code"){let i=s.children[0],l=(i.properties?.className||[]).find($=>$.startsWith("language-")),p=l?l.slice(9):"text",c=i.children[0]?.value||"",f=(i.data?.meta||i.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),E=f?f[1]:void 0,m={lang:p};typeof t=="object"?m.themes={light:t.light,dark:t.dark}:m.theme=t;let S=o.codeToHtml(c,m);s.properties["data-highlighted"]="true",s.properties["data-highlighted-html"]=S,s.properties["data-lang"]=p,E&&(s.properties.title=E),s.children=[]}})}}a();var Vo=require("unist-util-visit");function zo(){return r=>{(0,Vo.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 Xo=!1,Ct=0,Me=0;function Qo(r,e=Wo.default){let t=r?.plugins?.flatMap(i=>te.getSanitizedCapabilities(i).remarkPlugins||[])||[],o=r?.plugins?.flatMap(i=>te.getSanitizedCapabilities(i).rehypePlugins||[])||[],s=e({remarkPlugins:[Yo.default,Ko.default,zo,[Ho,r],...t],rehypePlugins:[Jo.default,[Uo,r],...o],jsxRuntime:"automatic"});return{...s,name:"vite-plugin-boltdocs-mdx",async buildStart(){Ct=0,Me=0,Xo||(ye.load(),Xo=!0),s.buildStart&&await s.buildStart.call(this)},async transform(i,n,l){if(!n.endsWith(".md")&&!n.endsWith(".mdx"))return s.transform?.call(this,i,n,l);console.log(`[boltdocs] Transforming MDX: ${n}`),Me++;let p=Zo.default.createHash("md5").update(i).digest("hex"),c=`${n}:${p}:${Fo}`,d=ye.get(c);if(d)return Ct++,{code:d,map:null};let f=await s.transform.call(this,i,n,l);return f&&typeof f=="object"&&f.code&&ye.set(c,f.code),f},async buildEnd(){Me>0&&console.log(`[boltdocs] MDX Cache Performance: ${Ct}/${Me} hits (${Math.round(Ct/Me*100)||0}%)`),ye.save(),await ye.flush(),s.buildEnd&&await s.buildEnd.call(this)}}}async function ri(r){let e=r?.docsDir||"docs",t=await V(e),o={...r,homePage:r?.homePage||t.homePage};return[...Bo(o,t),Qo(t)]}async function He(r,e="development"){let t=await V("docs",r),s=e==="production"?{...at}:{};return t.security?.enableCSP&&(s["Content-Security-Policy"]=ct(t)),{root:r,mode:e,plugins:[(0,ei.default)(),(0,ti.default)(),await ri({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}}var Ve={};hr(Ve,{colors:()=>xe,error:()=>Z,formatLog:()=>It,info:()=>Ge,success:()=>Ue});a();var xe={reset:"\x1B[0m",bold:"\x1B[1m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m"};function It(r,e=""){return`${e}${xe.bold}[boltdocs]${xe.reset} ${r}${xe.reset}`}function Ge(r){console.log(It(r))}function Z(r,e){console.error(It(r,xe.red)),e&&console.error(e)}function Ue(r){console.log(It(r,xe.green))}async function oi(r=process.cwd()){try{let e=await He(r,"development"),t=await(0,si.createServer)(e);await t.listen(),t.printUrls(),t.bindCLIShortcuts({print:!0})}catch(e){Z("Failed to start dev server:",e),process.exit(1)}}a();var Ot=require("vite");var ii=O(require("path")),ze=O(require("fs"));async function ni(r=process.cwd()){let e=!1,t=ii.default.resolve(r,"index.html");try{if(!ze.default.existsSync(t)){let s=await V("docs",r);ze.default.writeFileSync(t,nt(s),"utf-8"),e=!0}let o=await He(r,"production");await(0,Ot.build)(o),Ue("Build completed successfully.")}catch(o){Z("Build failed:",o),process.exit(1)}finally{e&&ze.default.existsSync(t)&&ze.default.unlinkSync(t)}}async function ai(r=process.cwd()){try{let e=await He(r,"production");(await(0,Ot.preview)(e)).printUrls()}catch(e){Z("Failed to start preview server:",e),process.exit(1)}}a();var se=O(require("path")),Xe=O(require("fs")),ci=O(require("fast-glob"));W();async function li(r=process.cwd()){let{colors:e}=Ve;Ge(`${e.bold}Running documentation health check...${e.reset}
|
|
77
|
+
`);let t=performance.now();try{let o=await V("docs",r),s=se.default.resolve(r,"docs");Xe.default.existsSync(s)||(Z(`Documentation directory not found at ${s}`),process.exit(1));let i=await(0,ci.default)(["**/*.md","**/*.mdx"],{cwd:s,absolute:!0,suppressErrors:!0}),n=0,l=0,p=0,c=new Map,d=(m,S)=>{let $=se.default.relative(s,m),h=c.get($);h||(h=[],c.set($,h)),h.push(S),S.level==="high"?n++:S.level==="warning"?l++:S.level==="low"&&p++},f="/docs";for(let m of i){let{data:S,content:$}=et(m);S.title||d(m,{level:"warning",message:'Missing "title" in frontmatter.',suggestion:"Add `title: Your Title` to the YAML frontmatter at the top of the file."}),S.description||d(m,{level:"low",message:'Missing "description" in frontmatter.',suggestion:"Adding a description helps with SEO and search previews."});let h=/\[.*?\]\((.*?)\)/g,v=/<a\s+[^>]*href=["']([^"']+)["'][^>]*>/g,P=[...$.matchAll(h),...$.matchAll(v)];for(let C of P){let R=C[1];if(!R||R.startsWith("http")||R.startsWith("https")||R.startsWith("#")||R.startsWith("mailto:")||R.startsWith("tel:")||(R=R.split("#")[0],!R))continue;let L;if(R.startsWith("/")){let N=R;(R.startsWith(f+"/")||R===f)&&(N=R.substring(f.length)),L=se.default.join(s,N)}else L=se.default.resolve(se.default.dirname(m),R);let I=["",".md",".mdx","/index.md","/index.mdx"],U=!1;for(let N of I){let Ee=L+N;if(Xe.default.existsSync(Ee)&&Xe.default.statSync(Ee).isFile()){U=!0;break}}U||d(m,{level:"high",message:`Broken internal link: "${R}"`,suggestion:`Ensure the file exists at "${L}". If it's a directory, ensure it has an "index.md" or "index.mdx".`})}}if(o.i18n){let{defaultLocale:m,locales:S}=o.i18n,$=Object.keys(S).filter(h=>h!==m);for(let h of i){let P=_(se.default.relative(s,h)).split("/");if(P[0]===m){let C=P.slice(1).join("/");for(let R of $){let L=[R,...P.slice(1)],I=se.default.join(s,...L);Xe.default.existsSync(I)||d(h,{level:"warning",message:`Missing translation for locale "${R}"`,suggestion:`Create a translated version of this file at "${R}/${C}".`})}}}}if(c.size===0)Ue(`All documentation files are healthy!
|
|
78
|
+
`);else{for(let[m,S]of c.entries()){console.log(`\u{1F4C4} ${e.bold}${m}${e.reset}`);let $=S.sort((h,v)=>{let P={high:1,warning:2,low:3};return P[h.level]-P[v.level]});for(let h of $){let v="",P="";h.level==="high"?(v="\u274C",P=e.red):h.level==="warning"?(v="\u26A0\uFE0F",P=e.yellow):(v="\u2139\uFE0F",P=e.cyan),console.log(` ${P}${v} ${h.level.toUpperCase()}:${e.reset} ${h.message}`),h.suggestion&&console.log(` ${e.gray}\u{1F4A1} Suggestion: ${h.suggestion}${e.reset}`)}console.log("")}console.log(`${e.bold}Summary:${e.reset}`),console.log(` ${e.red}${n} high-level errors${e.reset}`),console.log(` ${e.yellow}${l} warnings${e.reset}`),console.log(` ${e.cyan}${p} minor improvements${e.reset}
|
|
79
|
+
`),n>0&&Z("HIGH ERROR: Fix these to ensure your documentation builds correctly."),(l>0||p>0)&&Ge("TIP: Address warnings and suggestions for premium quality docs."),console.log("")}let E=performance.now()-t;Ge(`Finished in ${E.toFixed(2)}ms
|
|
80
80
|
`),n>0&&process.exit(1)}catch(o){Z("Failed to run doctor check:",o),process.exit(1)}}var ae=(0,ui.default)("boltdocs");ae.command("[root]","Start development server").alias("dev").action(oi);ae.command("build [root]","Build for production").action(ni);ae.command("preview [root]","Preview production build").action(ai);ae.command("doctor [root]","Check documentation health").action(li);ae.help();ae.version("2.0.0");ae.parse();
|
package/dist/node/cli-entry.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{b as L,c as ie,e as V,f as re,t as w,u as Y}from"../chunk-
|
|
2
|
+
import{b as L,c as ie,e as V,f as re,t as w,u as Y}from"../chunk-CNGM3N5C.mjs";import{a as n,h as D,l as G,u as se}from"../chunk-TP5KMRD3.mjs";import{a as v,b as te,c as oe}from"../chunk-Y4RE5KI7.mjs";var S={};oe(S,{colors:()=>x,error:()=>a,formatLog:()=>W,info:()=>b,success:()=>A});function W(s,e=""){return`${e}${x.bold}[boltdocs]${x.reset} ${s}${x.reset}`}function b(s){console.log(W(s))}function a(s,e){console.error(W(s,x.red)),e&&console.error(e)}function A(s){console.log(W(s,x.green))}var x,C=v(()=>{"use strict";n();x={reset:"\x1B[0m",bold:"\x1B[1m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m"}});import{createServer as ne}from"vite";async function q(s=process.cwd()){try{let e=await w(s,"development"),l=await ne(e);await l.listen(),l.printUrls(),l.bindCLIShortcuts({print:!0})}catch(e){a("Failed to start dev server:",e),process.exit(1)}}var J=v(()=>{"use strict";n();Y();C()});import{build as le,preview as ce}from"vite";import ae from"path";import M from"fs";async function K(s=process.cwd()){let e=!1,l=ae.resolve(s,"index.html");try{if(!M.existsSync(l)){let f=await L("docs",s);M.writeFileSync(l,V(f),"utf-8"),e=!0}let g=await w(s,"production");await le(g),A("Build completed successfully.")}catch(g){a("Build failed:",g),process.exit(1)}finally{e&&M.existsSync(l)&&M.unlinkSync(l)}}async function N(s=process.cwd()){try{let e=await w(s,"production");(await ce(e)).printUrls()}catch(e){a("Failed to start preview server:",e),process.exit(1)}}var Q=v(()=>{"use strict";n();Y();re();C()});import u from"path";import R from"fs";import fe from"fast-glob";async function X(s=process.cwd()){let{colors:e}=S;b(`${e.bold}Running documentation health check...${e.reset}
|
|
3
3
|
`);let l=performance.now();try{let g=await L("docs",s),f=u.resolve(s,"docs");R.existsSync(f)||(a(`Documentation directory not found at ${f}`),process.exit(1));let T=await fe(["**/*.md","**/*.mdx"],{cwd:f,absolute:!0,suppressErrors:!0}),k=0,B=0,j=0,P=new Map,F=(r,c)=>{let m=u.relative(f,r),t=P.get(m);t||(t=[],P.set(m,t)),t.push(c),c.level==="high"?k++:c.level==="warning"?B++:c.level==="low"&&j++},E="/docs";for(let r of T){let{data:c,content:m}=G(r);c.title||F(r,{level:"warning",message:'Missing "title" in frontmatter.',suggestion:"Add `title: Your Title` to the YAML frontmatter at the top of the file."}),c.description||F(r,{level:"low",message:'Missing "description" in frontmatter.',suggestion:"Adding a description helps with SEO and search previews."});let t=/\[.*?\]\((.*?)\)/g,d=/<a\s+[^>]*href=["']([^"']+)["'][^>]*>/g,i=[...m.matchAll(t),...m.matchAll(d)];for(let H of i){let o=H[1];if(!o||o.startsWith("http")||o.startsWith("https")||o.startsWith("#")||o.startsWith("mailto:")||o.startsWith("tel:")||(o=o.split("#")[0],!o))continue;let h;if(o.startsWith("/")){let I=o;(o.startsWith(E+"/")||o===E)&&(I=o.substring(E.length)),h=u.join(f,I)}else h=u.resolve(u.dirname(r),o);let O=["",".md",".mdx","/index.md","/index.mdx"],U=!1;for(let I of O){let z=h+I;if(R.existsSync(z)&&R.statSync(z).isFile()){U=!0;break}}U||F(r,{level:"high",message:`Broken internal link: "${o}"`,suggestion:`Ensure the file exists at "${h}". If it's a directory, ensure it has an "index.md" or "index.mdx".`})}}if(g.i18n){let{defaultLocale:r,locales:c}=g.i18n,m=Object.keys(c).filter(t=>t!==r);for(let t of T){let i=D(u.relative(f,t)).split("/");if(i[0]===r){let H=i.slice(1).join("/");for(let o of m){let h=[o,...i.slice(1)],O=u.join(f,...h);R.existsSync(O)||F(t,{level:"warning",message:`Missing translation for locale "${o}"`,suggestion:`Create a translated version of this file at "${o}/${H}".`})}}}}if(P.size===0)A(`All documentation files are healthy!
|
|
4
4
|
`);else{for(let[r,c]of P.entries()){console.log(`\u{1F4C4} ${e.bold}${r}${e.reset}`);let m=c.sort((t,d)=>{let i={high:1,warning:2,low:3};return i[t.level]-i[d.level]});for(let t of m){let d="",i="";t.level==="high"?(d="\u274C",i=e.red):t.level==="warning"?(d="\u26A0\uFE0F",i=e.yellow):(d="\u2139\uFE0F",i=e.cyan),console.log(` ${i}${d} ${t.level.toUpperCase()}:${e.reset} ${t.message}`),t.suggestion&&console.log(` ${e.gray}\u{1F4A1} Suggestion: ${t.suggestion}${e.reset}`)}console.log("")}console.log(`${e.bold}Summary:${e.reset}`),console.log(` ${e.red}${k} high-level errors${e.reset}`),console.log(` ${e.yellow}${B} warnings${e.reset}`),console.log(` ${e.cyan}${j} minor improvements${e.reset}
|
|
5
5
|
`),k>0&&a("HIGH ERROR: Fix these to ensure your documentation builds correctly."),(B>0||j>0)&&b("TIP: Address warnings and suggestions for premium quality docs."),console.log("")}let ee=performance.now()-l;b(`Finished in ${ee.toFixed(2)}ms
|
package/dist/node/index.d.mts
CHANGED
|
@@ -279,18 +279,6 @@ interface BoltdocsPlugin {
|
|
|
279
279
|
/** Implementation of lifecycle hooks */
|
|
280
280
|
hooks?: PluginLifecycleHooks;
|
|
281
281
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Configuration for external integrations (e.g., CodeSandbox).
|
|
284
|
-
*/
|
|
285
|
-
interface BoltdocsIntegrationsConfig {
|
|
286
|
-
/** CodeSandbox integration settings */
|
|
287
|
-
sandbox?: {
|
|
288
|
-
/** Whether to enable the "Open in Sandbox" button in CodeBlocks */
|
|
289
|
-
enable?: boolean;
|
|
290
|
-
/** Default options for the sandbox (files, dependencies, etc.) */
|
|
291
|
-
config?: Record<string, unknown>;
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
282
|
/**
|
|
295
283
|
* Configuration for security-related settings.
|
|
296
284
|
*/
|
|
@@ -320,8 +308,6 @@ interface BoltdocsConfig {
|
|
|
320
308
|
versions?: BoltdocsVersionsConfig;
|
|
321
309
|
/** Custom plugins for extending functionality */
|
|
322
310
|
plugins?: BoltdocsPlugin[];
|
|
323
|
-
/** External integrations configuration */
|
|
324
|
-
integrations?: BoltdocsIntegrationsConfig;
|
|
325
311
|
/** Configuration for the robots.txt file */
|
|
326
312
|
robots?: BoltdocsRobotsConfig;
|
|
327
313
|
/** Security-related settings and headers */
|
package/dist/node/index.d.ts
CHANGED
|
@@ -279,18 +279,6 @@ interface BoltdocsPlugin {
|
|
|
279
279
|
/** Implementation of lifecycle hooks */
|
|
280
280
|
hooks?: PluginLifecycleHooks;
|
|
281
281
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Configuration for external integrations (e.g., CodeSandbox).
|
|
284
|
-
*/
|
|
285
|
-
interface BoltdocsIntegrationsConfig {
|
|
286
|
-
/** CodeSandbox integration settings */
|
|
287
|
-
sandbox?: {
|
|
288
|
-
/** Whether to enable the "Open in Sandbox" button in CodeBlocks */
|
|
289
|
-
enable?: boolean;
|
|
290
|
-
/** Default options for the sandbox (files, dependencies, etc.) */
|
|
291
|
-
config?: Record<string, unknown>;
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
282
|
/**
|
|
295
283
|
* Configuration for security-related settings.
|
|
296
284
|
*/
|
|
@@ -320,8 +308,6 @@ interface BoltdocsConfig {
|
|
|
320
308
|
versions?: BoltdocsVersionsConfig;
|
|
321
309
|
/** Custom plugins for extending functionality */
|
|
322
310
|
plugins?: BoltdocsPlugin[];
|
|
323
|
-
/** External integrations configuration */
|
|
324
|
-
integrations?: BoltdocsIntegrationsConfig;
|
|
325
311
|
/** Configuration for the robots.txt file */
|
|
326
312
|
robots?: BoltdocsRobotsConfig;
|
|
327
313
|
/** Security-related settings and headers */
|