boltdocs 3.3.1 → 3.3.2

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.
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{c as e,n as t}from"./node-BFNCsPs3.mjs";import{flushCache as n}from"./node/cache.mjs";import{a as r,c as i,t as a}from"./update-check-QnrVR3q1.mjs";import o from"node:path";import s from"node:fs";import{error as c}from"@bdocs/dui";import{preview as l}from"vite";const u=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function d(e,t){let n=o.join(e,`.boltdocs`,`benchmarks`);s.existsSync(n)||s.mkdirSync(n,{recursive:!0});let r=o.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),i={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return s.writeFileSync(r,JSON.stringify(i,null,2)),r}async function f(t=process.cwd(),i={}){process.env.NODE_ENV=`production`,a();let o=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await e().run({root:t,timing:{}});if(o&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if(c(`Build failed at step "${i.failedStep}":`,i.error),o){let e=d(t,i);console.log(`[benchmark] failure report written to ${e}`)}await n(),process.exit(1)}if(o){let e=d(t,i);console.log(`[benchmark] phase report written to ${e}`),await n(),process.exit(0)}let a=i.stepResults.filter(e=>!u.has(e.name)),s=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,l=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${l(e)} kB`;console.log(r({totalMs:i.timing.total,steps:a.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:s?.totalPages,jsSize:s?p(s.jsSize):void 0,cssSize:s?p(s.cssSize):void 0,outDir:`dist/`})),await n(),process.exit(0)}catch(e){c(`Build failed:`,e),await n(),process.exit(1)}}async function p(e=process.cwd(),n={}){try{let r=await t(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});r.logLevel=`warn`,r.clearScreen=!1,n.port!==void 0&&(r.preview=r.preview||{},r.preview.port=Number(n.port)),n.host!==void 0&&(r.preview=r.preview||{},r.preview.host=n.host);let a=performance.now(),o=(await l(r)).resolvedUrls;console.log(i(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){c(`Failed to start preview server:`,e),process.exit(1)}}export{f as buildAction,p as previewAction};
6
+ import{c as e,n as t}from"./node-CK5-Ta83.mjs";import{flushCache as n}from"./node/cache.mjs";import{a as r,c as i,t as a}from"./update-check-QnrVR3q1.mjs";import o from"node:path";import s from"node:fs";import{error as c}from"@bdocs/dui";import{preview as l}from"vite";const u=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function d(e,t){let n=o.join(e,`.boltdocs`,`benchmarks`);s.existsSync(n)||s.mkdirSync(n,{recursive:!0});let r=o.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),i={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return s.writeFileSync(r,JSON.stringify(i,null,2)),r}async function f(t=process.cwd(),i={}){process.env.NODE_ENV=`production`,a();let o=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await e().run({root:t,timing:{}});if(o&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if(c(`Build failed at step "${i.failedStep}":`,i.error),o){let e=d(t,i);console.log(`[benchmark] failure report written to ${e}`)}await n(),process.exit(1)}if(o){let e=d(t,i);console.log(`[benchmark] phase report written to ${e}`),await n(),process.exit(0)}let a=i.stepResults.filter(e=>!u.has(e.name)),s=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,l=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${l(e)} kB`;console.log(r({totalMs:i.timing.total,steps:a.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:s?.totalPages,jsSize:s?p(s.jsSize):void 0,cssSize:s?p(s.cssSize):void 0,outDir:`dist/`})),await n(),process.exit(0)}catch(e){c(`Build failed:`,e),await n(),process.exit(1)}}async function p(e=process.cwd(),n={}){try{let r=await t(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});r.logLevel=`warn`,r.clearScreen=!1,n.port!==void 0&&(r.preview=r.preview||{},r.preview.port=Number(n.port)),n.host!==void 0&&(r.preview=r.preview||{},r.preview.host=n.host);let a=performance.now(),o=(await l(r)).resolvedUrls;console.log(i(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){c(`Failed to start preview server:`,e),process.exit(1)}}export{f as buildAction,p as previewAction};
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-TpmWEqXM.cjs`),n=require(`./node/cache.cjs`),r=require(`./update-check-BKqmYfwT.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`@bdocs/dui`),s=require(`vite`);const c=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function l(e,t){let n=i.default.join(e,`.boltdocs`,`benchmarks`);a.default.existsSync(n)||a.default.mkdirSync(n,{recursive:!0});let r=i.default.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),o={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return a.default.writeFileSync(r,JSON.stringify(o,null,2)),r}async function u(e=process.cwd(),i={}){process.env.NODE_ENV=`production`,r.t();let a=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await t.c().run({root:e,timing:{}});if(a&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if((0,o.error)(`Build failed at step "${i.failedStep}":`,i.error),a){let t=l(e,i);console.log(`[benchmark] failure report written to ${t}`)}await n.flushCache(),process.exit(1)}if(a){let t=l(e,i);console.log(`[benchmark] phase report written to ${t}`),await n.flushCache(),process.exit(0)}let s=i.stepResults.filter(e=>!c.has(e.name)),u=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,d=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${d(e)} kB`;console.log(r.a({totalMs:i.timing.total,steps:s.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:u?.totalPages,jsSize:u?p(u.jsSize):void 0,cssSize:u?p(u.cssSize):void 0,outDir:`dist/`})),await n.flushCache(),process.exit(0)}catch(e){(0,o.error)(`Build failed:`,e),await n.flushCache(),process.exit(1)}}async function d(e=process.cwd(),n={}){try{let i=await t.n(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});i.logLevel=`warn`,i.clearScreen=!1,n.port!==void 0&&(i.preview=i.preview||{},i.preview.port=Number(n.port)),n.host!==void 0&&(i.preview=i.preview||{},i.preview.host=n.host);let a=performance.now(),o=(await(0,s.preview)(i)).resolvedUrls;console.log(r.c(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){(0,o.error)(`Failed to start preview server:`,e),process.exit(1)}}exports.buildAction=u,exports.previewAction=d;
6
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-CWf8IF1Q.cjs`),n=require(`./node/cache.cjs`),r=require(`./update-check-BKqmYfwT.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`@bdocs/dui`),s=require(`vite`);const c=new Set([`Client build`,`Server build`,`Render pages`,`Static loader data`,`Build metrics`]);function l(e,t){let n=i.default.join(e,`.boltdocs`,`benchmarks`);a.default.existsSync(n)||a.default.mkdirSync(n,{recursive:!0});let r=i.default.join(n,`phases-report-${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}.json`),o={timestamp:new Date().toISOString(),root:e,...t,error:t.error?.message||t.error?.toString()};return a.default.writeFileSync(r,JSON.stringify(o,null,2)),r}async function u(e=process.cwd(),i={}){process.env.NODE_ENV=`production`,r.t();let a=process.env.BOLTDOCS_BENCHMARK_PHASES===`true`;try{let i=await t.c().run({root:e,timing:{}});if(a&&console.log(`[boltdocs] ${JSON.stringify({name:`Build pipeline`,success:i.success,steps:i.stepResults.map(e=>({name:e.name,duration:Math.round(e.duration),success:e.success,...e.details?{details:e.details}:{}}))})}`),!i.success){if((0,o.error)(`Build failed at step "${i.failedStep}":`,i.error),a){let t=l(e,i);console.log(`[benchmark] failure report written to ${t}`)}await n.flushCache(),process.exit(1)}if(a){let t=l(e,i);console.log(`[benchmark] phase report written to ${t}`),await n.flushCache(),process.exit(0)}let s=i.stepResults.filter(e=>!c.has(e.name)),u=i.stepResults.find(e=>e.name===`Build metrics`)?.metrics,d=e=>(e/1024).toFixed(0),f=e=>(e/1024/1024).toFixed(1),p=e=>e>1024*1024?`${f(e)} MB`:`${d(e)} kB`;console.log(r.a({totalMs:i.timing.total,steps:s.map(e=>({name:e.name,success:e.success,duration:e.duration,details:e.details})),pages:u?.totalPages,jsSize:u?p(u.jsSize):void 0,cssSize:u?p(u.cssSize):void 0,outDir:`dist/`})),await n.flushCache(),process.exit(0)}catch(e){(0,o.error)(`Build failed:`,e),await n.flushCache(),process.exit(1)}}async function d(e=process.cwd(),n={}){try{let i=await t.n(e,`production`,void 0,{skipTypes:!0,skipLinkTree:!0});i.logLevel=`warn`,i.clearScreen=!1,n.port!==void 0&&(i.preview=i.preview||{},i.preview.port=Number(n.port)),n.host!==void 0&&(i.preview=i.preview||{},i.preview.host=n.host);let a=performance.now(),o=(await(0,s.preview)(i)).resolvedUrls;console.log(r.c(o?.local?.[0]??`http://localhost:${n.port??4173}`,o?.network?.[0]??null,{readyIn:performance.now()-a}))}catch(e){(0,o.error)(`Failed to start preview server:`,e),process.exit(1)}}exports.buildAction=u,exports.previewAction=d;
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{l as e,n as t}from"./node-BFNCsPs3.mjs";import{t as n}from"./routes-BL4y79tb.mjs";import{o as r,t as i}from"./update-check-QnrVR3q1.mjs";import a from"node:path";import o from"node:fs";import{randomUUID as s}from"node:crypto";import{error as c}from"@bdocs/dui";import{createServer as l}from"@bdocs/ssg/node";function u(e,t,n=e=>process.exit(e)){let r=!1;return{async shutdown(i){if(!r){r=!0;try{await e()}finally{t(),i!==void 0&&n(i)}}},isShuttingDown(){return r}}}function d(e){try{let t=Number.parseInt(o.readFileSync(e,`utf8`).trim(),10);return Number.isInteger(t)&&t>0?t:null}catch{return null}}function f(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function p(e){let t=a.join(e,`.boltdocs`,`dev-server.lock`);for(o.mkdirSync(a.dirname(t),{recursive:!0});;)try{let e=o.openSync(t,`wx`);o.writeFileSync(e,`${process.pid}\n`),o.closeSync(e);let n=!1;return{release(){if(!n){n=!0;try{d(t)===process.pid&&o.unlinkSync(t)}catch{}}}}}catch(e){if(e.code!==`EEXIST`)throw e;let n=d(t);if(n&&f(n))throw Error(`A Boltdocs dev server is already running for this project (pid ${n})`);let r=`${t}.stale-${process.pid}-${s()}`;try{o.renameSync(t,r),o.unlinkSync(r)}catch(e){try{o.existsSync(r)&&o.unlinkSync(r)}catch{}if(e.code===`ENOENT`)continue;throw Error(`Could not recover stale Boltdocs dev lock: ${t}`)}}}let m=!1;async function h(o=process.cwd(),s={}){if(m)return;m=!0;let d=null,f=null,h=()=>{};i();let g,_=process.env.BOLTDOCS_DEBUG===`true`,v=performance.now();try{d=p(o),_&&console.log(`[boltdocs-dev] acquireLock: ${Math.round(performance.now()-v)}ms`);let i=performance.now(),y=performance.now(),b=await t(o,`development`,void 0,{skipTypes:!0,skipLinkTree:!0,skipRoutes:!0});g=b.__boltdocsConfig,_&&console.log(`[boltdocs-dev] createViteConfig: ${Math.round(performance.now()-y)}ms`),b.logLevel=`warn`,b.clearScreen=!1,s.port!==void 0&&(b.server=b.server||{},b.server.port=Number(s.port)),s.host!==void 0&&(b.server=b.server||{},b.server.host=s.host),s.force&&(b.optimizeDeps=b.optimizeDeps||{},b.optimizeDeps.force=!0);let x=performance.now();f=await l(b,{skipResolveConfig:!0}),_&&console.log(`[boltdocs-dev] createServer: ${Math.round(performance.now()-x)}ms`),h=()=>{process.off(`SIGINT`,C),process.off(`SIGTERM`,w)};let S=u(()=>f.close(),()=>{m=!1,d?.release(),h()}),C=()=>{S.shutdown(0)},w=()=>{S.shutdown(143)};process.once(`SIGINT`,C),process.once(`SIGTERM`,w);let T=performance.now();try{await f.listen()}catch(e){throw h(),e}_&&console.log(`[boltdocs-dev] server.listen: ${Math.round(performance.now()-T)}ms`),f.httpServer?.once(`close`,()=>{h(),m=!1,d?.release()}),e(g,o),n(g?.docsDir||a.resolve(o,`docs`),g).catch(e=>{c(`Background route generation failed:`,e)});let E=performance.now()-i;_&&console.log(`[boltdocs-dev] total startup: ${Math.round(E)}ms`);let D=f.resolvedUrls;console.log(r(D?.local?.[0]??`http://localhost:${s.port??5173}`,D?.network?.[0]??null,{readyIn:E})),f.bindCLIShortcuts({print:!1})}catch(e){if(h(),f)try{await f.close()}catch{}m=!1,d?.release(),c(`Failed to start dev server:`,e),process.exit(1)}}export{h as devAction};
6
+ import{l as e,n as t}from"./node-CK5-Ta83.mjs";import{t as n}from"./routes-BL4y79tb.mjs";import{o as r,t as i}from"./update-check-QnrVR3q1.mjs";import a from"node:path";import o from"node:fs";import{randomUUID as s}from"node:crypto";import{error as c}from"@bdocs/dui";import{createServer as l}from"@bdocs/ssg/node";function u(e,t,n=e=>process.exit(e)){let r=!1;return{async shutdown(i){if(!r){r=!0;try{await e()}finally{t(),i!==void 0&&n(i)}}},isShuttingDown(){return r}}}function d(e){try{let t=Number.parseInt(o.readFileSync(e,`utf8`).trim(),10);return Number.isInteger(t)&&t>0?t:null}catch{return null}}function f(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function p(e){let t=a.join(e,`.boltdocs`,`dev-server.lock`);for(o.mkdirSync(a.dirname(t),{recursive:!0});;)try{let e=o.openSync(t,`wx`);o.writeFileSync(e,`${process.pid}\n`),o.closeSync(e);let n=!1;return{release(){if(!n){n=!0;try{d(t)===process.pid&&o.unlinkSync(t)}catch{}}}}}catch(e){if(e.code!==`EEXIST`)throw e;let n=d(t);if(n&&f(n))throw Error(`A Boltdocs dev server is already running for this project (pid ${n})`);let r=`${t}.stale-${process.pid}-${s()}`;try{o.renameSync(t,r),o.unlinkSync(r)}catch(e){try{o.existsSync(r)&&o.unlinkSync(r)}catch{}if(e.code===`ENOENT`)continue;throw Error(`Could not recover stale Boltdocs dev lock: ${t}`)}}}let m=!1;async function h(o=process.cwd(),s={}){if(m)return;m=!0;let d=null,f=null,h=()=>{};i();let g,_=process.env.BOLTDOCS_DEBUG===`true`,v=performance.now();try{d=p(o),_&&console.log(`[boltdocs-dev] acquireLock: ${Math.round(performance.now()-v)}ms`);let i=performance.now(),y=performance.now(),b=await t(o,`development`,void 0,{skipTypes:!0,skipLinkTree:!0,skipRoutes:!0});g=b.__boltdocsConfig,_&&console.log(`[boltdocs-dev] createViteConfig: ${Math.round(performance.now()-y)}ms`),b.logLevel=`warn`,b.clearScreen=!1,s.port!==void 0&&(b.server=b.server||{},b.server.port=Number(s.port)),s.host!==void 0&&(b.server=b.server||{},b.server.host=s.host),s.force&&(b.optimizeDeps=b.optimizeDeps||{},b.optimizeDeps.force=!0);let x=performance.now();f=await l(b,{skipResolveConfig:!0}),_&&console.log(`[boltdocs-dev] createServer: ${Math.round(performance.now()-x)}ms`),h=()=>{process.off(`SIGINT`,C),process.off(`SIGTERM`,w)};let S=u(()=>f.close(),()=>{m=!1,d?.release(),h()}),C=()=>{S.shutdown(0)},w=()=>{S.shutdown(143)};process.once(`SIGINT`,C),process.once(`SIGTERM`,w);let T=performance.now();try{await f.listen()}catch(e){throw h(),e}_&&console.log(`[boltdocs-dev] server.listen: ${Math.round(performance.now()-T)}ms`),f.httpServer?.once(`close`,()=>{h(),m=!1,d?.release()}),e(g,o),n(g?.docsDir||a.resolve(o,`docs`),g).catch(e=>{c(`Background route generation failed:`,e)});let E=performance.now()-i;_&&console.log(`[boltdocs-dev] total startup: ${Math.round(E)}ms`);let D=f.resolvedUrls;console.log(r(D?.local?.[0]??`http://localhost:${s.port??5173}`,D?.network?.[0]??null,{readyIn:E})),f.bindCLIShortcuts({print:!1})}catch(e){if(h(),f)try{await f.close()}catch{}m=!1,d?.release(),c(`Failed to start dev server:`,e),process.exit(1)}}export{h as devAction};
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-TpmWEqXM.cjs`),n=require(`./routes-U9L8psZ9.cjs`),r=require(`./update-check-BKqmYfwT.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`node:crypto`),s=require(`@bdocs/dui`),c=require(`@bdocs/ssg/node`);function l(e,t,n=e=>process.exit(e)){let r=!1;return{async shutdown(i){if(!r){r=!0;try{await e()}finally{t(),i!==void 0&&n(i)}}},isShuttingDown(){return r}}}function u(e){try{let t=Number.parseInt(a.default.readFileSync(e,`utf8`).trim(),10);return Number.isInteger(t)&&t>0?t:null}catch{return null}}function d(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function f(e){let t=i.default.join(e,`.boltdocs`,`dev-server.lock`);for(a.default.mkdirSync(i.default.dirname(t),{recursive:!0});;)try{let e=a.default.openSync(t,`wx`);a.default.writeFileSync(e,`${process.pid}\n`),a.default.closeSync(e);let n=!1;return{release(){if(!n){n=!0;try{u(t)===process.pid&&a.default.unlinkSync(t)}catch{}}}}}catch(e){if(e.code!==`EEXIST`)throw e;let n=u(t);if(n&&d(n))throw Error(`A Boltdocs dev server is already running for this project (pid ${n})`);let r=`${t}.stale-${process.pid}-${(0,o.randomUUID)()}`;try{a.default.renameSync(t,r),a.default.unlinkSync(r)}catch(e){try{a.default.existsSync(r)&&a.default.unlinkSync(r)}catch{}if(e.code===`ENOENT`)continue;throw Error(`Could not recover stale Boltdocs dev lock: ${t}`)}}}let p=!1;async function m(e=process.cwd(),a={}){if(p)return;p=!0;let o=null,u=null,d=()=>{};r.t();let m,h=process.env.BOLTDOCS_DEBUG===`true`,g=performance.now();try{o=f(e),h&&console.log(`[boltdocs-dev] acquireLock: ${Math.round(performance.now()-g)}ms`);let _=performance.now(),v=performance.now(),y=await t.n(e,`development`,void 0,{skipTypes:!0,skipLinkTree:!0,skipRoutes:!0});m=y.__boltdocsConfig,h&&console.log(`[boltdocs-dev] createViteConfig: ${Math.round(performance.now()-v)}ms`),y.logLevel=`warn`,y.clearScreen=!1,a.port!==void 0&&(y.server=y.server||{},y.server.port=Number(a.port)),a.host!==void 0&&(y.server=y.server||{},y.server.host=a.host),a.force&&(y.optimizeDeps=y.optimizeDeps||{},y.optimizeDeps.force=!0);let b=performance.now();u=await(0,c.createServer)(y,{skipResolveConfig:!0}),h&&console.log(`[boltdocs-dev] createServer: ${Math.round(performance.now()-b)}ms`),d=()=>{process.off(`SIGINT`,S),process.off(`SIGTERM`,C)};let x=l(()=>u.close(),()=>{p=!1,o?.release(),d()}),S=()=>{x.shutdown(0)},C=()=>{x.shutdown(143)};process.once(`SIGINT`,S),process.once(`SIGTERM`,C);let w=performance.now();try{await u.listen()}catch(e){throw d(),e}h&&console.log(`[boltdocs-dev] server.listen: ${Math.round(performance.now()-w)}ms`),u.httpServer?.once(`close`,()=>{d(),p=!1,o?.release()}),t.l(m,e),n.t(m?.docsDir||i.default.resolve(e,`docs`),m).catch(e=>{(0,s.error)(`Background route generation failed:`,e)});let T=performance.now()-_;h&&console.log(`[boltdocs-dev] total startup: ${Math.round(T)}ms`);let E=u.resolvedUrls;console.log(r.o(E?.local?.[0]??`http://localhost:${a.port??5173}`,E?.network?.[0]??null,{readyIn:T})),u.bindCLIShortcuts({print:!1})}catch(e){if(d(),u)try{await u.close()}catch{}p=!1,o?.release(),(0,s.error)(`Failed to start dev server:`,e),process.exit(1)}}exports.devAction=m;
6
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-CWf8IF1Q.cjs`),n=require(`./routes-U9L8psZ9.cjs`),r=require(`./update-check-BKqmYfwT.cjs`);let i=require(`node:path`);i=e.r(i);let a=require(`node:fs`);a=e.r(a);let o=require(`node:crypto`),s=require(`@bdocs/dui`),c=require(`@bdocs/ssg/node`);function l(e,t,n=e=>process.exit(e)){let r=!1;return{async shutdown(i){if(!r){r=!0;try{await e()}finally{t(),i!==void 0&&n(i)}}},isShuttingDown(){return r}}}function u(e){try{let t=Number.parseInt(a.default.readFileSync(e,`utf8`).trim(),10);return Number.isInteger(t)&&t>0?t:null}catch{return null}}function d(e){try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function f(e){let t=i.default.join(e,`.boltdocs`,`dev-server.lock`);for(a.default.mkdirSync(i.default.dirname(t),{recursive:!0});;)try{let e=a.default.openSync(t,`wx`);a.default.writeFileSync(e,`${process.pid}\n`),a.default.closeSync(e);let n=!1;return{release(){if(!n){n=!0;try{u(t)===process.pid&&a.default.unlinkSync(t)}catch{}}}}}catch(e){if(e.code!==`EEXIST`)throw e;let n=u(t);if(n&&d(n))throw Error(`A Boltdocs dev server is already running for this project (pid ${n})`);let r=`${t}.stale-${process.pid}-${(0,o.randomUUID)()}`;try{a.default.renameSync(t,r),a.default.unlinkSync(r)}catch(e){try{a.default.existsSync(r)&&a.default.unlinkSync(r)}catch{}if(e.code===`ENOENT`)continue;throw Error(`Could not recover stale Boltdocs dev lock: ${t}`)}}}let p=!1;async function m(e=process.cwd(),a={}){if(p)return;p=!0;let o=null,u=null,d=()=>{};r.t();let m,h=process.env.BOLTDOCS_DEBUG===`true`,g=performance.now();try{o=f(e),h&&console.log(`[boltdocs-dev] acquireLock: ${Math.round(performance.now()-g)}ms`);let _=performance.now(),v=performance.now(),y=await t.n(e,`development`,void 0,{skipTypes:!0,skipLinkTree:!0,skipRoutes:!0});m=y.__boltdocsConfig,h&&console.log(`[boltdocs-dev] createViteConfig: ${Math.round(performance.now()-v)}ms`),y.logLevel=`warn`,y.clearScreen=!1,a.port!==void 0&&(y.server=y.server||{},y.server.port=Number(a.port)),a.host!==void 0&&(y.server=y.server||{},y.server.host=a.host),a.force&&(y.optimizeDeps=y.optimizeDeps||{},y.optimizeDeps.force=!0);let b=performance.now();u=await(0,c.createServer)(y,{skipResolveConfig:!0}),h&&console.log(`[boltdocs-dev] createServer: ${Math.round(performance.now()-b)}ms`),d=()=>{process.off(`SIGINT`,S),process.off(`SIGTERM`,C)};let x=l(()=>u.close(),()=>{p=!1,o?.release(),d()}),S=()=>{x.shutdown(0)},C=()=>{x.shutdown(143)};process.once(`SIGINT`,S),process.once(`SIGTERM`,C);let w=performance.now();try{await u.listen()}catch(e){throw d(),e}h&&console.log(`[boltdocs-dev] server.listen: ${Math.round(performance.now()-w)}ms`),u.httpServer?.once(`close`,()=>{d(),p=!1,o?.release()}),t.l(m,e),n.t(m?.docsDir||i.default.resolve(e,`docs`),m).catch(e=>{(0,s.error)(`Background route generation failed:`,e)});let T=performance.now()-_;h&&console.log(`[boltdocs-dev] total startup: ${Math.round(T)}ms`);let E=u.resolvedUrls;console.log(r.o(E?.local?.[0]??`http://localhost:${a.port??5173}`,E?.network?.[0]??null,{readyIn:T})),u.bindCLIShortcuts({print:!1})}catch(e){if(d(),u)try{await u.close()}catch{}p=!1,o?.release(),(0,s.error)(`Failed to start dev server:`,e),process.exit(1)}}exports.devAction=m;
@@ -4,4 +4,4 @@
4
4
  * Copyright (c) 2026 Jesus Alcala
5
5
  * Licensed under the MIT License.
6
6
  */
7
- const e=require(`../chunk-D1Md3oWO.cjs`);let t=require(`node:path`);t=e.r(t);let n=require(`node:fs`);n=e.r(n);let r=require(`node:fs/promises`);r=e.r(r);let i=require(`node:module`),a=require(`cac`);a=e.r(a);function o(e){let r=e;for(;r&&r!==t.default.dirname(r);){if(n.default.existsSync(t.default.join(r,`.git`))||n.default.existsSync(t.default.join(r,`pnpm-workspace.yaml`)))return r;r=t.default.dirname(r)}r=e;let i=e;for(;r&&r!==t.default.dirname(r);)n.default.existsSync(t.default.join(r,`package.json`))&&(i=r),r=t.default.dirname(r);return i}let s=o(process.cwd());function c(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.default.resolve(s,n),i=t.default.relative(s,r),a=i.startsWith(`..`)||t.default.isAbsolute(i),o=r.split(t.default.sep),c=o.some(e=>e.startsWith(`.env`)),l=o.some((e,t)=>{if(e===`node_modules`){let e=o[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function l(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function u(){let e=n.default.writeFile;n.default.writeFile=((t,...r)=>{try{c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n.default,t,...r)});let t=n.default.writeFileSync;n.default.writeFileSync=(e,...r)=>(c(e),t.call(n.default,e,...r));let i=n.default.rm;n.default.rm=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n.default,e,...t)});let a=n.default.rmSync;n.default.rmSync=(e,...t)=>(c(e),a.call(n.default,e,...t));let o=n.default.unlink;n.default.unlink=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n.default,e,...t)});let s=n.default.unlinkSync;n.default.unlinkSync=(e,...t)=>(c(e),s.call(n.default,e,...t));let u=n.default.mkdir;n.default.mkdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n.default,e,...t)});let d=n.default.mkdirSync;n.default.mkdirSync=(e,...t)=>(c(e),d.call(n.default,e,...t));let f=n.default.rmdir;n.default.rmdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n.default,e,...t)});let p=n.default.rmdirSync;n.default.rmdirSync=(e,...t)=>(c(e),p.call(n.default,e,...t));let m=n.default.appendFile;n.default.appendFile=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n.default,e,...t)});let h=n.default.appendFileSync;n.default.appendFileSync=(e,...t)=>(c(e),h.call(n.default,e,...t));let g=n.default.copyFile;n.default.copyFile=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n.default,e,t,...r)});let _=n.default.copyFileSync;n.default.copyFileSync=(e,t,...r)=>(c(e),c(t),_.call(n.default,e,t,...r));let v=n.default.rename;n.default.rename=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n.default,e,t,...r)});let y=n.default.renameSync;n.default.renameSync=(e,t,...r)=>(c(e),c(t),y.call(n.default,e,t,...r));let b=n.default.createWriteStream;n.default.createWriteStream=(e,...t)=>(c(e),b.call(n.default,e,...t));let x=n.default.open;n.default.open=((e,t,...r)=>{if(l(typeof t==`function`?void 0:t))try{c(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n.default,e,t,...r)});let S=n.default.openSync;n.default.openSync=(e,t,...r)=>(l(t)&&c(e),S.call(n.default,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(c(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(c(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(c(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(c(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(c(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(c(t),o.call(e,t,...n)));let s=e.copyFile;s&&(e.copyFile=async(t,n,...r)=>(c(t),c(n),s.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(c(t),c(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(l(n)&&c(t),d.call(e,t,n,...r)))};C(n.default.promises),C(r.default)}const{emitWarning:d}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(d,process,[e,...t])},u();const f=[`theme`,`dev`].join(`:`);let p=!1;async function m(){if(p)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),p=!0}const h=(0,a.default)(`boltdocs`);h.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await m();let{devAction:t}=await Promise.resolve().then(()=>require(`../dev-B9l7fVoQ.cjs`));return t(...e)}),h.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===f)throw Error(`Unknown command: ${f}`);await m();let{devAction:n}=await Promise.resolve().then(()=>require(`../dev-B9l7fVoQ.cjs`));return n(e,t)}),h.command(`build [root]`,`Build for production`).action(async(...e)=>{await m();let{buildAction:t}=await Promise.resolve().then(()=>require(`../build-D6FfNA8m.cjs`));return t(...e)}),h.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await m();let{previewAction:t}=await Promise.resolve().then(()=>require(`../build-D6FfNA8m.cjs`));return t(...e)}),h.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await Promise.resolve().then(()=>require(`../audit-COgjnQ5n.cjs`));return t(...e)}),h.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await m();let{doctorAction:n}=await Promise.resolve().then(()=>require(`../doctor-B1_YL0Wt.cjs`));await n(e,t)}),h.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await m();let{generateChangelog:n}=await Promise.resolve().then(()=>require(`../generator-BlW45ST7.cjs`));await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const g=(0,i.createRequire)(require(`url`).pathToFileURL(__filename).href)(`../../package.json`);h.version(g.version),h.parse();
7
+ const e=require(`../chunk-D1Md3oWO.cjs`);let t=require(`node:path`);t=e.r(t);let n=require(`node:fs`);n=e.r(n);let r=require(`node:fs/promises`);r=e.r(r);let i=require(`node:module`),a=require(`cac`);a=e.r(a);function o(e){let r=e;for(;r&&r!==t.default.dirname(r);){if(n.default.existsSync(t.default.join(r,`.git`))||n.default.existsSync(t.default.join(r,`pnpm-workspace.yaml`)))return r;r=t.default.dirname(r)}r=e;let i=e;for(;r&&r!==t.default.dirname(r);)n.default.existsSync(t.default.join(r,`package.json`))&&(i=r),r=t.default.dirname(r);return i}let s=o(process.cwd());function c(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.default.resolve(s,n),i=t.default.relative(s,r),a=i.startsWith(`..`)||t.default.isAbsolute(i),o=r.split(t.default.sep),c=o.some(e=>e.startsWith(`.env`)),l=o.some((e,t)=>{if(e===`node_modules`){let e=o[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function l(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function u(){let e=n.default.writeFile;n.default.writeFile=((t,...r)=>{try{c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n.default,t,...r)});let t=n.default.writeFileSync;n.default.writeFileSync=(e,...r)=>(c(e),t.call(n.default,e,...r));let i=n.default.rm;n.default.rm=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n.default,e,...t)});let a=n.default.rmSync;n.default.rmSync=(e,...t)=>(c(e),a.call(n.default,e,...t));let o=n.default.unlink;n.default.unlink=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n.default,e,...t)});let s=n.default.unlinkSync;n.default.unlinkSync=(e,...t)=>(c(e),s.call(n.default,e,...t));let u=n.default.mkdir;n.default.mkdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n.default,e,...t)});let d=n.default.mkdirSync;n.default.mkdirSync=(e,...t)=>(c(e),d.call(n.default,e,...t));let f=n.default.rmdir;n.default.rmdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n.default,e,...t)});let p=n.default.rmdirSync;n.default.rmdirSync=(e,...t)=>(c(e),p.call(n.default,e,...t));let m=n.default.appendFile;n.default.appendFile=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n.default,e,...t)});let h=n.default.appendFileSync;n.default.appendFileSync=(e,...t)=>(c(e),h.call(n.default,e,...t));let g=n.default.copyFile;n.default.copyFile=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n.default,e,t,...r)});let _=n.default.copyFileSync;n.default.copyFileSync=(e,t,...r)=>(c(e),c(t),_.call(n.default,e,t,...r));let v=n.default.rename;n.default.rename=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n.default,e,t,...r)});let y=n.default.renameSync;n.default.renameSync=(e,t,...r)=>(c(e),c(t),y.call(n.default,e,t,...r));let b=n.default.createWriteStream;n.default.createWriteStream=(e,...t)=>(c(e),b.call(n.default,e,...t));let x=n.default.open;n.default.open=((e,t,...r)=>{if(l(typeof t==`function`?void 0:t))try{c(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n.default,e,t,...r)});let S=n.default.openSync;n.default.openSync=(e,t,...r)=>(l(t)&&c(e),S.call(n.default,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(c(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(c(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(c(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(c(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(c(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(c(t),o.call(e,t,...n)));let s=e.copyFile;s&&(e.copyFile=async(t,n,...r)=>(c(t),c(n),s.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(c(t),c(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(l(n)&&c(t),d.call(e,t,n,...r)))};C(n.default.promises),C(r.default)}const{emitWarning:d}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(d,process,[e,...t])},u();const f=[`theme`,`dev`].join(`:`);let p=!1;async function m(){if(p)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),p=!0}const h=(0,a.default)(`boltdocs`);h.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await m();let{devAction:t}=await Promise.resolve().then(()=>require(`../dev-DcLratiC.cjs`));return t(...e)}),h.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===f)throw Error(`Unknown command: ${f}`);await m();let{devAction:n}=await Promise.resolve().then(()=>require(`../dev-DcLratiC.cjs`));return n(e,t)}),h.command(`build [root]`,`Build for production`).action(async(...e)=>{await m();let{buildAction:t}=await Promise.resolve().then(()=>require(`../build-DERe6o5Y.cjs`));return t(...e)}),h.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await m();let{previewAction:t}=await Promise.resolve().then(()=>require(`../build-DERe6o5Y.cjs`));return t(...e)}),h.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await Promise.resolve().then(()=>require(`../audit-COgjnQ5n.cjs`));return t(...e)}),h.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await m();let{doctorAction:n}=await Promise.resolve().then(()=>require(`../doctor-B1_YL0Wt.cjs`));await n(e,t)}),h.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await m();let{generateChangelog:n}=await Promise.resolve().then(()=>require(`../generator-BlW45ST7.cjs`));await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const g=(0,i.createRequire)(require(`url`).pathToFileURL(__filename).href)(`../../package.json`);h.version(g.version),h.parse();
@@ -4,4 +4,4 @@
4
4
  * Copyright (c) 2026 Jesus Alcala
