boltdocs 2.9.0 → 2.9.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.
Files changed (86) hide show
  1. package/dist/adapters-HVuXENAe.mjs +6 -0
  2. package/dist/adapters-uGz-UKQa.cjs +6 -0
  3. package/dist/{cache-C2PiGyg8.cjs → cache-B19MLTpN.cjs} +1 -1
  4. package/dist/{cache-DFW4R3S0.mjs → cache-CfhOTR3Q.mjs} +1 -1
  5. package/dist/client/index.cjs +2 -2
  6. package/dist/client/index.js +2 -2
  7. package/dist/client/mdx.cjs +1 -1
  8. package/dist/client/mdx.js +1 -1
  9. package/dist/client/primitives.cjs +1 -1
  10. package/dist/client/primitives.js +1 -1
  11. package/dist/config-BCqkPkjC.mjs +7 -0
  12. package/dist/config-BPWGa2W3.mjs +6 -0
  13. package/dist/config-CnmfjOE4.cjs +6 -0
  14. package/dist/config-D7ERJhqe.cjs +7 -0
  15. package/dist/csp-CUAEgrxR.mjs +6 -0
  16. package/dist/csp-DbbF3R9Q.cjs +6 -0
  17. package/dist/doctor-A17UhTRn.cjs +7 -0
  18. package/dist/{parser-DJoEF96Y.cjs → doctor-BL6c8x2Q.cjs} +1 -1
  19. package/dist/doctor-hKOBLhBF.mjs +7 -0
  20. package/dist/errors-C0Hx15Ag.mjs +6 -0
  21. package/dist/errors-Dx6JHoKE.cjs +6 -0
  22. package/dist/{doctor-wsPTzt8Y.mjs → handler-eNNcucnf.mjs} +1 -1
  23. package/dist/headers-DBzZ9yC6.mjs +6 -0
  24. package/dist/headers-DuCAOgYX.cjs +6 -0
  25. package/dist/{image-CjYu9Eml.js → image-BCDyLHyD.js} +1 -4
  26. package/dist/{image-B9YA_oQ_.cjs → image-DWdmichO.cjs} +1 -4
  27. package/dist/index-ZqgZUvwp.d.mts +274 -0
  28. package/dist/index-aWC0KjDF.d.cts +274 -0
  29. package/dist/{mdx-WXjAMS8Y.cjs → mdx-9QJoSITt.cjs} +1 -1
  30. package/dist/{mdx-Cy_c2zio.js → mdx-DFbspTP9.js} +1 -1
  31. package/dist/{meta-loader-By22EnYa.mjs → meta-loader-CD3Yptr5.mjs} +1 -1
  32. package/dist/{meta-loader-D0V6oOQt.cjs → meta-loader-CjphwtS7.cjs} +1 -1
  33. package/dist/node/cli-entry.cjs +9 -3
  34. package/dist/node/cli-entry.mjs +9 -3
  35. package/dist/node/index.cjs +1 -1
  36. package/dist/node/index.d.cts +8 -278
  37. package/dist/node/index.d.mts +9 -280
  38. package/dist/node/index.mjs +1 -1
  39. package/dist/node/routes/worker.cjs +1 -1
  40. package/dist/node/routes/worker.mjs +1 -1
  41. package/dist/node-B-I15rGR.cjs +105 -0
  42. package/dist/node-FkxzriO7.mjs +105 -0
  43. package/dist/package-CVw_u5VT.cjs +6 -0
  44. package/dist/{package-BK_82QLX.mjs → package-D6O7a8qA.mjs} +1 -1
  45. package/dist/parser-8u0xHVc7.mjs +6 -0
  46. package/dist/{doctor-Bknon8f5.cjs → parser-CHsNUEhU.cjs} +1 -1
  47. package/dist/parser-CLtGv_XH.cjs +6 -0
  48. package/dist/plugin-CHa0IT49.mjs +61 -0
  49. package/dist/plugin-Dqj9plKB.cjs +61 -0
  50. package/dist/routes-B2joDAlC.cjs +6 -0
  51. package/dist/routes-BTx0ngdX.mjs +6 -0
  52. package/dist/{routes-CKgGAy8P.mjs → routes-Bm0CQvyL.mjs} +1 -1
  53. package/dist/{routes-C6Kr2HFN.cjs → routes-CyKj3dzf.cjs} +1 -1
  54. package/dist/server/index.cjs +6 -0
  55. package/dist/server/index.d.cts +3 -0
  56. package/dist/server/index.d.mts +3 -0
  57. package/dist/server/index.mjs +6 -0
  58. package/dist/{shiki-adapter-CUtj-xKv.cjs → shiki-adapter-BB71nVsG.cjs} +1 -1
  59. package/dist/{handler-B31cxNw0.mjs → shiki-adapter-CL-IQwKI.cjs} +1 -1
  60. package/dist/shiki-adapter-CxTLkjew.mjs +6 -0
  61. package/dist/{shiki-adapter-F-P-lDon.mjs → shiki-adapter-rQ087Lx3.mjs} +1 -1
  62. package/dist/types-generator-BRyf4o9F.mjs +26 -0
  63. package/dist/types-generator-BqNKCbrx.cjs +26 -0
  64. package/dist/types-generator-Cu2jQP-V.mjs +6 -0
  65. package/dist/utils-BWy_8ASj.cjs +7 -0
  66. package/dist/utils-DexBrwiP.mjs +7 -0
  67. package/dist/{worker-pool-DRv8ef4z.mjs → worker-pool-v6tW2MDQ.mjs} +1 -1
  68. package/package.json +6 -1
  69. package/dist/doctor-BY1tSmQd.mjs +0 -34
  70. package/dist/doctor-DcFLi4t1.cjs +0 -34
  71. package/dist/node-DV-EPtMU.mjs +0 -160
  72. package/dist/node-vOVNRABe.cjs +0 -160
  73. package/dist/package-OxKE0p6j.cjs +0 -6
  74. package/dist/parser-C2Pw18LY.cjs +0 -6
  75. package/dist/parser-DScG_PTs.mjs +0 -6
  76. package/dist/routes--LYHSHT7.cjs +0 -6
  77. package/dist/routes-BAsfsn_e.mjs +0 -6
  78. package/dist/shiki-adapter-EZptJAmW.mjs +0 -6
  79. package/dist/shiki-adapter-PQBl32AN.cjs +0 -6
  80. package/dist/utils-DC4Wq-S2.mjs +0 -7
  81. package/dist/utils-wHud9ny5.cjs +0 -7
  82. /package/dist/{generator-DILs0EFN.mjs → generator-BaSvGlxR.mjs} +0 -0
  83. /package/dist/{generator-BEIF6MOx.cjs → generator-DsajVrDx.cjs} +0 -0
  84. /package/dist/{handler-Djy0HfsI.cjs → handler-1LRMYeI4.cjs} +0 -0
  85. /package/dist/{handler-DfhH9D1b.mjs → handler-CyIBbZdb.mjs} +0 -0
  86. /package/dist/{worker-pool-BS1LX67P.cjs → worker-pool-CgOMozUz.cjs} +0 -0
