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