boltdocs 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/bin/boltdocs.js +12 -0
- package/dist/cache-Q4T6VAUL.mjs +1 -0
- package/dist/chunk-52MVMZWS.mjs +1 -0
- package/dist/chunk-BVWWKXJH.mjs +1 -0
- package/dist/chunk-DVY3RDXD.mjs +1 -0
- package/dist/chunk-FUVYCYWC.mjs +1 -0
- package/dist/{chunk-BA5NH5HU.mjs → chunk-GBLMDJ2B.mjs} +1 -1
- package/dist/{chunk-H63UMKYF.mjs → chunk-ISPX45DF.mjs} +1 -1
- package/dist/chunk-PNXZMUCO.mjs +1 -0
- package/dist/chunk-V2ZHKQSP.mjs +74 -0
- package/dist/client/components/mdx/index.d.mts +2 -3
- package/dist/client/components/mdx/index.d.ts +2 -3
- package/dist/client/components/mdx/index.js +1 -1
- package/dist/client/components/mdx/index.mjs +1 -1
- package/dist/client/hooks/index.d.mts +2 -3
- package/dist/client/hooks/index.d.ts +2 -3
- package/dist/client/hooks/index.js +1 -1
- package/dist/client/hooks/index.mjs +1 -1
- package/dist/client/index.d.mts +3 -5
- package/dist/client/index.d.ts +3 -5
- package/dist/client/index.js +1 -1
- package/dist/client/index.mjs +1 -1
- package/dist/client/ssr.d.mts +53 -6
- package/dist/client/ssr.d.ts +53 -6
- package/dist/client/ssr.mjs +1 -1
- package/dist/node/cli-entry.d.mts +1 -0
- package/dist/node/cli-entry.d.ts +1 -0
- package/dist/node/cli-entry.js +75 -0
- package/dist/node/cli-entry.mjs +2 -0
- package/dist/node/index.d.mts +213 -4
- package/dist/node/index.d.ts +213 -4
- package/dist/node/index.js +40 -23
- package/dist/node/index.mjs +1 -57
- package/dist/search-dialog-TWGYKF2D.mjs +1 -0
- package/dist/types-Cp21DHI6.d.mts +355 -0
- package/dist/types-Cp21DHI6.d.ts +355 -0
- package/dist/{use-routes-BefRXY3v.d.ts → use-routes-8Iei6jTp.d.mts} +1 -2
- package/dist/{use-routes-5bAtAAYX.d.mts → use-routes-xLhumjbV.d.ts} +1 -2
- package/package.json +7 -1
- package/src/client/components/ui-base/breadcrumbs.tsx +2 -1
- package/src/client/components/ui-base/navbar.tsx +3 -3
- package/src/client/components/ui-base/sidebar.tsx +2 -1
- package/src/client/hooks/use-navbar.ts +1 -1
- package/src/node/cli-entry.ts +24 -0
- package/src/node/cli.ts +59 -0
- package/src/node/config.ts +63 -11
- package/src/node/index.ts +39 -3
- package/src/node/plugin/entry.ts +7 -0
- package/src/node/plugin/html.ts +49 -9
- package/src/node/plugin/index.ts +42 -3
- package/src/node/ssg/index.ts +6 -1
- package/src/node/ssg/robots.ts +50 -0
- package/tsup.config.ts +36 -10
- package/dist/cache-7G6D532T.mjs +0 -1
- package/dist/chunk-A4HQPEPU.mjs +0 -1
- package/dist/chunk-BQCD3DWG.mjs +0 -1
- package/dist/chunk-IWHRQHS7.mjs +0 -1
- package/dist/chunk-JZXLCA2E.mjs +0 -1
- package/dist/chunk-MFU7Q6WF.mjs +0 -1
- package/dist/chunk-QYPNX5UN.mjs +0 -1
- package/dist/chunk-XEAPSFMB.mjs +0 -1
- package/dist/config-CX4l-ZNp.d.mts +0 -166
- package/dist/config-CX4l-ZNp.d.ts +0 -166
- package/dist/search-dialog-EB3N4TYM.mjs +0 -1
- package/dist/types-BuZWFT7r.d.ts +0 -159
- package/dist/types-CvT-SGbK.d.mts +0 -159
package/dist/node/index.js
CHANGED
|
@@ -1,37 +1,53 @@
|
|
|
1
|
-
"use strict";var ye=Object.create;var Z=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var ve=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty;var ut=(o,t)=>()=>(o&&(t=o(o=0)),t);var Mt=(o,t)=>{for(var e in t)Z(o,e,{get:t[e],enumerable:!0})},kt=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ve(t))!Pe.call(o,n)&&n!==e&&Z(o,n,{get:()=>t[n],enumerable:!(r=xe(t,n))||r.enumerable});return o};var v=(o,t,e)=>(e=o!=null?ye(be(o)):{},kt(t||!o||!o.__esModule?Z(e,"default",{value:o,enumerable:!0}):e,o)),Ce=o=>kt(Z({},"__esModule",{value:!0}),o);var we,b,g=ut(()=>{"use strict";we=()=>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,b=we()});function D(o){return o.replace(/\\/g,"/")}function N(o){return o.replace(/^\d+\./,"")}function Q(o){let t=o.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function Tt(o){return/\.mdx?$/.test(o)}function Y(o){try{return pt.default.statSync(o).mtimeMs}catch{return 0}}function Ot(o){let t=pt.default.readFileSync(o,"utf-8"),{data:e,content:r}=(0,_t.default)(t);return{data:e,content:r}}function E(o){return o.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function gt(o){return E(o)}function Ft(o){let e=o.split("/").map(N).join("/").replace(/\/$/,"");return e=e.replace(/\.mdx?$/,""),(e==="index"||e.endsWith("/index"))&&(e=e.replace(/index$/,"")),e.startsWith("/")||(e="/"+e),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function A(o){return mt.default.sanitize(o)}function ft(o){return mt.default.sanitize(o,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function G(o){return o.charAt(0).toUpperCase()+o.slice(1)}var pt,_t,mt,k=ut(()=>{"use strict";g();pt=v(require("fs")),_t=v(require("gray-matter")),mt=v(require("isomorphic-dompurify"))});var Pt={};Mt(Pt,{AssetCache:()=>xt,FileCache:()=>U,TransformCache:()=>q,flushCache:()=>Me});async function Me(){await T.flush()}var P,C,H,L,I,tt,$e,et,vt,Ue,bt,Se,De,Re,Be,ht,yt,T,U,q,xt,V=ut(()=>{"use strict";g();P=v(require("fs")),C=v(require("path")),H=v(require("crypto")),L=v(require("zlib")),I=require("util");k();tt=(0,I.promisify)(P.default.writeFile),$e=(0,I.promisify)(P.default.readFile),et=(0,I.promisify)(P.default.mkdir),vt=(0,I.promisify)(P.default.rename),Ue=(0,I.promisify)(P.default.unlink),bt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Se="assets",De="shards",Re=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Be=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",ht=class{constructor(t){this.limit=t}cache=new Map;get(t){let e=this.cache.get(t);return e!==void 0&&(this.cache.delete(t),this.cache.set(t,e)),e}set(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.limit){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,e)}get size(){return this.cache.size}clear(){this.cache.clear()}},yt=class{queue=Promise.resolve();pendingCount=0;add(t){this.pendingCount++,this.queue=this.queue.then(t).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},T=new yt,U=class{entries=new Map;cachePath=null;compress;constructor(t={}){if(this.compress=t.compress!==void 0?t.compress:Be,t.name){let e=t.root||process.cwd(),r=this.compress?"json.gz":"json";this.cachePath=C.default.resolve(e,bt,`${t.name}.${r}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!P.default.existsSync(this.cachePath)))try{let t=P.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(t=L.default.gunzipSync(t));let e=JSON.parse(t.toString("utf-8"));this.entries=new Map(Object.entries(e))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let t=Object.fromEntries(this.entries),e=JSON.stringify(t),r=this.cachePath,n=this.compress;T.add(async()=>{try{await et(C.default.dirname(r),{recursive:!0});let s=Buffer.from(e);n&&(s=L.default.gzipSync(s));let l=`${r}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,s),await vt(l,r)}catch{}})}get(t){let e=this.entries.get(t);return!e||Y(t)!==e.mtime?null:e.data}set(t,e){this.entries.set(t,{data:e,mtime:Y(t)})}isValid(t){let e=this.entries.get(t);return e?Y(t)===e.mtime:!1}invalidate(t){this.entries.delete(t)}invalidateAll(){this.entries.clear()}pruneStale(t){for(let e of this.entries.keys())t.has(e)||this.entries.delete(e)}get size(){return this.entries.size}async flush(){await T.flush()}},q=class{index=new Map;memoryCache=new ht(Re);baseDir;shardsDir;indexPath;constructor(t,e=process.cwd()){this.baseDir=C.default.resolve(e,bt,`transform-${t}`),this.shardsDir=C.default.resolve(this.baseDir,De),this.indexPath=C.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&P.default.existsSync(this.indexPath))try{let t=P.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(t)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let t=JSON.stringify(Object.fromEntries(this.index)),e=this.indexPath;T.add(async()=>{await et(C.default.dirname(e),{recursive:!0}),await tt(e,t)})}async getMany(t){let e=new Map,r=[];for(let n of t){let s=this.memoryCache.get(n);s?e.set(n,s):this.index.has(n)&&r.push(n)}if(r.length>0){let n=await Promise.all(r.map(async s=>{let l=this.index.get(s),p=C.default.resolve(this.shardsDir,`${l}.gz`);try{let i=await $e(p),a=L.default.gunzipSync(i).toString("utf-8");return this.memoryCache.set(s,a),{key:s,val:a}}catch{return null}}));for(let s of n)s&&e.set(s.key,s.val)}return e}get(t){let e=this.memoryCache.get(t);if(e)return e;let r=this.index.get(t);if(!r)return null;let n=C.default.resolve(this.shardsDir,`${r}.gz`);if(!P.default.existsSync(n))return null;try{let s=P.default.readFileSync(n),l=L.default.gunzipSync(s).toString("utf-8");return this.memoryCache.set(t,l),l}catch{return null}}set(t,e){let r=H.default.createHash("md5").update(e).digest("hex");this.index.set(t,r),this.memoryCache.set(t,e);let n=C.default.resolve(this.shardsDir,`${r}.gz`);T.add(async()=>{if(P.default.existsSync(n))return;await et(this.shardsDir,{recursive:!0});let s=L.default.gzipSync(Buffer.from(e)),l=`${n}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,s),await vt(l,n)})}get size(){return this.index.size}async flush(){await T.flush()}},xt=class{assetsDir;constructor(t=process.cwd()){this.assetsDir=C.default.resolve(t,bt,Se)}getFileHash(t){return H.default.createHash("md5").update(P.default.readFileSync(t)).digest("hex")}get(t,e){if(!P.default.existsSync(t))return null;let r=this.getFileHash(t),n=this.getCachedPath(t,`${e}-${r}`);return P.default.existsSync(n)?n:null}set(t,e,r){let n=this.getFileHash(t),s=this.getCachedPath(t,`${e}-${n}`);T.add(async()=>{await et(this.assetsDir,{recursive:!0});let l=`${s}.${H.default.randomBytes(4).toString("hex")}.tmp`;await tt(l,r),await vt(l,s)})}getCachedPath(t,e){let r=C.default.extname(t),n=C.default.basename(t,r),s=e.replace(/[^a-z0-9]/gi,"-").toLowerCase();return C.default.join(this.assetsDir,`${n}.${s}${r}`)}clear(){P.default.existsSync(this.assetsDir)&&P.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await T.flush()}}});var He={};Mt(He,{default:()=>le,generateStaticPages:()=>rt});module.exports=Ce(He);g();g();var Zt=require("vite");g();var It=v(require("fast-glob"));k();g();V();var _=new U({name:"routes"});function Ct(){_.invalidateAll()}function wt(o){_.invalidate(o)}g();var z=v(require("path")),Et=v(require("github-slugger"));k();function jt(o,t,e,r){let n=decodeURIComponent(o),s=z.default.resolve(n),l=z.default.resolve(t),p=D(z.default.relative(l,s));if(p.startsWith("../")||p===".."||s.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:i,content:a}=Ot(o),c=p.split("/"),d,h;if(r?.versions&&c.length>0){let S=c[0];r.versions.versions[S]&&(h=S,c=c.slice(1))}if(r?.i18n&&c.length>0){let S=c[0];r.i18n.locales[S]&&(d=S,c=c.slice(1))}let $;if(c.length>0){let S=c[0].match(/^\((.+)\)$/);S&&($=S[1].toLowerCase(),c=c.slice(1))}let u=c.join("/"),m;i.permalink?m=i.permalink.startsWith("/")?i.permalink:`/${i.permalink}`:m=Ft(u||"index.md");let f=e;h&&(f+="/"+h),d&&(f+="/"+d),f+=m==="/"?"":m,(!f||f==="")&&(f="/");let x=c[c.length-1],M=N(x),w=N(z.default.basename(o,z.default.extname(o))),y=i.sidebarPosition??Q(x),R=c.length>=2?c[0]:void 0,F=R?N(R):void 0,X=c.length>=2&&/^index\.mdx?$/.test(M),de=new Et.default,Dt=[],ue=/^(#{2,4})\s+(.+)$/gm,lt;for(;(lt=ue.exec(a))!==null;){let S=lt[1].length,fe=lt[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),Bt=A(fe).trim(),he=de.slug(Bt);Dt.push({level:S,text:Bt,id:he})}let pe=i.title?A(String(i.title)):w,dt=i.description?A(String(i.description)):"";!dt&&a&&(dt=ft(a.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let me=i.badge?A(String(i.badge)):void 0,Rt=i.icon?String(i.icon):void 0,ge=ke(a);return{route:{path:f,componentPath:o,filePath:p,title:pe,description:dt,sidebarPosition:y,headings:Dt,locale:d,version:h,badge:me,icon:Rt,tab:$,_content:ge,_rawContent:a},relativeDir:F,isGroupIndex:X,inferredTab:$,groupMeta:X?{title:i.groupTitle||i.title||(F?G(F):""),position:i.groupPosition??i.sidebarPosition??(R?Q(R):void 0),icon:Rt}:void 0,inferredGroupPosition:R?Q(R):void 0}}function ke(o){let t=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return ft(t).trim()}g();function Ht(o){return o.sort((t,e)=>!t.group&&!e.group?Lt(t,e):t.group?e.group?t.group!==e.group?_e(t,e):Lt(t,e):1:-1)}function Lt(o,t){return o.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?o.sidebarPosition-t.sidebarPosition:o.sidebarPosition!==void 0?-1:t.sidebarPosition!==void 0?1:o.title.localeCompare(t.title)}function _e(o,t){return o.groupPosition!==void 0&&t.groupPosition!==void 0?o.groupPosition-t.groupPosition:o.groupPosition!==void 0?-1:t.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(t.groupTitle||t.group)}var W=new Map;async function K(o,t,e="/docs"){let r=performance.now();_.load(),W.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||t?.i18n)&&_.invalidateAll();let n=await(0,It.default)(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1});_.pruneStale(new Set(n));let s=50,l=[],p=0;for(let u=0;u<n.length;u+=s){let m=n.slice(u,u+s),f=await Promise.all(m.map(async x=>{let M=_.get(x);if(M)return p++,M;let w=jt(x,o,e,t);return _.set(x,w),w}));l.push(...f),u+s<n.length&&await new Promise(x=>setImmediate(x))}_.save();let i=new Map,a=[];for(let u of l)if(u.isGroupIndex&&u.relativeDir&&a.push(u),u.relativeDir){let m=i.get(u.relativeDir);m?(m.position===void 0&&u.inferredGroupPosition!==void 0&&(m.position=u.inferredGroupPosition),!m.icon&&u.route.icon&&(m.icon=u.route.icon)):(m={title:G(u.relativeDir),position:u.inferredGroupPosition,icon:u.route.icon},i.set(u.relativeDir,m))}for(let u of a){let m=i.get(u.relativeDir);u.groupMeta&&(m.title=u.groupMeta.title,u.groupMeta.position!==void 0&&(m.position=u.groupMeta.position),u.groupMeta.icon&&(m.icon=u.groupMeta.icon))}let c=new Array(l.length);for(let u=0;u<l.length;u++){let m=l[u],f=m.relativeDir,x=f?i.get(f):void 0;c[u]={...m.route,group:f,groupTitle:x?.title||(f?G(f):void 0),groupPosition:x?.position,groupIcon:x?.icon}}let d=c;if(t?.i18n){let u=Te(c,t,e);d=[...c,...u]}let h=Ht(d),$=performance.now()-r;return console.log(`[boltdocs] Route generation: ${$.toFixed(2)}ms (${n.length} files, ${p} cache hits)`),h}function Te(o,t,e){let r=t.i18n.defaultLocale,n=Object.keys(t.i18n.locales),s=[],l=new Map,p=[];for(let i of o){let a=i.locale||r;l.has(a)||l.set(a,new Set),l.get(a).add(i.path),a===r&&p.push(i)}for(let i of n){if(i===r)continue;let a=l.get(i)||new Set;for(let c of p){let d=Oe(c.path,r,i,e);a.has(d)||s.push({...c,path:d,locale:i})}}return s}function Oe(o,t,e,r){let n=`${o}:${e}`,s=W.get(n);if(s)return s;let l=r,p=o.match(new RegExp(`^${r}/(v[0-9]+)`));p&&(l+="/"+p[1]);let i=o.substring(l.length),a=`/${t}`;if(i.startsWith(a+"/"))i="/"+e+"/"+i.substring(a.length+1);else if(i===a)i="/"+e;else if(i==="/"||i==="")i="/"+e;else{let d=i.startsWith("/")?"":"/";i="/"+e+d+i}let c=l+i;return W.size>2e3&&W.clear(),W.set(n,c),c}var Qt=require("vite-plugin-image-optimizer");g();var ot=v(require("path")),zt=v(require("fs")),Nt=require("vite"),it=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function nt(o,t=process.cwd()){let e=t,r={docsDir:ot.default.resolve(o),themeConfig:{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}},n={};for(let i of it){let a=ot.default.resolve(e,i);if(zt.default.existsSync(a))try{let c=await(0,Nt.loadConfigFromFile)({command:"serve",mode:"development"},a,e);if(c){n=c.config;break}}catch(c){console.warn(`[boltdocs] Failed to load config from ${i}:`,c)}}let l={...{title:n.title,description:n.description,logo:n.logo,navbar:n.navbar,sidebar:n.sidebar,socialLinks:n.socialLinks,footer:n.footer,githubRepo:n.githubRepo,tabs:n.tabs},...n.themeConfig||{}},p=Object.fromEntries(Object.entries(l).filter(([i,a])=>a!==void 0));return p.navbar&&(p.navbar=p.navbar.map(i=>({label:i.label||i.text||"",href:i.href||i.link||i.to||"",items:i.items?.map(a=>({label:a.label||a.text||"",href:a.href||a.link||a.to||""}))}))),{docsDir:ot.default.resolve(o),themeConfig:{...r.themeConfig,...p,codeTheme:p.codeTheme||(n.themeConfig||n).codeTheme||r.themeConfig?.codeTheme},i18n:n.i18n,versions:n.versions,siteUrl:n.siteUrl,plugins:n.plugins||[],external:n.external,integrations:n.integrations}}g();var j=v(require("fs")),O=v(require("path"));k();var Vt=require("url"),Wt=require("module");g();k();function At(o,t){let e=E(t.title),r=E(t.description);return o.replace(/<title>.*?<\/title>/,`<title>${e}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${r}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${r}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${r}$2`)}g();k();function Gt(o,t){let e=t?.siteUrl?.replace(/\/$/,"")||"https://example.com",r=new Date().toISOString().split("T")[0],n=[{url:"/",priority:"1.0",changefreq:"daily"}];if(t?.i18n){let l=t.i18n.defaultLocale;for(let p of Object.keys(t.i18n.locales))p!==l&&n.push({url:`/${p}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
|
|
1
|
+
"use strict";var we=Object.create;var Q=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Se=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var gt=(o,t)=>()=>(o&&(t=o(o=0)),t);var Ft=(o,t)=>{for(var e in t)Q(o,e,{get:t[e],enumerable:!0})},It=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Se(t))!Be.call(o,i)&&i!==e&&Q(o,i,{get:()=>t[i],enumerable:!(s=$e(t,i))||s.enumerable});return o};var y=(o,t,e)=>(e=o!=null?we(De(o)):{},It(t||!o||!o.__esModule?Q(e,"default",{value:o,enumerable:!0}):e,o)),Re=o=>It(Q({},"__esModule",{value:!0}),o);var Me,C,g=gt(()=>{"use strict";Me=()=>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,C=Me()});function R(o){return o.replace(/\\/g,"/")}function U(o){return o.replace(/^\d+\./,"")}function Y(o){let t=o.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function jt(o){return/\.mdx?$/.test(o)}function tt(o){try{return ft.default.statSync(o).mtimeMs}catch{return 0}}function Ht(o){let t=ft.default.readFileSync(o,"utf-8"),{data:e,content:s}=(0,Et.default)(t);return{data:e,content:s}}function E(o){return o.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function yt(o){return E(o)}function Lt(o){let e=o.split("/").map(U).join("/").replace(/\/$/,"");return e=e.replace(/\.mdx?$/,""),(e==="index"||e.endsWith("/index"))&&(e=e.replace(/index$/,"")),e.startsWith("/")||(e="/"+e),e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function G(o){return ht.default.sanitize(o)}function xt(o){return ht.default.sanitize(o,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function q(o){return o.charAt(0).toUpperCase()+o.slice(1)}var ft,Et,ht,k=gt(()=>{"use strict";g();ft=y(require("fs")),Et=y(require("gray-matter")),ht=y(require("isomorphic-dompurify"))});var $t={};Ft($t,{AssetCache:()=>Pt,FileCache:()=>V,TransformCache:()=>W,flushCache:()=>Ie});async function Ie(){await O.flush()}var w,S,z,L,A,et,ke,ot,Ct,Ze,wt,Te,_e,Oe,Fe,bt,vt,O,V,W,Pt,K=gt(()=>{"use strict";g();w=y(require("fs")),S=y(require("path")),z=y(require("crypto")),L=y(require("zlib")),A=require("util");k();et=(0,A.promisify)(w.default.writeFile),ke=(0,A.promisify)(w.default.readFile),ot=(0,A.promisify)(w.default.mkdir),Ct=(0,A.promisify)(w.default.rename),Ze=(0,A.promisify)(w.default.unlink),wt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Te="assets",_e="shards",Oe=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Fe=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",bt=class{constructor(t){this.limit=t}cache=new Map;get(t){let e=this.cache.get(t);return e!==void 0&&(this.cache.delete(t),this.cache.set(t,e)),e}set(t,e){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.limit){let s=this.cache.keys().next().value;s!==void 0&&this.cache.delete(s)}this.cache.set(t,e)}get size(){return this.cache.size}clear(){this.cache.clear()}},vt=class{queue=Promise.resolve();pendingCount=0;add(t){this.pendingCount++,this.queue=this.queue.then(t).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},O=new vt,V=class{entries=new Map;cachePath=null;compress;constructor(t={}){if(this.compress=t.compress!==void 0?t.compress:Fe,t.name){let e=t.root||process.cwd(),s=this.compress?"json.gz":"json";this.cachePath=S.default.resolve(e,wt,`${t.name}.${s}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!w.default.existsSync(this.cachePath)))try{let t=w.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(t=L.default.gunzipSync(t));let e=JSON.parse(t.toString("utf-8"));this.entries=new Map(Object.entries(e))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let t=Object.fromEntries(this.entries),e=JSON.stringify(t),s=this.cachePath,i=this.compress;O.add(async()=>{try{await ot(S.default.dirname(s),{recursive:!0});let r=Buffer.from(e);i&&(r=L.default.gzipSync(r));let a=`${s}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,r),await Ct(a,s)}catch{}})}get(t){let e=this.entries.get(t);return!e||tt(t)!==e.mtime?null:e.data}set(t,e){this.entries.set(t,{data:e,mtime:tt(t)})}isValid(t){let e=this.entries.get(t);return e?tt(t)===e.mtime:!1}invalidate(t){this.entries.delete(t)}invalidateAll(){this.entries.clear()}pruneStale(t){for(let e of this.entries.keys())t.has(e)||this.entries.delete(e)}get size(){return this.entries.size}async flush(){await O.flush()}},W=class{index=new Map;memoryCache=new bt(Oe);baseDir;shardsDir;indexPath;constructor(t,e=process.cwd()){this.baseDir=S.default.resolve(e,wt,`transform-${t}`),this.shardsDir=S.default.resolve(this.baseDir,_e),this.indexPath=S.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&w.default.existsSync(this.indexPath))try{let t=w.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(t)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let t=JSON.stringify(Object.fromEntries(this.index)),e=this.indexPath;O.add(async()=>{await ot(S.default.dirname(e),{recursive:!0}),await et(e,t)})}async getMany(t){let e=new Map,s=[];for(let i of t){let r=this.memoryCache.get(i);r?e.set(i,r):this.index.has(i)&&s.push(i)}if(s.length>0){let i=await Promise.all(s.map(async r=>{let a=this.index.get(r),p=S.default.resolve(this.shardsDir,`${a}.gz`);try{let n=await ke(p),c=L.default.gunzipSync(n).toString("utf-8");return this.memoryCache.set(r,c),{key:r,val:c}}catch{return null}}));for(let r of i)r&&e.set(r.key,r.val)}return e}get(t){let e=this.memoryCache.get(t);if(e)return e;let s=this.index.get(t);if(!s)return null;let i=S.default.resolve(this.shardsDir,`${s}.gz`);if(!w.default.existsSync(i))return null;try{let r=w.default.readFileSync(i),a=L.default.gunzipSync(r).toString("utf-8");return this.memoryCache.set(t,a),a}catch{return null}}set(t,e){let s=z.default.createHash("md5").update(e).digest("hex");this.index.set(t,s),this.memoryCache.set(t,e);let i=S.default.resolve(this.shardsDir,`${s}.gz`);O.add(async()=>{if(w.default.existsSync(i))return;await ot(this.shardsDir,{recursive:!0});let r=L.default.gzipSync(Buffer.from(e)),a=`${i}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,r),await Ct(a,i)})}get size(){return this.index.size}async flush(){await O.flush()}},Pt=class{assetsDir;constructor(t=process.cwd()){this.assetsDir=S.default.resolve(t,wt,Te)}getFileHash(t){return z.default.createHash("md5").update(w.default.readFileSync(t)).digest("hex")}get(t,e){if(!w.default.existsSync(t))return null;let s=this.getFileHash(t),i=this.getCachedPath(t,`${e}-${s}`);return w.default.existsSync(i)?i:null}set(t,e,s){let i=this.getFileHash(t),r=this.getCachedPath(t,`${e}-${i}`);O.add(async()=>{await ot(this.assetsDir,{recursive:!0});let a=`${r}.${z.default.randomBytes(4).toString("hex")}.tmp`;await et(a,s),await Ct(a,r)})}getCachedPath(t,e){let s=S.default.extname(t),i=S.default.basename(t,s),r=e.replace(/[^a-z0-9]/gi,"-").toLowerCase();return S.default.join(this.assetsDir,`${i}.${r}${s}`)}clear(){w.default.existsSync(this.assetsDir)&&w.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await O.flush()}}});var qe={};Ft(qe,{createViteConfig:()=>Ge,default:()=>kt,defineConfig:()=>Wt,generateStaticPages:()=>st,resolveConfig:()=>j});module.exports=Re(qe);g();var fe=y(require("@vitejs/plugin-react")),he=y(require("@tailwindcss/vite"));g();var ie=require("vite");g();var Gt=y(require("fast-glob"));k();g();K();var T=new V({name:"routes"});function St(){T.invalidateAll()}function Dt(o){T.invalidate(o)}g();var N=y(require("path")),zt=y(require("github-slugger"));k();function At(o,t,e,s){let i=decodeURIComponent(o),r=N.default.resolve(i),a=N.default.resolve(t),p=R(N.default.relative(a,r));if(p.startsWith("../")||p===".."||r.includes("\0"))throw new Error(`Security breach: File is outside of docs directory or contains null bytes: ${o}`);let{data:n,content:c}=Ht(o),l=p.split("/"),u,b;if(s?.versions&&l.length>0){let B=l[0];s.versions.versions[B]&&(b=B,l=l.slice(1))}if(s?.i18n&&l.length>0){let B=l[0];s.i18n.locales[B]&&(u=B,l=l.slice(1))}let x;if(l.length>0){let B=l[0].match(/^\((.+)\)$/);B&&(x=B[1].toLowerCase(),l=l.slice(1))}let d=l.join("/"),m;n.permalink?m=n.permalink.startsWith("/")?n.permalink:`/${n.permalink}`:m=Lt(d||"index.md");let h=e;b&&(h+="/"+b),u&&(h+="/"+u),h+=m==="/"?"":m,(!h||h==="")&&(h="/");let f=l[l.length-1],$=U(f),D=U(N.default.basename(o,N.default.extname(o))),P=n.sidebarPosition??Y(f),v=l.length>=2?l[0]:void 0,I=v?U(v):void 0,H=l.length>=2&&/^index\.mdx?$/.test($),mt=new zt.default,Tt=[],ye=/^(#{2,4})\s+(.+)$/gm,pt;for(;(pt=ye.exec(c))!==null;){let B=pt[1].length,Pe=pt[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),Ot=G(Pe).trim(),Ce=mt.slug(Ot);Tt.push({level:B,text:Ot,id:Ce})}let xe=n.title?G(String(n.title)):D,ut=n.description?G(String(n.description)):"";!ut&&c&&(ut=xt(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let be=n.badge?G(String(n.badge)):void 0,_t=n.icon?String(n.icon):void 0,ve=Ee(c);return{route:{path:h,componentPath:o,filePath:p,title:xe,description:ut,sidebarPosition:P,headings:Tt,locale:u,version:b,badge:be,icon:_t,tab:x,_content:ve,_rawContent:c},relativeDir:I,isGroupIndex:H,inferredTab:x,groupMeta:H?{title:n.groupTitle||n.title||(I?q(I):""),position:n.groupPosition??n.sidebarPosition??(v?Y(v):void 0),icon:_t}:void 0,inferredGroupPosition:v?Y(v):void 0}}function Ee(o){let t=o.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return xt(t).trim()}g();function Ut(o){return o.sort((t,e)=>!t.group&&!e.group?Nt(t,e):t.group?e.group?t.group!==e.group?je(t,e):Nt(t,e):1:-1)}function Nt(o,t){return o.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?o.sidebarPosition-t.sidebarPosition:o.sidebarPosition!==void 0?-1:t.sidebarPosition!==void 0?1:o.title.localeCompare(t.title)}function je(o,t){return o.groupPosition!==void 0&&t.groupPosition!==void 0?o.groupPosition-t.groupPosition:o.groupPosition!==void 0?-1:t.groupPosition!==void 0?1:(o.groupTitle||o.group).localeCompare(t.groupTitle||t.group)}var J=new Map;async function X(o,t,e="/docs"){let s=performance.now();T.load(),J.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||t?.i18n)&&T.invalidateAll();let i=await(0,Gt.default)(["**/*.md","**/*.mdx"],{cwd:o,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1});T.pruneStale(new Set(i));let r=50,a=[],p=0;for(let d=0;d<i.length;d+=r){let m=i.slice(d,d+r),h=await Promise.all(m.map(async f=>{let $=T.get(f);if($)return p++,$;let D=At(f,o,e,t);return T.set(f,D),D}));a.push(...h),d+r<i.length&&await new Promise(f=>setImmediate(f))}T.save();let n=new Map,c=[];for(let d of a)if(d.isGroupIndex&&d.relativeDir&&c.push(d),d.relativeDir){let m=n.get(d.relativeDir);m?(m.position===void 0&&d.inferredGroupPosition!==void 0&&(m.position=d.inferredGroupPosition),!m.icon&&d.route.icon&&(m.icon=d.route.icon)):(m={title:q(d.relativeDir),position:d.inferredGroupPosition,icon:d.route.icon},n.set(d.relativeDir,m))}for(let d of c){let m=n.get(d.relativeDir);d.groupMeta&&(m.title=d.groupMeta.title,d.groupMeta.position!==void 0&&(m.position=d.groupMeta.position),d.groupMeta.icon&&(m.icon=d.groupMeta.icon))}let l=new Array(a.length);for(let d=0;d<a.length;d++){let m=a[d],h=m.relativeDir,f=h?n.get(h):void 0;l[d]={...m.route,group:h,groupTitle:f?.title||(h?q(h):void 0),groupPosition:f?.position,groupIcon:f?.icon}}let u=l;if(t?.i18n){let d=He(l,t,e);u=[...l,...d]}let b=Ut(u),x=performance.now()-s;return console.log(`[boltdocs] Route generation: ${x.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),b}function He(o,t,e){let s=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),r=[],a=new Map,p=[];for(let n of o){let c=n.locale||s;a.has(c)||a.set(c,new Set),a.get(c).add(n.path),c===s&&p.push(n)}for(let n of i){if(n===s)continue;let c=a.get(n)||new Set;for(let l of p){let u=Le(l.path,s,n,e);c.has(u)||r.push({...l,path:u,locale:n})}}return r}function Le(o,t,e,s){let i=`${o}:${e}`,r=J.get(i);if(r)return r;let a=s,p=o.match(new RegExp(`^${s}/(v[0-9]+)`));p&&(a+="/"+p[1]);let n=o.substring(a.length),c=`/${t}`;if(n.startsWith(c+"/"))n="/"+e+"/"+n.substring(c.length+1);else if(n===c)n="/"+e;else if(n==="/"||n==="")n="/"+e;else{let u=n.startsWith("/")?"":"/";n="/"+e+u+n}let l=a+n;return J.size>2e3&&J.clear(),J.set(i,l),l}var ne=require("vite-plugin-image-optimizer");g();var it=y(require("path")),qt=y(require("fs")),Vt=require("vite");function Wt(o){return o}var nt=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function j(o,t=process.cwd()){let e=t,s={docsDir:it.default.resolve(o),theme:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},i={};for(let n of nt){let c=it.default.resolve(e,n);if(qt.default.existsSync(c))try{let l=await(0,Vt.loadConfigFromFile)({command:"serve",mode:"development"},c,e);if(l){i=l.config;break}}catch(l){console.warn(`[boltdocs] Failed to load config from ${n}:`,l)}}let a={...{title:i.title,description:i.description,logo:i.logo,favicon:i.favicon,ogImage:i.ogImage,navbar:i.navbar,sidebar:i.sidebar,socialLinks:i.socialLinks,footer:i.footer,githubRepo:i.githubRepo,tabs:i.tabs,codeTheme:i.codeTheme,copyMarkdown:i.copyMarkdown,breadcrumbs:i.breadcrumbs,poweredBy:i.poweredBy,communityHelp:i.communityHelp,version:i.version,editLink:i.editLink},...i.themeConfig||{},...i.theme||{}},p=Object.fromEntries(Object.entries(a).filter(([n,c])=>c!==void 0));return p.navbar&&(p.navbar=p.navbar.map(n=>({label:n.label||n.text||"",href:n.href||n.link||n.to||"",items:n.items?.map(c=>({label:c.label||c.text||"",href:c.href||c.link||c.to||""}))}))),{docsDir:it.default.resolve(o),homePage:i.homePage,theme:{...s.theme,...p},i18n:i.i18n,versions:i.versions,siteUrl:i.siteUrl,plugins:i.plugins||[],external:i.external,integrations:i.integrations,robots:i.robots,vite:i.vite}}g();var F=y(require("fs")),_=y(require("path"));k();var Qt=require("url"),Yt=require("module");g();k();function Kt(o,t){let e=E(t.title),s=E(t.description);return o.replace(/<title>.*?<\/title>/,`<title>${e}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${s}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${e}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${s}$2`)}g();k();function Jt(o,t){let e=t?.siteUrl?.replace(/\/$/,"")||"https://example.com",s=new Date().toISOString().split("T")[0],i=[{url:"/",priority:"1.0",changefreq:"daily"}];if(t?.i18n){let a=t.i18n.defaultLocale;for(let p of Object.keys(t.i18n.locales))p!==a&&i.push({url:`/${p}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
|
-
${[...
|
|
4
|
-
<loc>${
|
|
5
|
-
<lastmod>${
|
|
6
|
-
<changefreq>${
|
|
7
|
-
<priority>${
|
|
3
|
+
${[...i,...o.map(a=>({url:a,priority:"0.8",changefreq:"weekly"}))].map(a=>` <url>
|
|
4
|
+
<loc>${yt(e)}${yt(a.url)}</loc>
|
|
5
|
+
<lastmod>${s}</lastmod>
|
|
6
|
+
<changefreq>${a.changefreq}</changefreq>
|
|
7
|
+
<priority>${a.priority}</priority>
|
|
8
8
|
</url>`).join(`
|
|
9
9
|
`)}
|
|
10
|
-
</urlset>`}
|
|
11
|
-
|
|
12
|
-
`
|
|
13
|
-
`
|
|
10
|
+
</urlset>`}g();function rt(o){if(typeof o.robots=="string")return o.robots;let t=o.siteUrl?.replace(/\/$/,"")||"",e=o.robots||{},s=e.rules||[{userAgent:"*",allow:"/"}],i=e.sitemaps||(t?[`${t}/sitemap.xml`]:[]),r="";for(let a of s){if(r+=`User-agent: ${a.userAgent}
|
|
11
|
+
`,a.disallow){let p=Array.isArray(a.disallow)?a.disallow:[a.disallow];for(let n of p)r+=`Disallow: ${n}
|
|
12
|
+
`}if(a.allow){let p=Array.isArray(a.allow)?a.allow:[a.allow];for(let n of p)r+=`Allow: ${n}
|
|
13
|
+
`}r+=`
|
|
14
|
+
`}for(let a of i)r+=`Sitemap: ${a}
|
|
15
|
+
`;return r.trim()}var ze=(0,Qt.fileURLToPath)(C),Xt=_.default.dirname(ze),Zt=(0,Yt.createRequire)(C);async function st(o){let{docsDir:t,docsDirName:e,outDir:s,config:i}=o,r=await X(t,i),a=i?.themeConfig?.title||"Boltdocs",p=i?.themeConfig?.description||"",n=_.default.resolve(Xt,"../client/ssr.js");if(!F.default.existsSync(n)){console.error("[boltdocs] SSR module not found at",n,"- Did you build the core package?");return}let c=Zt("module"),l=c.prototype.require;c.prototype.require=function(f,...$){return f==="virtual:boltdocs-layout"?{__esModule:!0,default:function(P){try{let I=l.apply(this,[_.default.resolve(Xt,"../client/index.js")]).DefaultLayout||(({children:mt})=>mt);return l.apply(this,["react"]).createElement(I,P)}catch{return P.children}}}:l.apply(this,[f,...$])};let{render:u}=Zt(n);c.prototype.require=l;let b=_.default.join(s,"index.html");if(!F.default.existsSync(b)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let x=F.default.readFileSync(b,"utf-8");await Promise.all(r.map(async f=>{let $=`${f.title} | ${a}`,D=f.description||p,P={};P[`/${e}/${f.filePath}`]={default:()=>null};try{let v=await u({path:f.path,routes:r,config:i||{},docsDirName:e,modules:P,homePage:void 0}),I=Kt(x,{title:E($),description:E(D)}).replace("<!--app-html-->",v).replace('<div id="root"></div>',`<div id="root">${v}</div>`),H=_.default.join(s,f.path);await F.default.promises.mkdir(H,{recursive:!0}),await F.default.promises.writeFile(_.default.join(H,"index.html"),I,"utf-8")}catch(v){console.error(`[boltdocs] Error SSR rendering route ${f.path}:`,v&&(v.stack||v))}}));let d=Jt(r.map(f=>f.path),i);F.default.writeFileSync(_.default.join(s,"sitemap.xml"),d,"utf-8");let m=rt(i);F.default.writeFileSync(_.default.join(s,"robots.txt"),m,"utf-8"),console.log(`[boltdocs] Generated ${r.length} static pages + sitemap.xml + robots.txt`);let{flushCache:h}=await Promise.resolve().then(()=>(K(),$t));await h()}k();var M=y(require("path"));g();k();var Bt=y(require("path")),te=y(require("fs"));function ee(o,t){let e=o.homePage?`import HomePage from '${R(o.homePage)}';`:"",s=Bt.default.resolve(process.cwd(),"index.css"),i=te.default.existsSync(s)?"import './index.css';":"",r=o.homePage?"homePage: HomePage,":"",a=t?.plugins?.flatMap(x=>Object.entries(x.components||{}))||[],p=a.map(([x,d])=>`import * as _comp_${x} from '${R(d)}';
|
|
16
|
+
const ${x} = _comp_${x}.default || _comp_${x}['${x}'] || _comp_${x};`).join(`
|
|
17
|
+
`),n=a.map(([x])=>x).join(", "),c=Bt.default.basename(o.docsDir||"docs"),l=Object.entries(t?.external||{}),u=l.map(([x,d],m)=>`import _ext_${m} from '${R(d)}';`).join(`
|
|
18
|
+
`),b=l.length>0?`externalPages: { ${l.map(([x],d)=>`"${x}": _ext_${d}`).join(", ")} },`:"";return`
|
|
14
19
|
import { createBoltdocsApp as _createApp } from 'boltdocs/client';
|
|
15
20
|
import _routes from 'virtual:boltdocs-routes';
|
|
16
21
|
import _config from 'virtual:boltdocs-config';
|
|
17
22
|
import _user_mdx_components from 'virtual:boltdocs-mdx-components';
|
|
23
|
+
${i}
|
|
18
24
|
${e}
|
|
19
|
-
${
|
|
20
|
-
${
|
|
25
|
+
${p}
|
|
26
|
+
${u}
|
|
21
27
|
|
|
22
28
|
_createApp({
|
|
23
29
|
target: '#root',
|
|
24
30
|
routes: _routes,
|
|
25
|
-
docsDirName: '${
|
|
31
|
+
docsDirName: '${c}',
|
|
26
32
|
config: _config,
|
|
27
|
-
modules: import.meta.glob('/${
|
|
33
|
+
modules: import.meta.glob('/${c}/**/*.{md,mdx}'),
|
|
28
34
|
hot: import.meta.hot,
|
|
29
35
|
${r}
|
|
30
|
-
${
|
|
31
|
-
components: { ${
|
|
36
|
+
${b}
|
|
37
|
+
components: { ${n}${n?", ":""} ...(_user_mdx_components || {}) },
|
|
32
38
|
});
|
|
33
|
-
`}g();function
|
|
34
|
-
|
|
39
|
+
`}g();function oe(o){return`<!doctype html>
|
|
40
|
+
<html lang="en">
|
|
41
|
+
<head>
|
|
42
|
+
<meta charset="UTF-8" />
|
|
43
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
44
|
+
<title>${o.theme?.title||o.themeConfig?.title||"Boltdocs"}</title>
|
|
45
|
+
</head>
|
|
46
|
+
<body>
|
|
47
|
+
<div id="root"></div>
|
|
48
|
+
</body>
|
|
49
|
+
</html>`}function Rt(o,t){let e=t.theme||t.themeConfig,s=e?.title||"Boltdocs",i=e?.description||"",r=e?.favicon;!r&&e?.logo&&(typeof e.logo=="string"?r=e.logo:r=e.logo.light||e.logo.dark);let a=[r?`<link rel="icon" href="${r}">`:"",`<meta name="description" content="${i}">`,`<meta property="og:title" content="${s}">`,`<meta property="og:description" content="${i}">`,e?.ogImage?`<meta property="og:image" content="${e.ogImage}">`:"",'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary_large_image">',`<meta name="twitter:title" content="${s}">`,`<meta name="twitter:description" content="${i}">`,e?.ogImage?`<meta name="twitter:image" content="${e.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
|
|
50
|
+
`),p=`
|
|
35
51
|
<script>
|
|
36
52
|
(function() {
|
|
37
53
|
try {
|
|
@@ -47,11 +63,12 @@ _createApp({
|
|
|
47
63
|
} catch (e) {}
|
|
48
64
|
})();
|
|
49
65
|
</script>
|
|
50
|
-
`;return o=o.replace(/<title>.*?<\/title>/,`<title>${
|
|
51
|
-
|
|
52
|
-
</
|
|
66
|
+
`;return o.includes("<title>")?o=o.replace(/<title>.*?<\/title>/,`<title>${s}</title>`):o=o.replace("</head>",` <title>${s}</title>
|
|
67
|
+
</head>`),o=o.replace("</head>",` ${a}
|
|
68
|
+
${p} </head>`),!o.includes("src/main")&&!o.includes("virtual:boltdocs-entry")&&(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
|
|
69
|
+
</body>`)),o}var at=y(require("fs"));g();function re(o={},t){let e=M.default.resolve(process.cwd(),o.docsDir||"docs"),s=R(e),i=t,r,a=!1,p=i?.plugins?.flatMap(n=>n.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(n,c){a=c.command==="build";let l=n.envDir||process.cwd(),u=(0,ie.loadEnv)(c.mode,l,"");return Object.assign(process.env,u),i||(i=await j(e)),{optimizeDeps:{include:["react","react-dom"]}}},configResolved(n){r=n},configureServer(n){n.middlewares.use((m,h,f)=>{if(m.url==="/robots.txt"){let $=rt(i);h.statusCode=200,h.setHeader("Content-Type","text/plain"),h.end($);return}f()}),n.middlewares.use(async(m,h,f)=>{let $=m.url?.split("?")[0]||"/";if((m.headers.accept||"").includes("text/html")&&!$.includes(".")){let P=M.default.resolve(process.cwd(),"index.html");if(!at.default.existsSync(P)){let v=oe(i);v=Rt(v,i),v=await n.transformIndexHtml(m.url||"/",v),h.statusCode=200,h.setHeader("Content-Type","text/html"),h.end(v);return}}f()});let c=nt.map(m=>M.default.resolve(process.cwd(),m)),l=["tsx","jsx"],u=l.map(m=>M.default.resolve(e,`layout.${m}`)),b=["tsx","ts","jsx","js"],x=b.map(m=>M.default.resolve(e,`mdx-components.${m}`));n.watcher.add([...c,...x,...u]);let d=async(m,h)=>{let f=R(m);if(nt.some(P=>f.endsWith(P))){n.restart();return}if(b.some(P=>f.endsWith(`mdx-components.${P}`))){let P=n.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");P&&n.moduleGraph.invalidateModule(P),n.ws.send({type:"full-reload"});return}if(l.some(P=>f.endsWith(`layout.${P}`))){let P=n.moduleGraph.getModuleById("\0virtual:boltdocs-layout");P&&n.moduleGraph.invalidateModule(P),n.ws.send({type:"full-reload"});return}if(!f.startsWith(s)||!jt(f))return;h==="add"||h==="unlink"?St():Dt(m);let $=await X(e,i),D=n.moduleGraph.getModuleById("\0virtual:boltdocs-routes");D&&n.moduleGraph.invalidateModule(D),n.ws.send({type:"custom",event:"boltdocs:routes-update",data:$})};n.watcher.on("add",m=>d(m,"add")),n.watcher.on("unlink",m=>d(m,"unlink")),n.watcher.on("change",m=>d(m,"change"))},resolveId(n){if(n==="virtual:boltdocs-routes"||n==="virtual:boltdocs-config"||n==="virtual:boltdocs-entry"||n==="virtual:boltdocs-mdx-components"||n==="virtual:boltdocs-layout")return"\0"+n},async load(n){if(n==="\0virtual:boltdocs-routes"){let c=await X(e,i);return`export default ${JSON.stringify(c,null,2)};`}if(n==="\0virtual:boltdocs-config"){let c={theme:i?.theme,themeConfig:i?.themeConfig,integrations:i?.integrations,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl};return`export default ${JSON.stringify(c,null,2)};`}if(n==="\0virtual:boltdocs-entry")return ee(o,i);if(n==="\0virtual:boltdocs-mdx-components"){let c=["tsx","ts","jsx","js"],l=null;for(let u of c){let b=M.default.resolve(e,`mdx-components.${u}`);if(at.default.existsSync(b)){l=b;break}}if(l){let u=R(l);return`import * as components from '${u}';
|
|
53
70
|
const mdxComponents = components.default || components;
|
|
54
71
|
export default mdxComponents;
|
|
55
|
-
export * from '${
|
|
72
|
+
export * from '${u}';`}return"export default {};"}if(n==="\0virtual:boltdocs-layout"){let c=["tsx","jsx"],l=null;for(let u of c){let b=M.default.resolve(e,`layout.${u}`);if(at.default.existsSync(b)){l=b;break}}return l?`import UserLayout from '${R(l)}';
|
|
56
73
|
export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
|
|
57
|
-
export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(
|
|
74
|
+
export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(n){return Rt(n,i)}},async closeBundle(){if(!a)return;let n=r?.build?.outDir?M.default.resolve(r.root,r.build.outDir):M.default.resolve(process.cwd(),"dist"),c=M.default.basename(e||"docs");await st({docsDir:e,docsDirName:c,outDir:n,config:i});let{flushCache:l}=await Promise.resolve().then(()=>(K(),$t));await l()}},(0,ne.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...p.filter(n=>!!n)]}g();var ae=y(require("@mdx-js/rollup")),ce=y(require("remark-gfm")),le=y(require("remark-frontmatter")),de=y(require("rehype-slug")),me=y(require("crypto")),Mt=require("unist-util-visit"),pe=require("shiki");K();var ct=null;async function ue(o){if(ct)return ct;let t=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(e=>{t.includes(e)||t.push(e)}),ct=await(0,pe.createHighlighter)({themes:t,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),ct}function Ae(o){return async t=>{let e=o?.themeConfig?.codeTheme??{light:"github-light",dark:"github-dark"},s=await ue(e);(0,Mt.visit)(t,["mdxJsxFlowElement","mdxJsxTextElement"],i=>{if(i.name!=="ComponentPreview")return;let r=i.attributes?.find(c=>c.name==="code"),a="";if(r){if(typeof r.value=="string")a=r.value;else if(r.value?.type==="mdxJsxAttributeValueExpression"){let c=r.value.value??"";a=c.match(/^[`'"](.+)[`'"]$/)?.[1]??c}}if(!a)return;let p=typeof e=="object"?{themes:{light:e.light,dark:e.dark},lang:"tsx"}:{theme:e,lang:"tsx"},n=s.codeToHtml(a,p);i.attributes=(i.attributes??[]).filter(c=>c.name!=="highlightedHtml"),i.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:n})})}}function Ne(o){return async t=>{let e=o?.themeConfig?.codeTheme||{light:"github-light",dark:"github-dark"},s=await ue(e);(0,Mt.visit)(t,"element",i=>{if(i.tagName==="pre"&&i.children?.[0]?.tagName==="code"){let r=i.children[0],p=(r.properties?.className||[]).find(b=>b.startsWith("language-")),n=p?p.slice(9):"text",c=r.children[0]?.value||"",l={lang:n};typeof e=="object"?l.themes={light:e.light,dark:e.dark}:l.theme=e;let u=s.codeToHtml(c,l);i.properties.dataHighlighted="true",i.properties.highlightedHtml=u,i.children=[]}})}}var Ue="v3",Z=new W("mdx"),se=!1;function ge(o,t=ae.default){let e=o?.plugins?.flatMap(r=>r.remarkPlugins||[])||[],s=o?.plugins?.flatMap(r=>r.rehypePlugins||[])||[],i=t({remarkPlugins:[ce.default,le.default,[Ae,o],...e],rehypePlugins:[de.default,[Ne,o],...s],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return i.isMock&&console.log("MDX PLUGIN IS MOCKED"),{...i,name:"vite-plugin-boltdocs-mdx",async buildStart(){lt=0,dt=0,se||(Z.load(),se=!0),i.buildStart&&await i.buildStart.call(this)},async transform(r,a,p){if(!a.endsWith(".md")&&!a.endsWith(".mdx"))return i.transform?.call(this,r,a,p);console.log(`[boltdocs] Transforming MDX: ${a}`),dt++;let n=me.default.createHash("md5").update(r).digest("hex"),c=`${a}:${n}:${Ue}`,l=Z.get(c);if(l)return lt++,{code:l,map:null};let u=await i.transform.call(this,r,a,p);return u&&typeof u=="object"&&u.code&&Z.set(c,u.code),u},async buildEnd(){console.log(`[boltdocs] MDX Cache Performance: ${lt}/${dt} hits (${Math.round(lt/dt*100)||0}%)`),Z.save(),await Z.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}var lt=0,dt=0;async function kt(o){let t=o?.docsDir||"docs",e=await j(t),s={...o,homePage:o?.homePage||e.homePage};return[...re(s,e),ge(e)]}async function Ge(o,t="development"){let e=await j("docs",o);return{root:o,mode:t,plugins:[(0,fe.default)(),(0,he.default)(),await kt({docsDir:e.docsDir,homePage:e.homePage})],...e.vite}}0&&(module.exports={createViteConfig,defineConfig,generateStaticPages,resolveConfig});
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,57 +1 @@
|
|
|
1
|
-
import{a
|
|
2
|
-
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
3
|
-
${[...e,...o.map(l=>({url:l,priority:"0.8",changefreq:"weekly"}))].map(l=>` <url>
|
|
4
|
-
<loc>${J(i)}${J(l.url)}</loc>
|
|
5
|
-
<lastmod>${p}</lastmod>
|
|
6
|
-
<changefreq>${l.changefreq}</changefreq>
|
|
7
|
-
<priority>${l.priority}</priority>
|
|
8
|
-
</url>`).join(`
|
|
9
|
-
`)}
|
|
10
|
-
</urlset>`}var Ht=Lt(import.meta.url),ut=M.dirname(Ht),gt=Gt(import.meta.url);async function Y(o){let{docsDir:r,docsDirName:i,outDir:p,config:e}=o,c=await I(r,e),l=e?.themeConfig?.title||"Boltdocs",u=e?.themeConfig?.description||"",t=M.resolve(ut,"../client/ssr.js");if(!T.existsSync(t)){console.error("[boltdocs] SSR module not found at",t,"- Did you build the core package?");return}let n=gt("module"),s=n.prototype.require;n.prototype.require=function(g,...y){return g==="virtual:boltdocs-layout"?{__esModule:!0,default:function(x){try{let w=s.apply(this,[M.resolve(ut,"../client/index.js")]).DefaultLayout||(({children:L})=>L);return s.apply(this,["react"]).createElement(w,x)}catch{return x.children}}}:s.apply(this,[g,...y])};let{render:a}=gt(t);n.prototype.require=s;let f=M.join(p,"index.html");if(!T.existsSync(f)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let v=T.readFileSync(f,"utf-8");await Promise.all(c.map(async g=>{let y=`${g.title} | ${l}`,k=g.description||u,x={};x[`/${i}/${g.filePath}`]={default:()=>null};try{let h=await a({path:g.path,routes:c,config:e||{},docsDirName:i,modules:x,homePage:void 0}),w=pt(v,{title:D(y),description:D(k)}).replace("<!--app-html-->",h).replace('<div id="root"></div>',`<div id="root">${h}</div>`),S=M.join(p,g.path);await T.promises.mkdir(S,{recursive:!0}),await T.promises.writeFile(M.join(S,"index.html"),w,"utf-8")}catch(h){console.error(`[boltdocs] Error SSR rendering route ${g.path}:`,h&&(h.stack||h))}}));let d=mt(c.map(g=>g.path),e);T.writeFileSync(M.join(p,"sitemap.xml"),d,"utf-8"),console.log(`[boltdocs] Generated ${c.length} static pages + sitemap.xml`);let{flushCache:m}=await import("../cache-7G6D532T.mjs");await m()}import B from"path";import Nt from"path";function ft(o,r){let i=o.homePage?`import HomePage from '${$(o.homePage)}';`:"",p=o.homePage?"homePage: HomePage,":"",e=r?.plugins?.flatMap(a=>Object.entries(a.components||{}))||[],c=e.map(([a,f])=>`import * as _comp_${a} from '${$(f)}';
|
|
11
|
-
const ${a} = _comp_${a}.default || _comp_${a}['${a}'] || _comp_${a};`).join(`
|
|
12
|
-
`),l=e.map(([a])=>a).join(", "),u=Nt.basename(o.docsDir||"docs"),t=Object.entries(r?.external||{}),n=t.map(([a,f],v)=>`import _ext_${v} from '${$(f)}';`).join(`
|
|
13
|
-
`),s=t.length>0?`externalPages: { ${t.map(([a],f)=>`"${a}": _ext_${f}`).join(", ")} },`:"";return`
|
|
14
|
-
import { createBoltdocsApp as _createApp } from 'boltdocs/client';
|
|
15
|
-
import _routes from 'virtual:boltdocs-routes';
|
|
16
|
-
import _config from 'virtual:boltdocs-config';
|
|
17
|
-
import _user_mdx_components from 'virtual:boltdocs-mdx-components';
|
|
18
|
-
${i}
|
|
19
|
-
${c}
|
|
20
|
-
${n}
|
|
21
|
-
|
|
22
|
-
_createApp({
|
|
23
|
-
target: '#root',
|
|
24
|
-
routes: _routes,
|
|
25
|
-
docsDirName: '${u}',
|
|
26
|
-
config: _config,
|
|
27
|
-
modules: import.meta.glob('/${u}/**/*.{md,mdx}'),
|
|
28
|
-
hot: import.meta.hot,
|
|
29
|
-
${p}
|
|
30
|
-
${s}
|
|
31
|
-
components: { ${l}${l?", ":""} ...(_user_mdx_components || {}) },
|
|
32
|
-
});
|
|
33
|
-
`}function ht(o,r){let i=r.themeConfig?.title||"Boltdocs",p=r.themeConfig?.description||"",e=[`<meta name="description" content="${p}">`,`<meta property="og:title" content="${i}">`,`<meta property="og:description" content="${p}">`,'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary">',`<meta name="twitter:title" content="${i}">`,`<meta name="twitter:description" content="${p}">`,'<meta name="generator" content="Boltdocs">'].join(`
|
|
34
|
-
`),c=`
|
|
35
|
-
<script>
|
|
36
|
-
(function() {
|
|
37
|
-
try {
|
|
38
|
-
var stored = localStorage.getItem("boltdocs-theme");
|
|
39
|
-
var theme = stored || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
|
40
|
-
if (theme === "light") {
|
|
41
|
-
document.documentElement.classList.add("theme-light");
|
|
42
|
-
document.documentElement.dataset.theme = "light";
|
|
43
|
-
} else {
|
|
44
|
-
document.documentElement.classList.remove("theme-light");
|
|
45
|
-
document.documentElement.dataset.theme = "dark";
|
|
46
|
-
}
|
|
47
|
-
} catch (e) {}
|
|
48
|
-
})();
|
|
49
|
-
</script>
|
|
50
|
-
`;return o=o.replace(/<title>.*?<\/title>/,`<title>${i}</title>`),o=o.replace("</head>",` ${e}
|
|
51
|
-
${c} </head>`),o.includes("src/main")||(o=o.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
|
|
52
|
-
</body>`)),o}import yt from"fs";function xt(o={},r){let i=B.resolve(process.cwd(),o.docsDir||"docs"),p=$(i),e=r,c,l=!1,u=e?.plugins?.flatMap(t=>t.vitePlugins||[])||[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(t,n){l=n.command==="build";let s=t.envDir||process.cwd(),a=zt(n.mode,s,"");return Object.assign(process.env,a),e||(e=await z(i)),{optimizeDeps:{include:["react","react-dom"]}}},configResolved(t){c=t},configureServer(t){let n=N.map(m=>B.resolve(process.cwd(),m)),s=["tsx","jsx"],a=s.map(m=>B.resolve(i,`layout.${m}`)),f=["tsx","ts","jsx","js"],v=f.map(m=>B.resolve(i,`mdx-components.${m}`));t.watcher.add([...n,...v,...a]);let d=async(m,g)=>{let y=$(m);if(N.some(h=>y.endsWith(h))){t.restart();return}if(f.some(h=>y.endsWith(`mdx-components.${h}`))){let h=t.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");h&&t.moduleGraph.invalidateModule(h),t.ws.send({type:"full-reload"});return}if(s.some(h=>y.endsWith(`layout.${h}`))){let h=t.moduleGraph.getModuleById("\0virtual:boltdocs-layout");h&&t.moduleGraph.invalidateModule(h),t.ws.send({type:"full-reload"});return}if(!y.startsWith(p)||!it(y))return;g==="add"||g==="unlink"?K():Z(m);let k=await I(i,e),x=t.moduleGraph.getModuleById("\0virtual:boltdocs-routes");x&&t.moduleGraph.invalidateModule(x),t.ws.send({type:"custom",event:"boltdocs:routes-update",data:k})};t.watcher.on("add",m=>d(m,"add")),t.watcher.on("unlink",m=>d(m,"unlink")),t.watcher.on("change",m=>d(m,"change"))},resolveId(t){if(t==="virtual:boltdocs-routes"||t==="virtual:boltdocs-config"||t==="virtual:boltdocs-entry"||t==="virtual:boltdocs-mdx-components"||t==="virtual:boltdocs-layout")return"\0"+t},async load(t){if(t==="\0virtual:boltdocs-routes"){let n=await I(i,e);return`export default ${JSON.stringify(n,null,2)};`}if(t==="\0virtual:boltdocs-config"){let n={themeConfig:e?.themeConfig,integrations:e?.integrations,i18n:e?.i18n,versions:e?.versions,siteUrl:e?.siteUrl};return`export default ${JSON.stringify(n,null,2)};`}if(t==="\0virtual:boltdocs-entry")return ft(o,e);if(t==="\0virtual:boltdocs-mdx-components"){let n=["tsx","ts","jsx","js"],s=null;for(let a of n){let f=B.resolve(i,`mdx-components.${a}`);if(yt.existsSync(f)){s=f;break}}if(s){let a=$(s);return`import * as components from '${a}';
|
|
53
|
-
const mdxComponents = components.default || components;
|
|
54
|
-
export default mdxComponents;
|
|
55
|
-
export * from '${a}';`}return"export default {};"}if(t==="\0virtual:boltdocs-layout"){let n=["tsx","jsx"],s=null;for(let a of n){let f=B.resolve(i,`layout.${a}`);if(yt.existsSync(f)){s=f;break}}return s?`import UserLayout from '${$(s)}';
|
|
56
|
-
export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
|
|
57
|
-
export default DefaultLayout;`}},transformIndexHtml:{order:"pre",handler(t){return ht(t,e)}},async closeBundle(){if(!l)return;let t=c?.build?.outDir?B.resolve(c.root,c.build.outDir):B.resolve(process.cwd(),"dist"),n=B.basename(i||"docs");await Y({docsDir:i,docsDirName:n,outDir:t,config:e});let{flushCache:s}=await import("../cache-7G6D532T.mjs");await s()}},Ut({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),...u.filter(t=>!!t)]}import qt from"@mdx-js/rollup";import At from"remark-gfm";import Vt from"remark-frontmatter";import Wt from"rehype-slug";import Jt from"crypto";import{visit as Pt}from"unist-util-visit";import{createHighlighter as Xt}from"shiki";var U=null;async function vt(o){if(U)return U;let r=typeof o=="object"?[o.light,o.dark]:[o??"github-dark"];return["github-light","github-dark"].forEach(i=>{r.includes(i)||r.push(i)}),U=await Xt({themes:r,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),U}function Kt(o){return async r=>{let i=o?.themeConfig?.codeTheme??{light:"github-light",dark:"github-dark"},p=await vt(i);Pt(r,["mdxJsxFlowElement","mdxJsxTextElement"],e=>{if(e.name!=="ComponentPreview")return;let c=e.attributes?.find(n=>n.name==="code"),l="";if(c){if(typeof c.value=="string")l=c.value;else if(c.value?.type==="mdxJsxAttributeValueExpression"){let n=c.value.value??"";l=n.match(/^[`'"](.+)[`'"]$/)?.[1]??n}}if(!l)return;let u=typeof i=="object"?{themes:{light:i.light,dark:i.dark},lang:"tsx"}:{theme:i,lang:"tsx"},t=p.codeToHtml(l,u);e.attributes=(e.attributes??[]).filter(n=>n.name!=="highlightedHtml"),e.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:t})})}}function Zt(o){return async r=>{let i=o?.themeConfig?.codeTheme||{light:"github-light",dark:"github-dark"},p=await vt(i);Pt(r,"element",e=>{if(e.tagName==="pre"&&e.children?.[0]?.tagName==="code"){let c=e.children[0],u=(c.properties?.className||[]).find(f=>f.startsWith("language-")),t=u?u.slice(9):"text",n=c.children[0]?.value||"",s={lang:t};typeof i=="object"?s.themes={light:i.light,dark:i.dark}:s.theme=i;let a=p.codeToHtml(n,s);e.properties.dataHighlighted="true",e.properties.highlightedHtml=a,e.children=[]}})}}var Qt="v3",O=new at("mdx"),bt=!1;function Ct(o,r=qt){let i=o?.plugins?.flatMap(c=>c.remarkPlugins||[])||[],p=o?.plugins?.flatMap(c=>c.rehypePlugins||[])||[],e=r({remarkPlugins:[At,Vt,[Kt,o],...i],rehypePlugins:[Wt,[Zt,o],...p],jsxRuntime:"automatic",providerImportSource:"@mdx-js/react"});return e.isMock&&console.log("MDX PLUGIN IS MOCKED"),{...e,name:"vite-plugin-boltdocs-mdx",async buildStart(){q=0,A=0,bt||(O.load(),bt=!0),e.buildStart&&await e.buildStart.call(this)},async transform(c,l,u){if(!l.endsWith(".md")&&!l.endsWith(".mdx"))return e.transform?.call(this,c,l,u);console.log(`[boltdocs] Transforming MDX: ${l}`),A++;let t=Jt.createHash("md5").update(c).digest("hex"),n=`${l}:${t}:${Qt}`,s=O.get(n);if(s)return q++,{code:s,map:null};let a=await e.transform.call(this,c,l,u);return a&&typeof a=="object"&&a.code&&O.set(n,a.code),a},async buildEnd(){console.log(`[boltdocs] MDX Cache Performance: ${q}/${A} hits (${Math.round(q/A*100)||0}%)`),O.save(),await O.flush(),e.buildEnd&&await e.buildEnd.call(this)}}}var q=0,A=0;async function Yt(o){let r=o?.docsDir||"docs",i=await z(r);return[...xt(o,i),Ct(i)]}export{Yt as default,Y as generateStaticPages};
|
|
1
|
+
import{a,b,c,f as d,g as e,h as f}from"../chunk-V2ZHKQSP.mjs";import"../chunk-PNXZMUCO.mjs";f();export{e as createViteConfig,d as default,a as defineConfig,c as generateStaticPages,b as resolveConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as f}from"./chunk-ISPX45DF.mjs";import{h as g,i as h,j as u,k as m,l as S,m as d,n as p,o as y,p as D}from"./chunk-BVWWKXJH.mjs";import"./chunk-52MVMZWS.mjs";import{useEffect as K,useCallback as M}from"react";import{useNavigate as R}from"react-router-dom";import{Fragment as T,jsx as o,jsxs as n}from"react/jsx-runtime";function A({routes:v}){let{isOpen:I,setIsOpen:a,query:w,setQuery:k,list:E}=f(v),r=R();K(()=>{let e=t=>{(/Mac/.test(navigator.userAgent)?t.metaKey:t.ctrlKey)&&(t.key==="k"||t.key==="j")&&(t.preventDefault(),a(i=>!i))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a]);let l=M(e=>{let t=String(e);if(a(!1),t.includes("#")){let[s,c]=t.split("#");r(s),setTimeout(()=>{let i=document.getElementById(c);i&&i.scrollIntoView({behavior:"smooth"})},100)}else r(t)},[r,a]);return n(T,{children:[o(g.SearchTrigger,{onPress:()=>a(!0)}),o(h,{isOpen:I,onOpenChange:a,children:n(u,{onSelectionChange:l,children:[o(m,{value:w,onChange:e=>k(e.target.value)}),o(S,{items:E,children:e=>n(d,{onPress:()=>l(e.id),textValue:e.title,children:[o(p,{isHeading:e.isHeading}),n("div",{className:"flex flex-col justify-center gap-0.5",children:[o(y,{children:e.title}),o(D,{children:e.groupTitle})]})]},e.id)})]})})]})}export{A as SearchDialog};
|