@@ -1,160 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-wHud9ny5.cjs`),n=require(`./cache-C2PiGyg8.cjs`),r=require(`./routes-C6Kr2HFN.cjs`),i=require(`./doctor-DcFLi4t1.cjs`),a=require(`./shiki-adapter-CUtj-xKv.cjs`),o=require(`./handler-Djy0HfsI.cjs`);let s=require(`@vitejs/plugin-react`);s=e.n(s);let c=require(`@tailwindcss/vite`);c=e.n(c);let l=require(`node:path`);l=e.n(l);let u=require(`node:fs`);u=e.n(u);let d=require(`node:module`);d=e.n(d);let f=require(`vite`),p=require(`@bdocs/plugin-image-optimizer`),m=require(`zod`),h=require(`@bdocs/dui`);h=e.n(h);let g=require(`node:crypto`);g=e.n(g);let _=require(`semver`);_=e.n(_);let v=require(`@bdocs/ssg/node`),y=require(`unist-util-visit`),b=require(`@mdx-js/rollup`);b=e.n(b);let x=require(`remark-gfm`);x=e.n(x);let S=require(`remark-frontmatter`);S=e.n(S);let C=require(`rehype-slug`);C=e.n(C);function w(e){return`<!doctype html>
7
- <html lang="en">
8
- <head>
9
- <meta charset="UTF-8" />
10
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
11
- <title>${e.theme?.title||`Boltdocs`}</title>
12
- </head>
13
- <body>
14
- <div id="root"></div>
15
- </body>
16
- </html>`}function ee(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=w(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,t.siteUrl?`<meta property="og:url" content="${t.siteUrl}">`:``,t.siteUrl?`<link rel="canonical" href="${t.siteUrl}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,`<meta name="generator" content="Boltdocs">`].filter(Boolean).join(`
17
- `);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let s=``;if(t.integrations?.ga4){let e=t.integrations.ga4;if(process.env.NODE_ENV===`production`||e.debug){let t=e.anonymizeIp?`gtag('set', 'ip', true);`:``,n=e.sendPageView===!1?`{send_page_view: false}`:`{}`,r=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``;s=`
18
- <!-- Google tag (gtag.js) - ${e.measurementId} -->
19
- <script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
20
- <script>
21
- window.dataLayer = window.dataLayer || [];
22
- function gtag(){dataLayer.push(arguments);}
23
- gtag('js', new Date());
24
- ${t}
25
- gtag('config', '${e.measurementId}', ${n}${r});
26
- <\/script>
27
- `}}let c=``,l=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;c=`
28
- <!-- Google Tag Manager -->
29
- <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
30
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
31
- j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
32
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`&gtm_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
33
- })(window,document,'script','${t}','${e.tagId}');<\/script>
34
- <!-- End Google Tag Manager -->
35
- `,l=`
36
- <!-- Google Tag Manager (noscript) -->
37
- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
38
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
39
- <!-- End Google Tag Manager (noscript) -->
40
- `}}return e=e.replace(`<head>`,`<head>
41
-
42
- <script>
43
- (function() {
44
- try {
45
- var stored = localStorage.getItem("boltdocs-theme");
46
- var isDark =
47
- stored === "dark" ||
48
- (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
49
- document.documentElement.classList.toggle("dark", isDark);
50
- document.documentElement.dataset.theme = isDark ? "dark" : "light";
51
- } catch (e) {
52
- // Ignore localStorage errors (e.g. if cookies/storage are disabled)
53
- }
54
- })();
55
- <\/script>
56
- `),e=e.replace(`</head>`,` ${o}\n${s}${c} </head>`),l&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${l}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
57
- </body>`)),e}var T=class extends Error{name=this.constructor.name;constructor(e,t,n){super(`[plugin:${e}] ${t}`,n),this.pluginName=e}},E=class extends T{constructor(e,t){super(e,`Validation failed: ${t}`)}},D=class extends T{constructor(e,t){super(e,`Compatibility error: ${t}`)}},O=class extends T{constructor(e,t,n){super(e,`Error in hook '${t}': ${n.message}`,{cause:n}),this.hookName=t}},k=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let n=this.getNamespaceKey(e,t),r=this.data.get(n);if(r!==void 0)return typeof r==`object`&&r?JSON.parse(JSON.stringify(r)):r}set(e,t,n){let r=this.getNamespaceKey(e,t),i=typeof n==`object`&&n?JSON.parse(JSON.stringify(n)):n;this.data.set(r,i)}has(e,t){let n=this.getNamespaceKey(e,t);return this.data.has(n)}};const te=i.y.extend({version:m.z.string().optional(),boltdocsVersion:m.z.string().optional(),hooks:m.z.object({beforeBuild:m.z.function().optional(),afterBuild:m.z.function().optional(),beforeDev:m.z.function().optional(),afterDev:m.z.function().optional(),buildEnd:m.z.function().optional(),transformSource:m.z.function().optional(),transformMdx:m.z.function().optional(),transformHtml:m.z.function().optional()}).optional()});function A(e,t){let n=[],r=new Set;for(let i of e){let e=te.safeParse(i);if(!e.success)throw new E(i.name||`unknown`,e.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`, `));let a=e.data;if(r.has(a.name))throw new E(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!_.default.satisfies(t,a.boltdocsVersion))throw new D(a.name,`Plugin expects Boltdocs version ${a.boltdocsVersion}, but current is ${t}`);if(a.components){for(let[e,t]of Object.entries(a.components))if((t.includes(`..`)||l.default.isAbsolute(t))&&t.includes(`..`))throw new E(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`)}n.push(a)}return n}function ne(e,t=process.cwd()){let n=e.plugins||[];for(let e of n)if(e.name)try{let n=null;try{let{createRequire:r}=require(`node:module`);n=r(l.default.resolve(t,`package.json`)).resolve(`${e.name}/package.json`)}catch{let r=l.default.resolve(t,`node_modules`,e.name,`package.json`);u.default.existsSync(r)&&(n=r)}if(n&&u.default.existsSync(n)){let t=JSON.parse(u.default.readFileSync(n,`utf-8`)).scripts||{};(t.preinstall||t.postinstall||t.install)&&(0,h.warn)(`💡 ${h.colors.yellow(h.colors.bold(`Nota de seguridad:`))} El plugin ${h.colors.cyan(e.name)} ejecuta scripts nativos al instalarse. Corre ${h.colors.bold(`boltdocs audit`)} para un análisis detallado.`)}}catch{}}var re=class{name=`ConfigResolve`;async execute(e){e.config=await i.h(`docs`,e.root),ne(e.config,e.root),e.viteConfig=await $(e.root,`production`)}};function j(e){return e.map(e=>({path:e.path,filePath:e.filePath,title:e.title,description:e.description||``,sidebarPosition:e.sidebarPosition,badge:e.badge,icon:e.icon,headings:e.headings||[],_content:e._content||``,_rawContent:e._rawContent||``,locale:e.locale,version:e.version,tab:e.tab,collection:e.collection,tags:e.tags,author:e.author,draft:e.draft,excerpt:e.excerpt,coverImage:e.coverImage,group:e.group,groupTitle:e.groupTitle,groupPosition:e.groupPosition,groupIcon:e.groupIcon,subRouteGroup:e.subRouteGroup,seo:e.seo,date:e.date,lastUpdated:e.lastUpdated,category:e.category,order:e.order,sidebarLabel:e.sidebarLabel,sidebarHidden:e.sidebarHidden,frontmatter:e.frontmatter,slugParts:e.slugParts}))}var ie=class{name=`RouteGenerate`;async execute(e){if(!e.config)throw Error(`Config not resolved. Run ConfigResolve first.`);let t=l.default.resolve(e.root,`docs`),n=e.viteConfig?.base||e.config.base||`/docs`;e.routes=[...await r.t(t,e.config,n)],e.ssgRoutes=j(e.routes)}};const ae=m.z.object({title:m.z.string().optional(),description:m.z.string().optional(),canonical:m.z.string().url().optional(),robots:m.z.string().optional(),noindex:m.z.boolean().optional(),"og:title":m.z.string().optional(),"og:description":m.z.string().optional(),"og:image":m.z.string().optional(),"og:type":m.z.string().optional(),"og:url":m.z.string().url().optional()});var oe=class{name=`SEOValidate`;async execute(e){if(!e.routes||!e.config)throw Error(`Routes or Config not initialized.`);let t=e.config.siteUrl;e.routes=e.routes.map(e=>{let n=e.seo||{},r=n.canonical||(t?`${t.replace(/\/$/,``)}${e.path}`:void 0),i=n[`og:url`]||r||void 0,a={...n};r&&(a.canonical=r),i&&(a[`og:url`]=i),!a[`og:title`]&&e.title&&(a[`og:title`]=e.title),!a[`og:description`]&&e.description&&(a[`og:description`]=e.description);let o=ae.safeParse(a);return o.success||(0,h.warn)(`[SEOValidate] Validation issues on route "${e.path}":`,o.error.message),e.title||(0,h.warn)(`[SEOValidate] Route "${e.path}" is missing a title.`),{...e,seo:a}}),e.ssgRoutes=j(e.routes)}},se=class{name=`TypeGenerate`;async execute(e){if(!e.config||!e.routes)throw Error(`Config or Routes not initialized.`);let t=l.default.resolve(e.root,`docs`),n=e.routes.map(e=>e.path),r=(e.config.base||`/docs`).replace(/\/$/,``);n.includes(r)||n.push(r),i._(e.config,t,e.root,n),i.v(n)}},ce=class{name=`SSGBuild`;async execute(e){if(!e.routes||!e.viteConfig)throw Error(`Routes or ViteConfig not initialized.`);let t={};for(let n of e.routes)if(n.path&&n.componentPath){t[n.path]=n.componentPath;let e=n.path.replace(/\/$/,``);t[e]=n.componentPath}await(0,v.build)({entry:`boltdocs/entry`,routeToSourceFileMap:t,cacheDir:l.default.resolve(e.root,`.boltdocs/build`)},e.viteConfig),e.outDir=e.viteConfig.build?.outDir||`dist`}};function le(e,n){let r=(n.siteUrl||``).replace(/\/$/,``);if(!r)return``;let i=n.seo?.indexing!==`all`&&n.seo?.indexing!==`public`;return`<?xml version="1.0" encoding="UTF-8"?>
58
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
59
- ${e.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(i&&e.seo?.index,!0)).map(e=>` <url>
60
- <loc>${t.r(`${r}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`)}</loc>
61
- <changefreq>weekly</changefreq>
62
- <priority>0.7</priority>
63
- </url>`).join(`
64
- `)}
65
- </urlset>`}function ue(e){let t=e.siteUrl||``,n=t?`${t.replace(/\/$/,``)}/sitemap.xml`:``;if(e.seo?.indexing!==`all`&&e.seo?.indexing!==`public`&&e.seo?.indexing)return[`User-agent: *`,`Disallow: /`].filter(Boolean).join(`
66
- `);if(typeof e.robots==`string`)return e.robots;if(e.robots&&typeof e.robots==`object`){let t=e.robots.rules||[],r=e.robots.sitemaps||[],i=t.map(e=>{let t=`User-agent: ${e.userAgent}\n`;return e.allow&&(Array.isArray(e.allow)?t+=e.allow.map(e=>`Allow: ${e}`).join(`
67
- `)+`
68
- `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
69
- `)+`
70
- `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
71
-
72
- `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
73
- `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
74
- `)}var de=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=le(e.ssgRoutes,e.config),n=l.default.resolve(e.root,e.outDir);t&&u.default.writeFileSync(l.default.join(n,`sitemap.xml`),t,`utf-8`);let r=ue(e.config);u.default.writeFileSync(l.default.join(n,`robots.txt`),r,`utf-8`)}};function fe(){return new M().addStep(new re).addStep(new ie).addStep(new oe).addStep(new se).addStep(new ce).addStep(new de)}var M=class{steps=[];addStep(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=performance.now();try{await e.execute(r);let n=performance.now()-i;t.push({name:e.name,duration:n,success:!0}),r.timing[e.name]=n}catch(a){let o=performance.now()-i;t.push({name:e.name,duration:o,success:!1,error:a instanceof Error?a:Error(String(a))});for(let e of t.filter(e=>e.success).reverse()){let t=this.steps.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 s=performance.now()-n;return{success:!1,failedStep:e.name,error:a instanceof Error?a:Error(String(a)),timing:{total:s,steps:r.timing},stepResults:t}}}return{success:!0,timing:{total:performance.now()-n,steps:r.timing},stepResults:t}}},N=class{plugins;config;store;docsDir;rootDir;constructor(e,t,n,r){this.plugins=e,this.config=t,this.store=new k,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd()}async runHook(e,...t){let n=this.getSortedPlugins(),r=new M;for(let i of n)i.hooks?.[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){if(!t.hooks?.[e])continue;let n=this.createContext(t);try{let i=t.hooks[e],a=await i(n,r);a!==void 0&&(r=a)}catch(r){let i=new O(t.name,e,r instanceof Error?r:Error(String(r)));n.logger.error(i)}}return r}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=e.hooks[t];await i(r,...n)}catch(n){let i=new O(e.name,t,n instanceof Error?n:Error(String(n)));r.logger.error(i)}},rollback:async()=>{let t=e.hooks?.buildEnd;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,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)}}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 P(e,t,n){e&&(0,y.visit)(e,typeof t==`function`?t:e=>Array.isArray(t)?t.includes(e.type):e.type===t,(e,t,r)=>{if(t!==void 0&&r!==void 0)return n(e,t,r)})}function pe(e,t,n){P(e,a.o.ELEMENT,(e,r,i)=>{if(e.tagName===t)return n(e,r,i)})}function me(e,t,n){let r=Array.isArray(t)?t:[t],i=[a.o.JSX_FLOW_ELEMENT,a.o.JSX_TEXT_ELEMENT];P(e,e=>i.includes(e.type),(e,t,i)=>{if(e.name&&r.includes(e.name))return n(e,t,i)})}function F(e,t,n){e&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties[t]=n)}function he(e,t){return e?.data?.hProperties?.[t]}function I(e,t){return typeof t==`object`&&t?{type:a.o.JSX_ATTRIBUTE,name:e,value:t}:{type:a.o.JSX_ATTRIBUTE,name:e,value:String(t)}}function ge(e,t={},n=[]){return{type:a.o.ELEMENT,tagName:e,properties:t,children:n}}function _e(e,t={},n=[],r=!0){let i=Object.entries(t).map(([e,t])=>I(e,t));return{type:r?a.o.JSX_FLOW_ELEMENT:a.o.JSX_TEXT_ELEMENT,name:e,attributes:i,children:n}}function ve(e,t){e&&(0,y.visit)(e,a.o.HEADING,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function ye(e,t){e&&(0,y.visit)(e,a.o.LINK,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function be(e,t){if(!e)return;e.properties=e.properties||{};let n=e.properties.className;Array.isArray(n)?n.includes(t)||n.push(t):typeof n==`string`?n!==t&&(e.properties.className=[n,t]):e.properties.className=[t]}function xe(e,t){if(!e||!e.properties||!e.properties.className)return;let n=e.properties.className;Array.isArray(n)?e.properties.className=n.filter(e=>e!==t):typeof n==`string`&&n===t&&delete e.properties.className}function Se(e,t){if(!e||!e.properties||!e.properties.className)return!1;let n=e.properties.className;return Array.isArray(n)?n.includes(t):typeof n==`string`?n===t:!1}function Ce(e){return e}function L(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(L):e&&typeof e==`object`?Object.values(e).flatMap(L):[]}const we=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function Te(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=L(Object.entries(n.frontmatter).filter(([e])=>!we.has(e)).map(([e,t])=>t)).join(` `));let r=e?`${n._content||``} ${e}`:n._content||``;if(t.push({id:n.path,title:n.title,content:r,url:n.path,display:n.groupTitle?`${n.groupTitle} > ${n.title}`:n.title,locale:n.locale,version:n.version}),n.headings)for(let e of n.headings)t.push({id:`${n.path}#${e.id}`,title:e.text,content:`${e.text} in ${n.title}`,url:`${n.path}#${e.id}`,display:`${n.title} > ${e.text}`,locale:n.locale,version:n.version})}return t}function R(e,n){let r=l.default.resolve(process.cwd(),`index.css`),i=u.default.existsSync(r)?`import './index.css';`:``,a=n?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],o=a.map(([e,n])=>`import * as _comp_${e} from '${t.u(n)}';
75
- const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
76
- `),s=a.map(([e])=>e).join(`, `),c=l.default.basename(e.docsDir||`docs`),d=l.default.resolve(process.cwd(),e.docsDir||`docs`),f=[`tsx`,`ts`,`jsx`,`js`].map(e=>l.default.resolve(d,`pages-external/index.${e}`)).find(e=>u.default.existsSync(e)),p=f?`import * as _external_module from '${t.u(f)}';`:``,m=f?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``,h=process.env.VITE_SSG===`true`,g=h?`{ eager: true }`:`{}`,_=h?``:`
77
- if (typeof window !== 'undefined') {
78
- const prefetchAll = () => {
79
- const getters = Object.values(mdxModules)
80
- if (getters.length === 0) return
81
- let i = 0
82
- const nextBatch = () => {
83
- if (i >= getters.length) return
84
- const batch = getters.slice(i, i + 6)
85
- i += batch.length
86
- Promise.allSettled(batch.map(fn => fn())).then(() => {
87
- setTimeout(nextBatch, 0)
88
- })
89
- }
90
- ;(typeof requestIdleCallback === 'function' ? requestIdleCallback : function(cb) { setTimeout(cb, 500) })(nextBatch)
91
- }
92
- prefetchAll()
93
- }
94
- `;return`
95
- import { ViteReactSSG, createRoutes } from 'boltdocs/client'
96
- import _routes from 'virtual:boltdocs-routes.ts'
97
- import _collections from 'virtual:boltdocs-collections.ts'
98
- import _config from 'virtual:boltdocs-config.ts'
99
- import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx'
100
- ${i}
101
- ${o}
102
- ${p}
103
-
104
- const mdxModules = import.meta.glob('/${c}/**/*.{md,mdx}', ${g});
105
-
106
- const _collLayoutMods = import.meta.glob('${`/${c}/**/layout.tsx`}', { eager: true });
107
- const _collListMods = import.meta.glob('${`/${c}/**/list.tsx`}', { eager: true });
108
- const _collPostMods = import.meta.glob('${`/${c}/**/post.tsx`}', { eager: true });
109
-
110
- const _collectionLayouts = {};
111
- for (const [p, mod] of Object.entries(_collLayoutMods)) {
112
- const dir = p.split('/').slice(-2, -1)[0];
113
- if (dir.startsWith('[') && dir.endsWith(']')) {
114
- _collectionLayouts[dir.slice(1, -1)] = mod.default || mod;
115
- }
116
- }
117
-
118
- const _collectionLists = {};
119
- for (const [p, mod] of Object.entries(_collListMods)) {
120
- const dir = p.split('/').slice(-2, -1)[0];
121
- if (dir.startsWith('[') && dir.endsWith(']')) {
122
- _collectionLists[dir.slice(1, -1)] = mod.default || mod;
123
- }
124
- }
125
-
126
- const _collectionPosts = {};
127
- for (const [p, mod] of Object.entries(_collPostMods)) {
128
- const dir = p.split('/').slice(-2, -1)[0];
129
- if (dir.startsWith('[') && dir.endsWith(']')) {
130
- _collectionPosts[dir.slice(1, -1)] = mod.default || mod;
131
- }
132
- }
133
-
134
- export const createRoot = ViteReactSSG(
135
- {
136
- routes: createRoutes({
137
- routesData: _routes,
138
- collectionsData: _collections,
139
- collectionLayouts: _collectionLayouts,
140
- collectionLists: _collectionLists,
141
- collectionPosts: _collectionPosts,
142
- config: _config,
143
- mdxModules,
144
- ${m}
145
- components: { ${s}${s?`, `:``} ...(_user_mdx_components || {}) },
146
- }),
147
- },
148
- ({ isClient }) => {
149
- // Boltdocs initialization hook
150
- if (isClient) {
151
- // Client-side initialization
152
- }
153
- },
154
- );
155
- ${_}
156
- `}let z=null,B=null;function Ee(){z=null,B=null}function De(e,n,i,a){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let n=i()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?t.u(l.default.resolve(n,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?t.u(l.default.resolve(n,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(i){let o=n();if(i.includes(`boltdocs-entry.tsx`)||i===`\0virtual:boltdocs-entry`)return R(e,o);if(i.includes(`boltdocs-client.mjs`)||i===`\0virtual:boltdocs-client.ts`||i===`virtual:boltdocs-client`){let e=__dirname,n=e;for(;e!==l.default.parse(e).root;){if(u.default.existsSync(l.default.join(e,`package.json`))&&JSON.parse(u.default.readFileSync(l.default.join(e,`package.json`),`utf-8`)).name===`boltdocs`){n=e;break}e=l.default.dirname(e)}let r=l.default.join(n,`src/client/index.ts`),i=l.default.join(n,`dist/client/index.js`);return`export * from '${t.u(u.default.existsSync(r)?r:i)}';`}if(!i.startsWith(`\0virtual:boltdocs-`))return;let s=i.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(s===`routes`){let e=j(await r.t(a,o));return`export default ${JSON.stringify(e,null,2)};`}if(s===`collections`){let e=j(await r.t(a,o)),t={};for(let n of e)n.collection&&(t[n.collection]||(t[n.collection]=[]),t[n.collection].push({path:n.path,title:n.title,date:n.date,excerpt:n.excerpt,tags:n.tags,author:n.author,coverImage:n.coverImage,filePath:n.filePath,frontmatter:n.frontmatter}));return`export default ${JSON.stringify(t,null,2)};`}if(s===`config`){if(z===null){let{loadDirectoryMeta:e}=await Promise.resolve().then(()=>require(`./meta-loader-D0V6oOQt.cjs`));z=await e(a)}let e=z,t={base:o?.base,theme:o?.theme,i18n:o?.i18n,versions:o?.versions,siteUrl:o?.siteUrl,integrations:o?.integrations,plugins:o?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(s===`entry`)return R(e,o);if(s===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],n=null;for(let t of e){let e=l.default.resolve(a,`mdx-components.${t}`);if(u.default.existsSync(e)){n=e;break}}if(n){let e=t.u(n);return`import * as components from '${e}';
157
- const mdxComponents = components.default || components;
158
- export default mdxComponents;
159
- export * from '${e}';`}return`export default {};`}if(s===`layout`){let e=[`tsx`,`jsx`],n=null;for(let t of e){let e=l.default.resolve(a,`layout.${t}`);if(u.default.existsSync(e)){n=e;break}}if(n)return`import UserLayout from '${t.u(n)}';
160
- export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(s===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],n=null;for(let t of e){let e=l.default.resolve(a,`icons.${t}`);if(u.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.u(n)}';\nexport default icons;`:`export default {};`}if(s===`search`){if(!B){let e=Te(await r.t(a,o));B=`export default ${JSON.stringify(e,null,2)};`}return B}if(s===`client`){let e=__dirname,n=``;for(;e&&e!==l.default.parse(e).root;){let r=l.default.join(e,`src/client/index.ts`),i=l.default.join(e,`dist/client/index.mjs`),a=l.default.join(e,`client/index.ts`);if(u.default.existsSync(r)){n=t.u(r);break}if(u.default.existsSync(i)){n=t.u(i);break}if(u.default.existsSync(a)){n=t.u(a);break}e=l.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}const V={"X-Content-Type-Options":`nosniff`,"X-Frame-Options":`DENY`,"X-XSS-Protection":`1; mode=block`,"Referrer-Policy":`strict-origin-when-cross-origin`,"Permissions-Policy":`camera=(), microphone=(), geolocation=()`,"Strict-Transport-Security":`max-age=31536000; includeSubDomains`};function H(e){let t=process.env.NODE_ENV===`development`,n={"default-src":[`'self'`],"script-src":[`'self'`,`'unsafe-inline'`],"style-src":[`'self'`,`'unsafe-inline'`],"img-src":[`'self'`,`data:`,`https:`],"font-src":[`'self'`],"connect-src":[`'self'`]};return t&&(n[`script-src`]=[`'self'`,`'unsafe-eval'`,`'unsafe-inline'`],n[`style-src`]=[`'self'`,`'unsafe-inline'`]),Object.entries(n).map(([e,t])=>`${e} ${t.join(` `)}`).join(`; `)}function U(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=``;t.on(`data`,e=>{o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await Promise.resolve().then(()=>require(`./handler-Djy0HfsI.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 Oe(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(l.default.extname(a))return r();let o=e(),s=l.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,d=l.default.join(s,c,`index.html`);c!==`/`&&u.default.existsSync(d)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const ke=/\.(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 Ae(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(U(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(V).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,H(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`)&&!ke.test(a)){let n=w(s);n=ee(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}function je(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await Promise.resolve().then(()=>require(`./routes--LYHSHT7.cjs`)),i=(await r(t,n())).filter(e=>e.filePath).map(e=>e.filePath);for(let t=0;t<i.length;t+=32){let n=i.slice(t,t+32);await Promise.allSettled(n.map(t=>{let n=l.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const Me=[`tsx`,`jsx`],W=[`tsx`,`ts`,`jsx`,`js`];function Ne(e,t){let n=i.m.map(e=>l.default.resolve(process.cwd(),e)),r=Me.map(e=>l.default.resolve(t,`layout.${e}`)),a=W.map(e=>l.default.resolve(t,`mdx-components.${e}`)),o=W.map(e=>l.default.resolve(t,`pages-external/index.${e}`)),s=W.map(e=>l.default.resolve(t,`icons.${e}`));e.watcher.add([...n,...a,...r,...o,...s])}const G=new Map;function Pe(e){let{lastUpdated:t,...n}=e;return g.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function Fe(e){try{let{data:n}=await t.d(e);return Pe(n)}catch{return``}}function Ie(e){let t=G.get(e);if(t===void 0){let n=r.r.getStale(e);n?.route?.frontmatter&&(t=Pe(n.route.frontmatter),G.set(e,t))}return t}function Le(e,t){G.set(e,t)}function Re(e){G.delete(e)}const ze=[`tsx`,`ts`,`jsx`,`js`];function K(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function Be(e,n,a,o){let s=new Map,c=a.toLowerCase(),u=async(a,u)=>{try{let d=t.u(a);if(i.m.some(e=>d.endsWith(e))){e.restart();return}if(ze.some(e=>d.endsWith(`mdx-components.${e}`))){i._(o(),n),K(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(ze.some(e=>d.endsWith(`icons.${e}`))){K(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(d.endsWith(`layout.tsx`)||d.endsWith(`layout.jsx`)){K(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(d.includes(`/pages-external/`)||d.includes(`\\pages-external\\`)){K(e,`entry`),e.ws.send({type:`full-reload`});return}if(!d.toLowerCase().startsWith(c))return;let f=d.endsWith(`meta.json`)||d.endsWith(`_meta.json`);if(!f&&!t.c(d))return;if(u===`add`||u===`unlink`||f){u===`unlink`&&Re(a),r.n(),Ee();let t=o();i._(t,n),K(e,`config`),K(e,`routes`),K(e,`search`),K(e,`collections`),i.c(n,process.cwd(),t).catch(e=>{(0,h.error)(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:t?.theme,i18n:t?.i18n,versions:t?.versions,siteUrl:t?.siteUrl}}),e.ws.send({type:`full-reload`});return}s.has(d)&&clearTimeout(s.get(d)),s.set(d,setTimeout(async()=>{s.delete(d);try{let i=Ie(a),o=await Fe(a);if(Le(a,o),r.i(a),i!==void 0&&i!==o){K(e,`routes`),K(e,`search`),K(e,`collections`),e.ws.send({type:`full-reload`});return}let s=t.u(l.default.relative(n,a)),c=e.moduleGraph.getModulesByFile(d);if(c&&c.size>0)for(let t of c)e.moduleGraph.invalidateModule(t);else{e.ws.send({type:`full-reload`});return}e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:d,relPath:s}})}catch(e){(0,h.error)(`HMR error processing content change:`,e)}},150))}catch(e){(0,h.error)(`HMR error during ${u} event:`,e)}};e.watcher.on(`add`,e=>u(e,`add`)),e.watcher.on(`unlink`,e=>u(e,`unlink`)),e.watcher.on(`change`,e=>u(e,`change`))}function Ve(e){let n=e.toLowerCase();return({file:e})=>{let r=e.toLowerCase();if(r.startsWith(n)&&(t.c(e)||r.endsWith(`meta.json`)))return[]}}function He(e,t,n,r,a){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let o=a();await o?.runHook(`beforeDev`),i.c(e,process.cwd(),n()).catch(e=>{(0,h.error)(`Failed to generate initial link tree:`,e)}),je(r,e,n),Ae(r,e,n),Ne(r,e),Be(r,e,t,n),await o?.runHook(`afterDev`)},hotUpdate:Ve(t)}}const q=new n.i(`mdx`);function Ue(e){let t=a.n(e);return async e=>{let n=await t.getHighlighter();P(e,a.o.ELEMENT,e=>{if(e.tagName!==`pre`)return;let r=e.children?.[0];if(!r||r.type!==a.o.ELEMENT||r.tagName!==`code`)return;let i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),o=i?i.slice(9):a.a.MDX_DEFAULT_LANG;if(o===`mermaid`)return;let s=a.r(r.properties?.metastring||r.data?.meta||``),c=t.getOptions(o,s),l=r.children?.[0]?.value||``;try{let t=n.codeToHast(l,c),r=t.type===`root`?t.children[0]:t;e.children=r.children,e.properties={...e.properties,...r.properties,[a.i.HIGHLIGHTED]:`true`,[a.i.LANG]:o}}catch(t){(0,h.error)(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],a.s.FALLBACK],e.properties[a.i.HIGHLIGHTED]=`false`,e.properties[a.i.LANG]=o}return s.title&&(e.properties[a.i.TITLE]=s.title),y.SKIP})}}function We(){return e=>{P(e,a.o.CODE,e=>{e.meta&&F(e,`metastring`,e.meta)})}}let Ge=!1;function Ke(e,t,n=b.default){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[x.default,S.default,We,...r],rehypePlugins:[C.default,[Ue,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ge||=(await q.load(),!0),a.buildStart&&await a.buildStart.call(this)},async load(e,n){if(e.endsWith(`.md`)||e.endsWith(`.mdx`))try{let n=u.default.readFileSync(e,`utf-8`),r=t?.();return r&&(n=(await r.runChain(`transformSource`,{code:n,filePath:e})).code),n}catch{return null}return a.load?a.load.call(this,e,n):null},async transform(e,n,r){let[i]=n.split(`?`);if(!i.endsWith(`.md`)&&!i.endsWith(`.mdx`))return a.transform?.call(this,e,n,r);let o=`${i}:${g.default.createHash(`md5`).update(e).digest(`hex`)}:${process.env.NODE_ENV===`production`?`prod`:`dev`}:v3`,s=await q.getAsync(o);if(s)return{code:s,map:null};let c=await a.transform.call(this,e,i,r);if(c&&typeof c==`object`&&c.code){let e=c.code,n=t?.();return n&&(e=(await n.runChain(`transformMdx`,{code:e,filePath:i})).code),q.set(o,e),{code:e,map:null}}return c},async buildEnd(){q.save(),await q.flush(),a.buildEnd&&await a.buildEnd.call(this)}}}const J=d.createRequire(require(`url`).pathToFileURL(__filename).href),qe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`],Je=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function Y(e=J){try{let e=l.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return u.default.existsSync(e)?d.createRequire(u.default.realpathSync(e)):d.createRequire(l.default.join(process.cwd(),`package.json`))}catch{return e}}function X(e,t=J){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=l.default.dirname(e);for(;n&&n!==l.default.dirname(n);){let e=l.default.join(n,`package.json`);if(u.default.existsSync(e)){a=e;break}n=l.default.dirname(n)}}if(!a)throw Error();let o=l.default.dirname(a),s=JSON.parse(u.default.readFileSync(a,`utf-8`)),c=i?`./${i}`:`.`,d=s.exports?.[c]||s.exports?.[i]||``;typeof d==`object`&&d&&(d=d.import||d.default||d.require||``),!d&&!i&&(d=s.module||s.main||`index.js`);let f=l.default.resolve(o,d);if(u.default.existsSync(f))return f}catch{}return t.resolve(e)}function Ye(e=J){let n=[],r=Y(e),i=new Set([r,e]);for(let e of i){for(let t of qe)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(t)?X(t,e):e.resolve(t);r&&n.push(u.default.realpathSync(r))}catch{}for(let t of Je)try{n.push(u.default.realpathSync(e.resolve(t)))}catch{}}return Array.from(new Set(n)).map(e=>t.u(e))}const Z=d.createRequire(require(`url`).pathToFileURL(__filename).href),Xe=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function Ze(e={},n){let a=l.default.resolve(process.cwd(),e.docsDir||`docs`),o=t.u(a),s=n,c,d=!1,m,h=[],g=()=>s,_=e=>{s=e},v=()=>c,y=()=>m;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){d=t.command===`build`;let n=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,(0,f.loadEnv)(t.mode,e.envDir||process.cwd(),``)),!s){s=await i.h(a);let e=(await r.t(a,s)).map(e=>e.path),t=(s.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t),i._(s,a,void 0,e),i.v(e)}Promise.resolve().then(()=>require(`./shiki-adapter-PQBl32AN.cjs`)).then(({getShikiAdapter:e})=>{e(s).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:o}=await Promise.resolve().then(()=>require(`./package-OxKE0p6j.cjs`)),c=A(s.plugins||[],o);return s.plugins=c,m=new N(c,s),h=c.flatMap(e=>e.vitePlugins||[]),d&&await m.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`}},build:{ssrManifest:d},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`,`invariant`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{alias:[{find:`react-router-dom`,replacement:X(`react-router-dom`)},{find:`react-helmet-async`,replacement:X(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:X(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...n?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Ye(Z)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){c=e},resolveId(e,t,n){let r=Xe.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,l.default.sep)}/`));if(r&&n?.ssr&&!l.default.isAbsolute(e)&&r!==`react`&&r!==`react-dom`){let t=Y(Z),n=e;try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?X(e,t):t.resolve(e)}catch{try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?X(e,Z):Z.resolve(e)}catch{}}try{n=u.default.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>ee(e,s)},async buildEnd(){let{pool:e}=await Promise.resolve().then(()=>require(`./worker-pool-BS1LX67P.cjs`));await e.terminate()},async closeBundle(){!d||c?.build?.ssr||(await m?.runHook(`afterBuild`),await m?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(U(g)),e.middlewares.use(Oe(v))}},De(e,g,v,a),He(a,o,g,_,y),Ke(s,y),(0,p.ViteImageOptimizer)({includePublic:!0}),...h]}const Q={"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS`,"Access-Control-Allow-Headers":`Content-Type`,"Content-Type":`application/json`};async function Qe(e,t){if(Object.entries(Q).forEach(([e,n])=>{t.setHeader(e,n)}),e.method===`OPTIONS`){t.status(200).end();return}if(e.method!==`POST`){t.status(405).json({error:`Method Not Allowed`});return}try{let n=await o.t(e.body,process.env);t.status(200).json(n)}catch(e){let n=e instanceof Error?e.message:`Failed to submit feedback`;return t.status(500).json({error:n})}}async function $e(e,t=process.env){let n=(e,t=200)=>({statusCode:t,headers:Q,body:e?JSON.stringify(e):``});if(e.httpMethod===`OPTIONS`)return n(null,200);if(e.httpMethod!==`POST`)return n({error:`Method Not Allowed`},405);try{return n(await o.t(e.body?JSON.parse(e.body):{},t))}catch(e){return n({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function et(e,t={}){let n=(e,t=200)=>new Response(e?JSON.stringify(e):null,{status:t,headers:Q});if(e.method===`OPTIONS`)return n(null);if(e.method!==`POST`)return n({error:`Method Not Allowed`},405);try{return n(await o.t(await e.json(),{...process.env,...t}))}catch(e){return n({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function tt(e,t=process.env){let n=(e,t=200)=>({statusCode:t,headers:Q,body:e?JSON.stringify(e):``});if(e.httpMethod===`OPTIONS`)return n(null,200);if(e.httpMethod!==`POST`)return n({error:`Method Not Allowed`},405);try{return n(await o.t(e.body?JSON.parse(e.body):{},t))}catch(e){return n({error:e instanceof Error?e.message:`Failed to submit feedback`},500)}}async function nt(e){let t=e?.docsDir||`docs`,n=await i.h(t),a=(await r.t(t,n)).map(e=>e.path),o=(n.base||`/docs`).replace(/\/$/,``);return a.includes(o)||a.push(o),i._(n,t,void 0,a),i.v(a),Ze({...e},n)}async function $(e,t=`development`,n){let a=n||await i.h(`docs`,e),o=(await r.t(`docs`,a)).map(e=>e.path),u=(a.base||`/docs`).replace(/\/$/,``);o.includes(u)||o.push(u),i._(a,`docs`,e,o),i.v(o);let d=t===`production`,p=d?{...V}:{};return a.security?.enableCSP&&(p[`Content-Security-Policy`]=H(a)),{root:e,mode:t,oxc:{jsx:{development:!d,runtime:`automatic`,importSource:`react`}},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`invariant`,`use-sync-external-store/shim`]},build:{},plugins:[(0,s.default)(),(0,c.default)(),...Ze({docsDir:`docs`,root:e},a)],resolve:{alias:[{find:`boltdocs/entry`,replacement:(0,f.normalizePath)(l.default.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:(0,f.normalizePath)(l.default.resolve(e,`boltdocs-client.mjs`))},{find:`use-sync-external-store/shim/index.js`,replacement:`react`},{find:`use-sync-external-store/shim`,replacement:`react`},{find:`use-sync-external-store`,replacement:`react`},{find:`@`,replacement:(0,f.normalizePath)(l.default.resolve(e,`../packages/core/src`))}],dedupe:[`react`,`react-dom`]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Ye()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,`invariant`,...a.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`,`react-router-dom`]},server:{headers:{...p,...a.vite?.server?.headers},...a.vite?.server},preview:{headers:{...p,...a.vite?.preview?.headers},...a.vite?.preview},...a.vite}}Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return pe}});
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- var e=`2.9.0`;Object.defineProperty(exports,`version`,{enumerable:!0,get:function(){return e}});
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-wHud9ny5.cjs`),n=require(`./cache-C2PiGyg8.cjs`);let r=require(`node:path`);r=e.n(r);let i=require(`github-slugger`);i=e.n(i);function a(e,n,i,a,o){let s=r.default.relative(n,e).replace(/\\/g,`/`),c=s.split(`/`),l,u,d,f;if(a?.versions&&c.length>0){let e=c[0],t=a.versions.prefix||``,n=a.versions.versions.find(n=>e===t+n.path||e===n.path);n&&(u=n.path,c=c.slice(1))}if(a?.i18n&&c.length>0){let e=c[0];(Array.isArray(a.i18n.locales)?a.i18n.locales.includes(e):a.i18n.locales[e])&&(l=e,c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\((.+)\)$/);e&&(d=e[1].toLowerCase(),c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\[(.+)\]$/);e&&(f=e[1].toLowerCase(),c=c.slice(1))}let p=[...c],m=c.map(e=>t.h(e)).join(`/`),h=o?o.startsWith(`/`)?o:`/${o}`:t.a(m||`index.md`),g=[f?`/${f}`:i,u,l,!o&&!f?d:void 0,h].filter(Boolean).join(`/`).replace(/\/+/g,`/`).replace(/\/$/,``)||`/`;return{relativePath:s,finalPath:g.startsWith(`/`)?g:`/${g}`,remainingParts:p,locale:l,version:u,inferredTab:d,subRouteGroup:void 0,collection:f}}const o=/^(#{2,4})\s+(.+)$/gm,s=/\[([^\]]+)\]\([^)]+\)/g,c=/[_*`]/g,l=/\s+/g,u=/[[\]_*`]|#+.*$|\{[^}]+\}/gm,d=/\((?:[^)]+)\)/g;function f(e,n){let r=new i.default,a=[];for(let n of e.matchAll(o)){let e=n[1].length,i=t.p(n[2].replace(s,`$1`).replace(c,``).trim()).trim(),o=r.slug(i);a.push({level:e,text:i,id:o})}let f=t.m(e.replace(u,``).replace(d,``).replace(l,` `)).trim(),p=n?t.p(n).trim():``;return!p&&e&&(p=f.substring(0,160)),{headings:a,description:p,plainText:f}}const p=[`og:`,`twitter:`,`article:`,`music:`,`video:`,`profile:`,`book:`],m=[`noindex`,`robots`,`canonical`,`keywords`,`author`];function h(e){let t={};e.seo&&typeof e.seo==`object`&&Object.assign(t,e.seo);for(let n of Object.keys(e))(m.includes(n)||p.some(e=>n.startsWith(e)))&&(t[n]=e[n]);return e.hidden===!0&&t.noindex===void 0&&(t.noindex=!0),Object.keys(t).length>0?t:void 0}function g(e){return{title:e.title?t.p(String(e.title)):void 0,badge:e.badge?t.p(String(e.badge)):void 0,description:e.description?t.p(String(e.description)):void 0}}async function _(e,i,o,s){let c=await n.t.get(e);if(c)return c;let l=e.replace(/\\/g,`/`),u=i.replace(/\\/g,`/`),d=v(l),p=r.default.resolve(d),m=r.default.resolve(u);if(r.default.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),r.default.resolve(t)};p=e(d),m=e(u)}let _=r.default.relative(m,p).replace(/\\/g,`/`);if(_.startsWith(`../`)||_!==`.`&&!t.b.test(_))throw new t._(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${r.default.basename(d)}`);let{data:y,content:b}=await t.d(e),x=a(p,m,o,s,y.permalink),S=f(b,y.description),C=g(y),w=h(y),T=r.default.basename(x.relativePath),E=t.h(T),D=x.remainingParts.map(e=>t.h(e)).slice(0,-1),O=/^index\.mdx?$/.test(E),k=y.sidebarPosition??t.i(T),A=D.join(`/`),j={route:{path:x.finalPath,componentPath:e,filePath:x.relativePath,title:C.title||t.h(r.default.basename(l,r.default.extname(l))),description:S.description,sidebarPosition:k,headings:S.headings,locale:x.locale,version:x.version,badge:C.badge,icon:y.icon?String(y.icon):void 0,tab:x.inferredTab,subRouteGroup:x.subRouteGroup,slugParts:D,_content:S.plainText,_rawContent:b,date:y.date,lastUpdated:y.lastUpdated,category:y.category,order:y.order,sidebarLabel:y.sidebarLabel,sidebarHidden:y.sidebarHidden||y.hidden,seo:w,frontmatter:y,collection:x.collection,tags:y.tags,author:y.author,draft:y.draft,excerpt:y.excerpt,coverImage:y.coverImage||y.cover},relativeDir:x.collection?void 0:A||void 0,isGroupIndex:O,inferredTab:x.inferredTab,inferredCollection:x.collection,groupMeta:O?{title:y.groupTitle||C.title||(D.length>0?t.t(D[D.length-1]):``),position:y.groupPosition??y.sidebarPosition??(x.remainingParts.length>1?t.i(x.remainingParts[x.remainingParts.length-2]):void 0),icon:y.icon?String(y.icon):void 0}:void 0,inferredGroupPosition:x.remainingParts.length>1?t.i(x.remainingParts[x.remainingParts.length-2]):void 0};return await n.t.set(e,j),j}function v(e){let n;try{n=decodeURIComponent(e)}catch{throw t.l(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new t.g(`Security breach: Invalid characters or encoding in path`)}if(n.length>260)throw new t._(`Path length exceeds limit`);return n}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return _}});
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{N as e}from"./node-DV-EPtMU.mjs";import{_ as t,a as n,b as r,d as i,g as a,h as o,i as s,l as c,m as l,p as u,t as d}from"./utils-DC4Wq-S2.mjs";import{t as f}from"./cache-DFW4R3S0.mjs";import p from"node:path";import m from"github-slugger";function h(e,t,r,i,a){let s=p.relative(t,e).replace(/\\/g,`/`),c=s.split(`/`),l,u,d,f;if(i?.versions&&c.length>0){let e=c[0],t=i.versions.prefix||``,n=i.versions.versions.find(n=>e===t+n.path||e===n.path);n&&(u=n.path,c=c.slice(1))}if(i?.i18n&&c.length>0){let e=c[0];(Array.isArray(i.i18n.locales)?i.i18n.locales.includes(e):i.i18n.locales[e])&&(l=e,c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\((.+)\)$/);e&&(d=e[1].toLowerCase(),c=c.slice(1))}if(c.length>0){let e=c[0].match(/^\[(.+)\]$/);e&&(f=e[1].toLowerCase(),c=c.slice(1))}let m=[...c],h=c.map(e=>o(e)).join(`/`),g=a?a.startsWith(`/`)?a:`/${a}`:n(h||`index.md`),_=[f?`/${f}`:r,u,l,!a&&!f?d:void 0,g].filter(Boolean).join(`/`).replace(/\/+/g,`/`).replace(/\/$/,``)||`/`;return{relativePath:s,finalPath:_.startsWith(`/`)?_:`/${_}`,remainingParts:m,locale:l,version:u,inferredTab:d,subRouteGroup:void 0,collection:f}}const g=/^(#{2,4})\s+(.+)$/gm,_=/\[([^\]]+)\]\([^)]+\)/g,v=/[_*`]/g,y=/\s+/g,b=/[[\]_*`]|#+.*$|\{[^}]+\}/gm,x=/\((?:[^)]+)\)/g;function S(e,t){let n=new m,r=[];for(let t of e.matchAll(g)){let e=t[1].length,i=u(t[2].replace(_,`$1`).replace(v,``).trim()).trim(),a=n.slug(i);r.push({level:e,text:i,id:a})}let i=l(e.replace(b,``).replace(x,``).replace(y,` `)).trim(),a=t?u(t).trim():``;return!a&&e&&(a=i.substring(0,160)),{headings:r,description:a,plainText:i}}const C=[`og:`,`twitter:`,`article:`,`music:`,`video:`,`profile:`,`book:`],w=[`noindex`,`robots`,`canonical`,`keywords`,`author`];function T(e){let t={};e.seo&&typeof e.seo==`object`&&Object.assign(t,e.seo);for(let n of Object.keys(e))(w.includes(n)||C.some(e=>n.startsWith(e)))&&(t[n]=e[n]);return e.hidden===!0&&t.noindex===void 0&&(t.noindex=!0),Object.keys(t).length>0?t:void 0}function E(e){return{title:e.title?u(String(e.title)):void 0,badge:e.badge?u(String(e.badge)):void 0,description:e.description?u(String(e.description)):void 0}}async function D(e,n,a,c){let l=await f.get(e);if(l)return l;let u=e.replace(/\\/g,`/`),m=n.replace(/\\/g,`/`),g=O(u),_=p.resolve(g),v=p.resolve(m);if(p.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),p.resolve(t)};_=e(g),v=e(m)}let y=p.relative(v,_).replace(/\\/g,`/`);if(y.startsWith(`../`)||y!==`.`&&!r.test(y))throw new t(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${p.basename(g)}`);let{data:b,content:x}=await i(e),C=h(_,v,a,c,b.permalink),w=S(x,b.description),D=E(b),k=T(b),A=p.basename(C.relativePath),j=o(A),M=C.remainingParts.map(e=>o(e)).slice(0,-1),N=/^index\.mdx?$/.test(j),P=b.sidebarPosition??s(A),F=M.join(`/`),I={route:{path:C.finalPath,componentPath:e,filePath:C.relativePath,title:D.title||o(p.basename(u,p.extname(u))),description:w.description,sidebarPosition:P,headings:w.headings,locale:C.locale,version:C.version,badge:D.badge,icon:b.icon?String(b.icon):void 0,tab:C.inferredTab,subRouteGroup:C.subRouteGroup,slugParts:M,_content:w.plainText,_rawContent:x,date:b.date,lastUpdated:b.lastUpdated,category:b.category,order:b.order,sidebarLabel:b.sidebarLabel,sidebarHidden:b.sidebarHidden||b.hidden,seo:k,frontmatter:b,collection:C.collection,tags:b.tags,author:b.author,draft:b.draft,excerpt:b.excerpt,coverImage:b.coverImage||b.cover},relativeDir:C.collection?void 0:F||void 0,isGroupIndex:N,inferredTab:C.inferredTab,inferredCollection:C.collection,groupMeta:N?{title:b.groupTitle||D.title||(M.length>0?d(M[M.length-1]):``),position:b.groupPosition??b.sidebarPosition??(C.remainingParts.length>1?s(C.remainingParts[C.remainingParts.length-2]):void 0),icon:b.icon?String(b.icon):void 0}:void 0,inferredGroupPosition:C.remainingParts.length>1?s(C.remainingParts[C.remainingParts.length-2]):void 0};return await f.set(e,I),I}function O(e){let n;try{n=decodeURIComponent(e)}catch{throw c(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new a(`Security breach: Invalid characters or encoding in path`)}if(n.length>260)throw new t(`Path length exceeds limit`);return n}var k=e({parseDocFile:()=>D});export{D as n,k as t};
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./routes-C6Kr2HFN.cjs`);exports.generateRoutes=e.t;
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{t as e}from"./routes-CKgGAy8P.mjs";export{e as generateRoutes};
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{n as e}from"./shiki-adapter-F-P-lDon.mjs";export{e as getShikiAdapter};
@@ -1,6 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./shiki-adapter-CUtj-xKv.cjs`);exports.getShikiAdapter=e.n;
@@ -1,7 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import e from"node:fs";import t from"isomorphic-dompurify";import{z as n}from"zod";import{error as r}from"@bdocs/dui";const i=/^[a-zA-Z0-9\-_/.()[\]]+$/,a=n.looseObject({title:n.string().max(200).optional(),description:n.string().max(500).optional(),permalink:n.string().optional(),sidebarPosition:n.number().optional(),sidebarLabel:n.string().max(100).optional(),sidebarHidden:n.boolean().optional(),hidden:n.boolean().optional(),category:n.string().max(50).optional(),order:n.number().optional(),badge:n.union([n.string().max(50),n.object({text:n.string().max(50),expires:n.string().optional()})]).optional(),icon:n.string().max(50).optional(),date:n.union([n.string(),n.date()]).optional(),lastUpdated:n.union([n.string(),n.date()]).optional(),groupTitle:n.string().max(100).optional(),groupPosition:n.number().optional(),seo:n.record(n.string(),n.any()).optional(),tags:n.array(n.string().max(50)).optional(),author:n.union([n.string().max(100),n.object({name:n.string().max(100),avatar:n.string().optional(),url:n.string().optional(),image:n.string().optional()})]).optional(),draft:n.boolean().optional(),excerpt:n.string().max(500).optional(),coverImage:n.string().nullable().optional()});function o(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return s(r)?{data:{},content:i,rawMatter:r}:{data:c(r),content:i,rawMatter:r}}function s(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function c(e){let t=e.split(`
7
- `),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=l(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=u(s),r++}else r++}return n}function l(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=u(e.slice(n+1).trim())}}n.push(t)}else n.push(e)}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=u(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=u(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function u(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>u(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=u(e.slice(t+1).trim())}}return n}return t}var d=class e extends Error{constructor(t){super(t),this.name=`SecurityViolationError`,Object.setPrototypeOf(this,e.prototype)}},f=class e extends d{constructor(t){super(t),this.name=`PathTraversalError`,Object.setPrototypeOf(this,e.prototype)}},p=class e extends d{constructor(t){super(t),this.name=`EncodingSecurityError`,Object.setPrototypeOf(this,e.prototype)}},m=class e extends d{constructor(t){super(t),this.name=`ValidationError`,Object.setPrototypeOf(this,e.prototype)}};function h(e){return e.replace(/\\/g,`/`)}function g(e){return e.replace(/^\d+\./,``)}function _(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function v(e){return/\.mdx?$/.test(e)}function y(t){try{return e.statSync(t).mtimeMs}catch{return 0}}function b(e,t,n){let{data:r,content:i,rawMatter:s}=o(t);if(s&&s.length>10240)throw k(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:s.length,file:e}),new m(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!n)return{data:r,content:i};let c=a.safeParse(r),l={...c.success?c.data:{}};return l.title&&=E(l.title).trim(),l.description&&=E(l.description).trim(),{data:l,content:i}}async function x(t,n=!0){let r=``;try{r=await e.promises.readFile(t,`utf-8`);let{data:i,content:a}=b(t,r,n);if(n&&!i.lastUpdated)try{i.lastUpdated=(await e.promises.stat(t)).mtimeMs}catch{i.lastUpdated=0}return{data:i,content:a,raw:r}}catch(e){if(e instanceof m)throw e;return{data:{},content:r,raw:r}}}function S(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function C(e){return S(e)}function w(e){let t=h(e).split(`/`).map(e=>O(g(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function T(e){return t.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}t.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function E(e){return e?e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,``).replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,``).replace(/<!--[\s\S]*?-->/g,``).replace(/<[^>]+>/g,` `).replace(/\s+/g,` `).trim():``}function D(e){return e.charAt(0).toUpperCase()+e.slice(1)}function O(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function k(e,t,n={}){let i=new Date().toISOString(),a={...n};for(let e in a)typeof a[e]==`string`&&a[e].includes(`:`)&&(a[e]=a[e].split(/[\\/]/).pop()||a[e]);r(`[SECURITY][${i}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(a)}`)}function A(){return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`}}export{f as _,w as a,i as b,v as c,x as d,O as f,p as g,g as h,_ as i,k as l,E as m,S as n,A as o,T as p,C as r,y as s,D as t,h as u,m as v,a as y};
@@ -1,7 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- const e=require(`./chunk-Ds5LZdWN.cjs`);let t=require(`node:fs`);t=e.n(t);let n=require(`isomorphic-dompurify`);n=e.n(n);let r=require(`zod`),i=require(`@bdocs/dui`);const a=/^[a-zA-Z0-9\-_/.()[\]]+$/,o=r.z.looseObject({title:r.z.string().max(200).optional(),description:r.z.string().max(500).optional(),permalink:r.z.string().optional(),sidebarPosition:r.z.number().optional(),sidebarLabel:r.z.string().max(100).optional(),sidebarHidden:r.z.boolean().optional(),hidden:r.z.boolean().optional(),category:r.z.string().max(50).optional(),order:r.z.number().optional(),badge:r.z.union([r.z.string().max(50),r.z.object({text:r.z.string().max(50),expires:r.z.string().optional()})]).optional(),icon:r.z.string().max(50).optional(),date:r.z.union([r.z.string(),r.z.date()]).optional(),lastUpdated:r.z.union([r.z.string(),r.z.date()]).optional(),groupTitle:r.z.string().max(100).optional(),groupPosition:r.z.number().optional(),seo:r.z.record(r.z.string(),r.z.any()).optional(),tags:r.z.array(r.z.string().max(50)).optional(),author:r.z.union([r.z.string().max(100),r.z.object({name:r.z.string().max(100),avatar:r.z.string().optional(),url:r.z.string().optional(),image:r.z.string().optional()})]).optional(),draft:r.z.boolean().optional(),excerpt:r.z.string().max(500).optional(),coverImage:r.z.string().nullable().optional()});function s(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return c(r)?{data:{},content:i,rawMatter:r}:{data:l(r),content:i,rawMatter:r}}function c(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function l(e){let t=e.split(`
7
- `),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=u(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=d(s),r++}else r++}return n}function u(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=d(e.slice(n+1).trim())}}n.push(t)}else n.push(e)}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=d(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=d(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function d(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>d(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=d(e.slice(t+1).trim())}}return n}return t}var f=class e extends Error{constructor(t){super(t),this.name=`SecurityViolationError`,Object.setPrototypeOf(this,e.prototype)}},p=class e extends f{constructor(t){super(t),this.name=`PathTraversalError`,Object.setPrototypeOf(this,e.prototype)}},m=class e extends f{constructor(t){super(t),this.name=`EncodingSecurityError`,Object.setPrototypeOf(this,e.prototype)}},h=class e extends f{constructor(t){super(t),this.name=`ValidationError`,Object.setPrototypeOf(this,e.prototype)}};function g(e){return e.replace(/\\/g,`/`)}function _(e){return e.replace(/^\d+\./,``)}function v(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function y(e){return/\.mdx?$/.test(e)}function b(e){try{return t.default.statSync(e).mtimeMs}catch{return 0}}function x(e,t,n){let{data:r,content:i,rawMatter:a}=s(t);if(a&&a.length>10240)throw A(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:a.length,file:e}),new h(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!n)return{data:r,content:i};let c=o.safeParse(r),l={...c.success?c.data:{}};return l.title&&=D(l.title).trim(),l.description&&=D(l.description).trim(),{data:l,content:i}}async function S(e,n=!0){let r=``;try{r=await t.default.promises.readFile(e,`utf-8`);let{data:i,content:a}=x(e,r,n);if(n&&!i.lastUpdated)try{i.lastUpdated=(await t.default.promises.stat(e)).mtimeMs}catch{i.lastUpdated=0}return{data:i,content:a,raw:r}}catch(e){if(e instanceof h)throw e;return{data:{},content:r,raw:r}}}function C(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function w(e){return C(e)}function T(e){let t=g(e).split(`/`).map(e=>k(_(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function E(e){return n.default.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}n.default.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function D(e){return e?e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,``).replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi,``).replace(/<!--[\s\S]*?-->/g,``).replace(/<[^>]+>/g,` `).replace(/\s+/g,` `).trim():``}function O(e){return e.charAt(0).toUpperCase()+e.slice(1)}function k(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function A(e,t,n={}){let r=new Date().toISOString(),a={...n};for(let e in a)typeof a[e]==`string`&&a[e].includes(`:`)&&(a[e]=a[e].split(/[\\/]/).pop()||a[e]);(0,i.error)(`[SECURITY][${r}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(a)}`)}function j(){return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return o}});