5
5
  * Licensed under the MIT License.
6
6
  */
7
- import{createRequire as e}from"node:module";import t from"node:path";import n from"node:fs";import r from"node:fs/promises";import i from"cac";function a(e){let r=e;for(;r&&r!==t.dirname(r);){if(n.existsSync(t.join(r,`.git`))||n.existsSync(t.join(r,`pnpm-workspace.yaml`)))return r;r=t.dirname(r)}r=e;let i=e;for(;r&&r!==t.dirname(r);)n.existsSync(t.join(r,`package.json`))&&(i=r),r=t.dirname(r);return i}let o=a(process.cwd());function s(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.resolve(o,n),i=t.relative(o,r),a=i.startsWith(`..`)||t.isAbsolute(i),s=r.split(t.sep),c=s.some(e=>e.startsWith(`.env`)),l=s.some((e,t)=>{if(e===`node_modules`){let e=s[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function c(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function l(){let e=n.writeFile;n.writeFile=((t,...r)=>{try{s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n,t,...r)});let t=n.writeFileSync;n.writeFileSync=(e,...r)=>(s(e),t.call(n,e,...r));let i=n.rm;n.rm=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n,e,...t)});let a=n.rmSync;n.rmSync=(e,...t)=>(s(e),a.call(n,e,...t));let o=n.unlink;n.unlink=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n,e,...t)});let l=n.unlinkSync;n.unlinkSync=(e,...t)=>(s(e),l.call(n,e,...t));let u=n.mkdir;n.mkdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n,e,...t)});let d=n.mkdirSync;n.mkdirSync=(e,...t)=>(s(e),d.call(n,e,...t));let f=n.rmdir;n.rmdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n,e,...t)});let p=n.rmdirSync;n.rmdirSync=(e,...t)=>(s(e),p.call(n,e,...t));let m=n.appendFile;n.appendFile=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n,e,...t)});let h=n.appendFileSync;n.appendFileSync=(e,...t)=>(s(e),h.call(n,e,...t));let g=n.copyFile;n.copyFile=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n,e,t,...r)});let _=n.copyFileSync;n.copyFileSync=(e,t,...r)=>(s(e),s(t),_.call(n,e,t,...r));let v=n.rename;n.rename=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n,e,t,...r)});let y=n.renameSync;n.renameSync=(e,t,...r)=>(s(e),s(t),y.call(n,e,t,...r));let b=n.createWriteStream;n.createWriteStream=(e,...t)=>(s(e),b.call(n,e,...t));let x=n.open;n.open=((e,t,...r)=>{if(c(typeof t==`function`?void 0:t))try{s(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n,e,t,...r)});let S=n.openSync;n.openSync=(e,t,...r)=>(c(t)&&s(e),S.call(n,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(s(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(s(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(s(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(s(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(s(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(s(t),o.call(e,t,...n)));let l=e.copyFile;l&&(e.copyFile=async(t,n,...r)=>(s(t),s(n),l.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(s(t),s(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(c(n)&&s(t),d.call(e,t,n,...r)))};C(n.promises),C(r)}const{emitWarning:u}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(u,process,[e,...t])},l();const d=[`theme`,`dev`].join(`:`);let f=!1;async function p(){if(f)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),f=!0}const m=i(`boltdocs`);m.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await p();let{devAction:t}=await import(`../dev-CwOyh-wP.mjs`);return t(...e)}),m.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===d)throw Error(`Unknown command: ${d}`);await p();let{devAction:n}=await import(`../dev-CwOyh-wP.mjs`);return n(e,t)}),m.command(`build [root]`,`Build for production`).action(async(...e)=>{await p();let{buildAction:t}=await import(`../build-D_7SvwTh.mjs`);return t(...e)}),m.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await p();let{previewAction:t}=await import(`../build-D_7SvwTh.mjs`);return t(...e)}),m.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await import(`../audit-CLXjMzwQ.mjs`);return t(...e)}),m.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await p();let{doctorAction:n}=await import(`../doctor-DmQnml2k.mjs`).then(e=>e.t);await n(e,t)}),m.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await p();let{generateChangelog:n}=await import(`../generator-BwknNejd.mjs`);await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const h=e(import.meta.url)(`../../package.json`);m.version(h.version),m.parse();export{};
7
+ import{createRequire as e}from"node:module";import t from"node:path";import n from"node:fs";import r from"node:fs/promises";import i from"cac";function a(e){let r=e;for(;r&&r!==t.dirname(r);){if(n.existsSync(t.join(r,`.git`))||n.existsSync(t.join(r,`pnpm-workspace.yaml`)))return r;r=t.dirname(r)}r=e;let i=e;for(;r&&r!==t.dirname(r);)n.existsSync(t.join(r,`package.json`))&&(i=r),r=t.dirname(r);return i}let o=a(process.cwd());function s(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.resolve(o,n),i=t.relative(o,r),a=i.startsWith(`..`)||t.isAbsolute(i),s=r.split(t.sep),c=s.some(e=>e.startsWith(`.env`)),l=s.some((e,t)=>{if(e===`node_modules`){let e=s[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function c(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function l(){let e=n.writeFile;n.writeFile=((t,...r)=>{try{s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n,t,...r)});let t=n.writeFileSync;n.writeFileSync=(e,...r)=>(s(e),t.call(n,e,...r));let i=n.rm;n.rm=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n,e,...t)});let a=n.rmSync;n.rmSync=(e,...t)=>(s(e),a.call(n,e,...t));let o=n.unlink;n.unlink=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n,e,...t)});let l=n.unlinkSync;n.unlinkSync=(e,...t)=>(s(e),l.call(n,e,...t));let u=n.mkdir;n.mkdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n,e,...t)});let d=n.mkdirSync;n.mkdirSync=(e,...t)=>(s(e),d.call(n,e,...t));let f=n.rmdir;n.rmdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n,e,...t)});let p=n.rmdirSync;n.rmdirSync=(e,...t)=>(s(e),p.call(n,e,...t));let m=n.appendFile;n.appendFile=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n,e,...t)});let h=n.appendFileSync;n.appendFileSync=(e,...t)=>(s(e),h.call(n,e,...t));let g=n.copyFile;n.copyFile=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n,e,t,...r)});let _=n.copyFileSync;n.copyFileSync=(e,t,...r)=>(s(e),s(t),_.call(n,e,t,...r));let v=n.rename;n.rename=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n,e,t,...r)});let y=n.renameSync;n.renameSync=(e,t,...r)=>(s(e),s(t),y.call(n,e,t,...r));let b=n.createWriteStream;n.createWriteStream=(e,...t)=>(s(e),b.call(n,e,...t));let x=n.open;n.open=((e,t,...r)=>{if(c(typeof t==`function`?void 0:t))try{s(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n,e,t,...r)});let S=n.openSync;n.openSync=(e,t,...r)=>(c(t)&&s(e),S.call(n,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(s(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(s(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(s(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(s(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(s(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(s(t),o.call(e,t,...n)));let l=e.copyFile;l&&(e.copyFile=async(t,n,...r)=>(s(t),s(n),l.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(s(t),s(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(c(n)&&s(t),d.call(e,t,n,...r)))};C(n.promises),C(r)}const{emitWarning:u}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(u,process,[e,...t])},l();const d=[`theme`,`dev`].join(`:`);let f=!1;async function p(){if(f)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),f=!0}const m=i(`boltdocs`);m.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await p();let{devAction:t}=await import(`../dev-6y9dq8H7.mjs`);return t(...e)}),m.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===d)throw Error(`Unknown command: ${d}`);await p();let{devAction:n}=await import(`../dev-6y9dq8H7.mjs`);return n(e,t)}),m.command(`build [root]`,`Build for production`).action(async(...e)=>{await p();let{buildAction:t}=await import(`../build-Bp5RlslU.mjs`);return t(...e)}),m.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await p();let{previewAction:t}=await import(`../build-Bp5RlslU.mjs`);return t(...e)}),m.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await import(`../audit-CLXjMzwQ.mjs`);return t(...e)}),m.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await p();let{doctorAction:n}=await import(`../doctor-DmQnml2k.mjs`).then(e=>e.t);await n(e,t)}),m.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await p();let{generateChangelog:n}=await import(`../generator-BwknNejd.mjs`);await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const h=e(import.meta.url)(`../../package.json`);m.version(h.version),m.parse();export{};
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../node-TpmWEqXM.cjs`),t=require(`../utils-ej6_SjIZ.cjs`),n=require(`../plugin-context-C-l90hFt.cjs`),r=require(`./cache.cjs`),i=require(`../routes-U9L8psZ9.cjs`),a=require(`../config-Ceib-AOH.cjs`),o=require(`../handler-CDEoKARD.cjs`),s=require(`../adapters-Cp1Maurn.cjs`);exports.BoltdocsPluginStore=e.d,exports.PluginCompatibilityError=e.f,exports.PluginError=e.p,exports.PluginHookError=e.m,exports.PluginLifecycleManager=e.o,exports.PluginValidationError=e.h,exports.createArticleStructuredData=e.g,exports.createBreadcrumbStructuredData=e._,exports.createPlugin=e.i,exports.createStructuredData=e.v,exports.createViteConfig=e.n,exports.createWebSiteStructuredData=e.y,exports.default=e.t,exports.defineConfig=a.r,exports.definePlugin=e.a,exports.defineStructuredData=e.b,exports.flushCache=r.flushCache,exports.generateEntryCode=n.g,exports.generateRoutes=i.t,exports.handleAwsFeedback=s.t,exports.handleFeedback=o.t,exports.handleNetlifyFeedback=s.r,exports.handleVercelFeedback=s.i,exports.handleWebFeedback=s.n,exports.invalidateRouteCache=i.i,exports.normalizePath=t.u,exports.resolveConfig=a.t,exports.resolvePluginHook=e.s,exports.sanitizeFilename=t.f,exports.validatePlugins=e.u;var c=require(`@bdocs/unist-utils`);Object.keys(c).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return c[e]}})});
6
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../node-CWf8IF1Q.cjs`),t=require(`../utils-ej6_SjIZ.cjs`),n=require(`../plugin-context-C-l90hFt.cjs`),r=require(`./cache.cjs`),i=require(`../routes-U9L8psZ9.cjs`),a=require(`../config-Ceib-AOH.cjs`),o=require(`../handler-CDEoKARD.cjs`),s=require(`../adapters-Cp1Maurn.cjs`);exports.BoltdocsPluginStore=e.d,exports.PluginCompatibilityError=e.f,exports.PluginError=e.p,exports.PluginHookError=e.m,exports.PluginLifecycleManager=e.o,exports.PluginValidationError=e.h,exports.createArticleStructuredData=e.g,exports.createBreadcrumbStructuredData=e._,exports.createPlugin=e.i,exports.createStructuredData=e.v,exports.createViteConfig=e.n,exports.createWebSiteStructuredData=e.y,exports.default=e.t,exports.defineConfig=a.r,exports.definePlugin=e.a,exports.defineStructuredData=e.b,exports.flushCache=r.flushCache,exports.generateEntryCode=n.g,exports.generateRoutes=i.t,exports.handleAwsFeedback=s.t,exports.handleFeedback=o.t,exports.handleNetlifyFeedback=s.r,exports.handleVercelFeedback=s.i,exports.handleWebFeedback=s.n,exports.invalidateRouteCache=i.i,exports.normalizePath=t.u,exports.resolveConfig=a.t,exports.resolvePluginHook=e.s,exports.sanitizeFilename=t.f,exports.validatePlugins=e.u;var c=require(`@bdocs/unist-utils`);Object.keys(c).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return c[e]}})});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{g as e}from"../plugin-context-wqHNSZum.mjs";import{_ as t,a as n,b as r,d as i,f as a,g as o,h as s,i as c,m as l,n as u,p as d,r as f,s as p,t as m,u as h,v as g,y as _}from"../node-BFNCsPs3.mjs";import{f as v,u as y}from"../utils-8lzafE49.mjs";import{flushCache as b}from"./cache.mjs";import{r as x,t as S}from"../routes-BL4y79tb.mjs";import{i as C,n as w}from"../config-DGLQsy7y.mjs";import{t as T}from"../handler-D7UyZlPm.mjs";import{i as E,n as D,r as O,t as k}from"../adapters-BmB4TKCc.mjs";export*from"@bdocs/unist-utils";export{i as BoltdocsPluginStore,a as PluginCompatibilityError,d as PluginError,l as PluginHookError,n as PluginLifecycleManager,s as PluginValidationError,o as createArticleStructuredData,t as createBreadcrumbStructuredData,f as createPlugin,g as createStructuredData,u as createViteConfig,_ as createWebSiteStructuredData,m as default,C as defineConfig,c as definePlugin,r as defineStructuredData,b as flushCache,e as generateEntryCode,S as generateRoutes,k as handleAwsFeedback,T as handleFeedback,O as handleNetlifyFeedback,E as handleVercelFeedback,D as handleWebFeedback,x as invalidateRouteCache,y as normalizePath,w as resolveConfig,p as resolvePluginHook,v as sanitizeFilename,h as validatePlugins};
6
+ import{g as e}from"../plugin-context-wqHNSZum.mjs";import{_ as t,a as n,b as r,d as i,f as a,g as o,h as s,i as c,m as l,n as u,p as d,r as f,s as p,t as m,u as h,v as g,y as _}from"../node-CK5-Ta83.mjs";import{f as v,u as y}from"../utils-8lzafE49.mjs";import{flushCache as b}from"./cache.mjs";import{r as x,t as S}from"../routes-BL4y79tb.mjs";import{i as C,n as w}from"../config-DGLQsy7y.mjs";import{t as T}from"../handler-D7UyZlPm.mjs";import{i as E,n as D,r as O,t as k}from"../adapters-BmB4TKCc.mjs";export*from"@bdocs/unist-utils";export{i as BoltdocsPluginStore,a as PluginCompatibilityError,d as PluginError,l as PluginHookError,n as PluginLifecycleManager,s as PluginValidationError,o as createArticleStructuredData,t as createBreadcrumbStructuredData,f as createPlugin,g as createStructuredData,u as createViteConfig,_ as createWebSiteStructuredData,m as default,C as defineConfig,c as definePlugin,r as defineStructuredData,b as flushCache,e as generateEntryCode,S as generateRoutes,k as handleAwsFeedback,T as handleFeedback,O as handleNetlifyFeedback,E as handleVercelFeedback,D as handleWebFeedback,x as invalidateRouteCache,y as normalizePath,w as resolveConfig,p as resolvePluginHook,v as sanitizeFilename,h as validatePlugins};
@@ -20,4 +20,4 @@ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.inclu
20
20
 
