boltdocs 3.0.2 → 3.2.1

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 (123) hide show
  1. package/README.md +2 -18
  2. package/dist/{adapters-DEXNIv3x.mjs → adapters-ByYY44Zy.mjs} +1 -1
  3. package/dist/{adapters-C5AWWGfb.cjs → adapters-DvmtpdSF.cjs} +1 -1
  4. package/dist/{banner-CfdalYLL.d.ts → banner-BMop1KLF.d.ts} +2 -2
  5. package/dist/{banner-DNSkgUsO.d.cts → banner-CVD0GugR.d.cts} +2 -2
  6. package/dist/cache-CO4Dy2uQ.cjs +6 -0
  7. package/dist/cache-Dk53iOo6.mjs +6 -0
  8. package/dist/chunk-BFSpntXv.mjs +6 -0
  9. package/dist/{chunk-Ds5LZdWN.cjs → chunk-D1Md3oWO.cjs} +1 -1
  10. package/dist/client/index.cjs +433 -272
  11. package/dist/client/index.d.cts +129 -18
  12. package/dist/client/index.d.ts +129 -18
  13. package/dist/client/index.js +337 -178
  14. package/dist/client/mdx.cjs +1 -1
  15. package/dist/client/mdx.d.cts +1 -1
  16. package/dist/client/mdx.d.ts +1 -1
  17. package/dist/client/mdx.js +1 -1
  18. package/dist/client/primitives.cjs +7 -7
  19. package/dist/client/primitives.d.cts +5 -22
  20. package/dist/client/primitives.d.ts +5 -22
  21. package/dist/client/primitives.js +4 -4
  22. package/dist/client/theme/neutral.css +1 -3
  23. package/dist/client/theme/reset.css +31 -4
  24. package/dist/config-BpzaPsJj.d.cts +781 -0
  25. package/dist/config-CCXp3aXO.mjs +7 -0
  26. package/dist/{config-JGkMJoJQ.cjs → config-CMd4XoFq.cjs} +1 -1
  27. package/dist/config-DlGoEM9D.cjs +7 -0
  28. package/dist/config-xtS0ZkMm.d.mts +781 -0
  29. package/dist/{csp-CBysWlAf.cjs → csp-CRp_3U7a.cjs} +1 -1
  30. package/dist/csp-oTC2ygvF.mjs +6 -0
  31. package/dist/{docs-layout-6FQ8__ok.js → docs-layout-BdtZ9z6s.js} +9 -28
  32. package/dist/{docs-layout-3TpAt6MB.cjs → docs-layout-CFWI15Id.cjs} +69 -88
  33. package/dist/{doctor-BR1B2Mkz.cjs → doctor-BBtmNJE0.cjs} +1 -1
  34. package/dist/doctor-Bv16QSrI.cjs +7 -0
  35. package/dist/doctor-DOAbSaiL.mjs +7 -0
  36. package/dist/{generator-DtUU3Cfk.cjs → generator-COepVWGi.cjs} +1 -1
  37. package/dist/{handler-Btd4t_67.mjs → handler-DzQae4eA.mjs} +1 -1
  38. package/dist/{handler-Dzf4dSnV.cjs → handler-XX7cLTqe.cjs} +1 -1
  39. package/dist/headers-Ddwek8K7.mjs +6 -0
  40. package/dist/{headers-BXKxiPUv.cjs → headers-dg4SDrjY.cjs} +1 -1
  41. package/dist/{image-C9md50h2.js → image-Bz87fCla.js} +2 -2
  42. package/dist/{image-CR6UlaI5.cjs → image-C4TlpMHn.cjs} +18 -18
  43. package/dist/link-2PzgTnaP.js +673 -0
  44. package/dist/{icons-dev-BryEFkJu.cjs → link-D1Gjkb-2.cjs} +8 -353
  45. package/dist/{mdx-DhyMkc35.js → mdx-BuO6a1f7.js} +199 -40
  46. package/dist/{mdx-DJBg5DuL.cjs → mdx-CD-tSjRG.cjs} +237 -72
  47. package/dist/{meta-loader-C9MKjAs0.cjs → meta-loader-Dq1zcFnh.cjs} +1 -1
  48. package/dist/node/cache.cjs +6 -0
  49. package/dist/node/cache.d.cts +84 -0
  50. package/dist/node/cache.d.mts +84 -0
  51. package/dist/node/cache.mjs +6 -0
  52. package/dist/node/cli-entry.cjs +6 -6
  53. package/dist/node/cli-entry.mjs +9 -9
  54. package/dist/node/index.cjs +1 -1
  55. package/dist/node/index.d.cts +27 -638
  56. package/dist/node/index.d.mts +27 -640
  57. package/dist/node/index.mjs +1 -1
  58. package/dist/node/mdx/shiki-adapter.cjs +6 -0
  59. package/dist/node/mdx/shiki-adapter.d.cts +51 -0
  60. package/dist/node/mdx/shiki-adapter.d.mts +51 -0
  61. package/dist/node/mdx/shiki-adapter.mjs +6 -0
  62. package/dist/node-BXtqM1uH.mjs +6 -0
  63. package/dist/node-BlVk4EVg.cjs +104 -0
  64. package/dist/node-DOf4zhWc.mjs +104 -0
  65. package/dist/node-aD1eisrR.cjs +6 -0
  66. package/dist/{package-CEDhVAfO.cjs → package-BcISI5-P.cjs} +1 -1
  67. package/dist/{package-_dCCKVvG.mjs → package-CCYEAYeA.mjs} +1 -1
  68. package/dist/{pages-external-CX2uyW95.cjs → pages-external-XkYIs-d5.cjs} +1 -1
  69. package/dist/parser-DCiEWkSk.cjs +8 -0
  70. package/dist/parser-qk9FIHJ7.mjs +8 -0
  71. package/dist/plugin-C95kvu6h.mjs +73 -0
  72. package/dist/plugin-DM3u2bVj.cjs +73 -0
  73. package/dist/routes-BW6zsk7Z.mjs +6 -0
  74. package/dist/routes-BgoIB5wb.cjs +6 -0
  75. package/dist/{routes-BajCwrvX.cjs → routes-CORVxc02.cjs} +1 -1
  76. package/dist/{search-dialog-D4rplZMv.cjs → search-dialog-B1NERUNx.cjs} +101 -55
  77. package/dist/{search-dialog-Cx7aGW3U.cjs → search-dialog-BRFno7HD.cjs} +8 -8
  78. package/dist/{search-dialog-DDopgbKM.js → search-dialog-BmxHiKwt.js} +2 -2
  79. package/dist/{search-dialog-BNdRV60O.js → search-dialog-D6TvjcuV.js} +1 -1
  80. package/dist/{search-dialog-DaeSPvEo.js → search-dialog-DFnlx8LO.js} +44 -4
  81. package/dist/{search-dialog-CW1f6dn6.cjs → search-dialog-DHqwjJuG.cjs} +1 -1
  82. package/dist/server/index.cjs +1 -1
  83. package/dist/server/index.d.mts +1 -1
  84. package/dist/server/index.mjs +1 -1
  85. package/dist/shiki-adapter-CoQ6jyJ4.cjs +6 -0
  86. package/dist/shiki-adapter-D-aKw7PP.mjs +6 -0
  87. package/dist/sidebar-COTaMHR-.d.ts +1100 -0
  88. package/dist/sidebar-CrEdJuHX.d.cts +1100 -0
  89. package/dist/{types-generator-CYcHkDzZ.cjs → types-generator-BXhv7Ill.cjs} +1 -1
  90. package/dist/types-generator-bDPvUztF.mjs +26 -0
  91. package/dist/utils-Crm9oPcV.mjs +7 -0
  92. package/dist/utils-D6Xtj0FZ.cjs +7 -0
  93. package/package.json +26 -12
  94. package/src/shared/types.ts +532 -23
  95. package/dist/cache-DETwlACe.cjs +0 -6
  96. package/dist/cache-SF59enb3.mjs +0 -6
  97. package/dist/config-B5uVv5q4.cjs +0 -7
  98. package/dist/config-D3_zDkHh.mjs +0 -7
  99. package/dist/csp-gaZ51xzq.mjs +0 -6
  100. package/dist/doctor-3MheVMwd.mjs +0 -7
  101. package/dist/doctor-DQxLM202.cjs +0 -7
  102. package/dist/headers-CXyf0auY.mjs +0 -6
  103. package/dist/icons-dev-kJyGWNeg.js +0 -916
  104. package/dist/node-B9JSyEIU.mjs +0 -105
  105. package/dist/node-Cedquois.cjs +0 -105
  106. package/dist/parser-CNIPHx4s.cjs +0 -8
  107. package/dist/parser-D0QHIQsi.mjs +0 -8
  108. package/dist/plugin-WYNORxp1.cjs +0 -68
  109. package/dist/plugin-YWNVRpws.mjs +0 -68
  110. package/dist/rolldown-runtime-fkIsjY3S.mjs +0 -6
  111. package/dist/routes-CyrnmVuG.mjs +0 -6
  112. package/dist/routes-D6Tuu7Fs.cjs +0 -6
  113. package/dist/shiki-adapter-CGTmrR6S.cjs +0 -6
  114. package/dist/shiki-adapter-CXEGRnjr.mjs +0 -6
  115. package/dist/shiki-adapter-Mr8_oT_9.cjs +0 -6
  116. package/dist/sidebar-7gIifpBX.d.cts +0 -615
  117. package/dist/sidebar-BAKgJ-Er.d.ts +0 -615
  118. package/dist/types-generator-DVOnRVKU.mjs +0 -26
  119. package/dist/utils-B3xYMrpK.mjs +0 -7
  120. package/dist/utils-Bz1tG9Dg.cjs +0 -7
  121. /package/dist/{errors-C0Hx15Ag.mjs → errors-0zGHRLue.mjs} +0 -0
  122. /package/dist/{errors-Dx6JHoKE.cjs → errors-vKw8CkiX.cjs} +0 -0
  123. /package/dist/{index-CdJv4ocW.d.mts → index-1KsTDq4o.d.mts} +0 -0
