boltdocs 2.7.3 → 2.7.5

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.
@@ -1,111 +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-Clzu7jvb.cjs`),n=require(`./cache-DorPMFgW.cjs`),r=require(`./routes-Co1mRM58.cjs`),i=require(`./doctor-COpf35L2.cjs`);let a=require(`@vitejs/plugin-react`);a=e.n(a);let o=require(`@tailwindcss/vite`);o=e.n(o);let s=require(`vite`),c=require(`node:path`);c=e.n(c);let l=require(`fs`);l=e.n(l);let u=require(`zod`),d=require(`node:fs`);d=e.n(d);let f=require(`node:crypto`);f=e.n(f);let p=require(`vite-plugin-image-optimizer`),m=require(`semver`);m=e.n(m);let h=require(`path`);h=e.n(h);let g=require(`@mdx-js/rollup`);g=e.n(g);let _=require(`remark-gfm`);_=e.n(_);let v=require(`remark-frontmatter`);v=e.n(v);let y=require(`rehype-slug`);y=e.n(y);let ee=require(`unist-util-visit`),te=require(`shiki/engine/javascript`),ne=require(`shiki/core`),b=require(`@shikijs/themes/github-light`);b=e.n(b);let x=require(`@shikijs/themes/github-dark`);x=e.n(x);let S=require(`@shikijs/themes/tokyo-night`);S=e.n(S);let C=require(`@shikijs/themes/dracula`);C=e.n(C);let w=require(`@shikijs/themes/nord`);w=e.n(w);let T=require(`@shikijs/themes/one-dark-pro`);T=e.n(T);let E=require(`@shikijs/themes/one-light`);E=e.n(E);let D=require(`@shikijs/langs/html`);D=e.n(D);let O=require(`@shikijs/langs/js`);O=e.n(O);let k=require(`@shikijs/langs/ts`);k=e.n(k);let A=require(`@shikijs/langs/tsx`);A=e.n(A);let j=require(`@shikijs/langs/css`);j=e.n(j);let M=require(`@shikijs/langs/json`);M=e.n(M);let N=require(`@shikijs/langs/bash`);N=e.n(N);let P=require(`@shikijs/langs/markdown`);P=e.n(P);let F=require(`@shikijs/langs/mdx`);F=e.n(F);let re=require(`@shikijs/langs/yaml`);re=e.n(re);let ie=require(`@shikijs/langs/rust`);ie=e.n(ie);let I=require(`@shikijs/langs/toml`);I=e.n(I);let L=require(`@shikijs/langs/csv`);L=e.n(L);function ae(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,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}))}function oe(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"?>
7
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
8
- ${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>
9
- <loc>${t.n(`${r}${e.path.startsWith(`/`)?e.path:`/${e.path}`}`)}</loc>
10
- <changefreq>weekly</changefreq>
11
- <priority>0.7</priority>
12
- </url>`).join(`
13
- `)}
14
- </urlset>`}function se(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(`
15
- `);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(`
16
- `)+`
17
- `:t+=`Allow: ${e.allow}\n`),e.disallow&&(Array.isArray(e.disallow)?t+=e.disallow.map(e=>`Disallow: ${e}`).join(`
18
- `)+`
19
- `:t+=`Disallow: ${e.disallow}\n`),t.trim()}).join(`
20
-
21
- `),a=[...n?[n]:[],...r].map(e=>`Sitemap: ${e}`).join(`
22
- `);return`${i}${a?`\n\n${a}`:``}`}return[`User-agent: *`,`Allow: /`,``,n?`Sitemap: ${n}`:``].filter(Boolean).join(`
23
- `)}function ce(e){return`<!doctype html>
24
- <html lang="en">
25
- <head>
26
- <meta charset="UTF-8" />
27
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
28
- <title>${e.theme?.title||`Boltdocs`}</title>
29
- </head>
30
- <body>
31
- <div id="root"></div>
32
- </body>
33
- </html>`}function le(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=ce(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,`<meta name="generator" content="Boltdocs">`].filter(Boolean).join(`
34
- `);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let s=``;if(t.integrations?.ga4){let e=t.integrations.ga4;if(process.env.NODE_ENV===`production`||e.debug){let t=e.anonymizeIp?`gtag('set', 'ip', true);`:``,n=e.sendPageView===!1?`{send_page_view: false}`:`{}`,r=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``;s=`
35
- <!-- Google tag (gtag.js) - ${e.measurementId} -->
36
- <script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
37
- <script>
38
- window.dataLayer = window.dataLayer || [];
39
- function gtag(){dataLayer.push(arguments);}
40
- gtag('js', new Date());
41
- ${t}
42
- gtag('config', '${e.measurementId}', ${n}${r});
43
- <\/script>
44
- `}}let c=``,l=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;c=`
45
- <!-- Google Tag Manager -->
46
- <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
47
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
48
- j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
49
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`&gtm_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
50
- })(window,document,'script','${t}','${e.tagId}');<\/script>
51
- <!-- End Google Tag Manager -->
52
- `,l=`
53
- <!-- Google Tag Manager (noscript) -->
54
- <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
55
- height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
56
- <!-- End Google Tag Manager (noscript) -->
57
- `}}return e=e.replace(`</head>`,` ${o}\n
58
- <script>
59
- (function() {
60
- try {
61
- var stored = localStorage.getItem("boltdocs-theme");
62
- var isDark =
63
- stored === "dark" ||
64
- (stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
65
- document.documentElement.classList.toggle("dark", isDark);
66
- document.documentElement.dataset.theme = isDark ? "dark" : "light";
67
- } catch (e) {}
68
- })();
69
- <\/script>
70
- \n${s}${c} </head>`),l&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${l}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
71
- </body>`)),e}var R=class e extends Error{pluginName;constructor(t,n){super(`[plugin:${t}] ${n}`),this.name=`PluginError`,this.pluginName=t,Object.setPrototypeOf(this,e.prototype)}},z=class e extends R{constructor(t,n){super(t,`Validation failed: ${n}`),this.name=`PluginValidationError`,Object.setPrototypeOf(this,e.prototype)}},ue=class e extends R{constructor(t,n){super(t,`Compatibility error: ${n}`),this.name=`PluginCompatibilityError`,Object.setPrototypeOf(this,e.prototype)}},B=class e extends R{constructor(t,n){super(t,`Missing required permission: '${n}'`),this.name=`PluginPermissionError`,Object.setPrototypeOf(this,e.prototype)}},de=class e extends R{hookName;constructor(t,n,r){super(t,`Error in hook '${n}': ${r.message}`),this.name=`PluginHookError`,this.hookName=n,this.stack=r.stack,Object.setPrototypeOf(this,e.prototype)}},fe=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 pe=i._.extend({version:u.z.string().optional(),boltdocsVersion:u.z.string().optional(),permissions:u.z.array(u.z.string()).optional(),hooks:u.z.object({beforeBuild:u.z.function().optional(),afterBuild:u.z.function().optional(),beforeDev:u.z.function().optional(),afterDev:u.z.function().optional(),configResolved:u.z.function().optional(),buildEnd:u.z.function().optional()}).optional()});function me(e,t){let n=[],r=new Set;for(let i of e){let e=pe.safeParse(i);if(!e.success)throw new z(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 z(a.name,`Duplicate plugin name detected`);if(r.add(a.name),a.boltdocsVersion&&!m.default.satisfies(t,a.boltdocsVersion))throw new ue(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(`..`)||h.default.isAbsolute(t))&&t.includes(`..`))throw new z(a.name,`Component '${e}' has an invalid path: traversal sequences are not allowed.`)}n.push(a)}return n}function V(e,t){return e.permissions?e.permissions.includes(t):!1}var H=class e{static checkPermission(e,t){if(!V(e,t))throw new B(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:V(e,`mdx:remark`)?e.remarkPlugins:[],rehypePlugins:V(e,`mdx:rehype`)?e.rehypePlugins:[],vitePlugins:V(e,`vite:config`)?e.vitePlugins:[],components:V(e,`components`)?e.components:{}}}static async executeWithIsolation(t,n,r,i){try{return e.checkPermission(t,n),await i()}catch(e){if(e instanceof B){console.warn(`[boltdocs] Skipping hook '${r}' for plugin '${t.name}': ${e.message}`);return}throw e}}},he=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new fe}async runHook(e,...t){let n=this.getSortedPlugins();for(let r of n){if(!r.hooks?.[e])continue;let n=this.createContext(r),i=e.toLowerCase().includes(`build`),a=e.toLowerCase().includes(`dev`),o=i?`hooks:build`:a?`hooks:dev`:void 0;try{o?await H.executeWithIsolation(r,o,e,()=>r.hooks[e](n,...t)):await r.hooks[e](n,...t)}catch(t){let i=new de(r.name,e,t instanceof Error?t:Error(String(t)));n.logger.error(i)}}}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]}createContext(e){return{config:Object.freeze({...this.config}),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=>console.log(`${t} INFO: ${e}`),warn:e=>console.warn(`${t} WARN: ${e}`),error:e=>{let n=e instanceof Error?e.message:e;console.error(`${t} ERROR: ${n}`)},debug:e=>console.debug(`${t} DEBUG: ${e}`)}}};function ge(e){return e}function U(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(U):e&&typeof e==`object`?Object.values(e).flatMap(U):[]}const _e=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function ve(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=U(Object.entries(n.frontmatter).filter(([e])=>!_e.has(e)).map(([e,t])=>t)).join(` `));let r=e?`${n._content||``} ${e}`:n._content||``;if(t.push({id:n.path,title:n.title,content:r,url:n.path,display:n.groupTitle?`${n.groupTitle} > ${n.title}`:n.title,locale:n.locale,version:n.version}),n.headings)for(let e of n.headings)t.push({id:`${n.path}#${e.id}`,title:e.text,content:`${e.text} in ${n.title}`,url:`${n.path}#${e.id}`,display:`${n.title} > ${e.text}`,locale:n.locale,version:n.version})}return t}function W(e,n,r=!1){let i=h.default.resolve(process.cwd(),`index.css`),a=l.default.existsSync(i)?`import './index.css';`:``,o=n?.plugins?.flatMap(e=>Object.entries(e.components||{}))||[],s=o.map(([e,n])=>`import * as _comp_${e} from '${t.l(n)}';
72
- const ${e} = _comp_${e}.default || _comp_${e}['${e}'] || _comp_${e};`).join(`
73
- `),c=o.map(([e])=>e).join(`, `),u=h.default.basename(e.docsDir||`docs`),d=h.default.resolve(process.cwd(),e.docsDir||`docs`),f=[`tsx`,`ts`,`jsx`,`js`].map(e=>h.default.resolve(d,`pages-external/index.${e}`)).find(e=>l.default.existsSync(e));return`
74
- import { ViteReactSSG, createRoutes } from 'boltdocs/client';
75
- import _routes from 'virtual:boltdocs-routes.ts';
76
- import _config from 'virtual:boltdocs-config.ts';
77
- import _user_mdx_components from 'virtual:boltdocs-mdx-components.tsx';
78
- import _Layout from 'virtual:boltdocs-layout.tsx';
79
- ${a}
80
- ${s}
81
- ${f?`import * as _external_module from '${t.l(f)}';`:``}
82
-
83
- const mdxModules = import.meta.glob('/${u}/**/*.{md,mdx}', { eager: true });
84
-
85
- export const createRoot = ViteReactSSG(
86
- {
87
- routes: createRoutes({
88
- routesData: _routes,
89
- config: _config,
90
- mdxModules,
91
- Layout: _Layout,
92
- ${f?`externalPages: _external_module.pages, externalLayout: _external_module.layout,`:``}
93
- components: { ${c}${c?`, `:``} ...(_user_mdx_components || {}) },
94
- }),
95
- },
96
- ({ isClient }) => {
97
- // Boltdocs initialization hook
98
- if (isClient) {
99
- // Client-side initialization
100
- }
101
- },
102
- );
103
- `}let G=null,K=null;function ye(){G=null,K=null}function be(e,n,i,a){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let n=i()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?t.l(c.default.resolve(n,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?t.l(c.default.resolve(n,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(o){let s=i()?.command===`build`,l=n();if(o.includes(`boltdocs-entry.tsx`)||o===`\0virtual:boltdocs-entry`)return W(e,l,s);if(o.includes(`boltdocs-client.mjs`)||o===`\0virtual:boltdocs-client.ts`||o===`virtual:boltdocs-client`){let e=__dirname,n=e;for(;e!==c.default.parse(e).root;){if(d.default.existsSync(c.default.join(e,`package.json`))&&JSON.parse(d.default.readFileSync(c.default.join(e,`package.json`),`utf-8`)).name===`boltdocs`){n=e;break}e=c.default.dirname(e)}let r=c.default.join(n,`src/client/index.ts`),i=c.default.join(n,`dist/client/index.js`);return`export * from '${t.l(d.default.existsSync(r)?r:i)}';`}if(!o.startsWith(`\0virtual:boltdocs-`))return;let u=o.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(u===`routes`){let e=ae(await r.t(a,l));return`export default ${JSON.stringify(e,null,2)};`}if(u===`config`){if(G===null){let{loadDirectoryMeta:e}=await Promise.resolve().then(()=>require(`./meta-loader-0gJ4PtBC.cjs`));G=await e(a)}let e=G,t={base:l?.base,theme:l?.theme,i18n:l?.i18n,versions:l?.versions,siteUrl:l?.siteUrl,integrations:l?.integrations,plugins:l?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(u===`entry`)return W(e,l,s);if(u===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],n=null;for(let t of e){let e=c.default.resolve(a,`mdx-components.${t}`);if(d.default.existsSync(e)){n=e;break}}if(n){let e=t.l(n);return`import * as components from '${e}';
104
- const mdxComponents = components.default || components;
105
- export default mdxComponents;
106
- export * from '${e}';`}return`export default {};`}if(u===`layout`){let e=[`tsx`,`jsx`],n=null;for(let t of e){let e=c.default.resolve(a,`layout.${t}`);if(d.default.existsSync(e)){n=e;break}}if(n)return`import UserLayout from '${t.l(n)}';
107
- 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(u===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],n=null;for(let t of e){let e=c.default.resolve(a,`icons.${t}`);if(d.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.l(n)}';\nexport default icons;`:`export default {};`}if(u===`search`){if(!K){let e=ve(await r.t(a,l));K=`export default ${JSON.stringify(e,null,2)};`}return K}if(u===`client`){let e=__dirname,n=``;for(;e&&e!==c.default.parse(e).root;){let r=c.default.join(e,`src/client/index.ts`),i=c.default.join(e,`dist/client/index.mjs`),a=c.default.join(e,`client/index.ts`);if(d.default.existsSync(r)){n=t.l(r);break}if(d.default.existsSync(i)){n=t.l(i);break}if(d.default.existsSync(a)){n=t.l(a);break}e=c.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}const xe={"X-Content-Type-Options":`nosniff`,"X-Frame-Options":`DENY`,"X-XSS-Protection":`1; mode=block`,"Referrer-Policy":`strict-origin-when-cross-origin`,"Permissions-Policy":`camera=(), microphone=(), geolocation=()`,"Strict-Transport-Security":`max-age=31536000; includeSubDomains`};function Se(e){let t=process.env.NODE_ENV===`development`,n={"default-src":[`'self'`],"script-src":[`'self'`,`'unsafe-inline'`],"style-src":[`'self'`,`'unsafe-inline'`],"img-src":[`'self'`,`data:`,`https:`],"font-src":[`'self'`],"connect-src":[`'self'`]};return t&&(n[`script-src`]=[`'self'`,`'unsafe-eval'`,`'unsafe-inline'`],n[`style-src`]=[`'self'`,`'unsafe-inline'`]),Object.entries(n).map(([e,t])=>`${e} ${t.join(` `)}`).join(`; `)}const q=new Map;async function Ce(e){try{let{data:n}=await t.u(e),r=JSON.stringify(n);return f.default.createHash(`md5`).update(r).digest(`hex`)}catch{return``}}function we(e){return q.get(e)}function Te(e,t){q.set(e,t)}function Ee(e){q.delete(e)}function J(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function De(e,n,a,o,s){let l=new Map;return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(o){let u=s();await u?.runHook(`beforeDev`),i.s(e,process.cwd(),a()).catch(e=>{console.error(`[boltdocs] Failed to generate initial link tree:`,e)}),setTimeout(async()=>{try{let{generateRoutes:t}=await Promise.resolve().then(()=>require(`./routes-CHf76Ye4.cjs`)),n=await t(e,a());for(let e of n)if(e.filePath){let t=c.default.relative(process.cwd(),e.filePath).replace(/\\/g,`/`),n=t.startsWith(`/`)?t:`/${t}`;await o.transformRequest(n).catch(()=>{}),await new Promise(e=>setTimeout(e,50))}}catch{}},1e3),o.middlewares.use((e,t,n)=>{process.env.NODE_ENV===`production`&&Object.entries(xe).forEach(([e,n])=>{t.setHeader(e,n)});let r=a();r.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,Se(r)),n()}),o.middlewares.use((e,t,n)=>{if(e.url===`/robots.txt`){n();return}n()}),o.middlewares.use(async(e,t,n)=>{let r=e.url?.split(`?`)[0]||`/`,i=e.headers.accept||``,s=a(),c=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i.test(r);if(i.includes(`text/html`)&&!c){let n=ce(s);n=le(n,s),n=await o.transformIndexHtml(e.url||`/`,n),t.statusCode=200,t.setHeader(`Content-Type`,`text/html`),t.end(n);return}n()});let d=i.f.map(e=>c.default.resolve(process.cwd(),e)),f=[`tsx`,`jsx`].map(t=>c.default.resolve(e,`layout.${t}`)),p=[`tsx`,`ts`,`jsx`,`js`],m=p.map(t=>c.default.resolve(e,`mdx-components.${t}`)),h=p.map(t=>c.default.resolve(e,`pages-external/index.${t}`)),g=p.map(t=>c.default.resolve(e,`icons.${t}`));o.watcher.add([...d,...m,...f,...h,...g]);let _=async(s,u)=>{try{let d=t.l(s);if(i.f.some(e=>d.endsWith(e))){o.restart();return}if(p.some(e=>d.endsWith(`mdx-components.${e}`))){i.g(a(),e),J(o,`mdx-components.tsx`),o.ws.send({type:`full-reload`});return}if(p.some(e=>d.endsWith(`icons.${e}`))){J(o,`icons.tsx`),o.ws.send({type:`full-reload`});return}if(d.endsWith(`layout.tsx`)||d.endsWith(`layout.jsx`)){J(o,`layout.tsx`),o.ws.send({type:`full-reload`});return}if(d.includes(`/pages-external/`)||d.includes(`\\pages-external\\`)){J(o,`entry`),o.ws.send({type:`full-reload`});return}if(!d.toLowerCase().startsWith(n.toLowerCase())||!t.s(d))return;if(u===`add`||u===`unlink`){u===`unlink`&&Ee(s),r.n(),ye();let t=a();i.g(t,e),J(o,`config`),J(o,`routes`),J(o,`search`),i.s(e,process.cwd(),t).catch(e=>{console.error(`[boltdocs] Failed to update link tree:`,e)}),o.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:t?.theme,i18n:t?.i18n,versions:t?.versions,siteUrl:t?.siteUrl}}),o.ws.send({type:`full-reload`});return}l.has(d)&&clearTimeout(l.get(d)),l.set(d,setTimeout(async()=>{l.delete(d);try{let n=we(s),i=await Ce(s);Te(s,i),r.r(s),n!==void 0&&n!==i&&(J(o,`routes`),J(o,`search`));let a=t.l(c.default.relative(e,s)),l=o.moduleGraph.getModulesByFile(d);if(l)for(let e of l)o.moduleGraph.invalidateModule(e);o.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:d,relPath:a}})}catch(e){console.error(`[boltdocs] HMR error processing content change:`,e)}},150))}catch(e){console.error(`[boltdocs] HMR error during ${u} event:`,e)}};o.watcher.on(`add`,e=>_(e,`add`)),o.watcher.on(`unlink`,e=>_(e,`unlink`)),o.watcher.on(`change`,e=>_(e,`change`)),await u?.runHook(`afterDev`)},handleHotUpdate({file:e,server:r}){let i=t.l(e);if(i.toLowerCase().startsWith(n.toLowerCase())&&t.s(i))return[]}}}function Oe(e={},n){let a=c.default.resolve(process.cwd(),e.docsDir||`docs`),o=t.l(a),l=n,u,f=!1,m,h=[],g=()=>l;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){f=t.command===`build`;let n=e.envDir||process.cwd(),o=(0,s.loadEnv)(t.mode,n,``);Object.assign(process.env,o),l||=await i.m(a);let u=(await Promise.resolve().then(()=>require(`./package-CVrquPhu.cjs`))).version,p=me(l.plugins||[],u);return l.plugins=p,m=new he(p,l),h=p.flatMap(e=>H.getSanitizedCapabilities(e).vitePlugins||[]),f&&await m.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`nested`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`},onFinished:async e=>{let t=oe(ae(await r.t(a,l)),l);t&&d.default.writeFileSync(c.default.join(e,`sitemap.xml`),t);let n=se(l);d.default.writeFileSync(c.default.join(e,`robots.txt`),n)}},build:{ssrManifest:f},async config(){return{optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-router-dom`,`react-helmet-async`,`react-fast-compare`],exclude:[`boltdocs`,`boltdocs/client`]},resolve:{dedupe:[`react`,`react-dom`]},ssr:{optimizeDeps:{include:[`react-fast-compare`]},noExternal:[`react-router-dom`]}}}}},configResolved(e){u=e,m?.runHook(`configResolved`,l)},transformIndexHtml:{order:`pre`,handler(e){return le(e,l)}},async buildEnd(){let{pool:e}=await Promise.resolve().then(()=>require(`./worker-pool-BwU8ckrg.cjs`));await e.terminate()},async closeBundle(){!f||u?.build?.ssr||(await m?.runHook(`afterBuild`),await m?.runHook(`buildEnd`))}},be(e,g,()=>u,a),De(a,o,g,e=>{l=e},()=>m),{...(0,p.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:`preset-default`}]}}),apply:`build`},...h]}const Y=new n.r(`mdx`),ke=[b.default.default||b.default,x.default.default||x.default,S.default.default||S.default,C.default.default||C.default,w.default.default||w.default,T.default.default||T.default,E.default.default||E.default],Ae=[D.default,O.default,k.default,A.default,j.default,M.default,N.default,P.default,F.default,re.default,ie.default,I.default,L.default];let je=null,X=null;const Me=()=>(je??=(0,te.createJavaScriptRegexEngine)(),je),Ne=async e=>X||(X=(0,ne.createHighlighterCore)({themes:ke,langs:Ae,engine:Me()}),X),Z={JSX_FLOW_ELEMENT:`mdxJsxFlowElement`,JSX_TEXT_ELEMENT:`mdxJsxTextElement`,JSX_ATTRIBUTE:`mdxJsxAttribute`,ELEMENT:`element`,TEXT:`text`,CODE:`code`},Pe={PRE:`pre`,CODE:`code`},Q={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},$={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},Fe={LIGHT:`github-light`,DARK:`github-dark`},Ie={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},Le=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,$.LINE_NUMBERS)}}},Re=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,$.WORD_WRAP)}}},ze=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[Q.TITLE]=t)}}),Be=()=>({name:`AddLanguageProperty`,pre(e){e.properties[Q.LANG]=this.options.lang||Ie.LANG}});function Ve(e){let t={};if(!e)return t;/lineNumbers|showLineNumbers/.test(e)&&(t.lineNumbers=!0),/wordWrap|word-wrap/.test(e)&&(t.wordWrap=!0);let n=e.match(/title=(["'])(.*?)\1/);return n&&(t.title=n[2]),t}var He=class{config;constructor(e){this.config=e}getTheme(){return this.config?.theme?.codeTheme||{light:Fe.LIGHT,dark:Fe.DARK}}async getHighlighter(){return await Ne(this.getTheme())}getOptions(e,t){let n=this.getTheme(),r={},i=``;typeof t==`string`?(i=t,r=Ve(t)):t&&(r=t,i=t.__raw||``);let a={lang:e||Ie.LANG,meta:{__raw:i,...r},transformers:[Le(),Re(),ze(),Be()]};return typeof n==`object`?a.themes={light:n.light,dark:n.dark}:a.theme=n,a}async render(e,t,n){try{let r=await this.getHighlighter(),i=this.getOptions(t,n);return r.codeToHtml(e,i)}catch(t){return console.error(`[ShikiAdapter] Failed to render code:`,t),`<pre class="${$.FALLBACK}"><code>${Ue(e)}</code></pre>`}}};function Ue(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#039;`)}let We=null,Ge;function Ke(e){let t=JSON.stringify(e?.theme?.codeTheme||null);return(We===null||Ge!==t)&&(We=new He(e),Ge=t),We}function qe(e){let t=Ke(e);return async e=>{let n=await t.getHighlighter();(0,ee.visit)(e,Z.ELEMENT,e=>{if(e.tagName===Pe.PRE&&e.children?.[0]?.type===Z.ELEMENT&&e.children[0].tagName===Pe.CODE){let r=e.children[0],i=(r.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):Ie.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=r.children?.[0]?.value||``,s=Ve(r.properties?.metastring||r.data?.meta||``),c=t.getOptions(a,s),l=``;try{l=n.codeToHtml(o,c)}catch(e){console.error(`[rehypeShiki] Failed to highlight code block:`,e),l=`<pre class="${$.FALLBACK}"><code>${Ue(o)}</code></pre>`}e.properties=e.properties||{},s.title&&(e.properties[Q.TITLE]=s.title),e.properties[Q.HIGHLIGHTED]=`true`,e.properties[Q.HIGHLIGHTED_HTML]=l,e.properties[Q.LANG]=a,e.children=[]}})}}function Je(){return e=>{(0,ee.visit)(e,Z.CODE,e=>{e.meta&&(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.data.hProperties.metastring=e.meta)})}}let Ye=!1;function Xe(e,t=g.default){let n=e?.plugins?.flatMap(e=>H.getSanitizedCapabilities(e).remarkPlugins||[])||[],r=e?.plugins?.flatMap(e=>H.getSanitizedCapabilities(e).rehypePlugins||[])||[],i=t({remarkPlugins:[_.default,v.default,Je,...n],rehypePlugins:[y.default,[qe,e],...r],jsxRuntime:`automatic`});return{...i,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ye||=(await Y.load(),!0),i.buildStart&&await i.buildStart.call(this)},async transform(e,t,n){let[r]=t.split(`?`);if(!r.endsWith(`.md`)&&!r.endsWith(`.mdx`))return i.transform?.call(this,e,t,n);let a=`${r}:${f.default.createHash(`md5`).update(e).digest(`hex`)}:${process.env.NODE_ENV===`production`?`prod`:`dev`}:v3`,o=await Y.getAsync(a);if(o)return{code:o,map:null};let s=await i.transform.call(this,e,r,n);return s&&typeof s==`object`&&s.code&&(process.env.NODE_ENV!==`production`&&(s.code+=`
108
- if (import.meta.hot) {
109
- import.meta.hot.accept();
110
- }
111
- `),Y.set(a,s.code)),s},async buildEnd(){Y.save(),await Y.flush(),i.buildEnd&&await i.buildEnd.call(this)}}}async function Ze(e){let t=await i.m(e?.docsDir||`docs`);return[...Oe({...e},t),Xe(t)]}async function Qe(e,t=`development`){let n=await i.m(`docs`,e),r=t===`production`,l=r?{...xe}:{};return n.security?.enableCSP&&(l[`Content-Security-Policy`]=Se(n)),{root:e,mode:t,oxc:{jsx:{development:!r,runtime:`automatic`,importSource:`react`}},optimizeDeps:{include:[`react`,`react-dom`,`react-dom/client`,`react-helmet-async`,`react-router-dom`,`react-fast-compare`,`use-sync-external-store/shim`],rolldownOptions:{}},build:{rolldownOptions:{}},plugins:[(0,a.default)(),(0,o.default)(),...Oe({docsDir:`docs`,root:e},n),Xe(n)],resolve:{alias:[{find:`boltdocs/entry`,replacement:(0,s.normalizePath)(c.default.resolve(e,`boltdocs-entry.tsx`))},{find:`boltdocs/client`,replacement:(0,s.normalizePath)(c.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`}],dedupe:[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]},ssr:{optimizeDeps:{include:[`react`,`react-dom`,`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-fast-compare`,...n.vite?.ssr?.optimizeDeps?.include||[]]},noExternal:[`boltdocs`,/@bdocs\/(?!ssg).*/,`react-helmet-async`,`react-aria-components`,`@react-aria/collections`,`@react-aria/utils`,`react-router-dom`]},server:{headers:{...l,...n.vite?.server?.headers},...n.vite?.server},preview:{headers:{...l,...n.vite?.preview?.headers},...n.vite?.preview},...n.vite}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return fe}});