21
21
  `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
22
  `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
- `)}var fe=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=ue(e.ssgRoutes,e.config),n=e.docsDir||x.resolve(e.root,`docs`),r=x.resolve(e.root,e.outDir);t&&S.writeFileSync(x.join(r,`sitemap.xml`),t,`utf-8`);let i=de(e.config);if(S.writeFileSync(x.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>q);await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function pe(){return new K().addStep(new V).addStep(new H).addParallelSteps([new W,new G]).addStep(new le).addStep(new fe)}var K=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}if(r.ssgSubSteps){for(let e of r.ssgSubSteps)t.push(e);delete r.ssgSubSteps}}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}},q=e({PluginLifecycleManager:()=>Y,resolvePluginHook:()=>J});const me={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function J(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=me[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var Y=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,r,i,a,o,s,c){this.plugins=e,this.config=t,this.store=new R,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd(),this.routes=i||[],this.outDir=a||`dist`,this.runtime=o??l(),this.routeCacheContext=s??m(this.docsDir),this.routeCacheVariant=c??f(this.routeCacheContext,p(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new K;for(let i of n)J(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=J(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new L(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>J(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=J(e,t);i&&await i(r,...n)}catch(n){let i=new L(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=J(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e.name,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>T.info(`${t} ${e}`),warn:e=>T.warn(`${t} ${e}`),error:e=>{T.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>T.debug(`${t} ${e}`)}}};function X(e){return t=>typeof e==`function`?e(t):e}function he(e){return typeof e==`function`?X(e):e}const Z=new Map;function ge(){let e=t;for(;e&&e!==x.parse(e).root;){let t=x.join(e,`package.json`);if(S.existsSync(t)){let n=``;try{n=JSON.parse(S.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=x.join(e,`src/client`);return S.existsSync(t)?t:void 0}}e=x.dirname(e)}}const _e=ge();function Q(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return x.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return x.resolve(e,r);let i=x.resolve(e,`public`),a=x.resolve(e,t?.docsDir||`docs`,`public`);return S.existsSync(i)||!S.existsSync(a)?i:a}function ve(e,t,n,r){return`${e}::${t}::${C.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:Q(e,r,n.publicDir)})).digest(`hex`)}`}async function ye(e){let{resolveConfig:t}=await import(`./config-DGLQsy7y.mjs`).then(e=>e.t),{generateRoutes:n,getExternalRoutePaths:r}=await import(`./routes-BL4y79tb.mjs`).then(e=>e.i),{generateProjectTypes:i,writeLinkTree:a}=await import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n),{boltdocsPlugin:o}=await import(`./plugin-CUmUZOLD.mjs`),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function $(e,t=`development`,n,r={}){let i=ve(e,t,r,n),a=Z.get(i);if(a)return a.config;let o=null,s=null,c=null,l=null,u=null;async function d(){if(u)return;let e=[import(`@vitejs/plugin-react`),import(`./plugin-CUmUZOLD.mjs`),import(`./resolve-C2kKnk_5.mjs`),import(`vite`).then(e=>({normalizePath:e.normalizePath}))],t=await Promise.all(e);o=t[0].default,s=t[1].boltdocsPlugin,c=t[1].getExternalAbsolutePaths,l=t[2].resolveSecurityHeaders,u=t[3].normalizePath}d();let f=n||await(async()=>{let{resolveConfig:t}=await import(`./config-DGLQsy7y.mjs`).then(e=>e.t);return t(`docs`,e)})(),p=x.resolve(e,f.docsDir||`docs`),m=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await import(`./routes-BL4y79tb.mjs`).then(e=>e.i);return e(p,f,void 0,!1)})()),h=t===`production`,g=(async()=>(await d(),l(f,h)))(),_=!r.skipTypes,v=!r.skipLinkTree;if(_||v){let[{generateRoutes:t,getExternalRoutePaths:n},{generateProjectTypes:r,writeLinkTree:i}]=await Promise.all([import(`./routes-BL4y79tb.mjs`).then(e=>e.i),import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n)]),a=m.map(e=>e.path),o=(f.base||`/docs`).replace(/\/$/,``);a.includes(o)||a.push(o);let s=n(p,f);for(let e of s)a.includes(e)||a.push(e);_&&r(f,p,e,a),v&&i(a)}let y=await g;await d();let b=[],S={};if(f.plugins)for(let e of f.plugins)e.css?.postcssPlugins&&b.push(...e.css.postcssPlugins),e.css?.preprocessorOptions&&Object.assign(S,e.css.preprocessorOptions);let C={root:e,mode:t,experimental:{bundledDev:!h&&process.env.BOLTDOCS_BUNDLED_DEV===`true`},oxc:{jsx:{development:!h,runtime:`automatic`,importSource:`react`}},optimizeDeps:{entries:[`index.html`],include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:b.length>0||Object.keys(S).length>0?{postcss:b.length>0?{plugins:b}:void 0,preprocessorOptions:Object.keys(S).length>0?S:void 0}:void 0,build:{},plugins:[ne(),o(),...s({docsDir:p,root:e,routes:m},f)],ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...c()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,...f.vite?.ssr?.optimizeDeps?.include??[]]},noExternal:[]},server:{watch:{ignored:[`**/.boltdocs/**`,...f.vite?.server?.watch?.ignored??[]]},headers:{...y,...f.vite?.server?.headers},...f.vite?.server},preview:{headers:{...y,...f.vite?.preview?.headers},...f.vite?.preview},...f.vite??{},resolve:{...f.vite?.resolve??{},alias:ae({root:e,clientSourceRoot:_e,aliases:[...O(f.aliases),...O(f.vite?.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:u(e.replacement)}:{}})),dedupe:[`react`,`react-dom`,`react-router-dom`,...f.vite?.resolve?.dedupe??[]]},base:f.base||`/`,publicDir:Q(e,f,r.publicDir)};return Z.set(i,{config:C}),C.__boltdocsConfig=f,C}export{N as _,Y as a,k as b,pe as c,R as d,I as f,M as g,F as h,X as i,B as l,L as m,$ as n,q as o,P as p,he as r,J as s,ye as t,ce as u,oe as v,A as y};
23
+ `)}var fe=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=ue(e.ssgRoutes,e.config),n=e.docsDir||x.resolve(e.root,`docs`),r=x.resolve(e.root,e.outDir);t&&S.writeFileSync(x.join(r,`sitemap.xml`),t,`utf-8`);let i=de(e.config);if(S.writeFileSync(x.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>q);await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function pe(){return new K().addStep(new V).addStep(new H).addParallelSteps([new W,new G]).addStep(new le).addStep(new fe)}var K=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}if(r.ssgSubSteps){for(let e of r.ssgSubSteps)t.push(e);delete r.ssgSubSteps}}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}},q=e({PluginLifecycleManager:()=>Y,resolvePluginHook:()=>J});const me={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function J(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=me[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var Y=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,r,i,a,o,s,c){this.plugins=e,this.config=t,this.store=new R,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd(),this.routes=i||[],this.outDir=a||`dist`,this.runtime=o??l(),this.routeCacheContext=s??m(this.docsDir),this.routeCacheVariant=c??f(this.routeCacheContext,p(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new K;for(let i of n)J(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=J(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new L(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>J(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=J(e,t);i&&await i(r,...n)}catch(n){let i=new L(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=J(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e.name,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:o(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:c(e,this.runtime),paths:s(this.docsDir,this.rootDir),virtualModules:a(this.runtime),middleware:n(this.runtime),hmr:i(this.runtime),server:r(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>T.info(`${t} ${e}`),warn:e=>T.warn(`${t} ${e}`),error:e=>{T.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>T.debug(`${t} ${e}`)}}};function X(e){return t=>typeof e==`function`?e(t):e}function he(e){return typeof e==`function`?X(e):e}const Z=new Map;function ge(){let e=t;for(;e&&e!==x.parse(e).root;){let t=x.join(e,`package.json`);if(S.existsSync(t)){let n=``;try{n=JSON.parse(S.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=x.join(e,`src/client`);return S.existsSync(t)?t:void 0}}e=x.dirname(e)}}const _e=ge();function Q(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return x.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return x.resolve(e,r);let i=x.resolve(e,`public`),a=x.resolve(e,t?.docsDir||`docs`,`public`);return S.existsSync(i)||!S.existsSync(a)?i:a}function ve(e,t,n,r){return`${e}::${t}::${C.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:Q(e,r,n.publicDir)})).digest(`hex`)}`}async function ye(e){let{resolveConfig:t}=await import(`./config-DGLQsy7y.mjs`).then(e=>e.t),{generateRoutes:n,getExternalRoutePaths:r}=await import(`./routes-BL4y79tb.mjs`).then(e=>e.i),{generateProjectTypes:i,writeLinkTree:a}=await import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n),{boltdocsPlugin:o}=await import(`./plugin-nTuM-Web.mjs`),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function $(e,t=`development`,n,r={}){let i=ve(e,t,r,n),a=Z.get(i);if(a)return a.config;let o=null,s=null,c=null,l=null,u=null;async function d(){if(u)return;let e=[import(`@vitejs/plugin-react`),import(`./plugin-nTuM-Web.mjs`),import(`./resolve-C2kKnk_5.mjs`),import(`vite`).then(e=>({normalizePath:e.normalizePath}))],t=await Promise.all(e);o=t[0].default,s=t[1].boltdocsPlugin,c=t[1].getExternalAbsolutePaths,l=t[2].resolveSecurityHeaders,u=t[3].normalizePath}d();let f=n||await(async()=>{let{resolveConfig:t}=await import(`./config-DGLQsy7y.mjs`).then(e=>e.t);return t(`docs`,e)})(),p=x.resolve(e,f.docsDir||`docs`),m=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await import(`./routes-BL4y79tb.mjs`).then(e=>e.i);return e(p,f,void 0,!1)})()),h=t===`production`,g=(async()=>(await d(),l(f,h)))(),_=!r.skipTypes,v=!r.skipLinkTree;if(_||v){let[{generateRoutes:t,getExternalRoutePaths:n},{generateProjectTypes:r,writeLinkTree:i}]=await Promise.all([import(`./routes-BL4y79tb.mjs`).then(e=>e.i),import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n)]),a=m.map(e=>e.path),o=(f.base||`/docs`).replace(/\/$/,``);a.includes(o)||a.push(o);let s=n(p,f);for(let e of s)a.includes(e)||a.push(e);_&&r(f,p,e,a),v&&i(a)}let y=await g;await d();let b=[],S={};if(f.plugins)for(let e of f.plugins)e.css?.postcssPlugins&&b.push(...e.css.postcssPlugins),e.css?.preprocessorOptions&&Object.assign(S,e.css.preprocessorOptions);let C={root:e,mode:t,experimental:{bundledDev:!h&&process.env.BOLTDOCS_BUNDLED_DEV===`true`},oxc:{jsx:{development:!h,runtime:`automatic`,importSource:`react`}},optimizeDeps:{entries:[`index.html`],include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:b.length>0||Object.keys(S).length>0?{postcss:b.length>0?{plugins:b}:void 0,preprocessorOptions:Object.keys(S).length>0?S:void 0}:void 0,build:{},plugins:[ne(),o(),...s({docsDir:p,root:e,routes:m},f)],ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...c()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,...f.vite?.ssr?.optimizeDeps?.include??[]]},noExternal:[]},server:{watch:{ignored:[`**/.boltdocs/**`,...f.vite?.server?.watch?.ignored??[]]},headers:{...y,...f.vite?.server?.headers},...f.vite?.server},preview:{headers:{...y,...f.vite?.preview?.headers},...f.vite?.preview},...f.vite??{},resolve:{...f.vite?.resolve??{},alias:ae({root:e,clientSourceRoot:_e,aliases:[...O(f.aliases),...O(f.vite?.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:u(e.replacement)}:{}})),dedupe:[`react`,`react-dom`,`react-router-dom`,...f.vite?.resolve?.dedupe??[]]},base:f.base||`/`,publicDir:Q(e,f,r.publicDir)};return Z.set(i,{config:C}),C.__boltdocsConfig=f,C}export{N as _,Y as a,k as b,pe as c,R as d,I as f,M as g,F as h,X as i,B as l,L as m,$ as n,q as o,P as p,he as r,J as s,ye as t,ce as u,oe as v,A as y};
@@ -20,4 +20,4 @@ ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.inclu
20
20
 
21
21
  `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
22
  `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
- `)}var V=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=ie(e.ssgRoutes,e.config),n=e.docsDir||d.default.resolve(e.root,`docs`),r=d.default.resolve(e.root,e.outDir);t&&f.default.writeFileSync(d.default.join(r,`sitemap.xml`),t,`utf-8`);let i=B(e.config);if(f.default.writeFileSync(d.default.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>require(`./plugin-lifecycle-BAKNKOxd.cjs`));await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function H(){return new U().addStep(new R).addStep(new z).addParallelSteps([new te,new ne]).addStep(new re).addStep(new V)}var U=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}if(r.ssgSubSteps){for(let e of r.ssgSubSteps)t.push(e);delete r.ssgSubSteps}}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}};const W={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function G(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=W[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var K=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,i,o,s,c,l,u){this.plugins=e,this.config=t,this.store=new N,this.docsDir=n||process.cwd(),this.rootDir=i||process.cwd(),this.routes=o||[],this.outDir=s||`dist`,this.runtime=c??r.u(),this.routeCacheContext=l??a.s(this.docsDir),this.routeCacheVariant=u??a.c(this.routeCacheContext,a.l(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new U;for(let i of n)G(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=G(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new M(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>G(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=G(e,t);i&&await i(r,...n)}catch(n){let i=new M(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=G(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e.name,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>h.info(`${t} ${e}`),warn:e=>h.warn(`${t} ${e}`),error:e=>{h.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>h.debug(`${t} ${e}`)}}};function q(e){return t=>typeof e==`function`?e(t):e}function J(e){return typeof e==`function`?q(e):e}var Y=e.t({BoltdocsPluginStore:()=>N,PluginCompatibilityError:()=>j,PluginError:()=>k,PluginHookError:()=>M,PluginLifecycleManager:()=>K,PluginValidationError:()=>A,createArticleStructuredData:()=>D,createBreadcrumbStructuredData:()=>O,createPlugin:()=>J,createStructuredData:()=>w,createViteConfig:()=>$,createWebSiteStructuredData:()=>T,default:()=>Q,defineConfig:()=>o.r,definePlugin:()=>q,defineStructuredData:()=>C,flushCache:()=>i.flushCache,generateEntryCode:()=>r.g,generateRoutes:()=>a.t,handleAwsFeedback:()=>u.t,handleFeedback:()=>l.t,handleNetlifyFeedback:()=>u.r,handleVercelFeedback:()=>u.i,handleWebFeedback:()=>u.n,invalidateRouteCache:()=>a.i,normalizePath:()=>t.u,resolveConfig:()=>o.t,resolvePluginHook:()=>G,sanitizeFilename:()=>t.f,validatePlugins:()=>F});const X=new Map;function ae(){let e=__dirname;for(;e&&e!==d.default.parse(e).root;){let t=d.default.join(e,`package.json`);if(f.default.existsSync(t)){let n=``;try{n=JSON.parse(f.default.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=d.default.join(e,`src/client`);return f.default.existsSync(t)?t:void 0}}e=d.default.dirname(e)}}const oe=ae();function Z(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return d.default.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return d.default.resolve(e,r);let i=d.default.resolve(e,`public`),a=d.default.resolve(e,t?.docsDir||`docs`,`public`);return f.default.existsSync(i)||!f.default.existsSync(a)?i:a}function se(e,t,n,r){return`${e}::${t}::${p.default.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:Z(e,r,n.publicDir)})).digest(`hex`)}`}async function Q(e){let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-jJh8WYJI.cjs`)),{generateRoutes:n,getExternalRoutePaths:r}=await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)),{generateProjectTypes:i,writeLinkTree:a}=await Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n),{boltdocsPlugin:o}=await Promise.resolve().then(()=>require(`./plugin-Ds3RLYpy.cjs`)),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function $(e,t=`development`,n,r={}){let i=se(e,t,r,n),a=X.get(i);if(a)return a.config;let o=null,s=null,c=null,l=null,u=null;async function f(){if(u)return;let e=[import(`@vitejs/plugin-react`),Promise.resolve().then(()=>require(`./plugin-Ds3RLYpy.cjs`)),Promise.resolve().then(()=>require(`./resolve-B7vWOd8R.cjs`)),import(`vite`).then(e=>({normalizePath:e.normalizePath}))],t=await Promise.all(e);o=t[0].default,s=t[1].boltdocsPlugin,c=t[1].getExternalAbsolutePaths,l=t[2].resolveSecurityHeaders,u=t[3].normalizePath}f();let p=n||await(async()=>{let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-jJh8WYJI.cjs`));return t(`docs`,e)})(),m=d.default.resolve(e,p.docsDir||`docs`),h=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`));return e(m,p,void 0,!1)})()),g=t===`production`,_=(async()=>(await f(),l(p,g)))(),y=!r.skipTypes,x=!r.skipLinkTree;if(y||x){let[{generateRoutes:t,getExternalRoutePaths:n},{generateProjectTypes:r,writeLinkTree:i}]=await Promise.all([Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)),Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n)]),a=h.map(e=>e.path),o=(p.base||`/docs`).replace(/\/$/,``);a.includes(o)||a.push(o);let s=n(m,p);for(let e of s)a.includes(e)||a.push(e);y&&r(p,m,e,a),x&&i(a)}let C=await _;await f();let w=[],T={};if(p.plugins)for(let e of p.plugins)e.css?.postcssPlugins&&w.push(...e.css.postcssPlugins),e.css?.preprocessorOptions&&Object.assign(T,e.css.preprocessorOptions);let E={root:e,mode:t,experimental:{bundledDev:!g&&process.env.BOLTDOCS_BUNDLED_DEV===`true`},oxc:{jsx:{development:!g,runtime:`automatic`,importSource:`react`}},optimizeDeps:{entries:[`index.html`],include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:w.length>0||Object.keys(T).length>0?{postcss:w.length>0?{plugins:w}:void 0,preprocessorOptions:Object.keys(T).length>0?T:void 0}:void 0,build:{},plugins:[v(),o(),...s({docsDir:m,root:e,routes:h},p)],ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...c()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,...p.vite?.ssr?.optimizeDeps?.include??[]]},noExternal:[]},server:{watch:{ignored:[`**/.boltdocs/**`,...p.vite?.server?.watch?.ignored??[]]},headers:{...C,...p.vite?.server?.headers},...p.vite?.server},preview:{headers:{...C,...p.vite?.preview?.headers},...p.vite?.preview},...p.vite??{},resolve:{...p.vite?.resolve??{},alias:S({root:e,clientSourceRoot:oe,aliases:[...b(p.aliases),...b(p.vite?.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:u(e.replacement)}:{}})),dedupe:[`react`,`react-dom`,`react-router-dom`,...p.vite?.resolve?.dedupe??[]]},base:p.base||`/`,publicDir:Z(e,p,r.publicDir)};return X.set(i,{config:E}),E.__boltdocsConfig=p,E}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return T}});
23
+ `)}var V=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=ie(e.ssgRoutes,e.config),n=e.docsDir||d.default.resolve(e.root,`docs`),r=d.default.resolve(e.root,e.outDir);t&&f.default.writeFileSync(d.default.join(r,`sitemap.xml`),t,`utf-8`);let i=B(e.config);if(f.default.writeFileSync(d.default.join(r,`robots.txt`),i,`utf-8`),e.config.plugins&&e.config.plugins.length>0){let{PluginLifecycleManager:t}=await Promise.resolve().then(()=>require(`./plugin-lifecycle-BxDTW53L.cjs`));await new t(e.config.plugins,e.config,n,e.root,e.routes??[],r).runHook(`build:generate`,{routes:e.routes??[],outDir:r,siteUrl:e.config.siteUrl})}}};function H(){return new U().addStep(new R).addStep(new z).addParallelSteps([new te,new ne]).addStep(new re).addStep(new V)}var U=class{steps=[];addStep(e){return this.steps.push(e),this}addParallelSteps(e){return this.steps.push(e),this}async run(e){let t=[],n=performance.now(),r={...e,timing:{}};for(let e of this.steps){let i=Array.isArray(e),a=i?e:[e],o=performance.now();try{i?await Promise.all(a.map(e=>e.execute(r))):await a[0].execute(r);let e=performance.now()-o;for(let n of a){let i=r.stepDetails?.[n.name];t.push({name:n.name,duration:e,success:!0,details:i}),r.timing[n.name]=e}if(r.ssgSubSteps){for(let e of r.ssgSubSteps)t.push(e);delete r.ssgSubSteps}}catch(e){let i=performance.now()-o,s=a.find(e=>!t.some(t=>t.name===e.name&&t.success))?.name||a.map(e=>e.name).join(` | `);t.push({name:s,duration:i,success:!1,error:e instanceof Error?e:Error(String(e))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.flat().find(t=>t.name===e.name);if(t?.rollback)try{await t.rollback(r)}catch(t){console.error(`[pipeline] rollback failed for step "${e.name}":`,t)}}let c=performance.now()-n;return{success:!1,failedStep:s,error:e instanceof Error?e:Error(String(e)),timing:{total:c,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}};const W={"build:before":`beforeBuild`,"build:after":`afterBuild`,"build:end":`buildEnd`,"dev:before":`beforeDev`,"dev:after":`afterDev`,"transform:source":`transformSource`,"transform:mdx":`transformMdx`,"transform:html":`transformHtml`,beforeBuild:`build:before`,afterBuild:`build:after`,buildEnd:`build:end`,beforeDev:`dev:before`,afterDev:`dev:after`,transformSource:`transform:source`,transformMdx:`transform:mdx`,transformHtml:`transform:html`};function G(e,t){if(!e.hooks)return;let n=e.hooks[t];if(typeof n==`function`)return n;let r=W[t];if(r){let t=e.hooks[r];if(typeof t==`function`)return t}}var K=class{plugins;config;store;docsDir;rootDir;routes;outDir;runtime;routeCacheContext;routeCacheVariant;constructor(e,t,n,i,o,s,c,l,u){this.plugins=e,this.config=t,this.store=new N,this.docsDir=n||process.cwd(),this.rootDir=i||process.cwd(),this.routes=o||[],this.outDir=s||`dist`,this.runtime=c??r.u(),this.routeCacheContext=l??a.s(this.docsDir),this.routeCacheVariant=u??a.c(this.routeCacheContext,a.l(t,t.base))}async runHook(e,...t){let n=this.getSortedPlugins(),r=new U;for(let i of n)G(i,e)&&r.addStep(this.createStep(i,e,t));await r.run({})}async runChain(e,t){let n=this.getSortedPlugins(),r=t;for(let t of n){let n=G(t,e);if(!n)continue;let i=this.createContext(t);try{let e=await n(i,r);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){r=e;break}r=e}}catch(n){let r=new M(t.name,e,n instanceof Error?n:Error(String(n)));i.logger.error(r),i.diagnostics.report(`error`,`PLUGIN_HOOK_ERROR`,r.message)}}return r}hasHook(e){return!!(this.plugins.some(t=>G(t,e))||this.plugins.flatMap(e=>e.middleware??[]).some(t=>t[e])||(e===`transformSource`||e===`transformMdx`||e===`transformHtml`)&&[...this.runtime.middlewareRegistry.values()].some(t=>t[e]))}async runMiddlewareChain(e,t){let n=this.plugins.flatMap(e=>e.middleware??[]),r=[...this.runtime.middlewareRegistry.values()],i=[...n,...r],a=[...i.filter(e=>e.enforce===`pre`),...i.filter(e=>!e.enforce),...i.filter(e=>e.enforce===`post`)],o=t;for(let t of a){let n=t[e];if(!n)continue;let r=this.createGenericContext();try{let e=await n(r,o);if(e!==void 0){let t=e.__signal;if(t===`break`)break;if(t===`skip`){o=e;break}o=e}}catch(e){let n=`Middleware '${t.name??`<unnamed>`}' threw: ${e instanceof Error?e.message:String(e)}`;r.logger.error(n),r.diagnostics.report(`error`,`MIDDLEWARE_ERROR`,n)}}return o}getSortedPlugins(){let e=this.plugins.filter(e=>e.enforce===`pre`),t=this.plugins.filter(e=>!e.enforce),n=this.plugins.filter(e=>e.enforce===`post`);return[...e,...t,...n]}createStep(e,t,n){return{name:`${e.name}:${String(t)}`,execute:async()=>{let r=this.createContext(e);try{let i=G(e,t);i&&await i(r,...n)}catch(n){let i=new M(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=G(e,`build:end`);if(t){let n=this.createContext(e);try{await t(n)}catch{}}}}}createContext(e){return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e.name),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e.name,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createGenericContext(){let e=`<middleware>`;return{config:Object.freeze({...this.config}),docsDir:this.docsDir,rootDir:this.rootDir,outDir:this.outDir,routes:this.routes,meta:{name:e},store:{get:(e,t)=>this.store.get(e,t),set:(e,t,n)=>this.store.set(e,t,n),has:(e,t)=>this.store.has(e,t)},logger:this.createLogger(e),caches:r.n(this.routeCacheContext,this.rootDir,this.routeCacheVariant),diagnostics:r.r(e,this.runtime),paths:r.o(this.docsDir,this.rootDir),virtualModules:r.l(this.runtime),middleware:r.a(this.runtime),hmr:r.i(this.runtime),server:r.c(this.runtime)}}createLogger(e){let t=`[plugin:${e}]`;return{info:e=>h.info(`${t} ${e}`),warn:e=>h.warn(`${t} ${e}`),error:e=>{h.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>h.debug(`${t} ${e}`)}}};function q(e){return t=>typeof e==`function`?e(t):e}function J(e){return typeof e==`function`?q(e):e}var Y=e.t({BoltdocsPluginStore:()=>N,PluginCompatibilityError:()=>j,PluginError:()=>k,PluginHookError:()=>M,PluginLifecycleManager:()=>K,PluginValidationError:()=>A,createArticleStructuredData:()=>D,createBreadcrumbStructuredData:()=>O,createPlugin:()=>J,createStructuredData:()=>w,createViteConfig:()=>$,createWebSiteStructuredData:()=>T,default:()=>Q,defineConfig:()=>o.r,definePlugin:()=>q,defineStructuredData:()=>C,flushCache:()=>i.flushCache,generateEntryCode:()=>r.g,generateRoutes:()=>a.t,handleAwsFeedback:()=>u.t,handleFeedback:()=>l.t,handleNetlifyFeedback:()=>u.r,handleVercelFeedback:()=>u.i,handleWebFeedback:()=>u.n,invalidateRouteCache:()=>a.i,normalizePath:()=>t.u,resolveConfig:()=>o.t,resolvePluginHook:()=>G,sanitizeFilename:()=>t.f,validatePlugins:()=>F});const X=new Map;function ae(){let e=__dirname;for(;e&&e!==d.default.parse(e).root;){let t=d.default.join(e,`package.json`);if(f.default.existsSync(t)){let n=``;try{n=JSON.parse(f.default.readFileSync(t,`utf-8`)).name||``}catch{n=``}if(n===`boltdocs`){let t=d.default.join(e,`src/client`);return f.default.existsSync(t)?t:void 0}}e=d.default.dirname(e)}}const oe=ae();function Z(e,t,n){if(n===!1)return!1;if(typeof n==`string`)return d.default.resolve(e,n);let r=t?.vite?.publicDir;if(r===!1)return!1;if(typeof r==`string`)return d.default.resolve(e,r);let i=d.default.resolve(e,`public`),a=d.default.resolve(e,t?.docsDir||`docs`,`public`);return f.default.existsSync(i)||!f.default.existsSync(a)?i:a}function se(e,t,n,r){return`${e}::${t}::${p.default.createHash(`md5`).update(JSON.stringify({root:e,mode:t,routeCount:n.routes?.length??0,skipTypes:n.skipTypes??!1,skipLinkTree:n.skipLinkTree??!1,skipRoutes:n.skipRoutes??!1,hasPreResolved:!!r,docsDir:r?.docsDir||`docs`,aliases:r?.aliases,viteAliases:r?.vite?.resolve?.alias,publicDir:Z(e,r,n.publicDir)})).digest(`hex`)}`}async function Q(e){let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-jJh8WYJI.cjs`)),{generateRoutes:n,getExternalRoutePaths:r}=await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)),{generateProjectTypes:i,writeLinkTree:a}=await Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n),{boltdocsPlugin:o}=await Promise.resolve().then(()=>require(`./plugin-BjXGLDgC.cjs`)),s=e?.docsDir||`docs`,c=await t(s),l=await n(s,c),u=l.map(e=>e.path),d=(c.base||`/docs`).replace(/\/$/,``);u.includes(d)||u.push(d);let f=r(s,c);for(let e of f)u.includes(e)||u.push(e);return i(c,s,void 0,u),a(u),o({...e,routes:e?.routes??l},c)}async function $(e,t=`development`,n,r={}){let i=se(e,t,r,n),a=X.get(i);if(a)return a.config;let o=null,s=null,c=null,l=null,u=null;async function f(){if(u)return;let e=[import(`@vitejs/plugin-react`),Promise.resolve().then(()=>require(`./plugin-BjXGLDgC.cjs`)),Promise.resolve().then(()=>require(`./resolve-B7vWOd8R.cjs`)),import(`vite`).then(e=>({normalizePath:e.normalizePath}))],t=await Promise.all(e);o=t[0].default,s=t[1].boltdocsPlugin,c=t[1].getExternalAbsolutePaths,l=t[2].resolveSecurityHeaders,u=t[3].normalizePath}f();let p=n||await(async()=>{let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-jJh8WYJI.cjs`));return t(`docs`,e)})(),m=d.default.resolve(e,p.docsDir||`docs`),h=r.routes??(r.skipRoutes?[]:await(async()=>{let{generateRoutes:e}=await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`));return e(m,p,void 0,!1)})()),g=t===`production`,_=(async()=>(await f(),l(p,g)))(),y=!r.skipTypes,x=!r.skipLinkTree;if(y||x){let[{generateRoutes:t,getExternalRoutePaths:n},{generateProjectTypes:r,writeLinkTree:i}]=await Promise.all([Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)),Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n)]),a=h.map(e=>e.path),o=(p.base||`/docs`).replace(/\/$/,``);a.includes(o)||a.push(o);let s=n(m,p);for(let e of s)a.includes(e)||a.push(e);y&&r(p,m,e,a),x&&i(a)}let C=await _;await f();let w=[],T={};if(p.plugins)for(let e of p.plugins)e.css?.postcssPlugins&&w.push(...e.css.postcssPlugins),e.css?.preprocessorOptions&&Object.assign(T,e.css.preprocessorOptions);let E={root:e,mode:t,experimental:{bundledDev:!g&&process.env.BOLTDOCS_BUNDLED_DEV===`true`},oxc:{jsx:{development:!g,runtime:`automatic`,importSource:`react`}},optimizeDeps:{entries:[`index.html`],include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},css:w.length>0||Object.keys(T).length>0?{postcss:w.length>0?{plugins:w}:void 0,preprocessorOptions:Object.keys(T).length>0?T:void 0}:void 0,build:{},plugins:[v(),o(),...s({docsDir:m,root:e,routes:h},p)],ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,...c()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,...p.vite?.ssr?.optimizeDeps?.include??[]]},noExternal:[]},server:{watch:{ignored:[`**/.boltdocs/**`,...p.vite?.server?.watch?.ignored??[]]},headers:{...C,...p.vite?.server?.headers},...p.vite?.server},preview:{headers:{...C,...p.vite?.preview?.headers},...p.vite?.preview},...p.vite??{},resolve:{...p.vite?.resolve??{},alias:S({root:e,clientSourceRoot:oe,aliases:[...b(p.aliases),...b(p.vite?.resolve?.alias)]}).map(e=>({...e,...typeof e.replacement==`string`?{replacement:u(e.replacement)}:{}})),dedupe:[`react`,`react-dom`,`react-router-dom`,...p.vite?.resolve?.dedupe??[]]},base:p.base||`/`,publicDir:Z(e,p,r.publicDir)};return X.set(i,{config:E}),E.__boltdocsConfig=p,E}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return T}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var e=`3.3.1`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
6
+ var e=`3.3.2`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var e=`3.3.1`;export{e as version};
6
+ var e=`3.3.2`;export{e as version};
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-TpmWEqXM.cjs`),n=require(`./utils-ej6_SjIZ.cjs`),r=require(`./pages-external-DPiPFxxP.cjs`),i=require(`./plugin-context-C-l90hFt.cjs`),a=require(`./routes-U9L8psZ9.cjs`),o=require(`./config-Ceib-AOH.cjs`),s=require(`./types-generator-DDSA93P3.cjs`),c=require(`./config-files-D9cdBMl2.cjs`),l=require(`./doctor-C7whl4ED.cjs`),u=require(`./virtual-modules-Ca5tHk1X.cjs`),d=require(`./csp-C4LmN1ko.cjs`);let f=require(`node:path`);f=e.r(f);let p=require(`node:fs`);p=e.r(p);let m=require(`node:crypto`);m=e.r(m);let h=require(`@bdocs/dui`),g=require(`node:module`),_=require(`vite`),v=require(`@bdocs/plugin-image-optimizer`),y=require(`@bdocs/processor-satteri/node`);function b(e){return`<!doctype html>
6
+ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-CWf8IF1Q.cjs`),n=require(`./utils-ej6_SjIZ.cjs`),r=require(`./pages-external-DPiPFxxP.cjs`),i=require(`./plugin-context-C-l90hFt.cjs`),a=require(`./routes-U9L8psZ9.cjs`),o=require(`./config-Ceib-AOH.cjs`),s=require(`./types-generator-DDSA93P3.cjs`),c=require(`./config-files-D9cdBMl2.cjs`),l=require(`./doctor-C7whl4ED.cjs`),u=require(`./virtual-modules-Ca5tHk1X.cjs`),d=require(`./csp-C4LmN1ko.cjs`);let f=require(`node:path`);f=e.r(f);let p=require(`node:fs`);p=e.r(p);let m=require(`node:crypto`);m=e.r(m);let h=require(`@bdocs/dui`),g=require(`node:module`),_=require(`vite`),v=require(`@bdocs/plugin-image-optimizer`),y=require(`@bdocs/processor-satteri/node`);function b(e){return`<!doctype html>
7
7
  <html lang="en">
8
8
  <head>
9
9
  <meta charset="UTF-8" />
@@ -66,4 +66,4 @@ const e=require(`./chunk-D1Md3oWO.cjs`),t=require(`./node-TpmWEqXM.cjs`),n=requi
66
66
  <\/script>
67
67
  `}function M(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function ee(e,t){return e.replace(`</head>`,` ${t}</head>`)}function N(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function P(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
68
68
  </body>`)}function te(e,t){(!e?.includes(`<body`)||!e.includes(`<head`))&&(e=b(t));let n=process.env.NODE_ENV===`production`,r=w(S(t),t),i=T(t.seo?.verification),a=E(t),o=D(),s=O(t.integrations?.analytics?.ga4,n),c=k(t.integrations?.analytics?.gtm,n),l=[i,a,r,s,A(t.integrations?.analytics?.vercel,n,t),j(t.integrations?.analytics?.posthog,n),c.script].filter(Boolean).join(`
69
- `);return e=M(e,o),e=ee(e,l),e=N(e,c.noScript),e=P(e),e}function F(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await Promise.resolve().then(()=>require(`./handler-CDEoKARD.cjs`)).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function ne(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(f.default.extname(a))return r();let o=e(),s=f.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=f.default.join(s,c,`index.html`);c!==`/`&&p.default.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const re=/\.(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;function ie(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(F(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(d.n).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,d.t(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!re.test(a)){let n=b(s);n=te(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const I=new WeakMap,L=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],ae=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function oe(e){for(let t=0;t<L.length;t++)if(L[t].test(e))return t;return L.length}function se(e){for(let t of ae)e.transformRequest(`/${t}`).catch(()=>{})}function ce(e,t,n,r){if(I.has(e))return;se(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`))).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>oe(e)-oe(t)),a=performance.now();for(let t=0;t<i.length;t+=8){let n=i.slice(t,t+8);await Promise.allSettled(n.map(t=>{let n=f.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}(process.env.BOLTDOCS_DEBUG===`true`||process.env.BOLTDOCS_BENCHMARK===`true`)&&console.log(`[boltdocs] prewarm done (${i.length} files) in ${Math.round(performance.now()-a)}ms`)}catch(e){process.env.BOLTDOCS_DEBUG===`true`&&console.warn(`[boltdocs] Prewarm failed:`,e)}finally{I.delete(e),i()}},1500)});I.set(e,i)}const le=[`tsx`,`jsx`],R=[`tsx`,`ts`,`jsx`,`js`];function ue(e,t){let n=f.default.resolve(e.config.root),r=e=>{let t=f.default.resolve(e);return t===n||t.startsWith(`${n}${f.default.sep}`)},i=[...c.t.map(e=>f.default.resolve(process.cwd(),e)),...le.map(e=>f.default.resolve(t,`layout.${e}`)),...R.map(e=>f.default.resolve(t,`mdx-components.${e}`)),...R.map(e=>f.default.resolve(t,`pages-external/index.${e}`)),...R.map(e=>f.default.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}const z=new Map;function B(e){let{lastUpdated:t,...n}=e;return m.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function de(e){try{let{data:t}=await n.d(e);return B(t)}catch{return``}}function fe(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??z,i=r.get(e);if(i===void 0){let o=(n?.docCache??t?.docCache??a.o).getStale(e);o?.route?.frontmatter&&(i=B(o.route.frontmatter),r.set(e,i))}return i}function pe(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??z).set(e,t)}function me(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??z).delete(e)}const V=[`tsx`,`ts`,`jsx`,`js`];function H(e,t){let n=[`\0virtual:boltdocs-${t}.ts`,`\0virtual:boltdocs-${t}.tsx`];for(let t of n){let n=e.moduleGraph.getModuleById(t);if(n){e.moduleGraph.invalidateModule(n);break}}}function he(e,t,r,o,d,p,m,g){let _=m&&!m.disposed?m:p?.routeCacheContext&&!p.routeCacheContext.disposed?p.routeCacheContext:a.s(t),v=g??a.c(_,a.l(o())),b=new Map,x=new Map,S=new Map,C=r.replace(/\/+$/,``).toLowerCase(),w=null;function T(){if(w)return w;w=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&w.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return w}e.watcher.on(`all`,()=>{w=null});function E(e,t){return S.get(e)===t}function D(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=T().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function O(r,i,a){if(!E(i,a))return;let o=n.u(f.default.relative(t,r)),s=D(i);E(i,a)&&(s?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:i,relPath:o}}):e.ws.send({type:`full-reload`}))}let k=async(r,f)=>{try{let m=n.u(r),g=(S.get(m)??0)+1;if(S.set(m,g),f===`add`||f===`unlink`){let e=b.get(m);e&&(clearTimeout(e),b.delete(m))}if(c.t.some(e=>m.endsWith(e))){e.restart();return}if(V.some(e=>m.endsWith(`mdx-components.${e}`))){s.t(o(),t),H(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(V.some(e=>m.endsWith(`icons.${e}`))){H(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`layout.tsx`)||m.endsWith(`layout.jsx`)){H(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`/post.tsx`)||m.endsWith(`/post.jsx`)||m.endsWith(`/list.tsx`)||m.endsWith(`/list.jsx`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}if(m.includes(`/pages-external/`)||m.includes(`\\pages-external\\`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}let w=m.toLowerCase();if(!(w===C||w.startsWith(`${C}/`)))return;let T=m.endsWith(`meta.json`)||m.endsWith(`_meta.json`);if(!T&&!n.c(m))return;if(f===`add`||f===`unlink`||T){f===`unlink`&&me(r,_,v),T&&a.u(r,_),f===`add`&&((0,y.invalidateMdxFileCache)(r),D(m)),a.i(_),u.invalidateDirectoryMetaCache(p),(d?i.f(f,m,d):i.f(f,m)).catch(e=>{(0,h.error)(`Plugin HMR handler error:`,e)});let n=o();s.t(n,t),H(e,`config`),H(e,`routes`),H(e,`search`),H(e,`collections`),l.c(t,process.cwd(),n).catch(e=>{(0,h.error)(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:n?.theme,i18n:n?.i18n,versions:n?.versions,siteUrl:n?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(b.has(m)){let e=b.get(m);e&&clearTimeout(e)}b.set(m,setTimeout(()=>{b.delete(m);let n=(x.get(m)??Promise.resolve()).then(async()=>{if(S.get(m)===g)try{let n=fe(r,_,v),s=await de(r);if(S.get(m)!==g||!E(m,g))return;if(a.r(r,_),(0,y.invalidateMdxFileCache)(r),pe(r,s,_,v),d?await i.f(`change`,m,d):await i.f(`change`,m),n!==void 0&&n!==s){if(!E(m,g))return;H(e,`routes`),H(e,`search`),H(e,`collections`);let n=o();try{let r=await u.computeFrontmatterDelta(t,n,p,_,v);if(!E(m,g))return;if(r.routes.deleted.length>0){E(m,g)&&e.ws.send({type:`full-reload`});return}if(!E(m,g))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){E(m,g)&&e.ws.send({type:`full-reload`});return}(0,h.error)(`Failed to compute frontmatter delta:`,t),E(m,g)&&e.ws.send({type:`full-reload`});return}O(r,m,g);return}O(r,m,g)}catch(e){(0,h.error)(`HMR error processing content change:`,e)}});x.set(m,n);let s=()=>{x.get(m)===n&&x.delete(m)};n.then(s,s)},150))}catch(e){(0,h.error)(`HMR error during ${f} event:`,e)}};e.watcher.on(`add`,e=>k(e,`add`)),e.watcher.on(`unlink`,e=>k(e,`unlink`)),e.watcher.on(`change`,e=>k(e,`change`))}function ge(e){let t=n.u(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let r=n.u(e).toLowerCase(),i=r===t||r.startsWith(`${t}/`),a=r.includes(`/pages-external/`)||r.includes(`\\pages-external\\`);if(i&&(n.c(e)||r.endsWith(`meta.json`)||a))return[]}}function _e(e,t,n,r,o,s,c,l){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){i.d(s),u.invalidateDirectoryMetaCache(c);let d=o();await d?.runHook(`dev:before`).catch(e=>{(0,h.error)(`dev:before hook failed:`,e)});let f=Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)).then(({generateRoutes:t})=>t(e,n()));f.then(e=>Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let p=l&&!l.disposed?l:c?.routeCacheContext&&!c.routeCacheContext.disposed?c.routeCacheContext:a.s(e);c&&(c.routeCacheContext=p),ce(r,e,n,f),ie(r,e,n),ue(r,e),he(r,e,t,n,s,c,p),p&&r.httpServer?.once(`close`,()=>{a.a(e,p)}),r.httpServer?.once(`listening`,()=>{Promise.resolve().then(()=>require(`./node/mdx/shiki-adapter.cjs`)).then(({prewarmShiki:e})=>e(n())).catch(()=>{})}),i.m((e,t)=>{r.ws.send(e,t)},s),i.t(r,s),await i.p(s).catch(()=>{}),await d?.runHook(`dev:after`).catch(()=>{})},hotUpdate:ge(t)}}function U(e,t){let n=new Map,r=ve(t);return!r||!e?{resolve:()=>null}:{resolve:t=>{if(n.has(t))return n.get(t)??null;let i=null;if(!t.startsWith(`${r}/`)){let n=decodeURIComponent(t).replace(/^\//,``),a=f.default.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&p.default.existsSync(a)&&p.default.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i}}}function ve(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const W=`srcset`;function ye(e,t){let n=e.replace(RegExp(`(?:src|href|poster|content)="(/[^"]*)"`,`g`),(e,n)=>{let r=t.resolve(n);return r?e.replace(n,r):e});return n=n.replace(RegExp(`${W}="([^"]*)"`,`g`),(e,n)=>{let r=!1,i=n.split(`,`).map(e=>{let[n,...i]=e.trim().split(/\s+/);if(!n?.startsWith(`/`))return e;let a=t.resolve(n);return a?(r=!0,[a,...i].join(` `)):e}).join(`, `);return r?`${W}="${i}"`:e}),n}function be(e,t){let n=U(e,t);return function(e,t,r){if(e.method&&e.method!==`GET`&&e.method!==`HEAD`){r();return}let i=e.url??`/`,a=i.indexOf(`?`),o=a===-1?i:i.slice(0,a);if(!o.startsWith(`/`)){r();return}let s=n.resolve(o);if(!s){r();return}t.writeHead(302,{Location:`${s}${a===-1?``:i.slice(a)}`}),t.end()}}const G=(0,g.createRequire)(require(`url`).pathToFileURL(__filename).href),xe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],Se=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function K(e=G){try{let e=f.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return p.default.existsSync(e)?(0,g.createRequire)(p.default.realpathSync(e)):(0,g.createRequire)(f.default.join(process.cwd(),`package.json`))}catch{return e}}function q(e,t=G){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=f.default.dirname(e);for(;n&&n!==f.default.dirname(n);){let e=f.default.join(n,`package.json`);if(p.default.existsSync(e)){a=e;break}n=f.default.dirname(n)}}if(!a)throw Error();let o=f.default.dirname(a),s=JSON.parse(p.default.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=f.default.resolve(o,l);if(p.default.existsSync(u))return u}catch{}return t.resolve(e)}function J(e=G){let t=[],r=K(e),i=new Set([r,e]);for(let e of i){for(let n of xe)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?q(n,e):e.resolve(n);r&&t.push(p.default.realpathSync(r))}catch{}for(let n of Se)try{t.push(p.default.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>n.u(e))}const Y=(0,g.createRequire)(require(`url`).pathToFileURL(__filename).href),Ce=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),we=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],X=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let Te=null;function Ee(){return Te||=new Map,Te}function De(e,t){return`${e}::${t?`1`:`0`}`}const Oe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let ke=null;function Ae(){return ke||=JSON.parse(p.default.readFileSync(f.default.resolve(__dirname,`../../../package.json`),`utf-8`)).version??`0.0.0`,ke}const Z=new Map;function je(e){return f.default.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function Me(e,t){try{let n=je(e);if(!p.default.existsSync(n))return!1;let r=p.default.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function Ne(e,t,n,r){try{let i=je(e);p.default.mkdirSync(f.default.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};p.default.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function Pe(e={},c){let l=f.default.resolve(e.root||process.cwd()),d=f.default.resolve(l,e.docsDir||`docs`),m=n.u(d),h=c,g,b=!1,x=i.s(),S=a.s(d),C=u.createVirtualModuleState(S),w,T=e.routes??[],E=null,D=null,O=()=>D||(D=U(g?.publicDir,g?.base),D),k=[];if(h?.plugins?.length)try{let e=Ae(),n=JSON.stringify(h.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),r=Z.get(n);if(r){let e=r.validated;h.plugins=e,w=new t.o(e,h,d,void 0,void 0,void 0,x,S),k=e.flatMap(e=>$(e.vitePlugins))}else if(Me(l,n)){let e=h.plugins;w=new t.o(e,h,d,void 0,void 0,void 0,x,S),k=e.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:e})}else{let r=t.u(h.plugins,e);h.plugins=r,w=new t.o(r,h,d,void 0,void 0,void 0,x,S),k=r.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:r}),Ne(l,n,e,r.map(e=>e.name))}}catch{}let A=null,j=new Map,M=()=>h,ee=e=>{h=e},N=()=>g,P=()=>(S.disposed&&(S=a.s(d),C.routeCacheContext=S,C.routeCacheVariant=void 0,C.routeGenerationFingerprint=void 0,C.routesDataMap.clear(),C.collectionsDataMap.clear(),C.searchDataMap.clear(),w=new t.o(h.plugins||[],h,d,void 0,T,g?.build?.outDir||`dist`,x,S)),w);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,n){b=n.command===`build`;let i=!!(n.isSsrBuild||e.build?.ssr);if(i&&h&&T.length>0&&w)return{build:{ssrManifest:!0},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,(0,_.loadEnv)(n.mode,e.envDir||process.cwd(),``)),h||=await o.t(d),T.length===0&&b){E||=a.t(d,h),T=await E;let e=T.map(e=>e.path),t=(h.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=r.n(d,h);for(let t of n)e.includes(t)||e.push(t);s.t(h,d,void 0,e),s.r(e)}if(b&&Promise.resolve().then(()=>require(`./node/mdx/shiki-adapter.cjs`)).then(({prewarmShiki:e})=>e(h)).catch(()=>{}),!w){let{version:e}=await Promise.resolve().then(()=>require(`./package-Ca2WSiy2.cjs`)),n=t.u(h.plugins||[],e);h.plugins=n,w=new t.o(n,h,d,void 0,T,g?.build?.outDir||`dist`,x,S),k=n.flatMap(e=>$(e.vitePlugins))}if(b&&await w?.runHook(`build:before`),!A){let e=h.ssg?.criticalCss;A={entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,criticalCss:e===`none`?!1:e===`beasties`?`beasties`:`zig-critters`,onPageRendered:async(e,t)=>{if(!w)return t;try{let n=j.get(e)??T.find(t=>t.path===e);n&&j.set(e,n);let r=(await w.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await w.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=O();return i&&(r=ye(r,i)),r}catch{return t}}}}return{ssgOptions:A,build:{ssrManifest:b},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`,`lucide-react`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:i?[]:[{find:`react-router-dom`,replacement:q(`react-router-dom`)},{find:`react-helmet-async`,replacement:q(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:q(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...i?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(g=e,!Q){Q=new Map;for(let e of X)try{let t=q(e),n=p.default.realpathSync(t);Q.set(e,n)}catch{}for(let e of[`react`,`react-dom`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`])try{let t=Y.resolve(e),n=p.default.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=Ee(),i=De(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!f.default.isAbsolute(e)&&!e.startsWith(`.`)&&!Ce.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(Ce.has(e)&&(o=e),!o&&!f.default.isAbsolute(e)&&!e.startsWith(`.`)){let t=we.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of Oe)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!f.default.isAbsolute(e)&&o!==`react`&&o!==`react-dom`){let t=Q?.get(o);if(t){let e={id:t,external:!0};return r.set(i,e),e}let n=K(Y),a=e;try{a=X.has(o)?q(e,n):n.resolve(e)}catch{try{a=X.has(o)?q(e,Y):Y.resolve(e)}catch{}}try{a=p.default.realpathSync(a)}catch{}let s={id:a,external:!0};return r.set(i,s),s}return r.set(i,null),null},transformIndexHtml:{order:`pre`,handler:e=>te(e,h)},configureServer(e){e.middlewares.use(be(g?.publicDir,g?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){Promise.resolve().then(()=>require(`./virtual-modules-Ca5tHk1X.cjs`)).then(()=>{let e=u.getSearchDataExport(C);t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify(e))}).catch(e=>{console.error(`[boltdocs] Failed to serve search.json:`,e),t.statusCode=500,t.end(`[]`)});return}n()})},async generateBundle(){if(!(!b||g?.build?.ssr))try{let e=u.getSearchDataExport(C);this.emitFile({type:`asset`,fileName:`search.json`,source:JSON.stringify(e)})}catch(e){console.error(`[boltdocs] Failed to emit search.json:`,e)}},async closeBundle(){!b||g?.build?.ssr||(await w?.runHook(`build:after`),await w?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(F(M)),e.middlewares.use(ne(N)),i.t(e,x),i.p(x).catch(()=>{})}},u.createVirtualModulesPlugin(e,M,N,d,x,C),_e(d,m,M,ee,P,x,C),...$([(0,y.createSatteriMdxPlugin)(h,P,{docsDir:e.docsDir||`docs`})]),...$([(0,v.ViteImageOptimizer)({includePublic:!0})]),...k]}exports.boltdocsPlugin=Pe,exports.getBaseRequire=K,exports.getExternalAbsolutePaths=J,exports.resolveEsm=q;
69
+ `);return e=M(e,o),e=ee(e,l),e=N(e,c.noScript),e=P(e),e}function F(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await Promise.resolve().then(()=>require(`./handler-CDEoKARD.cjs`)).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function ne(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(f.default.extname(a))return r();let o=e(),s=f.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=f.default.join(s,c,`index.html`);c!==`/`&&p.default.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const re=/\.(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;function ie(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(F(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(d.n).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,d.t(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!re.test(a)){let n=b(s);n=te(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const I=new WeakMap,L=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],ae=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function oe(e){for(let t=0;t<L.length;t++)if(L[t].test(e))return t;return L.length}function se(e){for(let t of ae)e.transformRequest(`/${t}`).catch(()=>{})}function ce(e,t,n,r){if(I.has(e))return;se(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`))).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>oe(e)-oe(t)),a=performance.now();for(let t=0;t<i.length;t+=8){let n=i.slice(t,t+8);await Promise.allSettled(n.map(t=>{let n=f.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}(process.env.BOLTDOCS_DEBUG===`true`||process.env.BOLTDOCS_BENCHMARK===`true`)&&console.log(`[boltdocs] prewarm done (${i.length} files) in ${Math.round(performance.now()-a)}ms`)}catch(e){process.env.BOLTDOCS_DEBUG===`true`&&console.warn(`[boltdocs] Prewarm failed:`,e)}finally{I.delete(e),i()}},1500)});I.set(e,i)}const le=[`tsx`,`jsx`],R=[`tsx`,`ts`,`jsx`,`js`];function ue(e,t){let n=f.default.resolve(e.config.root),r=e=>{let t=f.default.resolve(e);return t===n||t.startsWith(`${n}${f.default.sep}`)},i=[...c.t.map(e=>f.default.resolve(process.cwd(),e)),...le.map(e=>f.default.resolve(t,`layout.${e}`)),...R.map(e=>f.default.resolve(t,`mdx-components.${e}`)),...R.map(e=>f.default.resolve(t,`pages-external/index.${e}`)),...R.map(e=>f.default.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}const z=new Map;function B(e){let{lastUpdated:t,...n}=e;return m.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function de(e){try{let{data:t}=await n.d(e);return B(t)}catch{return``}}function fe(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??z,i=r.get(e);if(i===void 0){let o=(n?.docCache??t?.docCache??a.o).getStale(e);o?.route?.frontmatter&&(i=B(o.route.frontmatter),r.set(e,i))}return i}function pe(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??z).set(e,t)}function me(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??z).delete(e)}const V=[`tsx`,`ts`,`jsx`,`js`];function H(e,t){let n=[`\0virtual:boltdocs-${t}.ts`,`\0virtual:boltdocs-${t}.tsx`];for(let t of n){let n=e.moduleGraph.getModuleById(t);if(n){e.moduleGraph.invalidateModule(n);break}}}function he(e,t,r,o,d,p,m,g){let _=m&&!m.disposed?m:p?.routeCacheContext&&!p.routeCacheContext.disposed?p.routeCacheContext:a.s(t),v=g??a.c(_,a.l(o())),b=new Map,x=new Map,S=new Map,C=r.replace(/\/+$/,``).toLowerCase(),w=null;function T(){if(w)return w;w=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&w.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return w}e.watcher.on(`all`,()=>{w=null});function E(e,t){return S.get(e)===t}function D(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=T().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function O(r,i,a){if(!E(i,a))return;let o=n.u(f.default.relative(t,r)),s=D(i);E(i,a)&&(s?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:i,relPath:o}}):e.ws.send({type:`full-reload`}))}let k=async(r,f)=>{try{let m=n.u(r),g=(S.get(m)??0)+1;if(S.set(m,g),f===`add`||f===`unlink`){let e=b.get(m);e&&(clearTimeout(e),b.delete(m))}if(c.t.some(e=>m.endsWith(e))){e.restart();return}if(V.some(e=>m.endsWith(`mdx-components.${e}`))){s.t(o(),t),H(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(V.some(e=>m.endsWith(`icons.${e}`))){H(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`layout.tsx`)||m.endsWith(`layout.jsx`)){H(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`/post.tsx`)||m.endsWith(`/post.jsx`)||m.endsWith(`/list.tsx`)||m.endsWith(`/list.jsx`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}if(m.includes(`/pages-external/`)||m.includes(`\\pages-external\\`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}let w=m.toLowerCase();if(!(w===C||w.startsWith(`${C}/`)))return;let T=m.endsWith(`meta.json`)||m.endsWith(`_meta.json`);if(!T&&!n.c(m))return;if(f===`add`||f===`unlink`||T){f===`unlink`&&me(r,_,v),T&&a.u(r,_),f===`add`&&((0,y.invalidateMdxFileCache)(r),D(m)),a.i(_),u.invalidateDirectoryMetaCache(p),(d?i.f(f,m,d):i.f(f,m)).catch(e=>{(0,h.error)(`Plugin HMR handler error:`,e)});let n=o();s.t(n,t),H(e,`config`),H(e,`routes`),H(e,`search`),H(e,`collections`),l.c(t,process.cwd(),n).catch(e=>{(0,h.error)(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:n?.theme,i18n:n?.i18n,versions:n?.versions,siteUrl:n?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(b.has(m)){let e=b.get(m);e&&clearTimeout(e)}b.set(m,setTimeout(()=>{b.delete(m);let n=(x.get(m)??Promise.resolve()).then(async()=>{if(S.get(m)===g)try{let n=fe(r,_,v),s=await de(r);if(S.get(m)!==g||!E(m,g))return;if(a.r(r,_),(0,y.invalidateMdxFileCache)(r),pe(r,s,_,v),d?await i.f(`change`,m,d):await i.f(`change`,m),n!==void 0&&n!==s){if(!E(m,g))return;H(e,`routes`),H(e,`search`),H(e,`collections`);let n=o();try{let r=await u.computeFrontmatterDelta(t,n,p,_,v);if(!E(m,g))return;if(r.routes.deleted.length>0){E(m,g)&&e.ws.send({type:`full-reload`});return}if(!E(m,g))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){E(m,g)&&e.ws.send({type:`full-reload`});return}(0,h.error)(`Failed to compute frontmatter delta:`,t),E(m,g)&&e.ws.send({type:`full-reload`});return}O(r,m,g);return}O(r,m,g)}catch(e){(0,h.error)(`HMR error processing content change:`,e)}});x.set(m,n);let s=()=>{x.get(m)===n&&x.delete(m)};n.then(s,s)},150))}catch(e){(0,h.error)(`HMR error during ${f} event:`,e)}};e.watcher.on(`add`,e=>k(e,`add`)),e.watcher.on(`unlink`,e=>k(e,`unlink`)),e.watcher.on(`change`,e=>k(e,`change`))}function ge(e){let t=n.u(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let r=n.u(e).toLowerCase(),i=r===t||r.startsWith(`${t}/`),a=r.includes(`/pages-external/`)||r.includes(`\\pages-external\\`);if(i&&(n.c(e)||r.endsWith(`meta.json`)||a))return[]}}function _e(e,t,n,r,o,s,c,l){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){i.d(s),u.invalidateDirectoryMetaCache(c);let d=o();await d?.runHook(`dev:before`).catch(e=>{(0,h.error)(`dev:before hook failed:`,e)});let f=Promise.resolve().then(()=>require(`./routes-C2nPecwu.cjs`)).then(({generateRoutes:t})=>t(e,n()));f.then(e=>Promise.resolve().then(()=>require(`./types-generator-DDSA93P3.cjs`)).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let p=l&&!l.disposed?l:c?.routeCacheContext&&!c.routeCacheContext.disposed?c.routeCacheContext:a.s(e);c&&(c.routeCacheContext=p),ce(r,e,n,f),ie(r,e,n),ue(r,e),he(r,e,t,n,s,c,p),p&&r.httpServer?.once(`close`,()=>{a.a(e,p)}),r.httpServer?.once(`listening`,()=>{Promise.resolve().then(()=>require(`./node/mdx/shiki-adapter.cjs`)).then(({prewarmShiki:e})=>e(n())).catch(()=>{})}),i.m((e,t)=>{r.ws.send(e,t)},s),i.t(r,s),await i.p(s).catch(()=>{}),await d?.runHook(`dev:after`).catch(()=>{})},hotUpdate:ge(t)}}function U(e,t){let n=new Map,r=ve(t);return!r||!e?{resolve:()=>null}:{resolve:t=>{if(n.has(t))return n.get(t)??null;let i=null;if(!t.startsWith(`${r}/`)){let n=decodeURIComponent(t).replace(/^\//,``),a=f.default.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&p.default.existsSync(a)&&p.default.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i}}}function ve(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const W=`srcset`;function ye(e,t){let n=e.replace(RegExp(`(?:src|href|poster|content)="(/[^"]*)"`,`g`),(e,n)=>{let r=t.resolve(n);return r?e.replace(n,r):e});return n=n.replace(RegExp(`${W}="([^"]*)"`,`g`),(e,n)=>{let r=!1,i=n.split(`,`).map(e=>{let[n,...i]=e.trim().split(/\s+/);if(!n?.startsWith(`/`))return e;let a=t.resolve(n);return a?(r=!0,[a,...i].join(` `)):e}).join(`, `);return r?`${W}="${i}"`:e}),n}function be(e,t){let n=U(e,t);return function(e,t,r){if(e.method&&e.method!==`GET`&&e.method!==`HEAD`){r();return}let i=e.url??`/`,a=i.indexOf(`?`),o=a===-1?i:i.slice(0,a);if(!o.startsWith(`/`)){r();return}let s=n.resolve(o);if(!s){r();return}t.writeHead(302,{Location:`${s}${a===-1?``:i.slice(a)}`}),t.end()}}const G=(0,g.createRequire)(require(`url`).pathToFileURL(__filename).href),xe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],Se=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function K(e=G){try{let e=f.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return p.default.existsSync(e)?(0,g.createRequire)(p.default.realpathSync(e)):(0,g.createRequire)(f.default.join(process.cwd(),`package.json`))}catch{return e}}function q(e,t=G){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=f.default.dirname(e);for(;n&&n!==f.default.dirname(n);){let e=f.default.join(n,`package.json`);if(p.default.existsSync(e)){a=e;break}n=f.default.dirname(n)}}if(!a)throw Error();let o=f.default.dirname(a),s=JSON.parse(p.default.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=f.default.resolve(o,l);if(p.default.existsSync(u))return u}catch{}return t.resolve(e)}function J(e=G){let t=[],r=K(e),i=new Set([r,e]);for(let e of i){for(let n of xe)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?q(n,e):e.resolve(n);r&&t.push(p.default.realpathSync(r))}catch{}for(let n of Se)try{t.push(p.default.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>n.u(e))}const Y=(0,g.createRequire)(require(`url`).pathToFileURL(__filename).href),Ce=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),we=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],X=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let Te=null;function Ee(){return Te||=new Map,Te}function De(e,t){return`${e}::${t?`1`:`0`}`}const Oe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let ke=null;function Ae(){return ke||=JSON.parse(p.default.readFileSync(f.default.resolve(__dirname,`../../../package.json`),`utf-8`)).version??`0.0.0`,ke}const Z=new Map;function je(e){return f.default.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function Me(e,t){try{let n=je(e);if(!p.default.existsSync(n))return!1;let r=p.default.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function Ne(e,t,n,r){try{let i=je(e);p.default.mkdirSync(f.default.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};p.default.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function Pe(e={},c){let l=f.default.resolve(e.root||process.cwd()),d=f.default.resolve(l,e.docsDir||`docs`),m=n.u(d),h=c,g,b=!1,x=i.s(),S=a.s(d),C=u.createVirtualModuleState(S),w,T=e.routes??[],E=null,D=null,O=()=>D||(D=U(g?.publicDir,g?.base),D),k=[];if(h?.plugins?.length)try{let e=Ae(),n=JSON.stringify(h.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),r=Z.get(n);if(r){let e=r.validated;h.plugins=e,w=new t.o(e,h,d,void 0,void 0,void 0,x,S),k=e.flatMap(e=>$(e.vitePlugins))}else if(Me(l,n)){let e=h.plugins;w=new t.o(e,h,d,void 0,void 0,void 0,x,S),k=e.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:e})}else{let r=t.u(h.plugins,e);h.plugins=r,w=new t.o(r,h,d,void 0,void 0,void 0,x,S),k=r.flatMap(e=>$(e.vitePlugins)),Z.set(n,{validated:r}),Ne(l,n,e,r.map(e=>e.name))}}catch{}let A=null,j=new Map,M=()=>h,ee=e=>{h=e},N=()=>g,P=()=>(S.disposed&&(S=a.s(d),C.routeCacheContext=S,C.routeCacheVariant=void 0,C.routeGenerationFingerprint=void 0,C.routesDataMap.clear(),C.collectionsDataMap.clear(),C.searchDataMap.clear(),w=new t.o(h.plugins||[],h,d,void 0,T,g?.build?.outDir||`dist`,x,S)),w);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,n){b=n.command===`build`;let i=!!(n.isSsrBuild||e.build?.ssr);if(i&&h&&T.length>0&&w)return{build:{ssrManifest:!0},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,(0,_.loadEnv)(n.mode,e.envDir||process.cwd(),``)),h||=await o.t(d),T.length===0&&b){E||=a.t(d,h),T=await E;let e=T.map(e=>e.path),t=(h.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=r.n(d,h);for(let t of n)e.includes(t)||e.push(t);s.t(h,d,void 0,e),s.r(e)}if(b&&Promise.resolve().then(()=>require(`./node/mdx/shiki-adapter.cjs`)).then(({prewarmShiki:e})=>e(h)).catch(()=>{}),!w){let{version:e}=await Promise.resolve().then(()=>require(`./package--v6Dfz9t.cjs`)),n=t.u(h.plugins||[],e);h.plugins=n,w=new t.o(n,h,d,void 0,T,g?.build?.outDir||`dist`,x,S),k=n.flatMap(e=>$(e.vitePlugins))}if(b&&await w?.runHook(`build:before`),!A){let e=h.ssg?.criticalCss;A={entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,criticalCss:e===`none`?!1:e===`beasties`?`beasties`:`zig-critters`,onPageRendered:async(e,t)=>{if(!w)return t;try{let n=j.get(e)??T.find(t=>t.path===e);n&&j.set(e,n);let r=(await w.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await w.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=O();return i&&(r=ye(r,i)),r}catch{return t}}}}return{ssgOptions:A,build:{ssrManifest:b},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`,`lucide-react`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:i?[]:[{find:`react-router-dom`,replacement:q(`react-router-dom`)},{find:`react-helmet-async`,replacement:q(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:q(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...i?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(g=e,!Q){Q=new Map;for(let e of X)try{let t=q(e),n=p.default.realpathSync(t);Q.set(e,n)}catch{}for(let e of[`react`,`react-dom`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`])try{let t=Y.resolve(e),n=p.default.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=Ee(),i=De(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!f.default.isAbsolute(e)&&!e.startsWith(`.`)&&!Ce.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(Ce.has(e)&&(o=e),!o&&!f.default.isAbsolute(e)&&!e.startsWith(`.`)){let t=we.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of Oe)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!f.default.isAbsolute(e)&&o!==`react`&&o!==`react-dom`){let t=Q?.get(o);if(t){let e={id:t,external:!0};return r.set(i,e),e}let n=K(Y),a=e;try{a=X.has(o)?q(e,n):n.resolve(e)}catch{try{a=X.has(o)?q(e,Y):Y.resolve(e)}catch{}}try{a=p.default.realpathSync(a)}catch{}let s={id:a,external:!0};return r.set(i,s),s}return r.set(i,null),null},transformIndexHtml:{order:`pre`,handler:e=>te(e,h)},configureServer(e){e.middlewares.use(be(g?.publicDir,g?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){Promise.resolve().then(()=>require(`./virtual-modules-Ca5tHk1X.cjs`)).then(()=>{let e=u.getSearchDataExport(C);t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify(e))}).catch(e=>{console.error(`[boltdocs] Failed to serve search.json:`,e),t.statusCode=500,t.end(`[]`)});return}n()})},async generateBundle(){if(!(!b||g?.build?.ssr))try{let e=u.getSearchDataExport(C);this.emitFile({type:`asset`,fileName:`search.json`,source:JSON.stringify(e)})}catch(e){console.error(`[boltdocs] Failed to emit search.json:`,e)}},async closeBundle(){!b||g?.build?.ssr||(await w?.runHook(`build:after`),await w?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(F(M)),e.middlewares.use(ne(N)),i.t(e,x),i.p(x).catch(()=>{})}},u.createVirtualModulesPlugin(e,M,N,d,x,C),_e(d,m,M,ee,P,x,C),...$([(0,y.createSatteriMdxPlugin)(h,P,{docsDir:e.docsDir||`docs`})]),...$([(0,v.ViteImageOptimizer)({includePublic:!0})]),...k]}exports.boltdocsPlugin=Pe,exports.getBaseRequire=K,exports.getExternalAbsolutePaths=J,exports.resolveEsm=q;
@@ -3,4 +3,4 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- const e=require(`./node-TpmWEqXM.cjs`);exports.PluginLifecycleManager=e.o;
6
+ const e=require(`./node-CWf8IF1Q.cjs`);exports.PluginLifecycleManager=e.o;
@@ -3,7 +3,7 @@
3
3
  * Copyright (c) 2026 Jesus Alcala
4
4
  * Licensed under the MIT License.
5
5
  */