@@ -1,105 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{r as e,u as t}from"./utils-B3xYMrpK.mjs";import{t as n}from"./routes-CyrnmVuG.mjs";import{t as r}from"./pages-external-BYa4JSda.mjs";import{i,r as a}from"./config-D3_zDkHh.mjs";import{r as o,t as s}from"./types-generator-DVOnRVKU.mjs";import{o as c}from"./shiki-adapter-CXEGRnjr.mjs";import{createRequire as l}from"node:module";import u from"node:path";import d from"node:fs";import{z as f}from"zod";import*as p from"@bdocs/dui";import{colors as m,warn as h}from"@bdocs/dui";import g from"semver";import{build as _}from"@bdocs/ssg/node";import{EXIT as v,SKIP as y,visit as b}from"unist-util-visit";function x(e,n){let r=u.resolve(process.cwd(),`index.css`),i=d.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(n)}';
7
- const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
8
- `),s=a.map(([e])=>e).join(`, `),c=u.basename(e.docsDir||`docs`),l=u.resolve(process.cwd(),e.docsDir||`docs`),f=[`tsx`,`ts`,`jsx`,`js`].map(e=>u.resolve(l,`pages-external/index.${e}`)).find(e=>d.existsSync(e)),p=f?`import * as _external_module from '${t(f)}';`:``,m=f?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``,h=process.env.VITE_SSG===`true`,g=h?`{ eager: true }`:`{}`,_=h?``:`
9
- if (typeof window !== 'undefined') {
10
- const prefetchAll = () => {
11
- const getters = Object.values(mdxModules)
12
- if (getters.length === 0) return
13
- let i = 0
14
- const nextBatch = () => {
15
- if (i >= getters.length) return
16
- const batch = getters.slice(i, i + 6)
17
- i += batch.length
18
- Promise.allSettled(batch.map(fn => fn())).then(() => {
19
- setTimeout(nextBatch, 0)
20
- })
21
- }
22
- ;(typeof requestIdleCallback === 'function' ? requestIdleCallback : function(cb) { setTimeout(cb, 500) })(nextBatch)
23
- }
24
- prefetchAll()
25
- }
26
- `;return`
27
- import { ViteReactSSG, createRoutes } from 'boltdocs/client'
28
- import _routes from 'virtual:boltdocs-routes.ts'
29
- import _collections from 'virtual:boltdocs-collections.ts'
30
- import _config from 'virtual:boltdocs-config.ts'
31
- import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx'
32
- ${i}
33
- ${o}
34
- ${p}
35
-
36
- const mdxModules = import.meta.glob('/${c}/**/*.{md,mdx}', ${g});
37
-
38
- const _collLayoutMods = import.meta.glob('${`/${c}/**/layout.tsx`}', { eager: true });
39
- const _collListMods = import.meta.glob('${`/${c}/**/list.tsx`}', { eager: true });
40
- const _collPostMods = import.meta.glob('${`/${c}/**/post.tsx`}', { eager: true });
41
-
42
- const _collectionLayouts = {};
43
- for (const [p, mod] of Object.entries(_collLayoutMods)) {
44
- const dir = p.split('/').slice(-2, -1)[0];
45
- if (dir.startsWith('[') && dir.endsWith(']')) {
46
- _collectionLayouts[dir.slice(1, -1)] = mod.default || mod;
47
- }
48
- }
49
-
50
- const _collectionLists = {};
51
- for (const [p, mod] of Object.entries(_collListMods)) {
52
- const dir = p.split('/').slice(-2, -1)[0];
53
- if (dir.startsWith('[') && dir.endsWith(']')) {
54
- _collectionLists[dir.slice(1, -1)] = mod.default || mod;
55
- }
56
- }
57
-
58
- const _collectionPosts = {};
59
- for (const [p, mod] of Object.entries(_collPostMods)) {
60
- const dir = p.split('/').slice(-2, -1)[0];
61
- if (dir.startsWith('[') && dir.endsWith(']')) {
62
- _collectionPosts[dir.slice(1, -1)] = mod.default || mod;
63
- }
64
- }
65
-
66
- export const createRoot = ViteReactSSG(
67
- {
68
- routes: createRoutes({
69
- routesData: _routes,
70
- collectionsData: _collections,
71
- collectionLayouts: _collectionLayouts,
72
- collectionLists: _collectionLists,
73
- collectionPosts: _collectionPosts,
74
- config: _config,
75
- mdxModules,
76
- ${m}
77
- components: { ${s}${s?`, `:``} ...(_user_mdx_components || {}) },
78
- }),
79
- },
80
- ({ isClient }) => {
81
- // Boltdocs initialization hook
82
- if (isClient) {
83
- // Client-side initialization
84
- }
85
- },
86
- );
87
- ${_}
88
- `}var S=class extends Error{name=this.constructor.name;constructor(e,t,n){super(`[plugin:${e}] ${t}`,n),this.pluginName=e}},C=class extends S{constructor(e,t){super(e,`Validation failed: ${t}`)}},w=class extends S{constructor(e,t){super(e,`Compatibility error: ${t}`)}},T=class extends S{constructor(e,t,n){super(e,`Error in hook '${t}': ${n.message}`,{cause:n}),this.hookName=t}},E=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 D=i.extend({version:f.string().optional(),boltdocsVersion:f.string().optional(),hooks:f.object({beforeBuild:f.function().optional(),afterBuild:f.function().optional(),beforeDev:f.function().optional(),afterDev:f.function().optional(),buildEnd:f.function().optional(),transformSource:f.function().optional(),transformMdx:f.function().optional(),transformHtml:f.function().optional()}).optional()});function O(e,t){let n=[],r=new Set;for(let i of e){let e=D.safeParse(i);if(!e.success)throw new C(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 C(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!g.satisfies(t,a.boltdocsVersion))throw new w(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(`..`))throw new C(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`);if(u.isAbsolute(t))throw new C(a.name,`Component '${e}' has an invalid path: absolute paths are not allowed.`)}n.push(a)}return n}function k(e,t=process.cwd()){let n=e.plugins||[];for(let e of n)if(e.name)try{let n=null;try{n=l(u.resolve(t,`package.json`)).resolve(`${e.name}/package.json`)}catch{let r=u.resolve(t,`node_modules`,e.name,`package.json`);d.existsSync(r)&&(n=r)}if(n&&d.existsSync(n)){let t=JSON.parse(d.readFileSync(n,`utf-8`)).scripts||{};(t.preinstall||t.postinstall||t.install)&&h(`💡 ${m.yellow(m.bold(`Nota de seguridad:`))} El plugin ${m.cyan(e.name)} ejecuta scripts nativos al instalarse. Corre ${m.bold(`boltdocs audit`)} para un análisis detallado.`)}}catch{}}var A=class{name=`ConfigResolve`;async execute(e){e.config=await a(`docs`,e.root),k(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 M=class{name=`RouteGenerate`;async execute(e){if(!e.config)throw Error(`Config not resolved. Run ConfigResolve first.`);let t=u.resolve(e.root,`docs`),r=e.viteConfig?.base||e.config.base||`/docs`;e.routes=[...await n(t,e.config,r)],e.ssgRoutes=j(e.routes)}};const ee=f.object({title:f.string().optional(),description:f.string().optional(),canonical:f.string().url().optional(),robots:f.string().optional(),noindex:f.boolean().optional(),"og:title":f.string().optional(),"og:description":f.string().optional(),"og:image":f.string().optional(),"og:type":f.string().optional(),"og:url":f.string().url().optional()});var N=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(n=>{let r=n.seo||{},i=r.canonical||(t?`${t.replace(/\/$/,``)}${n.path}`:void 0),a=r[`og:url`]||i||void 0,o=e.config.seo?.thumbnails?.background,s=r[`og:image`]||n.coverImage||o;s&&t&&!/^https?:\/\/|^\/\//.test(s)&&(s=`${t.endsWith(`/`)?t.slice(0,-1):t}${s.startsWith(`/`)?s:`/${s}`}`);let c={...r};i&&(c.canonical=i),a&&(c[`og:url`]=a),s&&(c[`og:image`]=s),!c[`og:title`]&&n.title&&(c[`og:title`]=n.title),!c[`og:description`]&&n.description&&(c[`og:description`]=n.description);let l=ee.safeParse(c);return l.success||h(`[SEOValidate] Validation issues on route "${n.path}":`,l.error.message),n.title||h(`[SEOValidate] Route "${n.path}" is missing a title.`),{...n,seo:c}}),e.ssgRoutes=j(e.routes)}},P=class{name=`TypeGenerate`;async execute(e){if(!e.config||!e.routes)throw Error(`Config or Routes not initialized.`);let t=u.resolve(e.root,`docs`),n=e.routes.map(e=>e.path),i=(e.config.base||`/docs`).replace(/\/$/,``);n.includes(i)||n.push(i);let a=r(t,e.config);for(let e of a)n.includes(e)||n.push(e);s(e.config,t,e.root,n),o(n)}},F=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 _({entry:`boltdocs/entry`,routeToSourceFileMap:t,cacheDir:u.resolve(e.root,`.boltdocs/build`)},e.viteConfig),e.outDir=e.viteConfig.build?.outDir||`dist`}};function I(t,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"?>
89
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
90
- ${t.filter(e=>e.seo?.noindex||typeof e.seo?.robots==`string`&&e.seo.robots.includes(`noindex`)?!1:(i&&e.seo?.index,!0)).map(t=>` <url>
91
- <loc>${e(`${r}${t.path.startsWith(`/`)?t.path:`/${t.path}`}`)}</loc>
92
- <changefreq>weekly</changefreq>
93
- <priority>0.7</priority>
94
- </url>`).join(`
95
- `)}
96
- </urlset>`}function L(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(`
97
- `);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(`
98
- `)+`
99
- `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
100
- `)+`
101
- `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
102
-
103
- `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
104
- `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
105
- `)}var R=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=I(e.ssgRoutes,e.config),n=u.resolve(e.root,e.outDir);t&&d.writeFileSync(u.join(n,`sitemap.xml`),t,`utf-8`);let r=L(e.config);d.writeFileSync(u.join(n,`robots.txt`),r,`utf-8`)}};function z(){return new B().addStep(new A).addStep(new M).addStep(new N).addStep(new P).addStep(new F).addStep(new R)}var B=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}}},V=class{plugins;config;store;docsDir;rootDir;constructor(e,t,n,r){this.plugins=e,this.config=t,this.store=new E,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd()}async runHook(e,...t){let n=this.getSortedPlugins(),r=new B;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 T(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 T(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=>p.info(`${t} ${e}`),warn:e=>p.warn(`${t} ${e}`),error:e=>{p.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>p.debug(`${t} ${e}`)}}};function H(e,t,n){e&&b(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 U(e,t,n){H(e,c.ELEMENT,(e,r,i)=>{if(e.tagName===t)return n(e,r,i)})}function W(e,t,n){let r=Array.isArray(t)?t:[t],i=[c.JSX_FLOW_ELEMENT,c.JSX_TEXT_ELEMENT];H(e,e=>i.includes(e.type),(e,t,i)=>{if(e.name&&r.includes(e.name))return n(e,t,i)})}function G(e,t,n){e&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties[t]=n)}function K(e,t){return e?.data?.hProperties?.[t]}function q(e,t){return typeof t==`object`&&t?{type:c.JSX_ATTRIBUTE,name:e,value:t}:{type:c.JSX_ATTRIBUTE,name:e,value:String(t)}}function J(e,t={},n=[]){return{type:c.ELEMENT,tagName:e,properties:t,children:n}}function Y(e,t={},n=[],r=!0){let i=Object.entries(t).map(([e,t])=>q(e,t));return{type:r?c.JSX_FLOW_ELEMENT:c.JSX_TEXT_ELEMENT,name:e,attributes:i,children:n}}function X(e,t){e&&b(e,c.HEADING,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function Z(e,t){e&&b(e,c.LINK,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function Q(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 te(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 ne(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 re(e){return e}async function ie(e){let{resolveConfig:t}=await import(`./config-D3_zDkHh.mjs`).then(e=>e.n),{generateRoutes:n,getExternalRoutePaths:r}=await import(`./routes-CyrnmVuG.mjs`).then(e=>e.i),{generateProjectTypes:i,writeLinkTree:a}=await import(`./types-generator-DVOnRVKU.mjs`).then(e=>e.n),{boltdocsPlugin:o}=await import(`./plugin-YWNVRpws.mjs`),s=e?.docsDir||`docs`,c=await t(s),l=(await n(s,c)).map(e=>e.path),u=(c.base||`/docs`).replace(/\/$/,``);l.includes(u)||l.push(u);let d=r(s,c);for(let e of d)l.includes(e)||l.push(e);return i(c,s,void 0,l),a(l),o({...e},c)}async function $(e,t=`development`,n){let[r,i,{boltdocsPlugin:a,getExternalAbsolutePaths:o},{SECURITY_HEADERS:s},{getCSPHeader:c},{resolveConfig:l},{generateRoutes:d,getExternalRoutePaths:f},{generateProjectTypes:p,writeLinkTree:m},{normalizePath:h}]=await Promise.all([import(`@vitejs/plugin-react`),import(`@tailwindcss/vite`),import(`./plugin-YWNVRpws.mjs`),import(`./headers-CXyf0auY.mjs`).then(e=>e.n),import(`./csp-gaZ51xzq.mjs`).then(e=>e.t),import(`./config-D3_zDkHh.mjs`).then(e=>e.n),import(`./routes-CyrnmVuG.mjs`).then(e=>e.i),import(`./types-generator-DVOnRVKU.mjs`).then(e=>e.n),import(`vite`).then(e=>({normalizePath:e.normalizePath}))]),g=r.default,_=i.default,v=n||await l(`docs`,e),y=(await d(`docs`,v)).map(e=>e.path),b=(v.base||`/docs`).replace(/\/$/,``);y.includes(b)||y.push(b);let x=f(`docs`,v);for(let e of x)y.includes(e)||y.push(e);p(v,`docs`,e,y),m(y);let S=t===`production`,C=S?{...s}:{};return v.security?.enableCSP&&(C[`Content-Security-Policy`]=c(v)),{root:e,mode:t,oxc:{jsx:{development:!S,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:[g(),_(),...a({docsDir:`docs`,root:e},v)],resolve:{alias:[{find:`boltdocs/entry`,replacement:h(u.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:h(u.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:h(u.resolve(e,`../packages/core/src`))}],dedupe:[`react`,`react-dom`]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`,...o()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,`invariant`,...v.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`,`react-router-dom`]},server:{watch:{ignored:[`**/.boltdocs/**`,...Array.isArray(v.vite?.server?.watch?.ignored)?v.vite.server.watch.ignored:v.vite?.server?.watch?.ignored?[v.vite.server.watch.ignored]:[]]},headers:{...C,...v.vite?.server?.headers},...v.vite?.server},preview:{headers:{...C,...v.vite?.preview?.headers},...v.vite?.preview},...v.vite}}export{O as C,T as D,S as E,C as O,k as S,w as T,X as _,y as a,z as b,Y as c,ne as d,te as f,U as g,H as h,v as i,x as k,J as l,W as m,$ as n,Q as o,G as p,re as r,q as s,ie as t,K as u,Z as v,E as w,j as x,V as y};
@@ -1,105 +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-Bz1tG9Dg.cjs`),n=require(`./routes-D6Tuu7Fs.cjs`),r=require(`./pages-external-CX2uyW95.cjs`),i=require(`./config-B5uVv5q4.cjs`),a=require(`./types-generator-CYcHkDzZ.cjs`),o=require(`./shiki-adapter-CGTmrR6S.cjs`);let s=require(`node:path`);s=e.n(s);let c=require(`node:fs`);c=e.n(c);let l=require(`zod`),u=require(`@bdocs/dui`);u=e.n(u);let d=require(`semver`);d=e.n(d);let f=require(`node:module`),p=require(`@bdocs/ssg/node`),m=require(`unist-util-visit`);function h(e,n){let r=s.default.resolve(process.cwd(),`index.css`),i=c.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)}';
7
- const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
8
- `),l=a.map(([e])=>e).join(`, `),u=s.default.basename(e.docsDir||`docs`),d=s.default.resolve(process.cwd(),e.docsDir||`docs`),f=[`tsx`,`ts`,`jsx`,`js`].map(e=>s.default.resolve(d,`pages-external/index.${e}`)).find(e=>c.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?``:`
9
- if (typeof window !== 'undefined') {
10
- const prefetchAll = () => {
11
- const getters = Object.values(mdxModules)
12
- if (getters.length === 0) return
13
- let i = 0
14
- const nextBatch = () => {
15
- if (i >= getters.length) return
16
- const batch = getters.slice(i, i + 6)
17
- i += batch.length
18
- Promise.allSettled(batch.map(fn => fn())).then(() => {
19
- setTimeout(nextBatch, 0)
20
- })
21
- }
22
- ;(typeof requestIdleCallback === 'function' ? requestIdleCallback : function(cb) { setTimeout(cb, 500) })(nextBatch)
23
- }
24
- prefetchAll()
25
- }
26
- `;return`
27
- import { ViteReactSSG, createRoutes } from 'boltdocs/client'
28
- import _routes from 'virtual:boltdocs-routes.ts'
29
- import _collections from 'virtual:boltdocs-collections.ts'
30
- import _config from 'virtual:boltdocs-config.ts'
31
- import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx'
32
- ${i}
33
- ${o}
34
- ${p}
35
-
36
- const mdxModules = import.meta.glob('/${u}/**/*.{md,mdx}', ${g});
37
-
38
- const _collLayoutMods = import.meta.glob('${`/${u}/**/layout.tsx`}', { eager: true });
39
- const _collListMods = import.meta.glob('${`/${u}/**/list.tsx`}', { eager: true });
40
- const _collPostMods = import.meta.glob('${`/${u}/**/post.tsx`}', { eager: true });
41
-
42
- const _collectionLayouts = {};
43
- for (const [p, mod] of Object.entries(_collLayoutMods)) {
44
- const dir = p.split('/').slice(-2, -1)[0];
45
- if (dir.startsWith('[') && dir.endsWith(']')) {
46
- _collectionLayouts[dir.slice(1, -1)] = mod.default || mod;
47
- }
48
- }
49
-
50
- const _collectionLists = {};
51
- for (const [p, mod] of Object.entries(_collListMods)) {
52
- const dir = p.split('/').slice(-2, -1)[0];
53
- if (dir.startsWith('[') && dir.endsWith(']')) {
54
- _collectionLists[dir.slice(1, -1)] = mod.default || mod;
55
- }
56
- }
57
-
58
- const _collectionPosts = {};
59
- for (const [p, mod] of Object.entries(_collPostMods)) {
60
- const dir = p.split('/').slice(-2, -1)[0];
61
- if (dir.startsWith('[') && dir.endsWith(']')) {
62
- _collectionPosts[dir.slice(1, -1)] = mod.default || mod;
63
- }
64
- }
65
-
66
- export const createRoot = ViteReactSSG(
67
- {
68
- routes: createRoutes({
69
- routesData: _routes,
70
- collectionsData: _collections,
71
- collectionLayouts: _collectionLayouts,
72
- collectionLists: _collectionLists,
73
- collectionPosts: _collectionPosts,
74
- config: _config,
75
- mdxModules,
76
- ${m}
77
- components: { ${l}${l?`, `:``} ...(_user_mdx_components || {}) },
78
- }),
79
- },
80
- ({ isClient }) => {
81
- // Boltdocs initialization hook
82
- if (isClient) {
83
- // Client-side initialization
84
- }
85
- },
86
- );
87
- ${_}
88
- `}var g=class extends Error{name=this.constructor.name;constructor(e,t,n){super(`[plugin:${e}] ${t}`,n),this.pluginName=e}},_=class extends g{constructor(e,t){super(e,`Validation failed: ${t}`)}},v=class extends g{constructor(e,t){super(e,`Compatibility error: ${t}`)}},y=class extends g{constructor(e,t,n){super(e,`Error in hook '${t}': ${n.message}`,{cause:n}),this.hookName=t}},b=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 x=i.i.extend({version:l.z.string().optional(),boltdocsVersion:l.z.string().optional(),hooks:l.z.object({beforeBuild:l.z.function().optional(),afterBuild:l.z.function().optional(),beforeDev:l.z.function().optional(),afterDev:l.z.function().optional(),buildEnd:l.z.function().optional(),transformSource:l.z.function().optional(),transformMdx:l.z.function().optional(),transformHtml:l.z.function().optional()}).optional()});function S(e,t){let n=[],r=new Set;for(let i of e){let e=x.safeParse(i);if(!e.success)throw new _(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 _(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!d.default.satisfies(t,a.boltdocsVersion))throw new v(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(`..`))throw new _(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`);if(s.default.isAbsolute(t))throw new _(a.name,`Component '${e}' has an invalid path: absolute paths are not allowed.`)}n.push(a)}return n}function C(e,t=process.cwd()){let n=e.plugins||[];for(let e of n)if(e.name)try{let n=null;try{n=(0,f.createRequire)(s.default.resolve(t,`package.json`)).resolve(`${e.name}/package.json`)}catch{let r=s.default.resolve(t,`node_modules`,e.name,`package.json`);c.default.existsSync(r)&&(n=r)}if(n&&c.default.existsSync(n)){let t=JSON.parse(c.default.readFileSync(n,`utf-8`)).scripts||{};(t.preinstall||t.postinstall||t.install)&&(0,u.warn)(`💡 ${u.colors.yellow(u.colors.bold(`Nota de seguridad:`))} El plugin ${u.colors.cyan(e.name)} ejecuta scripts nativos al instalarse. Corre ${u.colors.bold(`boltdocs audit`)} para un análisis detallado.`)}}catch{}}var w=class{name=`ConfigResolve`;async execute(e){e.config=await i.n(`docs`,e.root),C(e.config,e.root),e.viteConfig=await Q(e.root,`production`)}};function T(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 E=class{name=`RouteGenerate`;async execute(e){if(!e.config)throw Error(`Config not resolved. Run ConfigResolve first.`);let t=s.default.resolve(e.root,`docs`),r=e.viteConfig?.base||e.config.base||`/docs`;e.routes=[...await n.t(t,e.config,r)],e.ssgRoutes=T(e.routes)}};const D=l.z.object({title:l.z.string().optional(),description:l.z.string().optional(),canonical:l.z.string().url().optional(),robots:l.z.string().optional(),noindex:l.z.boolean().optional(),"og:title":l.z.string().optional(),"og:description":l.z.string().optional(),"og:image":l.z.string().optional(),"og:type":l.z.string().optional(),"og:url":l.z.string().url().optional()});var O=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(n=>{let r=n.seo||{},i=r.canonical||(t?`${t.replace(/\/$/,``)}${n.path}`:void 0),a=r[`og:url`]||i||void 0,o=e.config.seo?.thumbnails?.background,s=r[`og:image`]||n.coverImage||o;s&&t&&!/^https?:\/\/|^\/\//.test(s)&&(s=`${t.endsWith(`/`)?t.slice(0,-1):t}${s.startsWith(`/`)?s:`/${s}`}`);let c={...r};i&&(c.canonical=i),a&&(c[`og:url`]=a),s&&(c[`og:image`]=s),!c[`og:title`]&&n.title&&(c[`og:title`]=n.title),!c[`og:description`]&&n.description&&(c[`og:description`]=n.description);let l=D.safeParse(c);return l.success||(0,u.warn)(`[SEOValidate] Validation issues on route "${n.path}":`,l.error.message),n.title||(0,u.warn)(`[SEOValidate] Route "${n.path}" is missing a title.`),{...n,seo:c}}),e.ssgRoutes=T(e.routes)}},k=class{name=`TypeGenerate`;async execute(e){if(!e.config||!e.routes)throw Error(`Config or Routes not initialized.`);let t=s.default.resolve(e.root,`docs`),n=e.routes.map(e=>e.path),i=(e.config.base||`/docs`).replace(/\/$/,``);n.includes(i)||n.push(i);let o=r.t(t,e.config);for(let e of o)n.includes(e)||n.push(e);a.t(e.config,t,e.root,n),a.r(n)}},A=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,p.build)({entry:`boltdocs/entry`,routeToSourceFileMap:t,cacheDir:s.default.resolve(e.root,`.boltdocs/build`)},e.viteConfig),e.outDir=e.viteConfig.build?.outDir||`dist`}};function j(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"?>
89
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
90
- ${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>
91
- <loc>${t.r(`${r}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`)}</loc>
92
- <changefreq>weekly</changefreq>
93
- <priority>0.7</priority>
94
- </url>`).join(`
95
- `)}
96
- </urlset>`}function M(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(`
97
- `);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(`
98
- `)+`
99
- `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
100
- `)+`
101
- `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
102
-
103
- `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
104
- `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
105
- `)}var N=class{name=`SEOWrite`;async execute(e){if(!e.ssgRoutes||!e.config||!e.outDir)throw Error(`SSG Routes, Config, or OutDir not initialized.`);let t=j(e.ssgRoutes,e.config),n=s.default.resolve(e.root,e.outDir);t&&c.default.writeFileSync(s.default.join(n,`sitemap.xml`),t,`utf-8`);let r=M(e.config);c.default.writeFileSync(s.default.join(n,`robots.txt`),r,`utf-8`)}};function P(){return new F().addStep(new w).addStep(new E).addStep(new O).addStep(new k).addStep(new A).addStep(new N)}var F=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}}},I=class{plugins;config;store;docsDir;rootDir;constructor(e,t,n,r){this.plugins=e,this.config=t,this.store=new b,this.docsDir=n||process.cwd(),this.rootDir=r||process.cwd()}async runHook(e,...t){let n=this.getSortedPlugins(),r=new F;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 y(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 y(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=>u.info(`${t} ${e}`),warn:e=>u.warn(`${t} ${e}`),error:e=>{u.error(`${t} ${e instanceof Error?e.message:e}`)},debug:e=>u.debug(`${t} ${e}`)}}};function L(e,t,n){e&&(0,m.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 R(e,t,n){L(e,o.o.ELEMENT,(e,r,i)=>{if(e.tagName===t)return n(e,r,i)})}function z(e,t,n){let r=Array.isArray(t)?t:[t],i=[o.o.JSX_FLOW_ELEMENT,o.o.JSX_TEXT_ELEMENT];L(e,e=>i.includes(e.type),(e,t,i)=>{if(e.name&&r.includes(e.name))return n(e,t,i)})}function B(e,t,n){e&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties[t]=n)}function V(e,t){return e?.data?.hProperties?.[t]}function H(e,t){return typeof t==`object`&&t?{type:o.o.JSX_ATTRIBUTE,name:e,value:t}:{type:o.o.JSX_ATTRIBUTE,name:e,value:String(t)}}function U(e,t={},n=[]){return{type:o.o.ELEMENT,tagName:e,properties:t,children:n}}function W(e,t={},n=[],r=!0){let i=Object.entries(t).map(([e,t])=>H(e,t));return{type:r?o.o.JSX_FLOW_ELEMENT:o.o.JSX_TEXT_ELEMENT,name:e,attributes:i,children:n}}function G(e,t){e&&(0,m.visit)(e,o.o.HEADING,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function K(e,t){e&&(0,m.visit)(e,o.o.LINK,(e,n,r)=>{if(n!==void 0&&r!==void 0)return t(e,n,r)})}function q(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 J(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 Y(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 X(e){return e}async function Z(e){let{resolveConfig:t}=await Promise.resolve().then(()=>require(`./config-JGkMJoJQ.cjs`)),{generateRoutes:n,getExternalRoutePaths:r}=await Promise.resolve().then(()=>require(`./routes-BajCwrvX.cjs`)),{generateProjectTypes:i,writeLinkTree:a}=await Promise.resolve().then(()=>require(`./types-generator-CYcHkDzZ.cjs`)).then(e=>e.n),{boltdocsPlugin:o}=await Promise.resolve().then(()=>require(`./plugin-WYNORxp1.cjs`)),s=e?.docsDir||`docs`,c=await t(s),l=(await n(s,c)).map(e=>e.path),u=(c.base||`/docs`).replace(/\/$/,``);l.includes(u)||l.push(u);let d=r(s,c);for(let e of d)l.includes(e)||l.push(e);return i(c,s,void 0,l),a(l),o({...e},c)}async function Q(e,t=`development`,n){let[r,i,{boltdocsPlugin:a,getExternalAbsolutePaths:o},{SECURITY_HEADERS:c},{getCSPHeader:l},{resolveConfig:u},{generateRoutes:d,getExternalRoutePaths:f},{generateProjectTypes:p,writeLinkTree:m},{normalizePath:h}]=await Promise.all([import(`@vitejs/plugin-react`),import(`@tailwindcss/vite`),Promise.resolve().then(()=>require(`./plugin-WYNORxp1.cjs`)),Promise.resolve().then(()=>require(`./headers-BXKxiPUv.cjs`)).then(e=>e.n),Promise.resolve().then(()=>require(`./csp-CBysWlAf.cjs`)).then(e=>e.t),Promise.resolve().then(()=>require(`./config-JGkMJoJQ.cjs`)),Promise.resolve().then(()=>require(`./routes-BajCwrvX.cjs`)),Promise.resolve().then(()=>require(`./types-generator-CYcHkDzZ.cjs`)).then(e=>e.n),import(`vite`).then(e=>({normalizePath:e.normalizePath}))]),g=r.default,_=i.default,v=n||await u(`docs`,e),y=(await d(`docs`,v)).map(e=>e.path),b=(v.base||`/docs`).replace(/\/$/,``);y.includes(b)||y.push(b);let x=f(`docs`,v);for(let e of x)y.includes(e)||y.push(e);p(v,`docs`,e,y),m(y);let S=t===`production`,C=S?{...c}:{};return v.security?.enableCSP&&(C[`Content-Security-Policy`]=l(v)),{root:e,mode:t,oxc:{jsx:{development:!S,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:[g(),_(),...a({docsDir:`docs`,root:e},v)],resolve:{alias:[{find:`boltdocs/entry`,replacement:h(s.default.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:h(s.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:h(s.default.resolve(e,`../packages/core/src`))}],dedupe:[`react`,`react-dom`]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`,...o()],optimizeDeps:{include:[`react`,`react-dom`,`react-fast-compare`,`invariant`,...v.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`,`react-router-dom`]},server:{watch:{ignored:[`**/.boltdocs/**`,...Array.isArray(v.vite?.server?.watch?.ignored)?v.vite.server.watch.ignored:v.vite?.server?.watch?.ignored?[v.vite.server.watch.ignored]:[]]},headers:{...C,...v.vite?.server?.headers},...v.vite?.server},preview:{headers:{...C,...v.vite?.preview?.headers},...v.vite?.preview},...v.vite}}Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return T}});
@@ -1,8 +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-Bz1tG9Dg.cjs`),n=require(`./errors-Dx6JHoKE.cjs`),r=require(`./cache-DETwlACe.cjs`);let i=require(`node:path`);i=e.n(i);let a=require(`github-slugger`);a=e.n(a);function o(e,n,r,a,o){let s=i.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}`:r,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 s=/^(#{2,4})\s+(.+)$/gm,c=/\[([^\]]+)\]\([^)]+\)/g,l=/[_*`]/g,u=/\s+/g,d=/[[\]_*`]|#+.*$|\{[^}]+\}/gm,f=/\((?:[^)]+)\)/g;function p(e,n){let r=new a.default,i=[];for(let n of e.matchAll(s)){let e=n[1].length,a=t.p(n[2].replace(c,`$1`).replace(l,``).trim()).trim(),o=r.slug(a);i.push({level:e,text:a,id:o})}let o=t.m(e.replace(d,``).replace(f,``).replace(u,` `)).trim(),p=n?t.p(n).trim():``;return!p&&e&&(p=o.substring(0,160)),{headings:i,description:p,plainText:o}}const m=[`og:`,`twitter:`,`article:`,`music:`,`video:`,`profile:`,`book:`],h=[`noindex`,`robots`,`canonical`,`keywords`,`author`];function g(e){let t={};e.seo&&typeof e.seo==`object`&&Object.assign(t,e.seo);for(let n of Object.keys(e))(h.includes(n)||m.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){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 v(e,a,s,c){let l=await r.t.get(e);if(l)return l;let u=e.replace(/\\/g,`/`),d=a.replace(/\\/g,`/`),f=y(u),m=i.default.resolve(f),h=i.default.resolve(d);if(i.default.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),i.default.resolve(t)};m=e(f),h=e(d)}let v=i.default.relative(h,m).replace(/\\/g,`/`);if(v.startsWith(`../`)||v!==`.`&&!t.v.test(v))throw new n.n(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${i.default.basename(f)}`);let{data:b,content:x}=await t.d(e),S=o(m,h,s,c,b.permalink),C=null,w=()=>(C||=p(x,b.description),C),T=_(b),E=g(b),D=i.default.basename(S.relativePath),O=t.h(D),k=S.remainingParts.map(e=>t.h(e)).slice(0,-1),A=/^index\.mdx?$/.test(O),j=b.sidebarPosition??t.i(D),M=k.join(`/`),N={route:{path:S.finalPath,componentPath:e,filePath:S.relativePath,title:T.title||t.h(i.default.basename(u,i.default.extname(u))),get description(){return w().description},sidebarPosition:j,get headings(){return w().headings},locale:S.locale,version:S.version,badge:T.badge,icon:b.icon?String(b.icon):void 0,tab:S.inferredTab,subRouteGroup:S.subRouteGroup,slugParts:k,get _content(){return 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:E,frontmatter:b,collection:S.collection,tags:b.tags,author:b.author,draft:b.draft,excerpt:b.excerpt,coverImage:b.coverImage||b.cover},relativeDir:S.collection?void 0:M||void 0,isGroupIndex:A,inferredTab:S.inferredTab,inferredCollection:S.collection,groupMeta:A?{title:b.groupTitle||T.title||(k.length>0?t.t(k[k.length-1]):``),position:b.groupPosition??b.sidebarPosition??(S.remainingParts.length>1?t.i(S.remainingParts[S.remainingParts.length-2]):void 0),icon:b.icon?String(b.icon):void 0}:void 0,inferredGroupPosition:S.remainingParts.length>1?t.i(S.remainingParts[S.remainingParts.length-2]):void 0};return await r.t.set(e,N),N}function y(e){let r;try{r=decodeURIComponent(e)}catch{throw t.l(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new n.t(`Security breach: Invalid characters or encoding in path`)}if(r.length>260)throw new n.n(`Path length exceeds limit`);return r}async function b(e,a,s,c,l){let u=e.replace(/\\/g,`/`),d=s.replace(/\\/g,`/`),f=y(u),p=i.default.resolve(f),m=i.default.resolve(d);if(i.default.sep===`/`){let e=e=>{let t=e.replace(/\\/g,`/`);return/^[a-zA-Z]:/.test(t)&&(t=t.replace(/^[a-zA-Z]:/,``)),i.default.resolve(t)};p=e(f),m=e(d)}let h=i.default.relative(m,p).replace(/\\/g,`/`);if(h.startsWith(`../`)||h!==`.`&&!t.v.test(h))throw new n.n(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${i.default.basename(f)}`);let{data:v}=t.g(`---
7
- `+a.rawMatter+`
8
- ---`),b=o(p,m,c,l,v.permalink),x=_(v),S=g(v),C=i.default.basename(b.relativePath),w=t.h(C),T=b.remainingParts.map(e=>t.h(e)).slice(0,-1),E=/^index\.mdx?$/.test(w),D=v.sidebarPosition??t.i(C),O=T.join(`/`),k=v.description?t.p(String(v.description)).trim():a.description,A={route:{path:b.finalPath,componentPath:e,filePath:b.relativePath,title:x.title||t.h(i.default.basename(u,i.default.extname(u))),description:k,sidebarPosition:D,headings:a.headings,locale:b.locale,version:b.version,badge:x.badge,icon:v.icon?String(v.icon):void 0,tab:b.inferredTab,subRouteGroup:b.subRouteGroup,slugParts:T,_content:a.plainText,_rawContent:a.content,date:v.date,lastUpdated:v.lastUpdated,category:v.category,order:v.order,sidebarLabel:v.sidebarLabel,sidebarHidden:v.sidebarHidden||v.hidden,seo:S,frontmatter:v,collection:b.collection,tags:v.tags,author:v.author,draft:v.draft,excerpt:v.excerpt,coverImage:v.coverImage||v.cover},relativeDir:b.collection?void 0:O||void 0,isGroupIndex:E,inferredTab:b.inferredTab,inferredCollection:b.collection,groupMeta:E?{title:v.groupTitle||x.title||(T.length>0?t.t(T[T.length-1]):``),position:v.groupPosition??v.sidebarPosition??(b.remainingParts.length>1?t.i(b.remainingParts[b.remainingParts.length-2]):void 0),icon:v.icon?String(v.icon):void 0}:void 0,inferredGroupPosition:b.remainingParts.length>1?t.i(b.remainingParts[b.remainingParts.length-2]):void 0};return await r.t.set(e,A),A}exports.parseDocFile=v,exports.parseDocFileWithNative=b;
@@ -1,8 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{a as e,d as t,g as n,h as r,i,l as a,m as o,p as s,t as c,v as l}from"./utils-B3xYMrpK.mjs";import{n as u,t as d}from"./errors-C0Hx15Ag.mjs";import{t as f}from"./cache-SF59enb3.mjs";import p from"node:path";import m from"github-slugger";function h(t,n,i,a,o){let s=p.relative(n,t).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 m=[...c],h=c.map(e=>r(e)).join(`/`),g=o?o.startsWith(`/`)?o:`/${o}`:e(h||`index.md`),_=[f?`/${f}`:i,u,l,!o&&!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=s(t[2].replace(_,`$1`).replace(v,``).trim()).trim(),a=n.slug(i);r.push({level:e,text:i,id:a})}let i=o(e.replace(b,``).replace(x,``).replace(y,` `)).trim(),a=t?s(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?s(String(e.title)):void 0,badge:e.badge?s(String(e.badge)):void 0,description:e.description?s(String(e.description)):void 0}}async function D(e,n,a,o){let s=await f.get(e);if(s)return s;let d=e.replace(/\\/g,`/`),m=n.replace(/\\/g,`/`),g=O(d),_=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!==`.`&&!l.test(y))throw new u(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${p.basename(g)}`);let{data:b,content:x}=await t(e),C=h(_,v,a,o,b.permalink),w=null,D=()=>(w||=S(x,b.description),w),k=E(b),A=T(b),j=p.basename(C.relativePath),M=r(j),N=C.remainingParts.map(e=>r(e)).slice(0,-1),P=/^index\.mdx?$/.test(M),F=b.sidebarPosition??i(j),I=N.join(`/`),L={route:{path:C.finalPath,componentPath:e,filePath:C.relativePath,title:k.title||r(p.basename(d,p.extname(d))),get description(){return D().description},sidebarPosition:F,get headings(){return D().headings},locale:C.locale,version:C.version,badge:k.badge,icon:b.icon?String(b.icon):void 0,tab:C.inferredTab,subRouteGroup:C.subRouteGroup,slugParts:N,get _content(){return D().plainText},_rawContent:x,date:b.date,lastUpdated:b.lastUpdated,category:b.category,order:b.order,sidebarLabel:b.sidebarLabel,sidebarHidden:b.sidebarHidden||b.hidden,seo:A,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:I||void 0,isGroupIndex:P,inferredTab:C.inferredTab,inferredCollection:C.collection,groupMeta:P?{title:b.groupTitle||k.title||(N.length>0?c(N[N.length-1]):``),position:b.groupPosition??b.sidebarPosition??(C.remainingParts.length>1?i(C.remainingParts[C.remainingParts.length-2]):void 0),icon:b.icon?String(b.icon):void 0}:void 0,inferredGroupPosition:C.remainingParts.length>1?i(C.remainingParts[C.remainingParts.length-2]):void 0};return await f.set(e,L),L}function O(e){let t;try{t=decodeURIComponent(e)}catch{throw a(`SECURITY_ERROR`,`Invalid encoding in path`,{file:e}),new d(`Security breach: Invalid characters or encoding in path`)}if(t.length>260)throw new u(`Path length exceeds limit`);return t}async function k(e,t,a,o,d){let m=e.replace(/\\/g,`/`),g=a.replace(/\\/g,`/`),_=O(m),v=p.resolve(_),y=p.resolve(g);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)};v=e(_),y=e(g)}let b=p.relative(y,v).replace(/\\/g,`/`);if(b.startsWith(`../`)||b!==`.`&&!l.test(b))throw new u(`Security breach: File is outside of docs directory, contains null bytes, or invalid path characters: ${p.basename(_)}`);let{data:x}=n(`---
7
- `+t.rawMatter+`
8
- ---`),S=h(v,y,o,d,x.permalink),C=E(x),w=T(x),D=p.basename(S.relativePath),k=r(D),A=S.remainingParts.map(e=>r(e)).slice(0,-1),j=/^index\.mdx?$/.test(k),M=x.sidebarPosition??i(D),N=A.join(`/`),P=x.description?s(String(x.description)).trim():t.description,F={route:{path:S.finalPath,componentPath:e,filePath:S.relativePath,title:C.title||r(p.basename(m,p.extname(m))),description:P,sidebarPosition:M,headings:t.headings,locale:S.locale,version:S.version,badge:C.badge,icon:x.icon?String(x.icon):void 0,tab:S.inferredTab,subRouteGroup:S.subRouteGroup,slugParts:A,_content:t.plainText,_rawContent:t.content,date:x.date,lastUpdated:x.lastUpdated,category:x.category,order:x.order,sidebarLabel:x.sidebarLabel,sidebarHidden:x.sidebarHidden||x.hidden,seo:w,frontmatter:x,collection:S.collection,tags:x.tags,author:x.author,draft:x.draft,excerpt:x.excerpt,coverImage:x.coverImage||x.cover},relativeDir:S.collection?void 0:N||void 0,isGroupIndex:j,inferredTab:S.inferredTab,inferredCollection:S.collection,groupMeta:j?{title:x.groupTitle||C.title||(A.length>0?c(A[A.length-1]):``),position:x.groupPosition??x.sidebarPosition??(S.remainingParts.length>1?i(S.remainingParts[S.remainingParts.length-2]):void 0),icon:x.icon?String(x.icon):void 0}:void 0,inferredGroupPosition:S.remainingParts.length>1?i(S.remainingParts[S.remainingParts.length-2]):void 0};return await f.set(e,F),F}export{D as parseDocFile,k as parseDocFileWithNative};
@@ -1,68 +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-Bz1tG9Dg.cjs`),n=require(`./node-Cedquois.cjs`),r=require(`./cache-DETwlACe.cjs`),i=require(`./routes-D6Tuu7Fs.cjs`),a=require(`./pages-external-CX2uyW95.cjs`),o=require(`./config-B5uVv5q4.cjs`),s=require(`./types-generator-CYcHkDzZ.cjs`),c=require(`./shiki-adapter-CGTmrR6S.cjs`),l=require(`./doctor-DQxLM202.cjs`),u=require(`./headers-BXKxiPUv.cjs`),d=require(`./csp-CBysWlAf.cjs`);let f=require(`node:path`);f=e.n(f);let p=require(`node:fs`);p=e.n(p);let m=require(`@bdocs/dui`),h=require(`node:crypto`);h=e.n(h);let g=require(`node:module`);g=e.n(g);let _=require(`vite`),ee=require(`@bdocs/plugin-image-optimizer`),v=require(`@mdx-js/rollup`);v=e.n(v);let y=require(`remark-gfm`);y=e.n(y);let b=require(`remark-frontmatter`);b=e.n(b);let x=require(`rehype-slug`);x=e.n(x);let S=require(`unist-util-visit`);function C(e){let n=e.theme?.title;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>${t.n(typeof n==`string`?n:n&&Object.values(n)[0]||`Boltdocs`)}</title>
12
- </head>
13
- <body>
14
- <div id="root"></div>
15
- </body>
16
- </html>`}function w(e,t,n){return e?typeof e==`string`?e:e[n||``]||Object.values(e)[0]||t:t}function te(e){let n=e.i18n?.defaultLocale,r=w(e.theme?.title,`Boltdocs`,n),i=w(e.theme?.description,``,n),a=e.theme?.favicon;!a&&e.theme?.logo&&(a=typeof e.theme.logo==`string`?e.theme.logo:e.theme.logo.light||e.theme.logo.dark);let o,s=e.seo?.thumbnails?.background;s&&e.siteUrl&&!/^https?:\/\/|^\/\//.test(s)?o=`${e.siteUrl.endsWith(`/`)?e.siteUrl.slice(0,-1):e.siteUrl}${s.startsWith(`/`)?s:`/${s}`}`:s&&(o=s);let c=e.seo?.indexing===`none`?`noindex, nofollow`:e.seo?.indexing===`all`?void 0:e.seo?.indexing,l=e.seo?.metatags||{},u=Object.entries(l).map(([e,n])=>{let r=t.n(e),i=t.n(n);return e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${r}" content="${i}">`:`<meta name="${r}" content="${i}">`});return{title:r,description:i,favicon:a,ogImage:o,robotsContent:c,siteUrl:e.siteUrl,customMetaTags:u}}function ne(e){return[e.favicon?`<link rel="icon" href="${t.n(e.favicon)}">`:``,`<meta name="description" content="${t.n(e.description)}">`,`<meta property="og:title" content="${t.n(e.title)}">`,`<meta property="og:description" content="${t.n(e.description)}">`,`<meta property="og:type" content="website">`,e.siteUrl?`<meta property="og:url" content="${t.n(e.siteUrl)}">`:``,e.siteUrl?`<link rel="canonical" href="${t.n(e.siteUrl)}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${t.n(e.title)}">`,`<meta name="twitter:description" content="${t.n(e.description)}">`,e.ogImage?`<meta property="og:image" content="${t.n(e.ogImage)}">`:``,e.ogImage?`<meta name="twitter:image" content="${t.n(e.ogImage)}">`:``,e.robotsContent?`<meta name="robots" content="${t.n(e.robotsContent)}">`:``,`<meta name="generator" content="Boltdocs">`,...e.customMetaTags].filter(Boolean).join(`
17
- `)}function re(e){if(!e)return``;let n=[];return e.google&&n.push(`<meta name="google-site-verification" content="${t.n(e.google)}">`),e.bing&&n.push(`<meta name="msvalidate.01" content="${t.n(e.bing)}">`),e.yandex&&n.push(`<meta name="yandex-verification" content="${t.n(e.yandex)}">`),e.pinterest&&n.push(`<meta name="p:domain_verify" content="${t.n(e.pinterest)}">`),e.facebook&&n.push(`<meta name="facebook-domain-verification" content="${t.n(e.facebook)}">`),n.join(`
18
- `)}function ie(e){let t=[],n=e.theme?.logo,r;if(typeof n==`string`?r=n:n&&typeof n==`object`&&(r=n.light||n.dark),r){let e={webp:`image/webp`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,svg:`image/svg+xml`,avif:`image/avif`}[r.split(`.`).pop()?.toLowerCase()||``]||`image/png`;t.push(`<link rel="preload" as="image" href="${r}" type="${e}" fetchpriority="high">`)}return t.join(`
19
- `)}function ae(){return`
20
- <script>
21
- (function() {
22
- try {
23
- var stored = localStorage.getItem("boltdocs-theme");
24
- var isDark =
25
- stored === "dark" ||
26
- (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
27
- document.documentElement.classList.toggle("dark", isDark);
28
- document.documentElement.dataset.theme = isDark ? "dark" : "light";
29
- } catch (e) {
30
- }
31
- })();
32
- <\/script>
33
- `}function oe(e,n){if(!e||!n&&!e.debug)return``;let r=e.anonymizeIp?`gtag('set', 'ip', true);`:``,i=e.sendPageView===!1?`{send_page_view: false}`:`{}`,a=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``,o=t.n(e.measurementId);return`
34
- <!-- Google tag (gtag.js) -->
35
- <script async src="https://www.googletagmanager.com/gtag/js?id=${o}"><\/script>
36
- <script>
37
- window.dataLayer = window.dataLayer || [];
38
- function gtag(){dataLayer.push(arguments);}
39
- gtag('js', new Date());
40
- ${r}
41
- gtag('config', '${o}', ${i}${a});
42
- <\/script>
43
- `}function se(e,n){if(!e||!n)return{script:``,noScript:``};let r=t.n(e.dataLayerName||`dataLayer`),i=e.preview?`&gtm_preview=${t.n(e.preview)}`:``,a=t.n(e.tagId);return{script:`
44
- <!-- Google Tag Manager -->
45
- <script defer>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
46
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
47
- j=d.createElement(s),dl=l!='${r}'?'&l='+l:'';j.src=
48
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${i}';f.parentNode.insertBefore(j,f);
49
- })(window,document,'script','${r}','${a}');<\/script>
50
- <!-- End Google Tag Manager -->
51
- `,noScript:`
52
- <!-- Google Tag Manager (noscript) -->
53
- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${a}"
54
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
55
- <!-- End Google Tag Manager (noscript) -->
56
- `}}function ce(e,t){if(!e||!t)return``;let{analytics:n=!0,speedInsights:r=!0}=e,i=``;return n&&(i+=`
57
- <script>window.va=window.va||function(){(window.vaq=window.vaq||[]).push(arguments)};<\/script>
58
- <script defer src="/_vercel/insights/script.js"><\/script>
59
- `),r&&(i+=`
60
- <script>window.si=window.si||function(){(window.siq=window.siq||[]).push(arguments)};<\/script>
61
- <script defer src="/_vercel/speed-insights/script.js"><\/script>
62
- `),i}function T(e,n){let r=t.n(n);return e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`)}function le(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function E(e,t){return e.replace(`</head>`,` ${t}</head>`)}function D(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function O(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
63
- </body>`)}function k(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=C(t));let n=process.env.NODE_ENV===`production`,r=te(t),i=ne(r),a=re(t.seo?.verification),o=ie(t),s=ae(),c=oe(t.integrations?.analytics?.ga4,n),l=se(t.integrations?.analytics?.gtm,n),u=[a,o,i,c,ce(t.integrations?.analytics?.vercel,n),l.script].filter(Boolean).join(`
64
- `);return e=T(e,r.title),e=le(e,s),e=E(e,u),e=D(e,l.noScript),e=O(e),e}function A(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(A):e&&typeof e==`object`?Object.values(e).flatMap(A):[]}const ue=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function de(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=A(Object.entries(n.frontmatter).filter(([e])=>!ue.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}let j=null,M=null,N=null,P=null;function F(){j=null,M=null,N=null,P=null}function I(e,r,a,o){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let n=a()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?t.u(f.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(f.default.resolve(n,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(a){let s=r();if(a.includes(`boltdocs-entry.tsx`)||a===`\0virtual:boltdocs-entry`)return n.D(e,s);if(a.includes(`boltdocs-client.mjs`)||a===`\0virtual:boltdocs-client.ts`||a===`virtual:boltdocs-client`){let e=__dirname,n=e;for(;e!==f.default.parse(e).root;){if(p.default.existsSync(f.default.join(e,`package.json`))&&JSON.parse(p.default.readFileSync(f.default.join(e,`package.json`),`utf-8`)).name===`boltdocs`){n=e;break}e=f.default.dirname(e)}let r=f.default.join(n,`src/client/index.ts`),i=f.default.join(n,`dist/client/index.js`);return`export * from '${t.u(p.default.existsSync(r)?r:i)}';`}if(!a.startsWith(`\0virtual:boltdocs-`))return;let c=a.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(c===`routes`){if(!N){let e=n.y(await i.t(o,s));N=`export default ${JSON.stringify(e,null,2)};`}return N}if(c===`collections`){if(!P){let e=n.y(await i.t(o,s)),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,locale:n.locale,version:n.version,frontmatter:n.frontmatter}));P=`export default ${JSON.stringify(t,null,2)};`}return P}if(c===`config`){if(j===null){let{loadDirectoryMeta:e}=await Promise.resolve().then(()=>require(`./meta-loader-C9MKjAs0.cjs`));j=await e(o)}let e=j,t={base:s?.base,theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,integrations:s?.integrations,plugins:s?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(c===`entry`)return n.D(e,s);if(c===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],n=null;for(let t of e){let e=f.default.resolve(o,`mdx-components.${t}`);if(p.default.existsSync(e)){n=e;break}}if(n){let e=t.u(n);return`import * as components from '${e}';
65
- const mdxComponents = components.default || components;
66
- export default mdxComponents;
67
- export * from '${e}';`}return`export default {};`}if(c===`layout`){let e=[`tsx`,`jsx`],n=null;for(let t of e){let e=f.default.resolve(o,`layout.${t}`);if(p.default.existsSync(e)){n=e;break}}if(n)return`import UserLayout from '${t.u(n)}';
68
- 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(c===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],n=null;for(let t of e){let e=f.default.resolve(o,`icons.${t}`);if(p.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.u(n)}';\nexport default icons;`:`export default {};`}if(c===`search`){if(!M){let e=de(await i.t(o,s));M=`export default ${JSON.stringify(e,null,2)};`}return M}if(c===`client`){let e=__dirname,n=``;for(;e&&e!==f.default.parse(e).root;){let r=f.default.join(e,`src/client/index.ts`),i=f.default.join(e,`dist/client/index.mjs`),a=f.default.join(e,`client/index.ts`);if(p.default.existsSync(r)){n=t.u(r);break}if(p.default.existsSync(i)){n=t.u(i);break}if(p.default.existsSync(a)){n=t.u(a);break}e=f.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}function L(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-Dzf4dSnV.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 R(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 z=/\.(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 B(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(L(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(u.t).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,d.n(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`)&&!z.test(a)){let n=C(s);n=k(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}function V(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await Promise.resolve().then(()=>require(`./routes-BajCwrvX.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=f.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const H=[`tsx`,`jsx`],U=[`tsx`,`ts`,`jsx`,`js`];function fe(e,t){let n=o.t.map(e=>f.default.resolve(process.cwd(),e)),r=H.map(e=>f.default.resolve(t,`layout.${e}`)),i=U.map(e=>f.default.resolve(t,`mdx-components.${e}`)),a=U.map(e=>f.default.resolve(t,`pages-external/index.${e}`)),s=U.map(e=>f.default.resolve(t,`icons.${e}`));e.watcher.add([...n,...i,...r,...a,...s])}const W=new Map;function G(e){let{lastUpdated:t,...n}=e;return h.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function pe(e){try{let{data:n}=await t.d(e);return G(n)}catch{return``}}function me(e){let t=W.get(e);if(t===void 0){let n=i.i.getStale(e);n?.route?.frontmatter&&(t=G(n.route.frontmatter),W.set(e,t))}return t}function he(e,t){W.set(e,t)}function ge(e){W.delete(e)}const K=[`tsx`,`ts`,`jsx`,`js`];function q(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function _e(e,n,r,a){let c=new Map,u=r.toLowerCase(),d=async(r,d)=>{try{let p=t.u(r);if(o.t.some(e=>p.endsWith(e))){e.restart();return}if(K.some(e=>p.endsWith(`mdx-components.${e}`))){s.t(a(),n),q(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(K.some(e=>p.endsWith(`icons.${e}`))){q(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(p.endsWith(`layout.tsx`)||p.endsWith(`layout.jsx`)){q(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(p.includes(`/pages-external/`)||p.includes(`\\pages-external\\`)){q(e,`entry`),e.ws.send({type:`full-reload`});return}if(!p.toLowerCase().startsWith(u))return;let h=p.endsWith(`meta.json`)||p.endsWith(`_meta.json`);if(!h&&!t.c(p))return;if(d===`add`||d===`unlink`||h){d===`unlink`&&ge(r),i.r(),F();let t=a();s.t(t,n),q(e,`config`),q(e,`routes`),q(e,`search`),q(e,`collections`),l.c(n,process.cwd(),t).catch(e=>{(0,m.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}c.has(p)&&clearTimeout(c.get(p)),c.set(p,setTimeout(async()=>{c.delete(p);try{let a=me(r),o=await pe(r);if(he(r,o),i.n(r),a!==void 0&&a!==o){F(),q(e,`routes`),q(e,`search`),q(e,`collections`),e.ws.send({type:`full-reload`});return}let s=t.u(f.default.relative(n,r)),c=e.moduleGraph.getModulesByFile(p);if(!c||c.size===0){let t=p.toLowerCase();for(let[n,r]of e.moduleGraph.fileToModulesMap.entries())try{if(decodeURIComponent(n).toLowerCase()===t){c=r;break}}catch{}}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:p,relPath:s}})}catch(e){(0,m.error)(`HMR error processing content change:`,e)}},150))}catch(e){(0,m.error)(`HMR error during ${d} event:`,e)}};e.watcher.on(`add`,e=>d(e,`add`)),e.watcher.on(`unlink`,e=>d(e,`unlink`)),e.watcher.on(`change`,e=>d(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 ye(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),l.c(e,process.cwd(),n()).catch(e=>{(0,m.error)(`Failed to generate initial link tree:`,e)}),V(r,e,n),B(r,e,n),fe(r,e),_e(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:ve(t)}}const J=new r.r(`mdx`);function be(e){let t=c.n(e);return async e=>{let r=await t.getHighlighter();n.p(e,c.o.ELEMENT,e=>{if(e.tagName!==`pre`)return;let n=e.children?.[0];if(!n||n.type!==c.o.ELEMENT||n.tagName!==`code`)return;let i=(n.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):c.a.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=c.r(n.properties?.metastring||n.data?.meta||``),s=t.getOptions(a,o),l=n.children?.[0]?.value||``;try{let t=r.codeToHast(l,s),n=t.type===`root`?t.children[0]:t;e.children=n.children,e.properties={...e.properties,...n.properties,[c.i.HIGHLIGHTED]:`true`,[c.i.LANG]:a}}catch(t){(0,m.error)(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],c.s.FALLBACK],e.properties[c.i.HIGHLIGHTED]=`false`,e.properties[c.i.LANG]=a}return o.title&&(e.properties[c.i.TITLE]=o.title),S.SKIP})}}function xe(){return e=>{n.p(e,c.o.CODE,e=>{e.meta&&n.d(e,`metastring`,e.meta)})}}let Se=!1;function Ce(e,t,n=v.default){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[y.default,b.default,xe,...r],rehypePlugins:[x.default,[be,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Se||=(await J.load(),!0),a.buildStart&&await a.buildStart.call(this)},async load(e,n){if(e.endsWith(`.md`)||e.endsWith(`.mdx`))try{let n=p.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}:${h.default.createHash(`md5`).update(e).digest(`hex`)}:${process.env.NODE_ENV===`production`?`prod`:`dev`}:v3`,s=await J.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),J.set(o,e),{code:e,map:null}}return c},async buildEnd(){J.save(),await J.flush(),a.buildEnd&&await a.buildEnd.call(this)}}}const Y=g.createRequire(require(`url`).pathToFileURL(__filename).href),we=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`],Te=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=f.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return p.default.existsSync(e)?g.createRequire(p.default.realpathSync(e)):g.createRequire(f.default.join(process.cwd(),`package.json`))}catch{return e}}function Z(e,t=Y){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 Q(e=Y){let n=[],r=X(e),i=new Set([r,e]);for(let e of i){for(let t of we)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(t)?Z(t,e):e.resolve(t);r&&n.push(p.default.realpathSync(r))}catch{}for(let t of Te)try{n.push(p.default.realpathSync(e.resolve(t)))}catch{}}return Array.from(new Set(n)).map(e=>t.u(e))}const $=g.createRequire(require(`url`).pathToFileURL(__filename).href),Ee=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function De(e={},r){let c=f.default.resolve(process.cwd(),e.docsDir||`docs`),l=t.u(c),u=r,d,m=!1,h,g=[];if(u?.plugins?.length)try{let{version:e}=JSON.parse(p.default.readFileSync(f.default.resolve(__dirname,`../../../package.json`),`utf-8`)),t=n.x(u.plugins,e);u.plugins=t,h=new n._(t,u),g=t.flatMap(e=>e.vitePlugins||[])}catch{}let v=()=>u,y=e=>{u=e},b=()=>d,x=()=>h;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){m=t.command===`build`;let r=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,(0,_.loadEnv)(t.mode,e.envDir||process.cwd(),``)),!u){u=await o.n(c);let e=(await i.t(c,u)).map(e=>e.path),t=(u.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let n=a.t(c,u);for(let t of n)e.includes(t)||e.push(t);s.t(u,c,void 0,e),s.r(e)}Promise.resolve().then(()=>require(`./shiki-adapter-Mr8_oT_9.cjs`)).then(({getShikiAdapter:e})=>{e(u).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:l}=await Promise.resolve().then(()=>require(`./package-CEDhVAfO.cjs`)),d=n.x(u.plugins||[],l);return u.plugins=d,h=new n._(d,u),g=d.flatMap(e=>e.vitePlugins||[]),m&&await h.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`}},build:{ssrManifest:m},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:Z(`react-router-dom`)},{find:`react-helmet-async`,replacement:Z(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:Z(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...r?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){d=e},resolveId(e,t,n){let r=Ee.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,f.default.sep)}/`));if(r&&n?.ssr&&!f.default.isAbsolute(e)&&r!==`react`&&r!==`react-dom`){let t=X($),n=e;try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,t):t.resolve(e)}catch{try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,$):$.resolve(e)}catch{}}try{n=p.default.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>k(e,u)},async closeBundle(){!m||d?.build?.ssr||(await h?.runHook(`afterBuild`),await h?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(L(v)),e.middlewares.use(R(b))}},I(e,v,b,c),ye(c,l,v,y,x),Ce(u,x),(0,ee.ViteImageOptimizer)({includePublic:!0}),...g]}exports.boltdocsPlugin=De,exports.getBaseRequire=X,exports.getExternalAbsolutePaths=Q,exports.resolveEsm=Z;
@@ -1,68 +0,0 @@
1
- /**
2
- * Boltdocs - https://boltdocs.vercel.app
3
- * Copyright (c) 2026 Jesus Alcala
4
- * Licensed under the MIT License.
5
- */
6
- import{c as e,d as t,n,u as r}from"./utils-B3xYMrpK.mjs";import{C as i,a,h as o,k as s,p as c,x as l,y as u}from"./node-B9JSyEIU.mjs";import{r as d}from"./cache-SF59enb3.mjs";import{a as f,n as p,r as m,t as h}from"./routes-CyrnmVuG.mjs";import{t as ee}from"./pages-external-BYa4JSda.mjs";import{r as te,t as g}from"./config-D3_zDkHh.mjs";import{r as ne,t as _}from"./types-generator-DVOnRVKU.mjs";import{a as re,i as v,n as ie,o as y,s as ae,t as oe}from"./shiki-adapter-CXEGRnjr.mjs";import{n as b}from"./doctor-3MheVMwd.mjs";import{t as se}from"./headers-CXyf0auY.mjs";import{n as ce}from"./csp-gaZ51xzq.mjs";import*as x from"node:module";import S from"node:path";import C from"node:fs";import{error as w}from"@bdocs/dui";import T from"node:crypto";import{fileURLToPath as le}from"node:url";import{loadEnv as ue}from"vite";import{ViteImageOptimizer as de}from"@bdocs/plugin-image-optimizer";import fe from"@mdx-js/rollup";import pe from"remark-gfm";import me from"remark-frontmatter";import he from"rehype-slug";const E=S.dirname(le(import.meta.url));function D(e){let t=e.theme?.title;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>${n(typeof t==`string`?t:t&&Object.values(t)[0]||`Boltdocs`)}</title>
12
- </head>
13
- <body>
14
- <div id="root"></div>
15
- </body>
16
- </html>`}function O(e,t,n){return e?typeof e==`string`?e:e[n||``]||Object.values(e)[0]||t:t}function ge(e){let t=e.i18n?.defaultLocale,r=O(e.theme?.title,`Boltdocs`,t),i=O(e.theme?.description,``,t),a=e.theme?.favicon;!a&&e.theme?.logo&&(a=typeof e.theme.logo==`string`?e.theme.logo:e.theme.logo.light||e.theme.logo.dark);let o,s=e.seo?.thumbnails?.background;s&&e.siteUrl&&!/^https?:\/\/|^\/\//.test(s)?o=`${e.siteUrl.endsWith(`/`)?e.siteUrl.slice(0,-1):e.siteUrl}${s.startsWith(`/`)?s:`/${s}`}`:s&&(o=s);let c=e.seo?.indexing===`none`?`noindex, nofollow`:e.seo?.indexing===`all`?void 0:e.seo?.indexing,l=e.seo?.metatags||{},u=Object.entries(l).map(([e,t])=>{let r=n(e),i=n(t);return e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${r}" content="${i}">`:`<meta name="${r}" content="${i}">`});return{title:r,description:i,favicon:a,ogImage:o,robotsContent:c,siteUrl:e.siteUrl,customMetaTags:u}}function _e(e){return[e.favicon?`<link rel="icon" href="${n(e.favicon)}">`:``,`<meta name="description" content="${n(e.description)}">`,`<meta property="og:title" content="${n(e.title)}">`,`<meta property="og:description" content="${n(e.description)}">`,`<meta property="og:type" content="website">`,e.siteUrl?`<meta property="og:url" content="${n(e.siteUrl)}">`:``,e.siteUrl?`<link rel="canonical" href="${n(e.siteUrl)}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${n(e.title)}">`,`<meta name="twitter:description" content="${n(e.description)}">`,e.ogImage?`<meta property="og:image" content="${n(e.ogImage)}">`:``,e.ogImage?`<meta name="twitter:image" content="${n(e.ogImage)}">`:``,e.robotsContent?`<meta name="robots" content="${n(e.robotsContent)}">`:``,`<meta name="generator" content="Boltdocs">`,...e.customMetaTags].filter(Boolean).join(`
17
- `)}function ve(e){if(!e)return``;let t=[];return e.google&&t.push(`<meta name="google-site-verification" content="${n(e.google)}">`),e.bing&&t.push(`<meta name="msvalidate.01" content="${n(e.bing)}">`),e.yandex&&t.push(`<meta name="yandex-verification" content="${n(e.yandex)}">`),e.pinterest&&t.push(`<meta name="p:domain_verify" content="${n(e.pinterest)}">`),e.facebook&&t.push(`<meta name="facebook-domain-verification" content="${n(e.facebook)}">`),t.join(`
18
- `)}function ye(e){let t=[],n=e.theme?.logo,r;if(typeof n==`string`?r=n:n&&typeof n==`object`&&(r=n.light||n.dark),r){let e={webp:`image/webp`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,svg:`image/svg+xml`,avif:`image/avif`}[r.split(`.`).pop()?.toLowerCase()||``]||`image/png`;t.push(`<link rel="preload" as="image" href="${r}" type="${e}" fetchpriority="high">`)}return t.join(`
19
- `)}function be(){return`
20
- <script>
21
- (function() {
22
- try {
23
- var stored = localStorage.getItem("boltdocs-theme");
24
- var isDark =
25
- stored === "dark" ||
26
- (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
27
- document.documentElement.classList.toggle("dark", isDark);
28
- document.documentElement.dataset.theme = isDark ? "dark" : "light";
29
- } catch (e) {
30
- }
31
- })();
32
- <\/script>
33
- `}function k(e,t){if(!e||!t&&!e.debug)return``;let r=e.anonymizeIp?`gtag('set', 'ip', true);`:``,i=e.sendPageView===!1?`{send_page_view: false}`:`{}`,a=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``,o=n(e.measurementId);return`
34
- <!-- Google tag (gtag.js) -->
35
- <script async src="https://www.googletagmanager.com/gtag/js?id=${o}"><\/script>
36
- <script>
37
- window.dataLayer = window.dataLayer || [];
38
- function gtag(){dataLayer.push(arguments);}
39
- gtag('js', new Date());
40
- ${r}
41
- gtag('config', '${o}', ${i}${a});
42
- <\/script>
43
- `}function A(e,t){if(!e||!t)return{script:``,noScript:``};let r=n(e.dataLayerName||`dataLayer`),i=e.preview?`&gtm_preview=${n(e.preview)}`:``,a=n(e.tagId);return{script:`
44
- <!-- Google Tag Manager -->
45
- <script defer>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
46
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
47
- j=d.createElement(s),dl=l!='${r}'?'&l='+l:'';j.src=
48
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${i}';f.parentNode.insertBefore(j,f);
49
- })(window,document,'script','${r}','${a}');<\/script>
50
- <!-- End Google Tag Manager -->
51
- `,noScript:`
52
- <!-- Google Tag Manager (noscript) -->
53
- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${a}"
54
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
55
- <!-- End Google Tag Manager (noscript) -->
56
- `}}function j(e,t){if(!e||!t)return``;let{analytics:n=!0,speedInsights:r=!0}=e,i=``;return n&&(i+=`
57
- <script>window.va=window.va||function(){(window.vaq=window.vaq||[]).push(arguments)};<\/script>
58
- <script defer src="/_vercel/insights/script.js"><\/script>
59
- `),r&&(i+=`
60
- <script>window.si=window.si||function(){(window.siq=window.siq||[]).push(arguments)};<\/script>
61
- <script defer src="/_vercel/speed-insights/script.js"><\/script>
62
- `),i}function M(e,t){let r=n(t);return e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`)}function N(e,t){return e.replace(`<head>`,`<head>\n${t}`)}function xe(e,t){return e.replace(`</head>`,` ${t}</head>`)}function Se(e,t){return t?e.replace(/<body([^>]*)>/,`<body$1>\n${t}`):e}function Ce(e){return e.includes(`src/main`)||e.includes(`virtual:boltdocs-entry`)?e:e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
63
- </body>`)}function P(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=D(t));let n=process.env.NODE_ENV===`production`,r=ge(t),i=_e(r),a=ve(t.seo?.verification),o=ye(t),s=be(),c=k(t.integrations?.analytics?.ga4,n),l=A(t.integrations?.analytics?.gtm,n),u=[a,o,i,c,j(t.integrations?.analytics?.vercel,n),l.script].filter(Boolean).join(`
64
- `);return e=M(e,r.title),e=N(e,s),e=xe(e,u),e=Se(e,l.noScript),e=Ce(e),e}function F(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(F):e&&typeof e==`object`?Object.values(e).flatMap(F):[]}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=F(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}let I=null,L=null,R=null,z=null;function B(){I=null,L=null,R=null,z=null}function Ee(e,t,n,i){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let t=n()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?r(S.resolve(t,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?r(S.resolve(t,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(n){let a=t();if(n.includes(`boltdocs-entry.tsx`)||n===`\0virtual:boltdocs-entry`)return s(e,a);if(n.includes(`boltdocs-client.mjs`)||n===`\0virtual:boltdocs-client.ts`||n===`virtual:boltdocs-client`){let e=E,t=e;for(;e!==S.parse(e).root;){if(C.existsSync(S.join(e,`package.json`))&&JSON.parse(C.readFileSync(S.join(e,`package.json`),`utf-8`)).name===`boltdocs`){t=e;break}e=S.dirname(e)}let n=S.join(t,`src/client/index.ts`),i=S.join(t,`dist/client/index.js`);return`export * from '${r(C.existsSync(n)?n:i)}';`}if(!n.startsWith(`\0virtual:boltdocs-`))return;let o=n.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(o===`routes`){if(!R){let e=l(await h(i,a));R=`export default ${JSON.stringify(e,null,2)};`}return R}if(o===`collections`){if(!z){let e=l(await h(i,a)),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,locale:n.locale,version:n.version,frontmatter:n.frontmatter}));z=`export default ${JSON.stringify(t,null,2)};`}return z}if(o===`config`){if(I===null){let{loadDirectoryMeta:e}=await import(`./meta-loader-C4Hu9RN9.mjs`);I=await e(i)}let e=I,t={base:a?.base,theme:a?.theme,i18n:a?.i18n,versions:a?.versions,siteUrl:a?.siteUrl,integrations:a?.integrations,plugins:a?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(o===`entry`)return s(e,a);if(o===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],t=null;for(let n of e){let e=S.resolve(i,`mdx-components.${n}`);if(C.existsSync(e)){t=e;break}}if(t){let e=r(t);return`import * as components from '${e}';
65
- const mdxComponents = components.default || components;
66
- export default mdxComponents;
67
- export * from '${e}';`}return`export default {};`}if(o===`layout`){let e=[`tsx`,`jsx`],t=null;for(let n of e){let e=S.resolve(i,`layout.${n}`);if(C.existsSync(e)){t=e;break}}if(t)return`import UserLayout from '${r(t)}';
68
- 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(o===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],t=null;for(let n of e){let e=S.resolve(i,`icons.${n}`);if(C.existsSync(e)){t=e;break}}return t?`import * as icons from '${r(t)}';\nexport default icons;`:`export default {};`}if(o===`search`){if(!L){let e=Te(await h(i,a));L=`export default ${JSON.stringify(e,null,2)};`}return L}if(o===`client`){let e=E,t=``;for(;e&&e!==S.parse(e).root;){let n=S.join(e,`src/client/index.ts`),i=S.join(e,`dist/client/index.mjs`),a=S.join(e,`client/index.ts`);if(C.existsSync(n)){t=r(n);break}if(C.existsSync(i)){t=r(i);break}if(C.existsSync(a)){t=r(a);break}e=S.dirname(e)}if(!t)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${E}`);return`export * from '${t}';`}}}}function V(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-Btd4t_67.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 De(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(S.extname(a))return r();let o=e(),s=S.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=S.join(s,c,`index.html`);c!==`/`&&C.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const Oe=/\.(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 ke(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(V(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(se).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,ce(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`)&&!Oe.test(a)){let n=D(s);n=P(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}function Ae(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await import(`./routes-CyrnmVuG.mjs`).then(e=>e.i),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=S.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const je=[`tsx`,`jsx`],H=[`tsx`,`ts`,`jsx`,`js`];function Me(e,t){let n=g.map(e=>S.resolve(process.cwd(),e)),r=je.map(e=>S.resolve(t,`layout.${e}`)),i=H.map(e=>S.resolve(t,`mdx-components.${e}`)),a=H.map(e=>S.resolve(t,`pages-external/index.${e}`)),o=H.map(e=>S.resolve(t,`icons.${e}`));e.watcher.add([...n,...i,...r,...a,...o])}const U=new Map;function W(e){let{lastUpdated:t,...n}=e;return T.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function Ne(e){try{let{data:n}=await t(e);return W(n)}catch{return``}}function Pe(e){let t=U.get(e);if(t===void 0){let n=f.getStale(e);n?.route?.frontmatter&&(t=W(n.route.frontmatter),U.set(e,t))}return t}function Fe(e,t){U.set(e,t)}function Ie(e){U.delete(e)}const G=[`tsx`,`ts`,`jsx`,`js`];function K(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function Le(t,n,i,a){let o=new Map,s=i.toLowerCase(),c=async(i,c)=>{try{let l=r(i);if(g.some(e=>l.endsWith(e))){t.restart();return}if(G.some(e=>l.endsWith(`mdx-components.${e}`))){_(a(),n),K(t,`mdx-components.tsx`),t.ws.send({type:`full-reload`});return}if(G.some(e=>l.endsWith(`icons.${e}`))){K(t,`icons.tsx`),t.ws.send({type:`full-reload`});return}if(l.endsWith(`layout.tsx`)||l.endsWith(`layout.jsx`)){K(t,`layout.tsx`),t.ws.send({type:`full-reload`});return}if(l.includes(`/pages-external/`)||l.includes(`\\pages-external\\`)){K(t,`entry`),t.ws.send({type:`full-reload`});return}if(!l.toLowerCase().startsWith(s))return;let u=l.endsWith(`meta.json`)||l.endsWith(`_meta.json`);if(!u&&!e(l))return;if(c===`add`||c===`unlink`||u){c===`unlink`&&Ie(i),m(),B();let e=a();_(e,n),K(t,`config`),K(t,`routes`),K(t,`search`),K(t,`collections`),b(n,process.cwd(),e).catch(e=>{w(`Failed to update link tree:`,e)}),t.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:e?.theme,i18n:e?.i18n,versions:e?.versions,siteUrl:e?.siteUrl}}),t.ws.send({type:`full-reload`});return}o.has(l)&&clearTimeout(o.get(l)),o.set(l,setTimeout(async()=>{o.delete(l);try{let e=Pe(i),a=await Ne(i);if(Fe(i,a),p(i),e!==void 0&&e!==a){B(),K(t,`routes`),K(t,`search`),K(t,`collections`),t.ws.send({type:`full-reload`});return}let o=r(S.relative(n,i)),s=t.moduleGraph.getModulesByFile(l);if(!s||s.size===0){let e=l.toLowerCase();for(let[n,r]of t.moduleGraph.fileToModulesMap.entries())try{if(decodeURIComponent(n).toLowerCase()===e){s=r;break}}catch{}}if(s&&s.size>0)for(let e of s)t.moduleGraph.invalidateModule(e);else{t.ws.send({type:`full-reload`});return}t.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:l,relPath:o}})}catch(e){w(`HMR error processing content change:`,e)}},150))}catch(e){w(`HMR error during ${c} event:`,e)}};t.watcher.on(`add`,e=>c(e,`add`)),t.watcher.on(`unlink`,e=>c(e,`unlink`)),t.watcher.on(`change`,e=>c(e,`change`))}function Re(t){let n=t.toLowerCase();return({file:t})=>{let r=t.toLowerCase();if(r.startsWith(n)&&(e(t)||r.endsWith(`meta.json`)))return[]}}function ze(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),b(e,process.cwd(),n()).catch(e=>{w(`Failed to generate initial link tree:`,e)}),Ae(r,e,n),ke(r,e,n),Me(r,e),Le(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:Re(t)}}const q=new d(`mdx`);function J(e){let t=oe(e);return async e=>{let n=await t.getHighlighter();o(e,y.ELEMENT,e=>{if(e.tagName!==`pre`)return;let r=e.children?.[0];if(!r||r.type!==y.ELEMENT||r.tagName!==`code`)return;let i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),o=i?i.slice(9):re.MDX_DEFAULT_LANG;if(o===`mermaid`)return;let s=ie(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,[v.HIGHLIGHTED]:`true`,[v.LANG]:o}}catch(t){w(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],ae.FALLBACK],e.properties[v.HIGHLIGHTED]=`false`,e.properties[v.LANG]=o}return s.title&&(e.properties[v.TITLE]=s.title),a})}}function Be(){return e=>{o(e,y.CODE,e=>{e.meta&&c(e,`metastring`,e.meta)})}}let Ve=!1;function He(e,t,n=fe){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[pe,me,Be,...r],rehypePlugins:[he,[J,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ve||=(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=C.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}:${T.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 Y=x.createRequire(import.meta.url),Ue=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`],We=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=S.join(process.cwd(),`node_modules/boltdocs/package.json`);return C.existsSync(e)?x.createRequire(C.realpathSync(e)):x.createRequire(S.join(process.cwd(),`package.json`))}catch{return e}}function Z(e,t=Y){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=S.dirname(e);for(;n&&n!==S.dirname(n);){let e=S.join(n,`package.json`);if(C.existsSync(e)){a=e;break}n=S.dirname(n)}}if(!a)throw Error();let o=S.dirname(a),s=JSON.parse(C.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=S.resolve(o,l);if(C.existsSync(u))return u}catch{}return t.resolve(e)}function Q(e=Y){let t=[],n=X(e),i=new Set([n,e]);for(let e of i){for(let n of Ue)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?Z(n,e):e.resolve(n);r&&t.push(C.realpathSync(r))}catch{}for(let n of We)try{t.push(C.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>r(e))}const $=x.createRequire(import.meta.url),Ge=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function Ke(e={},t){let n=S.resolve(process.cwd(),e.docsDir||`docs`),a=r(n),o=t,s,c=!1,l,d=[];if(o?.plugins?.length)try{let{version:e}=JSON.parse(C.readFileSync(S.resolve(E,`../../../package.json`),`utf-8`)),t=i(o.plugins,e);o.plugins=t,l=new u(t,o),d=t.flatMap(e=>e.vitePlugins||[])}catch{}let f=()=>o,p=e=>{o=e},m=()=>s,g=()=>l;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){c=t.command===`build`;let r=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,ue(t.mode,e.envDir||process.cwd(),``)),!o){o=await te(n);let e=(await h(n,o)).map(e=>e.path),t=(o.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t);let r=ee(n,o);for(let t of r)e.includes(t)||e.push(t);_(o,n,void 0,e),ne(e)}import(`./shiki-adapter-CXEGRnjr.mjs`).then(e=>e.r).then(({getShikiAdapter:e})=>{e(o).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:a}=await import(`./package-_dCCKVvG.mjs`),s=i(o.plugins||[],a);return o.plugins=s,l=new u(s,o),d=s.flatMap(e=>e.vitePlugins||[]),c&&await l.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`}},build:{ssrManifest:c},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:Z(`react-router-dom`)},{find:`react-helmet-async`,replacement:Z(`react-helmet-async`)},{find:`@bdocs/ssg`,replacement:Z(`@bdocs/ssg`)}],dedupe:[`react`,`react-dom`,...r?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){s=e},resolveId(e,t,n){let r=Ge.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,S.sep)}/`));if(r&&n?.ssr&&!S.isAbsolute(e)&&r!==`react`&&r!==`react-dom`){let t=X($),n=e;try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,t):t.resolve(e)}catch{try{n=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(r)?Z(e,$):$.resolve(e)}catch{}}try{n=C.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>P(e,o)},async closeBundle(){!c||s?.build?.ssr||(await l?.runHook(`afterBuild`),await l?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(V(f)),e.middlewares.use(De(m))}},Ee(e,f,m,n),ze(n,a,f,p,g),He(o,g),de({includePublic:!0}),...d]}export{Ke as boltdocsPlugin,X as getBaseRequire,Q as getExternalAbsolutePaths,Z as resolveEsm};
@@ -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"node:module";var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{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"./rolldown-runtime-fkIsjY3S.mjs";import{t}from"./utils-B3xYMrpK.mjs";import{n,t as r}from"./cache-SF59enb3.mjs";import{t as i}from"./pages-external-BYa4JSda.mjs";import a from"node:path";import{fdir as o}from"fdir";const s=new n({name:`routes`});function c(){s.invalidateAll(),r.clear()}function l(e){s.invalidate(e),r.invalidate(e)}function u(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):d(e,t):n-r})}function d(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}var f=e({generateRoutes:()=>y,getExternalRoutePaths:()=>i,invalidateFile:()=>g,invalidateRouteCache:()=>v});let p=null;const m=new Map;let h=null;function g(e){let t=e.replace(/\\/g,`/`);h&&h[t]&&delete h[t],l(e)}let _=null;function v(){p=null,m.clear(),c(),h=null}async function y(e,n,r,i=!1){if(_)return _;let c=(async()=>{let c=r||n?.base||`/docs`;await s.load(),m.clear();let l;if(!i&&p)l=p;else{let t=await new o().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!a.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],r=t.map(e=>{let t=a.basename(e),r=n.findIndex(e=>e.test(t));return{f:e,score:r===-1?2**53-1:r}});r.sort((e,t)=>e.score-t.score),l=r.map(e=>e.f),p=l}s.pruneStale(new Set(l));let d=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,f,g=!0;for(let e of l)if(!s.get(e)){g=!1;break}if(g)f=l.map(e=>s.get(e));else{if(!d&&!h)try{let{runParser:t}=await import(`@bdocs/parser`);h=await t(e)}catch{}if(!d&&h!==null&&h){let{parseDocFileWithNative:t,parseDocFile:r}=await import(`./parser-D0QHIQsi.mjs`);f=await Promise.all(l.map(async i=>{let a=s.get(i);if(a)return a;let o=i.replace(/\\/g,`/`),l=h[o];if(l){let r=await t(i,l,e,c,n);return s.set(i,r),r}else{let t=await r(i,e,c,n);return s.set(i,t),t}}))}else{let{parseDocFile:t}=await import(`./parser-D0QHIQsi.mjs`);f=await Promise.all(l.map(async r=>{let i=s.get(r);if(i)return i;let a=await t(r,e,c,n);return s.set(r,a),a}))}}s.save();let _=[],v=new Map;for(let e of f)if(!(process.env.NODE_ENV===`production`&&e.route.draft))if(e.inferredCollection){let t=e.inferredCollection;v.has(t)||v.set(t,[]),v.get(t).push(e)}else _.push(e);let y=new Map,x=[],S=n?.i18n?.defaultLocale||``;for(let e of _)if(e.isGroupIndex&&e.relativeDir&&x.push(e),e.relativeDir){let n=`${e.route.locale||S}:${e.relativeDir}`,r=y.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t(e.relativeDir),position:e.inferredGroupPosition},y.set(n,r))}for(let e of x){let t=`${e.route.locale||S}:${e.relativeDir}`,n=y.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(n?.theme?.sidebarGroups){let e=n.i18n?Object.keys(n.i18n.locales):[S];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=y.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[S]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):y.set(e,{title:o||t(r),icon:i.icon})}}let C=Array(_.length);for(let e=0;e<_.length;e++){let n=_[e],r=n.relativeDir,i=n.route.locale||S,a=r?`${i}:${r}`:void 0,o=a?y.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[S]),C[e]={...n.route,group:r,groupTitle:s||(r?t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let w=[];for(let[,e]of v)for(let t of e)w.push({...t.route,collection:t.inferredCollection});w.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let T=C;if(n?.i18n){let e=b(C,n,c);T=[...C,...e]}return[...u(T),...w]})();_=c;try{return await c}finally{_=null}}function b(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){let i=o.get(e)||new Set;for(let o of s){let s=x(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function x(e,t,n,r,i){let a=`${e}:${n}`,o=m.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let d=c+l;return m.size>2e3&&m.clear(),m.set(a,d),d}export{s as a,f as i,g as n,v as r,y 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(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-Bz1tG9Dg.cjs`),n=require(`./cache-DETwlACe.cjs`);let r=require(`node:path`);r=e.n(r);let i=require(`fdir`);const a=new n.n({name:`routes`});function o(){a.invalidateAll(),n.t.clear()}function s(e){a.invalidate(e),n.t.invalidate(e)}function c(e){return e.sort((e,t)=>{let n=e.group?e.groupPosition??999:e.sidebarPosition??999,r=t.group?t.groupPosition??999:t.sidebarPosition??999;return n===r?!e.group&&t.group?-1:e.group&&!t.group?1:e.group&&t.group&&e.group!==t.group?(e.groupTitle||e.group).localeCompare(t.groupTitle||t.group):l(e,t):n-r})}function l(e,t){return e.sidebarPosition!==void 0&&t.sidebarPosition!==void 0?e.sidebarPosition-t.sidebarPosition:e.sidebarPosition===void 0?t.sidebarPosition===void 0?e.title.localeCompare(t.title):1:-1}let u=null;const d=new Map;let f=null;function p(e){let t=e.replace(/\\/g,`/`);f&&f[t]&&delete f[t],s(e)}let m=null;function h(){u=null,d.clear(),o(),f=null}async function g(e,n,o,s=!1){if(m)return m;let l=(async()=>{let l=o||n?.base||`/docs`;await a.load(),d.clear();let p;if(!s&&u)p=u;else{let t=await new i.fdir().withFullPaths().filter(t=>t.endsWith(`.md`)||t.endsWith(`.mdx`)?!r.default.relative(e,t).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(e).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],a=t.map(e=>{let t=r.default.basename(e),i=n.findIndex(e=>e.test(t));return{f:e,score:i===-1?2**53-1:i}});a.sort((e,t)=>e.score-t.score),p=a.map(e=>e.f),u=p}a.pruneStale(new Set(p));let m=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,h,g=!0;for(let e of p)if(!a.get(e)){g=!1;break}if(g)h=p.map(e=>a.get(e));else{if(!m&&!f)try{let{runParser:t}=await import(`@bdocs/parser`);f=await t(e)}catch{}if(!m&&f!==null&&f){let{parseDocFileWithNative:t,parseDocFile:r}=await Promise.resolve().then(()=>require(`./parser-CNIPHx4s.cjs`));h=await Promise.all(p.map(async i=>{let o=a.get(i);if(o)return o;let s=i.replace(/\\/g,`/`),c=f[s];if(c){let r=await t(i,c,e,l,n);return a.set(i,r),r}else{let t=await r(i,e,l,n);return a.set(i,t),t}}))}else{let{parseDocFile:t}=await Promise.resolve().then(()=>require(`./parser-CNIPHx4s.cjs`));h=await Promise.all(p.map(async r=>{let i=a.get(r);if(i)return i;let o=await t(r,e,l,n);return a.set(r,o),o}))}}a.save();let v=[],y=new Map;for(let e of h)if(!(process.env.NODE_ENV===`production`&&e.route.draft))if(e.inferredCollection){let t=e.inferredCollection;y.has(t)||y.set(t,[]),y.get(t).push(e)}else v.push(e);let b=new Map,x=[],S=n?.i18n?.defaultLocale||``;for(let e of v)if(e.isGroupIndex&&e.relativeDir&&x.push(e),e.relativeDir){let n=`${e.route.locale||S}:${e.relativeDir}`,r=b.get(n);r?r.position===void 0&&e.inferredGroupPosition!==void 0&&(r.position=e.inferredGroupPosition):(r={title:t.t(e.relativeDir),position:e.inferredGroupPosition},b.set(n,r))}for(let e of x){let t=`${e.route.locale||S}:${e.relativeDir}`,n=b.get(t);e.groupMeta&&(n.title=e.groupMeta.title,e.groupMeta.position!==void 0&&(n.position=e.groupMeta.position),e.groupMeta.icon&&(n.icon=e.groupMeta.icon))}if(n?.theme?.sidebarGroups){let e=n.i18n?Object.keys(n.i18n.locales):[S];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of e){let e=`${n}:${r}`,a=b.get(e),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[S]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):b.set(e,{title:o||t.t(r),icon:i.icon})}}let C=Array(v.length);for(let e=0;e<v.length;e++){let n=v[e],r=n.relativeDir,i=n.route.locale||S,a=r?`${i}:${r}`:void 0,o=a?b.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[S]),C[e]={...n.route,group:r,groupTitle:s||(r?t.t(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let w=[];for(let[,e]of y)for(let t of e)w.push({...t.route,collection:t.inferredCollection});w.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let T=C;if(n?.i18n){let e=_(C,n,l);T=[...C,...e]}return[...c(T),...w]})();m=l;try{return await l}finally{m=null}}function _(e,t,n){let r=t.i18n.defaultLocale,i=Object.keys(t.i18n.locales),a=[],o=new Map,s=[];for(let t of e){let e=t.locale||r;o.has(e)||o.set(e,new Set),o.get(e).add(t.path),e===r&&s.push(t)}for(let e of i){let i=o.get(e)||new Set;for(let o of s){let s=v(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function v(e,t,n,r,i){let a=`${e}:${n}`,o=d.get(a);if(o)return o;let s=r.startsWith(`/`)?r:`/`+r,c=s;if(i?.versions){let t=i.versions.prefix||``;for(let n of i.versions.versions){let r=`${s}/${t+n.path}`;if(e.startsWith(r)){c=r;break}let i=`${s}/${n.path}`;if(e.startsWith(i)){c=i;break}}}let l=e.substring(c.length),u=`/${t}`;if(l.startsWith(u+`/`))l=`/`+n+`/`+l.substring(u.length+1);else if(l===u)l=`/`+n;else if(l===`/`||l===``)l=`/`+n;else{let e=l.startsWith(`/`)?``:`/`;l=`/`+n+e+l}let f=c+l;return d.size>2e3&&d.clear(),d.set(a,f),f}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return g}});