6
- import{_ as e,d as t,f as n,m as r,p as i,s as a,t as o}from"./plugin-context-wqHNSZum.mjs";import{a as s,u as c}from"./node-BFNCsPs3.mjs";import{c as l,d as u,n as d,u as f}from"./utils-8lzafE49.mjs";import{n as p}from"./pages-external-BBw8ObVK.mjs";import{a as m,c as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./routes-BL4y79tb.mjs";import{n as C}from"./config-DGLQsy7y.mjs";import{r as ee,t as w}from"./types-generator-DG1GX1EZ.mjs";import{t as T}from"./config-files-BYHDOrKn.mjs";import{n as te}from"./doctor-DmQnml2k.mjs";import{computeFrontmatterDelta as E,createVirtualModuleState as D,createVirtualModulesPlugin as O,getSearchDataExport as k,invalidateDirectoryMetaCache as A}from"./virtual-modules-Dlgt1fP0.mjs";import{n as j,t as M}from"./csp-D6JEOqKh.mjs";import{createRequire as N}from"node:module";import P from"node:path";import F from"node:fs";import I from"node:crypto";import{error as L}from"@bdocs/dui";import{loadEnv as ne}from"vite";import{ViteImageOptimizer as re}from"@bdocs/plugin-image-optimizer";import{createSatteriMdxPlugin as ie,invalidateMdxFileCache as R}from"@bdocs/processor-satteri/node";function ae(e){return`<!doctype html>
6
+ import{_ as e,d as t,f as n,m as r,p as i,s as a,t as o}from"./plugin-context-wqHNSZum.mjs";import{a as s,u as c}from"./node-CK5-Ta83.mjs";import{c as l,d as u,n as d,u as f}from"./utils-8lzafE49.mjs";import{n as p}from"./pages-external-BBw8ObVK.mjs";import{a as m,c as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./routes-BL4y79tb.mjs";import{n as C}from"./config-DGLQsy7y.mjs";import{r as ee,t as w}from"./types-generator-DG1GX1EZ.mjs";import{t as T}from"./config-files-BYHDOrKn.mjs";import{n as te}from"./doctor-DmQnml2k.mjs";import{computeFrontmatterDelta as E,createVirtualModuleState as D,createVirtualModulesPlugin as O,getSearchDataExport as k,invalidateDirectoryMetaCache as A}from"./virtual-modules-Dlgt1fP0.mjs";import{n as j,t as M}from"./csp-D6JEOqKh.mjs";import{createRequire as N}from"node:module";import P from"node:path";import F from"node:fs";import I from"node:crypto";import{error as L}from"@bdocs/dui";import{loadEnv as ne}from"vite";import{ViteImageOptimizer as re}from"@bdocs/plugin-image-optimizer";import{createSatteriMdxPlugin as ie,invalidateMdxFileCache as R}from"@bdocs/processor-satteri/node";function ae(e){return`<!doctype html>
7
7
  <html lang="en">
8
8
  <head>
9
9
  <meta charset="UTF-8" />
@@ -66,4 +66,4 @@ import{_ as e,d as t,f as n,m as r,p as i,s as a,t as o}from"./plugin-context-wq
66
66
  <\/script>
67
67
  `}function ge(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function _e(e,t){return e.replace(`</head>`,` ${t}</head>`)}function ve(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function ye(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
68
68
  </body>`)}function be(e,t){(!e?.includes(`<body`)||!e.includes(`<head`))&&(e=ae(t));let n=process.env.NODE_ENV===`production`,r=ce(se(t),t),i=le(t.seo?.verification),a=ue(t),o=de(),s=fe(t.integrations?.analytics?.ga4,n),c=pe(t.integrations?.analytics?.gtm,n),l=[i,a,r,s,me(t.integrations?.analytics?.vercel,n,t),he(t.integrations?.analytics?.posthog,n),c.script].filter(Boolean).join(`
69
- `);return e=ge(e,o),e=_e(e,l),e=ve(e,c.noScript),e=ye(e),e}function xe(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-D7UyZlPm.mjs`).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function Se(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(P.extname(a))return r();let o=e(),s=P.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=P.join(s,c,`index.html`);c!==`/`&&F.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const Ce=/\.(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;function we(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(xe(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(j).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,M(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!Ce.test(a)){let n=ae(s);n=be(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const B=new WeakMap,V=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],Te=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function Ee(e){for(let t=0;t<V.length;t++)if(V[t].test(e))return t;return V.length}function De(e){for(let t of Te)e.transformRequest(`/${t}`).catch(()=>{})}function Oe(e,t,n,r){if(B.has(e))return;De(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await import(`./routes-BL4y79tb.mjs`).then(e=>e.i)).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>Ee(e)-Ee(t)),a=performance.now();for(let t=0;t<i.length;t+=8){let n=i.slice(t,t+8);await Promise.allSettled(n.map(t=>{let n=P.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}(process.env.BOLTDOCS_DEBUG===`true`||process.env.BOLTDOCS_BENCHMARK===`true`)&&console.log(`[boltdocs] prewarm done (${i.length} files) in ${Math.round(performance.now()-a)}ms`)}catch(e){process.env.BOLTDOCS_DEBUG===`true`&&console.warn(`[boltdocs] Prewarm failed:`,e)}finally{B.delete(e),i()}},1500)});B.set(e,i)}const ke=[`tsx`,`jsx`],H=[`tsx`,`ts`,`jsx`,`js`];function Ae(e,t){let n=P.resolve(e.config.root),r=e=>{let t=P.resolve(e);return t===n||t.startsWith(`${n}${P.sep}`)},i=[...T.map(e=>P.resolve(process.cwd(),e)),...ke.map(e=>P.resolve(t,`layout.${e}`)),...H.map(e=>P.resolve(t,`mdx-components.${e}`)),...H.map(e=>P.resolve(t,`pages-external/index.${e}`)),...H.map(e=>P.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}const U=new Map;function je(e){let{lastUpdated:t,...n}=e;return I.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function Me(e){try{let{data:t}=await u(e);return je(t)}catch{return``}}function Ne(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??U,i=r.get(e);if(i===void 0){let a=(n?.docCache??t?.docCache??v).getStale(e);a?.route?.frontmatter&&(i=je(a.route.frontmatter),r.set(e,i))}return i}function Pe(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??U).set(e,t)}function Fe(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??U).delete(e)}const Ie=[`tsx`,`ts`,`jsx`,`js`];function W(e,t){let n=[`\0virtual:boltdocs-${t}.ts`,`\0virtual:boltdocs-${t}.tsx`];for(let t of n){let n=e.moduleGraph.getModuleById(t);if(n){e.moduleGraph.invalidateModule(n);break}}}function Le(e,t,r,i,a,o,s,c){let u=s&&!s.disposed?s:o?.routeCacheContext&&!o.routeCacheContext.disposed?o.routeCacheContext:b(t),d=c??h(u,g(i())),p=new Map,m=new Map,v=new Map,x=r.replace(/\/+$/,``).toLowerCase(),C=null;function ee(){if(C)return C;C=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&C.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return C}e.watcher.on(`all`,()=>{C=null});function D(e,t){return v.get(e)===t}function O(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=ee().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function k(n,r,i){if(!D(r,i))return;let a=f(P.relative(t,n)),o=O(r);D(r,i)&&(o?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:r,relPath:a}}):e.ws.send({type:`full-reload`}))}let j=async(r,s)=>{try{let c=f(r),h=(v.get(c)??0)+1;if(v.set(c,h),s===`add`||s===`unlink`){let e=p.get(c);e&&(clearTimeout(e),p.delete(c))}if(T.some(e=>c.endsWith(e))){e.restart();return}if(Ie.some(e=>c.endsWith(`mdx-components.${e}`))){w(i(),t),W(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(Ie.some(e=>c.endsWith(`icons.${e}`))){W(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`layout.tsx`)||c.endsWith(`layout.jsx`)){W(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`/post.tsx`)||c.endsWith(`/post.jsx`)||c.endsWith(`/list.tsx`)||c.endsWith(`/list.jsx`)){W(e,`entry`),e.ws.send({type:`full-reload`});return}if(c.includes(`/pages-external/`)||c.includes(`\\pages-external\\`)){W(e,`entry`),e.ws.send({type:`full-reload`});return}let g=c.toLowerCase();if(!(g===x||g.startsWith(`${x}/`)))return;let b=c.endsWith(`meta.json`)||c.endsWith(`_meta.json`);if(!b&&!l(c))return;if(s===`add`||s===`unlink`||b){s===`unlink`&&Fe(r,u,d),b&&S(r,u),s===`add`&&(R(r),O(c)),y(u),A(o),(a?n(s,c,a):n(s,c)).catch(e=>{L(`Plugin HMR handler error:`,e)});let l=i();w(l,t),W(e,`config`),W(e,`routes`),W(e,`search`),W(e,`collections`),te(t,process.cwd(),l).catch(e=>{L(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:l?.theme,i18n:l?.i18n,versions:l?.versions,siteUrl:l?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(p.has(c)){let e=p.get(c);e&&clearTimeout(e)}p.set(c,setTimeout(()=>{p.delete(c);let s=(m.get(c)??Promise.resolve()).then(async()=>{if(v.get(c)===h)try{let s=Ne(r,u,d),l=await Me(r);if(v.get(c)!==h||!D(c,h))return;if(_(r,u),R(r),Pe(r,l,u,d),a?await n(`change`,c,a):await n(`change`,c),s!==void 0&&s!==l){if(!D(c,h))return;W(e,`routes`),W(e,`search`),W(e,`collections`);let n=i();try{let r=await E(t,n,o,u,d);if(!D(c,h))return;if(r.routes.deleted.length>0){D(c,h)&&e.ws.send({type:`full-reload`});return}if(!D(c,h))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){D(c,h)&&e.ws.send({type:`full-reload`});return}L(`Failed to compute frontmatter delta:`,t),D(c,h)&&e.ws.send({type:`full-reload`});return}k(r,c,h);return}k(r,c,h)}catch(e){L(`HMR error processing content change:`,e)}});m.set(c,s);let l=()=>{m.get(c)===s&&m.delete(c)};s.then(l,l)},150))}catch(e){L(`HMR error during ${s} event:`,e)}};e.watcher.on(`add`,e=>j(e,`add`)),e.watcher.on(`unlink`,e=>j(e,`unlink`)),e.watcher.on(`change`,e=>j(e,`change`))}function Re(e){let t=f(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let n=f(e).toLowerCase(),r=n===t||n.startsWith(`${t}/`),i=n.includes(`/pages-external/`)||n.includes(`\\pages-external\\`);if(r&&(l(e)||n.endsWith(`meta.json`)||i))return[]}}function ze(e,n,a,s,c,l,u,d){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(s){t(l),A(u);let f=c();await f?.runHook(`dev:before`).catch(e=>{L(`dev:before hook failed:`,e)});let p=import(`./routes-BL4y79tb.mjs`).then(e=>e.i).then(({generateRoutes:t})=>t(e,a()));p.then(e=>import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let h=d&&!d.disposed?d:u?.routeCacheContext&&!u.routeCacheContext.disposed?u.routeCacheContext:b(e);u&&(u.routeCacheContext=h),Oe(s,e,a,p),we(s,e,a),Ae(s,e),Le(s,e,n,a,l,u,h),h&&s.httpServer?.once(`close`,()=>{m(e,h)}),s.httpServer?.once(`listening`,()=>{import(`./node/mdx/shiki-adapter.mjs`).then(({prewarmShiki:e})=>e(a())).catch(()=>{})}),r((e,t)=>{s.ws.send(e,t)},l),o(s,l),await i(l).catch(()=>{}),await f?.runHook(`dev:after`).catch(()=>{})},hotUpdate:Re(n)}}function Be(e,t){let n=new Map,r=Ve(t);return!r||!e?{resolve:()=>null}:{resolve:t=>{if(n.has(t))return n.get(t)??null;let i=null;if(!t.startsWith(`${r}/`)){let n=decodeURIComponent(t).replace(/^\//,``),a=P.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&F.existsSync(a)&&F.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i}}}function Ve(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const He=`srcset`;function Ue(e,t){let n=e.replace(RegExp(`(?:src|href|poster|content)="(/[^"]*)"`,`g`),(e,n)=>{let r=t.resolve(n);return r?e.replace(n,r):e});return n=n.replace(RegExp(`${He}="([^"]*)"`,`g`),(e,n)=>{let r=!1,i=n.split(`,`).map(e=>{let[n,...i]=e.trim().split(/\s+/);if(!n?.startsWith(`/`))return e;let a=t.resolve(n);return a?(r=!0,[a,...i].join(` `)):e}).join(`, `);return r?`${He}="${i}"`:e}),n}function We(e,t){let n=Be(e,t);return function(e,t,r){if(e.method&&e.method!==`GET`&&e.method!==`HEAD`){r();return}let i=e.url??`/`,a=i.indexOf(`?`),o=a===-1?i:i.slice(0,a);if(!o.startsWith(`/`)){r();return}let s=n.resolve(o);if(!s){r();return}t.writeHead(302,{Location:`${s}${a===-1?``:i.slice(a)}`}),t.end()}}const G=N(import.meta.url),Ge=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],Ke=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function K(e=G){try{let e=P.join(process.cwd(),`node_modules/boltdocs/package.json`);return F.existsSync(e)?N(F.realpathSync(e)):N(P.join(process.cwd(),`package.json`))}catch{return e}}function q(e,t=G){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=P.dirname(e);for(;n&&n!==P.dirname(n);){let e=P.join(n,`package.json`);if(F.existsSync(e)){a=e;break}n=P.dirname(n)}}if(!a)throw Error();let o=P.dirname(a),s=JSON.parse(F.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=P.resolve(o,l);if(F.existsSync(u))return u}catch{}return t.resolve(e)}function J(e=G){let t=[],n=K(e),r=new Set([n,e]);for(let e of r){for(let n of Ge)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?q(n,e):e.resolve(n);r&&t.push(F.realpathSync(r))}catch{}for(let n of Ke)try{t.push(F.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>f(e))}const Y=N(import.meta.url),qe=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),Je=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],X=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let Ye=null;function Xe(){return Ye||=new Map,Ye}function Ze(e,t){return`${e}::${t?`1`:`0`}`}const Qe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let $e=null;function et(){return $e||=JSON.parse(F.readFileSync(P.resolve(e,`../../../package.json`),`utf-8`)).version??`0.0.0`,$e}const Z=new Map;function tt(e){return P.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function nt(e,t){try{let n=tt(e);if(!F.existsSync(n))return!1;let r=F.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function rt(e,t,n,r){try{let i=tt(e);F.mkdirSync(P.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};F.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function it(e={},t){let n=P.resolve(e.root||process.cwd()),r=P.resolve(n,e.docsDir||`docs`),l=f(r),u=t,d,m=!1,h=a(),g=b(r),_=D(g),v,y=e.routes??[],S=null,T=null,te=()=>T||(T=Be(d?.publicDir,d?.base),T),E=[];if(u?.plugins?.length)try{let e=et(),t=JSON.stringify(u.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),i=Z.get(t);if(i){let e=i.validated;u.plugins=e,v=new s(e,u,r,void 0,void 0,void 0,h,g),E=e.flatMap(e=>$(e.vitePlugins))}else if(nt(n,t)){let e=u.plugins;v=new s(e,u,r,void 0,void 0,void 0,h,g),E=e.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:e})}else{let i=c(u.plugins,e);u.plugins=i,v=new s(i,u,r,void 0,void 0,void 0,h,g),E=i.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:i}),rt(n,t,e,i.map(e=>e.name))}}catch{}let A=null,j=new Map,M=()=>u,N=e=>{u=e},I=()=>d,L=()=>(g.disposed&&(g=b(r),_.routeCacheContext=g,_.routeCacheVariant=void 0,_.routeGenerationFingerprint=void 0,_.routesDataMap.clear(),_.collectionsDataMap.clear(),_.searchDataMap.clear(),v=new s(u.plugins||[],u,r,void 0,y,d?.build?.outDir||`dist`,h,g)),v);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){m=t.command===`build`;let n=!!(t.isSsrBuild||e.build?.ssr);if(n&&u&&y.length>0&&v)return{build:{ssrManifest:!0},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,ne(t.mode,e.envDir||process.cwd(),``)),u||=await C(r),y.length===0&&m){S||=x(r,u),y=await S;let e=y.map(e=>e.path),t=(u.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=p(r,u);for(let t of n)e.includes(t)||e.push(t);w(u,r,void 0,e),ee(e)}if(m&&import(`./node/mdx/shiki-adapter.mjs`).then(({prewarmShiki:e})=>e(u)).catch(()=>{}),!v){let{version:e}=await import(`./package-5EsGUTVl.mjs`),t=c(u.plugins||[],e);u.plugins=t,v=new s(t,u,r,void 0,y,d?.build?.outDir||`dist`,h,g),E=t.flatMap(e=>$(e.vitePlugins))}if(m&&await v?.runHook(`build:before`),!A){let e=u.ssg?.criticalCss;A={entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,criticalCss:e===`none`?!1:e===`beasties`?`beasties`:`zig-critters`,onPageRendered:async(e,t)=>{if(!v)return t;try{let n=j.get(e)??y.find(t=>t.path===e);n&&j.set(e,n);let r=(await v.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await v.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=te();return i&&(r=Ue(r,i)),r}catch{return t}}}}return{ssgOptions:A,build:{ssrManifest:m},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`,`lucide-react`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:n?[]:[{find:`react-router-dom`,replacement:q(`react-router-dom`)},{find:`react-helmet-async`,replacement:q(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:q(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...n?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(d=e,!Q){Q=new Map;for(let e of X)try{let t=q(e),n=F.realpathSync(t);Q.set(e,n)}catch{}for(let e of[`react`,`react-dom`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`])try{let t=Y.resolve(e),n=F.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=Xe(),i=Ze(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!P.isAbsolute(e)&&!e.startsWith(`.`)&&!qe.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(qe.has(e)&&(o=e),!o&&!P.isAbsolute(e)&&!e.startsWith(`.`)){let t=Je.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of Qe)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!P.isAbsolute(e)&&o!==`react`&&o!==`react-dom`){let t=Q?.get(o);if(t){let e={id:t,external:!0};return r.set(i,e),e}let n=K(Y),a=e;try{a=X.has(o)?q(e,n):n.resolve(e)}catch{try{a=X.has(o)?q(e,Y):Y.resolve(e)}catch{}}try{a=F.realpathSync(a)}catch{}let s={id:a,external:!0};return r.set(i,s),s}return r.set(i,null),null},transformIndexHtml:{order:`pre`,handler:e=>be(e,u)},configureServer(e){e.middlewares.use(We(d?.publicDir,d?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){import(`./virtual-modules-Dlgt1fP0.mjs`).then(()=>{let e=k(_);t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify(e))}).catch(e=>{console.error(`[boltdocs] Failed to serve search.json:`,e),t.statusCode=500,t.end(`[]`)});return}n()})},async generateBundle(){if(!(!m||d?.build?.ssr))try{let e=k(_);this.emitFile({type:`asset`,fileName:`search.json`,source:JSON.stringify(e)})}catch(e){console.error(`[boltdocs] Failed to emit search.json:`,e)}},async closeBundle(){!m||d?.build?.ssr||(await v?.runHook(`build:after`),await v?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(xe(M)),e.middlewares.use(Se(I)),o(e,h),i(h).catch(()=>{})}},O(e,M,I,r,h,_),ze(r,l,M,N,L,h,_),...$([ie(u,L,{docsDir:e.docsDir||`docs`})]),...$([re({includePublic:!0})]),...E]}export{it as boltdocsPlugin,K as getBaseRequire,J as getExternalAbsolutePaths,q as resolveEsm};
69
+ `);return e=ge(e,o),e=_e(e,l),e=ve(e,c.noScript),e=ye(e),e}function xe(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``,s=0;t.on(`data`,e=>{if(s+=e.length,s>10240){n.statusCode=413,n.end(JSON.stringify({error:`Request body too large`})),t.destroy();return}o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-D7UyZlPm.mjs`).then(e=>e.n),t=await e(JSON.parse(o),process.env,{owner:i.owner,repo:i.repo,categorySlug:i.categorySlug});n.statusCode=200,n.end(JSON.stringify(t))}catch(e){n.statusCode=500;let t=e instanceof Error?e.message:`Failed to submit feedback`;n.end(JSON.stringify({error:t}))}})}}function Se(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(P.extname(a))return r();let o=e(),s=P.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=P.join(s,c,`index.html`);c!==`/`&&F.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const Ce=/\.(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;function we(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(xe(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(j).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,M(a)),i()}),e.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),e.middlewares.use(async(t,r,i)=>{let a=t.url?.split(`?`)[0]||`/`,o=t.headers.accept||``,s=n();if(o.includes(`text/html`)&&!Ce.test(a)){let n=ae(s);n=be(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}const B=new WeakMap,V=[/\/index\./i,/\/getting-started/i,/\/intro/i,/\/readme/i],Te=[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`];function Ee(e){for(let t=0;t<V.length;t++)if(V[t].test(e))return t;return V.length}function De(e){for(let t of Te)e.transformRequest(`/${t}`).catch(()=>{})}function Oe(e,t,n,r){if(B.has(e))return;De(e);let i=new Promise(i=>{setTimeout(async()=>{try{let i=(r?await r:await(await import(`./routes-BL4y79tb.mjs`).then(e=>e.i)).generateRoutes(t,n())).filter(e=>e.filePath).map(e=>e.filePath).sort((e,t)=>Ee(e)-Ee(t)),a=performance.now();for(let t=0;t<i.length;t+=8){let n=i.slice(t,t+8);await Promise.allSettled(n.map(t=>{let n=P.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}(process.env.BOLTDOCS_DEBUG===`true`||process.env.BOLTDOCS_BENCHMARK===`true`)&&console.log(`[boltdocs] prewarm done (${i.length} files) in ${Math.round(performance.now()-a)}ms`)}catch(e){process.env.BOLTDOCS_DEBUG===`true`&&console.warn(`[boltdocs] Prewarm failed:`,e)}finally{B.delete(e),i()}},1500)});B.set(e,i)}const ke=[`tsx`,`jsx`],H=[`tsx`,`ts`,`jsx`,`js`];function Ae(e,t){let n=P.resolve(e.config.root),r=e=>{let t=P.resolve(e);return t===n||t.startsWith(`${n}${P.sep}`)},i=[...T.map(e=>P.resolve(process.cwd(),e)),...ke.map(e=>P.resolve(t,`layout.${e}`)),...H.map(e=>P.resolve(t,`mdx-components.${e}`)),...H.map(e=>P.resolve(t,`pages-external/index.${e}`)),...H.map(e=>P.resolve(t,`icons.${e}`))].filter(e=>!r(e));i.length>0&&e.watcher.add(i)}const U=new Map;function je(e){let{lastUpdated:t,...n}=e;return I.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function Me(e){try{let{data:t}=await u(e);return je(t)}catch{return``}}function Ne(e,t,n){let r=n?.frontmatterHashes??t?.frontmatterHashes??U,i=r.get(e);if(i===void 0){let a=(n?.docCache??t?.docCache??v).getStale(e);a?.route?.frontmatter&&(i=je(a.route.frontmatter),r.set(e,i))}return i}function Pe(e,t,n,r){(r?.frontmatterHashes??n?.frontmatterHashes??U).set(e,t)}function Fe(e,t,n){(n?.frontmatterHashes??t?.frontmatterHashes??U).delete(e)}const Ie=[`tsx`,`ts`,`jsx`,`js`];function W(e,t){let n=[`\0virtual:boltdocs-${t}.ts`,`\0virtual:boltdocs-${t}.tsx`];for(let t of n){let n=e.moduleGraph.getModuleById(t);if(n){e.moduleGraph.invalidateModule(n);break}}}function Le(e,t,r,i,a,o,s,c){let u=s&&!s.disposed?s:o?.routeCacheContext&&!o.routeCacheContext.disposed?o.routeCacheContext:b(t),d=c??h(u,g(i())),p=new Map,m=new Map,v=new Map,x=r.replace(/\/+$/,``).toLowerCase(),C=null;function ee(){if(C)return C;C=new Map;for(let[t,n]of e.moduleGraph.fileToModulesMap.entries())try{n&&C.set(decodeURIComponent(t).toLowerCase(),n)}catch{}return C}e.watcher.on(`all`,()=>{C=null});function D(e,t){return v.get(e)===t}function O(t){let n=e.moduleGraph.getModulesByFile(t);if((!n||n.size===0)&&(n=ee().get(t.toLowerCase())),n&&n.size>0){for(let t of n)e.moduleGraph.invalidateModule(t);return!0}return!1}function k(n,r,i){if(!D(r,i))return;let a=f(P.relative(t,n)),o=O(r);D(r,i)&&(o?e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:r,relPath:a}}):e.ws.send({type:`full-reload`}))}let j=async(r,s)=>{try{let c=f(r),h=(v.get(c)??0)+1;if(v.set(c,h),s===`add`||s===`unlink`){let e=p.get(c);e&&(clearTimeout(e),p.delete(c))}if(T.some(e=>c.endsWith(e))){e.restart();return}if(Ie.some(e=>c.endsWith(`mdx-components.${e}`))){w(i(),t),W(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(Ie.some(e=>c.endsWith(`icons.${e}`))){W(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`layout.tsx`)||c.endsWith(`layout.jsx`)){W(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`/post.tsx`)||c.endsWith(`/post.jsx`)||c.endsWith(`/list.tsx`)||c.endsWith(`/list.jsx`)){W(e,`entry`),e.ws.send({type:`full-reload`});return}if(c.includes(`/pages-external/`)||c.includes(`\\pages-external\\`)){W(e,`entry`),e.ws.send({type:`full-reload`});return}let g=c.toLowerCase();if(!(g===x||g.startsWith(`${x}/`)))return;let b=c.endsWith(`meta.json`)||c.endsWith(`_meta.json`);if(!b&&!l(c))return;if(s===`add`||s===`unlink`||b){s===`unlink`&&Fe(r,u,d),b&&S(r,u),s===`add`&&(R(r),O(c)),y(u),A(o),(a?n(s,c,a):n(s,c)).catch(e=>{L(`Plugin HMR handler error:`,e)});let l=i();w(l,t),W(e,`config`),W(e,`routes`),W(e,`search`),W(e,`collections`),te(t,process.cwd(),l).catch(e=>{L(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:l?.theme,i18n:l?.i18n,versions:l?.versions,siteUrl:l?.siteUrl}}),e.ws.send({type:`full-reload`});return}if(p.has(c)){let e=p.get(c);e&&clearTimeout(e)}p.set(c,setTimeout(()=>{p.delete(c);let s=(m.get(c)??Promise.resolve()).then(async()=>{if(v.get(c)===h)try{let s=Ne(r,u,d),l=await Me(r);if(v.get(c)!==h||!D(c,h))return;if(_(r,u),R(r),Pe(r,l,u,d),a?await n(`change`,c,a):await n(`change`,c),s!==void 0&&s!==l){if(!D(c,h))return;W(e,`routes`),W(e,`search`),W(e,`collections`);let n=i();try{let r=await E(t,n,o,u,d);if(!D(c,h))return;if(r.routes.deleted.length>0){D(c,h)&&e.ws.send({type:`full-reload`});return}if(!D(c,h))return;e.ws.send({type:`custom`,event:`boltdocs:frontmatter-update`,data:r})}catch(t){if(typeof t==`symbol`){D(c,h)&&e.ws.send({type:`full-reload`});return}L(`Failed to compute frontmatter delta:`,t),D(c,h)&&e.ws.send({type:`full-reload`});return}k(r,c,h);return}k(r,c,h)}catch(e){L(`HMR error processing content change:`,e)}});m.set(c,s);let l=()=>{m.get(c)===s&&m.delete(c)};s.then(l,l)},150))}catch(e){L(`HMR error during ${s} event:`,e)}};e.watcher.on(`add`,e=>j(e,`add`)),e.watcher.on(`unlink`,e=>j(e,`unlink`)),e.watcher.on(`change`,e=>j(e,`change`))}function Re(e){let t=f(e).replace(/\/+$/,``).toLowerCase();return({file:e})=>{let n=f(e).toLowerCase(),r=n===t||n.startsWith(`${t}/`),i=n.includes(`/pages-external/`)||n.includes(`\\pages-external\\`);if(r&&(l(e)||n.endsWith(`meta.json`)||i))return[]}}function ze(e,n,a,s,c,l,u,d){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(s){t(l),A(u);let f=c();await f?.runHook(`dev:before`).catch(e=>{L(`dev:before hook failed:`,e)});let p=import(`./routes-BL4y79tb.mjs`).then(e=>e.i).then(({generateRoutes:t})=>t(e,a()));p.then(e=>import(`./types-generator-DG1GX1EZ.mjs`).then(e=>e.n).then(({writeLinkTree:t})=>t(e.map(e=>e.path)))).catch(()=>{});let h=d&&!d.disposed?d:u?.routeCacheContext&&!u.routeCacheContext.disposed?u.routeCacheContext:b(e);u&&(u.routeCacheContext=h),Oe(s,e,a,p),we(s,e,a),Ae(s,e),Le(s,e,n,a,l,u,h),h&&s.httpServer?.once(`close`,()=>{m(e,h)}),s.httpServer?.once(`listening`,()=>{import(`./node/mdx/shiki-adapter.mjs`).then(({prewarmShiki:e})=>e(a())).catch(()=>{})}),r((e,t)=>{s.ws.send(e,t)},l),o(s,l),await i(l).catch(()=>{}),await f?.runHook(`dev:after`).catch(()=>{})},hotUpdate:Re(n)}}function Be(e,t){let n=new Map,r=Ve(t);return!r||!e?{resolve:()=>null}:{resolve:t=>{if(n.has(t))return n.get(t)??null;let i=null;if(!t.startsWith(`${r}/`)){let n=decodeURIComponent(t).replace(/^\//,``),a=P.join(e,n);n.length>0&&!n.includes(`..`)&&a.startsWith(e)&&F.existsSync(a)&&F.statSync(a).isFile()&&(i=`${r}${t}`)}return n.set(t,i),i}}}function Ve(e){if(!e||e===`/`)return null;let t=e.replace(/\/+$/,``);return t.length>0&&t!==``?t:null}const He=`srcset`;function Ue(e,t){let n=e.replace(RegExp(`(?:src|href|poster|content)="(/[^"]*)"`,`g`),(e,n)=>{let r=t.resolve(n);return r?e.replace(n,r):e});return n=n.replace(RegExp(`${He}="([^"]*)"`,`g`),(e,n)=>{let r=!1,i=n.split(`,`).map(e=>{let[n,...i]=e.trim().split(/\s+/);if(!n?.startsWith(`/`))return e;let a=t.resolve(n);return a?(r=!0,[a,...i].join(` `)):e}).join(`, `);return r?`${He}="${i}"`:e}),n}function We(e,t){let n=Be(e,t);return function(e,t,r){if(e.method&&e.method!==`GET`&&e.method!==`HEAD`){r();return}let i=e.url??`/`,a=i.indexOf(`?`),o=a===-1?i:i.slice(0,a);if(!o.startsWith(`/`)){r();return}let s=n.resolve(o);if(!s){r();return}t.writeHead(302,{Location:`${s}${a===-1?``:i.slice(a)}`}),t.end()}}const G=N(import.meta.url),Ge=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`],Ke=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function K(e=G){try{let e=P.join(process.cwd(),`node_modules/boltdocs/package.json`);return F.existsSync(e)?N(F.realpathSync(e)):N(P.join(process.cwd(),`package.json`))}catch{return e}}function q(e,t=G){try{let n=e.split(`/`),r=e.startsWith(`@`)?n.slice(0,2).join(`/`):n[0],i=e.startsWith(`@`)?n.slice(2).join(`/`):n.slice(1).join(`/`),a=``;try{a=t.resolve(`${r}/package.json`)}catch{let e=t.resolve(r),n=P.dirname(e);for(;n&&n!==P.dirname(n);){let e=P.join(n,`package.json`);if(F.existsSync(e)){a=e;break}n=P.dirname(n)}}if(!a)throw Error();let o=P.dirname(a),s=JSON.parse(F.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,l=s.exports?.[c]||s.exports?.[i]||``;typeof l==`object`&&l&&(l=l.import||l.default||l.require||``),!l&&!i&&(l=s.module||s.main||`index.js`);let u=P.resolve(o,l);if(F.existsSync(u))return u}catch{}return t.resolve(e)}function J(e=G){let t=[],n=K(e),r=new Set([n,e]);for(let e of r){for(let n of Ge)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?q(n,e):e.resolve(n);r&&t.push(F.realpathSync(r))}catch{}for(let n of Ke)try{t.push(F.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>f(e))}const Y=N(import.meta.url),qe=new Set([`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`]),Je=[`react/`,`react-dom/`,`react-router-dom/`,`react-helmet-async/`,`@bdocs/ssg/`,`lucide-react/`,`scheduler/`],X=new Set([`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`]);let Ye=null;function Xe(){return Ye||=new Map,Ye}function Ze(e,t){return`${e}::${t?`1`:`0`}`}const Qe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`];let $e=null;function et(){return $e||=JSON.parse(F.readFileSync(P.resolve(e,`../../../package.json`),`utf-8`)).version??`0.0.0`,$e}const Z=new Map;function tt(e){return P.join(e,`.boltdocs`,`cache`,`plugin-validation.json`)}function nt(e,t){try{let n=tt(e);if(!F.existsSync(n))return!1;let r=F.readFileSync(n,`utf-8`);return JSON.parse(r).key===t}catch{return!1}}function rt(e,t,n,r){try{let i=tt(e);F.mkdirSync(P.dirname(i),{recursive:!0});let a={key:t,boltdocsVersion:n,validatedNames:r,timestamp:Date.now()};F.writeFileSync(i,JSON.stringify(a),`utf-8`)}catch{}}let Q=null;function $(e){return e??[]}function it(e={},t){let n=P.resolve(e.root||process.cwd()),r=P.resolve(n,e.docsDir||`docs`),l=f(r),u=t,d,m=!1,h=a(),g=b(r),_=D(g),v,y=e.routes??[],S=null,T=null,te=()=>T||(T=Be(d?.publicDir,d?.base),T),E=[];if(u?.plugins?.length)try{let e=et(),t=JSON.stringify(u.plugins.map(e=>[e.name||``,e.version||``,e.boltdocsVersion||``].join(`:`)).sort()),i=Z.get(t);if(i){let e=i.validated;u.plugins=e,v=new s(e,u,r,void 0,void 0,void 0,h,g),E=e.flatMap(e=>$(e.vitePlugins))}else if(nt(n,t)){let e=u.plugins;v=new s(e,u,r,void 0,void 0,void 0,h,g),E=e.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:e})}else{let i=c(u.plugins,e);u.plugins=i,v=new s(i,u,r,void 0,void 0,void 0,h,g),E=i.flatMap(e=>$(e.vitePlugins)),Z.set(t,{validated:i}),rt(n,t,e,i.map(e=>e.name))}}catch{}let A=null,j=new Map,M=()=>u,N=e=>{u=e},I=()=>d,L=()=>(g.disposed&&(g=b(r),_.routeCacheContext=g,_.routeCacheVariant=void 0,_.routeGenerationFingerprint=void 0,_.routesDataMap.clear(),_.collectionsDataMap.clear(),_.searchDataMap.clear(),v=new s(u.plugins||[],u,r,void 0,y,d?.build?.outDir||`dist`,h,g)),v);return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){m=t.command===`build`;let n=!!(t.isSsrBuild||e.build?.ssr);if(n&&u&&y.length>0&&v)return{build:{ssrManifest:!0},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}};if(Object.assign(process.env,ne(t.mode,e.envDir||process.cwd(),``)),u||=await C(r),y.length===0&&m){S||=x(r,u),y=await S;let e=y.map(e=>e.path),t=(u.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=p(r,u);for(let t of n)e.includes(t)||e.push(t);w(u,r,void 0,e),ee(e)}if(m&&import(`./node/mdx/shiki-adapter.mjs`).then(({prewarmShiki:e})=>e(u)).catch(()=>{}),!v){let{version:e}=await import(`./package-DU3ngn4r.mjs`),t=c(u.plugins||[],e);u.plugins=t,v=new s(t,u,r,void 0,y,d?.build?.outDir||`dist`,h,g),E=t.flatMap(e=>$(e.vitePlugins))}if(m&&await v?.runHook(`build:before`),!A){let e=u.ssg?.criticalCss;A={entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:!1,criticalCss:e===`none`?!1:e===`beasties`?`beasties`:`zig-critters`,onPageRendered:async(e,t)=>{if(!v)return t;try{let n=j.get(e)??y.find(t=>t.path===e);n&&j.set(e,n);let r=(await v.runChain(`transformHtml`,{html:t,path:e,route:n})).html;r=(await v.runMiddlewareChain(`transformHtml`,{html:r,path:e})).html;let i=te();return i&&(r=Ue(r,i)),r}catch{return t}}}}return{ssgOptions:A,build:{ssrManifest:m},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`,`lucide-react`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:n?[]:[{find:`react-router-dom`,replacement:q(`react-router-dom`)},{find:`react-helmet-async`,replacement:q(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:q(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...n?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`react-router-dom`,`@bdocs/ssg`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`,...J(Y)],optimizeDeps:{include:[`react-fast-compare`]},noExternal:[]}}},configResolved(e){if(d=e,!Q){Q=new Map;for(let e of X)try{let t=q(e),n=F.realpathSync(t);Q.set(e,n)}catch{}for(let e of[`react`,`react-dom`,`jsdom`,`lucide-react`,`react-fast-compare`,`invariant`,`scheduler`])try{let t=Y.resolve(e),n=F.realpathSync(t);Q.set(e,n)}catch{}}},resolveId(e,t,n){let r=Xe(),i=Ze(e,n?.ssr),a=r.get(i);if(a!==void 0)return a;if(!P.isAbsolute(e)&&!e.startsWith(`.`)&&!qe.has(e)&&!e.startsWith(`react`)&&!e.startsWith(`@bdocs`))return r.set(i,null),null;let o=null;if(qe.has(e)&&(o=e),!o&&!P.isAbsolute(e)&&!e.startsWith(`.`)){let t=Je.find(t=>e.startsWith(t));t&&(o=t.slice(0,-1))}if(!o&&e.includes(`/node_modules/`)){for(let t of Qe)if(e.includes(`/node_modules/${t}/`)){o=t;break}}if(o&&n?.ssr&&!P.isAbsolute(e)&&o!==`react`&&o!==`react-dom`){let t=Q?.get(o);if(t){let e={id:t,external:!0};return r.set(i,e),e}let n=K(Y),a=e;try{a=X.has(o)?q(e,n):n.resolve(e)}catch{try{a=X.has(o)?q(e,Y):Y.resolve(e)}catch{}}try{a=F.realpathSync(a)}catch{}let s={id:a,external:!0};return r.set(i,s),s}return r.set(i,null),null},transformIndexHtml:{order:`pre`,handler:e=>be(e,u)},configureServer(e){e.middlewares.use(We(d?.publicDir,d?.base)),e.middlewares.use((e,t,n)=>{let r=e.url?.split(`?`)[0];if(r===`/search.json`||r?.endsWith(`/search.json`)){import(`./virtual-modules-Dlgt1fP0.mjs`).then(()=>{let e=k(_);t.setHeader(`Content-Type`,`application/json`),t.end(JSON.stringify(e))}).catch(e=>{console.error(`[boltdocs] Failed to serve search.json:`,e),t.statusCode=500,t.end(`[]`)});return}n()})},async generateBundle(){if(!(!m||d?.build?.ssr))try{let e=k(_);this.emitFile({type:`asset`,fileName:`search.json`,source:JSON.stringify(e)})}catch(e){console.error(`[boltdocs] Failed to emit search.json:`,e)}},async closeBundle(){!m||d?.build?.ssr||(await v?.runHook(`build:after`),await v?.runHook(`build:end`))},configurePreviewServer(e){e.middlewares.use(xe(M)),e.middlewares.use(Se(I)),o(e,h),i(h).catch(()=>{})}},O(e,M,I,r,h,_),ze(r,l,M,N,L,h,_),...$([ie(u,L,{docsDir:e.docsDir||`docs`})]),...$([re({includePublic:!0})]),...E]}export{it as boltdocsPlugin,K as getBaseRequire,J as getExternalAbsolutePaths,q as resolveEsm};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boltdocs",
3
- "version": "3.3.1",
3
+ "version": "3.3.2",
4
4
  "description": "A lightweight documentation generator for React projects.",
5
5
  "main": "dist/node/index.mjs",
6
6
  "module": "dist/node/index.mjs",
@@ -102,11 +102,11 @@
102
102
  "tailwind-merge": "3.5.0",
103
103
  "vite": "8.1.5",
104
104
  "zod": "4.3.6",
105
- "@bdocs/parser": "1.2.0",
105
+ "@bdocs/processor-satteri": "0.3.1",
106
106
  "@bdocs/plugin-image-optimizer": "0.2.2",
107
+ "@bdocs/ssg": "0.4.1",
107
108
  "@bdocs/unist-utils": "0.2.0",
108
- "@bdocs/processor-satteri": "0.3.0",
109
- "@bdocs/ssg": "0.4.1"
109
+ "@bdocs/parser": "1.2.0"
110
110
  },
111
111
  "peerDependencies": {
112
112
  "react": "19.0.0",