boltdocs 2.9.2 → 2.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.cjs +134 -123
- package/dist/client/index.js +134 -123
- package/dist/{csp-CUAEgrxR.mjs → csp-DtM6q2gZ.mjs} +1 -1
- package/dist/{doctor-hKOBLhBF.mjs → doctor-Bc-Tx_md.mjs} +1 -1
- package/dist/{headers-DBzZ9yC6.mjs → headers-DK0Hw7iB.mjs} +1 -1
- package/dist/node/cli-entry.cjs +1 -1
- package/dist/node/cli-entry.mjs +2 -2
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.mjs +1 -1
- package/dist/node/routes/worker.mjs +1 -1
- package/dist/{node-FkxzriO7.mjs → node-JQ6C-CBi.mjs} +3 -3
- package/dist/{node-B-I15rGR.cjs → node-cZgna618.cjs} +2 -2
- package/dist/{package-CVw_u5VT.cjs → package-BlYktJR3.cjs} +1 -1
- package/dist/{package-D6O7a8qA.mjs → package-Di7alQGe.mjs} +1 -1
- package/dist/{parser-8u0xHVc7.mjs → parser-Ww0eOqs7.mjs} +1 -1
- package/dist/{plugin-Dqj9plKB.cjs → plugin-BCCYSeId.cjs} +7 -7
- package/dist/plugin-Bu75gPjx.mjs +61 -0
- package/dist/{routes-Bm0CQvyL.mjs → routes-DMBny9t9.mjs} +1 -1
- package/dist/{routes-BTx0ngdX.mjs → routes-DZjS8QSV.mjs} +1 -1
- package/package.json +1 -1
- package/dist/plugin-CHa0IT49.mjs +0 -61
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=require(`./node-
|
|
6
|
+
const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=require(`./node-cZgna618.cjs`),r=require(`./config-D7ERJhqe.cjs`),i=require(`./types-generator-BqNKCbrx.cjs`),a=require(`./cache-B19MLTpN.cjs`),o=require(`./routes-CyKj3dzf.cjs`),s=require(`./shiki-adapter-BB71nVsG.cjs`),c=require(`./doctor-A17UhTRn.cjs`),l=require(`./headers-DuCAOgYX.cjs`),u=require(`./csp-DbbF3R9Q.cjs`);let d=require(`node:path`);d=e.n(d);let f=require(`node:fs`);f=e.n(f);let p=require(`@bdocs/dui`),m=require(`node:module`);m=e.n(m);let h=require(`node:crypto`);h=e.n(h);let g=require(`vite`),_=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){return`<!doctype html>
|
|
7
7
|
<html lang="en">
|
|
8
8
|
<head>
|
|
9
9
|
<meta charset="UTF-8" />
|
|
@@ -13,8 +13,8 @@ const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=requ
|
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
|
15
15
|
</body>
|
|
16
|
-
</html>`}function w(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=C(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,t.siteUrl?`<meta property="og:url" content="${t.siteUrl}">`:``,t.siteUrl?`<link rel="canonical" href="${t.siteUrl}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}"
|
|
17
|
-
`);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let
|
|
16
|
+
</html>`}function w(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=C(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,s=t.seo?.thumbnails?.background;s&&t.siteUrl&&!/^https?:\/\/|^\/\//.test(s)?o=`${t.siteUrl.endsWith(`/`)?t.siteUrl.slice(0,-1):t.siteUrl}${s.startsWith(`/`)?s:`/${s}`}`:s&&(o=s);let c=t.seo?.metatags||{},l=Object.entries(c).map(([e,t])=>e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${e}" content="${t}">`:`<meta name="${e}" content="${t}">`),u=t.seo?.indexing===`none`?`noindex, nofollow`:t.seo?.indexing===`all`?void 0:t.seo?.indexing,d=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,t.siteUrl?`<meta property="og:url" content="${t.siteUrl}">`:``,t.siteUrl?`<link rel="canonical" href="${t.siteUrl}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,o?`<meta property="og:image" content="${o}">`:``,o?`<meta name="twitter:image" content="${o}">`:``,u?`<meta name="robots" content="${u}">`:``,`<meta name="generator" content="Boltdocs">`,...l].filter(Boolean).join(`
|
|
17
|
+
`);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let f=``;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}'}`:``;f=`
|
|
18
18
|
<!-- Google tag (gtag.js) - ${e.measurementId} -->
|
|
19
19
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
|
|
20
20
|
<script>
|
|
@@ -24,7 +24,7 @@ const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=requ
|
|
|
24
24
|
${t}
|
|
25
25
|
gtag('config', '${e.measurementId}', ${n}${r});
|
|
26
26
|
<\/script>
|
|
27
|
-
`}}let
|
|
27
|
+
`}}let p=``,m=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;p=`
|
|
28
28
|
<!-- Google Tag Manager -->
|
|
29
29
|
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
30
30
|
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
@@ -32,7 +32,7 @@ const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=requ
|
|
|
32
32
|
'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`>m_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
|
|
33
33
|
})(window,document,'script','${t}','${e.tagId}');<\/script>
|
|
34
34
|
<!-- End Google Tag Manager -->
|
|
35
|
-
`,
|
|
35
|
+
`,m=`
|
|
36
36
|
<!-- Google Tag Manager (noscript) -->
|
|
37
37
|
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
|
|
38
38
|
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
@@ -53,9 +53,9 @@ const e=require(`./chunk-Ds5LZdWN.cjs`),t=require(`./utils-BWy_8ASj.cjs`),n=requ
|
|
|
53
53
|
}
|
|
54
54
|
})();
|
|
55
55
|
<\/script>
|
|
56
|
-
`),e=e.replace(`</head>`,` ${
|
|
56
|
+
`),e=e.replace(`</head>`,` ${d}\n${f}${p} </head>`),m&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${m}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
|
|
57
57
|
</body>`)),e}function T(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(T):e&&typeof e==`object`?Object.values(e).flatMap(T):[]}const ee=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=T(Object.entries(n.frontmatter).filter(([e])=>!ee.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 E=null,D=null;function O(){E=null,D=null}function ne(e,r,i,a){return{name:`vite-plugin-boltdocs-virtual-modules`,resolveId(e){let n=i()?.root||process.cwd();return e.includes(`boltdocs-entry.tsx`)||e===`virtual:boltdocs-entry`||e===`boltdocs-entry`||e===`\0virtual:boltdocs-entry`?t.u(d.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(d.default.resolve(n,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(i){let s=r();if(i.includes(`boltdocs-entry.tsx`)||i===`\0virtual:boltdocs-entry`)return n.D(e,s);if(i.includes(`boltdocs-client.mjs`)||i===`\0virtual:boltdocs-client.ts`||i===`virtual:boltdocs-client`){let e=__dirname,n=e;for(;e!==d.default.parse(e).root;){if(f.default.existsSync(d.default.join(e,`package.json`))&&JSON.parse(f.default.readFileSync(d.default.join(e,`package.json`),`utf-8`)).name===`boltdocs`){n=e;break}e=d.default.dirname(e)}let r=d.default.join(n,`src/client/index.ts`),i=d.default.join(n,`dist/client/index.js`);return`export * from '${t.u(f.default.existsSync(r)?r:i)}';`}if(!i.startsWith(`\0virtual:boltdocs-`))return;let c=i.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(c===`routes`){let e=n.y(await o.t(a,s));return`export default ${JSON.stringify(e,null,2)};`}if(c===`collections`){let e=n.y(await o.t(a,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,frontmatter:n.frontmatter}));return`export default ${JSON.stringify(t,null,2)};`}if(c===`config`){if(E===null){let{loadDirectoryMeta:e}=await Promise.resolve().then(()=>require(`./meta-loader-CjphwtS7.cjs`));E=await e(a)}let e=E,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=d.default.resolve(a,`mdx-components.${t}`);if(f.default.existsSync(e)){n=e;break}}if(n){let e=t.u(n);return`import * as components from '${e}';
|
|
58
58
|
const mdxComponents = components.default || components;
|
|
59
59
|
export default mdxComponents;
|
|
60
60
|
export * from '${e}';`}return`export default {};`}if(c===`layout`){let e=[`tsx`,`jsx`],n=null;for(let t of e){let e=d.default.resolve(a,`layout.${t}`);if(f.default.existsSync(e)){n=e;break}}if(n)return`import UserLayout from '${t.u(n)}';
|
|
61
|
-
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=d.default.resolve(a,`icons.${t}`);if(f.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.u(n)}';\nexport default icons;`:`export default {};`}if(c===`search`){if(!D){let e=te(await o.t(a,s));D=`export default ${JSON.stringify(e,null,2)};`}return D}if(c===`client`){let e=__dirname,n=``;for(;e&&e!==d.default.parse(e).root;){let r=d.default.join(e,`src/client/index.ts`),i=d.default.join(e,`dist/client/index.mjs`),a=d.default.join(e,`client/index.ts`);if(f.default.existsSync(r)){n=t.u(r);break}if(f.default.existsSync(i)){n=t.u(i);break}if(f.default.existsSync(a)){n=t.u(a);break}e=d.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}function k(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``;t.on(`data`,e=>{o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await Promise.resolve().then(()=>require(`./handler-1LRMYeI4.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 A(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(d.default.extname(a))return r();let o=e(),s=d.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=d.default.join(s,c,`index.html`);c!==`/`&&f.default.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const j=/\.(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 M(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(k(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(l.t).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,u.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`)&&!j.test(a)){let n=C(s);n=w(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}function re(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await Promise.resolve().then(()=>require(`./routes-B2joDAlC.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=d.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const ie=[`tsx`,`jsx`],N=[`tsx`,`ts`,`jsx`,`js`];function P(e,t){let n=r.t.map(e=>d.default.resolve(process.cwd(),e)),i=ie.map(e=>d.default.resolve(t,`layout.${e}`)),a=N.map(e=>d.default.resolve(t,`mdx-components.${e}`)),o=N.map(e=>d.default.resolve(t,`pages-external/index.${e}`)),s=N.map(e=>d.default.resolve(t,`icons.${e}`));e.watcher.add([...n,...a,...i,...o,...s])}const F=new Map;function I(e){let{lastUpdated:t,...n}=e;return h.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function L(e){try{let{data:n}=await t.d(e);return I(n)}catch{return``}}function R(e){let t=F.get(e);if(t===void 0){let n=o.r.getStale(e);n?.route?.frontmatter&&(t=I(n.route.frontmatter),F.set(e,t))}return t}function z(e,t){F.set(e,t)}function B(e){F.delete(e)}const V=[`tsx`,`ts`,`jsx`,`js`];function H(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function U(e,n,a,s){let l=new Map,u=a.toLowerCase(),f=async(a,f)=>{try{let m=t.u(a);if(r.t.some(e=>m.endsWith(e))){e.restart();return}if(V.some(e=>m.endsWith(`mdx-components.${e}`))){i.t(s(),n),H(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(V.some(e=>m.endsWith(`icons.${e}`))){H(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`layout.tsx`)||m.endsWith(`layout.jsx`)){H(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(m.includes(`/pages-external/`)||m.includes(`\\pages-external\\`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}if(!m.toLowerCase().startsWith(u))return;let h=m.endsWith(`meta.json`)||m.endsWith(`_meta.json`);if(!h&&!t.c(m))return;if(f===`add`||f===`unlink`||h){f===`unlink`&&B(a),o.n(),O();let t=s();i.t(t,n),H(e,`config`),H(e,`routes`),H(e,`search`),H(e,`collections`),c.c(n,process.cwd(),t).catch(e=>{(0,p.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}l.has(m)&&clearTimeout(l.get(m)),l.set(m,setTimeout(async()=>{l.delete(m);try{let r=R(a),i=await L(a);if(z(a,i),o.i(a),r!==void 0&&r!==i){H(e,`routes`),H(e,`search`),H(e,`collections`),e.ws.send({type:`full-reload`});return}let s=t.u(d.default.relative(n,a)),c=e.moduleGraph.getModulesByFile(m);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:m,relPath:s}})}catch(e){(0,p.error)(`HMR error processing content change:`,e)}},150))}catch(e){(0,p.error)(`HMR error during ${f} event:`,e)}};e.watcher.on(`add`,e=>f(e,`add`)),e.watcher.on(`unlink`,e=>f(e,`unlink`)),e.watcher.on(`change`,e=>f(e,`change`))}function W(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 G(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),c.c(e,process.cwd(),n()).catch(e=>{(0,p.error)(`Failed to generate initial link tree:`,e)}),re(r,e,n),M(r,e,n),P(r,e),U(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:W(t)}}const K=new a.i(`mdx`);function q(e){let t=s.n(e);return async e=>{let r=await t.getHighlighter();n.p(e,s.o.ELEMENT,e=>{if(e.tagName!==`pre`)return;let n=e.children?.[0];if(!n||n.type!==s.o.ELEMENT||n.tagName!==`code`)return;let i=(n.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):s.a.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=s.r(n.properties?.metastring||n.data?.meta||``),c=t.getOptions(a,o),l=n.children?.[0]?.value||``;try{let t=r.codeToHast(l,c),n=t.type===`root`?t.children[0]:t;e.children=n.children,e.properties={...e.properties,...n.properties,[s.i.HIGHLIGHTED]:`true`,[s.i.LANG]:a}}catch(t){(0,p.error)(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],s.s.FALLBACK],e.properties[s.i.HIGHLIGHTED]=`false`,e.properties[s.i.LANG]=a}return o.title&&(e.properties[s.i.TITLE]=o.title),S.SKIP})}}function J(){return e=>{n.p(e,s.o.CODE,e=>{e.meta&&n.d(e,`metastring`,e.meta)})}}let ae=!1;function oe(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,J,...r],rehypePlugins:[x.default,[q,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){ae||=(await K.load(),!0),a.buildStart&&await a.buildStart.call(this)},async load(e,n){if(e.endsWith(`.md`)||e.endsWith(`.mdx`))try{let n=f.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 K.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),K.set(o,e),{code:e,map:null}}return c},async buildEnd(){K.save(),await K.flush(),a.buildEnd&&await a.buildEnd.call(this)}}}const Y=m.createRequire(require(`url`).pathToFileURL(__filename).href),se=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`],ce=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=d.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return f.default.existsSync(e)?m.createRequire(f.default.realpathSync(e)):m.createRequire(d.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=d.default.dirname(e);for(;n&&n!==d.default.dirname(n);){let e=d.default.join(n,`package.json`);if(f.default.existsSync(e)){a=e;break}n=d.default.dirname(n)}}if(!a)throw Error();let o=d.default.dirname(a),s=JSON.parse(f.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=d.default.resolve(o,l);if(f.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 se)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(t)?Z(t,e):e.resolve(t);r&&n.push(f.default.realpathSync(r))}catch{}for(let t of ce)try{n.push(f.default.realpathSync(e.resolve(t)))}catch{}}return Array.from(new Set(n)).map(e=>t.u(e))}const $=m.createRequire(require(`url`).pathToFileURL(__filename).href),le=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function ue(e={},a){let s=d.default.resolve(process.cwd(),e.docsDir||`docs`),c=t.u(s),l=a,u,p=!1,m,h=[],v=()=>l,y=e=>{l=e},b=()=>u,x=()=>m;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){p=t.command===`build`;let a=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,(0,g.loadEnv)(t.mode,e.envDir||process.cwd(),``)),!l){l=await r.n(s);let e=(await o.t(s,l)).map(e=>e.path),t=(l.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t),i.t(l,s,void 0,e),i.r(e)}Promise.resolve().then(()=>require(`./shiki-adapter-CL-IQwKI.cjs`)).then(({getShikiAdapter:e})=>{e(l).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:c}=await Promise.resolve().then(()=>require(`./package-CVw_u5VT.cjs`)),u=n.x(l.plugins||[],c);return l.plugins=u,m=new n._(u,l),h=u.flatMap(e=>e.vitePlugins||[]),p&&await m.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`}},build:{ssrManifest:p},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`,...a?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){u=e},resolveId(e,t,n){let r=le.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,d.default.sep)}/`));if(r&&n?.ssr&&!d.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=f.default.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>w(e,l)},async buildEnd(){let{pool:e}=await Promise.resolve().then(()=>require(`./worker-pool-CgOMozUz.cjs`));await e.terminate()},async closeBundle(){!p||u?.build?.ssr||(await m?.runHook(`afterBuild`),await m?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(k(v)),e.middlewares.use(A(b))}},ne(e,v,b,s),G(s,c,v,y,x),oe(l,x),(0,_.ViteImageOptimizer)({includePublic:!0}),...h]}exports.boltdocsPlugin=ue,exports.getBaseRequire=X,exports.getExternalAbsolutePaths=Q,exports.resolveEsm=Z;
|
|
61
|
+
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=d.default.resolve(a,`icons.${t}`);if(f.default.existsSync(e)){n=e;break}}return n?`import * as icons from '${t.u(n)}';\nexport default icons;`:`export default {};`}if(c===`search`){if(!D){let e=te(await o.t(a,s));D=`export default ${JSON.stringify(e,null,2)};`}return D}if(c===`client`){let e=__dirname,n=``;for(;e&&e!==d.default.parse(e).root;){let r=d.default.join(e,`src/client/index.ts`),i=d.default.join(e,`dist/client/index.mjs`),a=d.default.join(e,`client/index.ts`);if(f.default.existsSync(r)){n=t.u(r);break}if(f.default.existsSync(i)){n=t.u(i);break}if(f.default.existsSync(a)){n=t.u(a);break}e=d.default.dirname(e)}if(!n)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${__dirname}`);return`export * from '${n}';`}}}}function k(e){return(t,n,r)=>{let i=e().integrations?.feedback?.custom,a=i?.endpoint||`/api/feedback`;if(!i?.enabled||t.method!==`POST`||t.url?.split(`?`)[0]!==a)return r();let o=``;t.on(`data`,e=>{o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await Promise.resolve().then(()=>require(`./handler-1LRMYeI4.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 A(e){return(t,n,r)=>{let i=t.url||`/`,a=i.split(`?`)[0].split(`#`)[0];if(d.default.extname(a))return r();let o=e(),s=d.default.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=d.default.join(s,c,`index.html`);c!==`/`&&f.default.existsSync(l)&&(t.url=`${c}/index.html${i.includes(`?`)?`?${i.split(`?`)[1]}`:``}`),r()}}const j=/\.(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 M(e,t,n){let r=process.env.NODE_ENV===`production`;e.middlewares.use(k(n)),e.middlewares.use((e,t,i)=>{r&&Object.entries(l.t).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,u.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`)&&!j.test(a)){let n=C(s);n=w(n,s),n=await e.transformIndexHtml(t.url||`/`,n),r.statusCode=200,r.setHeader(`Content-Type`,`text/html`),r.end(n);return}i()})}function re(e,t,n){setTimeout(async()=>{try{let{generateRoutes:r}=await Promise.resolve().then(()=>require(`./routes-B2joDAlC.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=d.default.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const ie=[`tsx`,`jsx`],N=[`tsx`,`ts`,`jsx`,`js`];function P(e,t){let n=r.t.map(e=>d.default.resolve(process.cwd(),e)),i=ie.map(e=>d.default.resolve(t,`layout.${e}`)),a=N.map(e=>d.default.resolve(t,`mdx-components.${e}`)),o=N.map(e=>d.default.resolve(t,`pages-external/index.${e}`)),s=N.map(e=>d.default.resolve(t,`icons.${e}`));e.watcher.add([...n,...a,...i,...o,...s])}const F=new Map;function I(e){let{lastUpdated:t,...n}=e;return h.default.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function L(e){try{let{data:n}=await t.d(e);return I(n)}catch{return``}}function R(e){let t=F.get(e);if(t===void 0){let n=o.r.getStale(e);n?.route?.frontmatter&&(t=I(n.route.frontmatter),F.set(e,t))}return t}function z(e,t){F.set(e,t)}function B(e){F.delete(e)}const V=[`tsx`,`ts`,`jsx`,`js`];function H(e,t){let n=e.moduleGraph.getModuleById(`\0virtual:boltdocs-${t}.ts`);n&&e.moduleGraph.invalidateModule(n)}function U(e,n,a,s){let l=new Map,u=a.toLowerCase(),f=async(a,f)=>{try{let m=t.u(a);if(r.t.some(e=>m.endsWith(e))){e.restart();return}if(V.some(e=>m.endsWith(`mdx-components.${e}`))){i.t(s(),n),H(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(V.some(e=>m.endsWith(`icons.${e}`))){H(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(m.endsWith(`layout.tsx`)||m.endsWith(`layout.jsx`)){H(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(m.includes(`/pages-external/`)||m.includes(`\\pages-external\\`)){H(e,`entry`),e.ws.send({type:`full-reload`});return}if(!m.toLowerCase().startsWith(u))return;let h=m.endsWith(`meta.json`)||m.endsWith(`_meta.json`);if(!h&&!t.c(m))return;if(f===`add`||f===`unlink`||h){f===`unlink`&&B(a),o.n(),O();let t=s();i.t(t,n),H(e,`config`),H(e,`routes`),H(e,`search`),H(e,`collections`),c.c(n,process.cwd(),t).catch(e=>{(0,p.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}l.has(m)&&clearTimeout(l.get(m)),l.set(m,setTimeout(async()=>{l.delete(m);try{let r=R(a),i=await L(a);if(z(a,i),o.i(a),r!==void 0&&r!==i){H(e,`routes`),H(e,`search`),H(e,`collections`),e.ws.send({type:`full-reload`});return}let s=t.u(d.default.relative(n,a)),c=e.moduleGraph.getModulesByFile(m);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:m,relPath:s}})}catch(e){(0,p.error)(`HMR error processing content change:`,e)}},150))}catch(e){(0,p.error)(`HMR error during ${f} event:`,e)}};e.watcher.on(`add`,e=>f(e,`add`)),e.watcher.on(`unlink`,e=>f(e,`unlink`)),e.watcher.on(`change`,e=>f(e,`change`))}function W(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 G(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),c.c(e,process.cwd(),n()).catch(e=>{(0,p.error)(`Failed to generate initial link tree:`,e)}),re(r,e,n),M(r,e,n),P(r,e),U(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:W(t)}}const K=new a.i(`mdx`);function q(e){let t=s.n(e);return async e=>{let r=await t.getHighlighter();n.p(e,s.o.ELEMENT,e=>{if(e.tagName!==`pre`)return;let n=e.children?.[0];if(!n||n.type!==s.o.ELEMENT||n.tagName!==`code`)return;let i=(n.properties?.className||[]).find(e=>e.startsWith(`language-`)),a=i?i.slice(9):s.a.MDX_DEFAULT_LANG;if(a===`mermaid`)return;let o=s.r(n.properties?.metastring||n.data?.meta||``),c=t.getOptions(a,o),l=n.children?.[0]?.value||``;try{let t=r.codeToHast(l,c),n=t.type===`root`?t.children[0]:t;e.children=n.children,e.properties={...e.properties,...n.properties,[s.i.HIGHLIGHTED]:`true`,[s.i.LANG]:a}}catch(t){(0,p.error)(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],s.s.FALLBACK],e.properties[s.i.HIGHLIGHTED]=`false`,e.properties[s.i.LANG]=a}return o.title&&(e.properties[s.i.TITLE]=o.title),S.SKIP})}}function J(){return e=>{n.p(e,s.o.CODE,e=>{e.meta&&n.d(e,`metastring`,e.meta)})}}let ae=!1;function oe(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,J,...r],rehypePlugins:[x.default,[q,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){ae||=(await K.load(),!0),a.buildStart&&await a.buildStart.call(this)},async load(e,n){if(e.endsWith(`.md`)||e.endsWith(`.mdx`))try{let n=f.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 K.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),K.set(o,e),{code:e,map:null}}return c},async buildEnd(){K.save(),await K.flush(),a.buildEnd&&await a.buildEnd.call(this)}}}const Y=m.createRequire(require(`url`).pathToFileURL(__filename).href),se=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`],ce=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=d.default.join(process.cwd(),`node_modules/boltdocs/package.json`);return f.default.existsSync(e)?m.createRequire(f.default.realpathSync(e)):m.createRequire(d.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=d.default.dirname(e);for(;n&&n!==d.default.dirname(n);){let e=d.default.join(n,`package.json`);if(f.default.existsSync(e)){a=e;break}n=d.default.dirname(n)}}if(!a)throw Error();let o=d.default.dirname(a),s=JSON.parse(f.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=d.default.resolve(o,l);if(f.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 se)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(t)?Z(t,e):e.resolve(t);r&&n.push(f.default.realpathSync(r))}catch{}for(let t of ce)try{n.push(f.default.realpathSync(e.resolve(t)))}catch{}}return Array.from(new Set(n)).map(e=>t.u(e))}const $=m.createRequire(require(`url`).pathToFileURL(__filename).href),le=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function ue(e={},a){let s=d.default.resolve(process.cwd(),e.docsDir||`docs`),c=t.u(s),l=a,u,p=!1,m,h=[],v=()=>l,y=e=>{l=e},b=()=>u,x=()=>m;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(e,t){p=t.command===`build`;let a=!!(t.isSsrBuild||e.build?.ssr);if(Object.assign(process.env,(0,g.loadEnv)(t.mode,e.envDir||process.cwd(),``)),!l){l=await r.n(s);let e=(await o.t(s,l)).map(e=>e.path),t=(l.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t),i.t(l,s,void 0,e),i.r(e)}Promise.resolve().then(()=>require(`./shiki-adapter-CL-IQwKI.cjs`)).then(({getShikiAdapter:e})=>{e(l).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:c}=await Promise.resolve().then(()=>require(`./package-BlYktJR3.cjs`)),u=n.x(l.plugins||[],c);return l.plugins=u,m=new n._(u,l),h=u.flatMap(e=>e.vitePlugins||[]),p&&await m.runHook(`beforeBuild`),{ssgOptions:{entry:`boltdocs/entry`,htmlEntry:`index.html`,dirStyle:`flat`,includeAllRoutes:!0,mock:!0,script:`async`,beastiesOptions:{preload:`media`}},build:{ssrManifest:p},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`,...a?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){u=e},resolveId(e,t,n){let r=le.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,d.default.sep)}/`));if(r&&n?.ssr&&!d.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=f.default.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>w(e,l)},async buildEnd(){let{pool:e}=await Promise.resolve().then(()=>require(`./worker-pool-CgOMozUz.cjs`));await e.terminate()},async closeBundle(){!p||u?.build?.ssr||(await m?.runHook(`afterBuild`),await m?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(k(v)),e.middlewares.use(A(b))}},ne(e,v,b,s),G(s,c,v,y,x),oe(l,x),(0,_.ViteImageOptimizer)({includePublic:!0}),...h]}exports.boltdocsPlugin=ue,exports.getBaseRequire=X,exports.getExternalAbsolutePaths=Q,exports.resolveEsm=Z;
|
|
@@ -0,0 +1,61 @@
|
|
|
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,a as t,h as n,k as r,p as i,x as a,y as o}from"./node-JQ6C-CBi.mjs";import{c as s,d as c,u as l}from"./utils-DexBrwiP.mjs";import{n as u,t as d}from"./config-BCqkPkjC.mjs";import{n as f,t as p}from"./types-generator-BRyf4o9F.mjs";import{i as m}from"./cache-CfhOTR3Q.mjs";import{i as h,n as g,r as _,t as v}from"./routes-DMBny9t9.mjs";import{a as y,i as b,n as ee,o as x,r as te,s as ne}from"./shiki-adapter-rQ087Lx3.mjs";import{n as S}from"./doctor-Bc-Tx_md.mjs";import{t as re}from"./headers-DK0Hw7iB.mjs";import{n as ie}from"./csp-DtM6q2gZ.mjs";import*as C from"node:module";import w from"node:path";import T from"node:fs";import{error as E}from"@bdocs/dui";import D from"node:crypto";import{fileURLToPath as ae}from"node:url";import{loadEnv as oe}from"vite";import{ViteImageOptimizer as se}from"@bdocs/plugin-image-optimizer";import ce from"@mdx-js/rollup";import le from"remark-gfm";import O from"remark-frontmatter";import ue from"rehype-slug";function k(e){return`<!doctype html>
|
|
7
|
+
<html lang="en">
|
|
8
|
+
<head>
|
|
9
|
+
<meta charset="UTF-8" />
|
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
11
|
+
<title>${e.theme?.title||`Boltdocs`}</title>
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<div id="root"></div>
|
|
15
|
+
</body>
|
|
16
|
+
</html>`}function A(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=k(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,s=t.seo?.thumbnails?.background;s&&t.siteUrl&&!/^https?:\/\/|^\/\//.test(s)?o=`${t.siteUrl.endsWith(`/`)?t.siteUrl.slice(0,-1):t.siteUrl}${s.startsWith(`/`)?s:`/${s}`}`:s&&(o=s);let c=t.seo?.metatags||{},l=Object.entries(c).map(([e,t])=>e.startsWith(`og:`)||e.startsWith(`music:`)||e.startsWith(`video:`)||e.startsWith(`article:`)||e.startsWith(`book:`)||e.startsWith(`profile:`)?`<meta property="${e}" content="${t}">`:`<meta name="${e}" content="${t}">`),u=t.seo?.indexing===`none`?`noindex, nofollow`:t.seo?.indexing===`all`?void 0:t.seo?.indexing,d=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,t.siteUrl?`<meta property="og:url" content="${t.siteUrl}">`:``,t.siteUrl?`<link rel="canonical" href="${t.siteUrl}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,o?`<meta property="og:image" content="${o}">`:``,o?`<meta name="twitter:image" content="${o}">`:``,u?`<meta name="robots" content="${u}">`:``,`<meta name="generator" content="Boltdocs">`,...l].filter(Boolean).join(`
|
|
17
|
+
`);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let f=``;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}'}`:``;f=`
|
|
18
|
+
<!-- Google tag (gtag.js) - ${e.measurementId} -->
|
|
19
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
|
|
20
|
+
<script>
|
|
21
|
+
window.dataLayer = window.dataLayer || [];
|
|
22
|
+
function gtag(){dataLayer.push(arguments);}
|
|
23
|
+
gtag('js', new Date());
|
|
24
|
+
${t}
|
|
25
|
+
gtag('config', '${e.measurementId}', ${n}${r});
|
|
26
|
+
<\/script>
|
|
27
|
+
`}}let p=``,m=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;p=`
|
|
28
|
+
<!-- Google Tag Manager -->
|
|
29
|
+
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
30
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
31
|
+
j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
|
|
32
|
+
'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`>m_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
|
|
33
|
+
})(window,document,'script','${t}','${e.tagId}');<\/script>
|
|
34
|
+
<!-- End Google Tag Manager -->
|
|
35
|
+
`,m=`
|
|
36
|
+
<!-- Google Tag Manager (noscript) -->
|
|
37
|
+
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
|
|
38
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
39
|
+
<!-- End Google Tag Manager (noscript) -->
|
|
40
|
+
`}}return e=e.replace(`<head>`,`<head>
|
|
41
|
+
|
|
42
|
+
<script>
|
|
43
|
+
(function() {
|
|
44
|
+
try {
|
|
45
|
+
var stored = localStorage.getItem("boltdocs-theme");
|
|
46
|
+
var isDark =
|
|
47
|
+
stored === "dark" ||
|
|
48
|
+
(stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
49
|
+
document.documentElement.classList.toggle("dark", isDark);
|
|
50
|
+
document.documentElement.dataset.theme = isDark ? "dark" : "light";
|
|
51
|
+
} catch (e) {
|
|
52
|
+
// Ignore localStorage errors (e.g. if cookies/storage are disabled)
|
|
53
|
+
}
|
|
54
|
+
})();
|
|
55
|
+
<\/script>
|
|
56
|
+
`),e=e.replace(`</head>`,` ${d}\n${f}${p} </head>`),m&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${m}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
|
|
57
|
+
</body>`)),e}const j=w.dirname(ae(import.meta.url));function M(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(M):e&&typeof e==`object`?Object.values(e).flatMap(M):[]}const de=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function fe(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=M(Object.entries(n.frontmatter).filter(([e])=>!de.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 N=null,P=null;function F(){N=null,P=null}function I(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`?l(w.resolve(t,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?l(w.resolve(t,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(n){let o=t();if(n.includes(`boltdocs-entry.tsx`)||n===`\0virtual:boltdocs-entry`)return r(e,o);if(n.includes(`boltdocs-client.mjs`)||n===`\0virtual:boltdocs-client.ts`||n===`virtual:boltdocs-client`){let e=j,t=e;for(;e!==w.parse(e).root;){if(T.existsSync(w.join(e,`package.json`))&&JSON.parse(T.readFileSync(w.join(e,`package.json`),`utf-8`)).name===`boltdocs`){t=e;break}e=w.dirname(e)}let n=w.join(t,`src/client/index.ts`),r=w.join(t,`dist/client/index.js`);return`export * from '${l(T.existsSync(n)?n:r)}';`}if(!n.startsWith(`\0virtual:boltdocs-`))return;let s=n.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(s===`routes`){let e=a(await v(i,o));return`export default ${JSON.stringify(e,null,2)};`}if(s===`collections`){let e=a(await v(i,o)),t={};for(let n of e)n.collection&&(t[n.collection]||(t[n.collection]=[]),t[n.collection].push({path:n.path,title:n.title,date:n.date,excerpt:n.excerpt,tags:n.tags,author:n.author,coverImage:n.coverImage,filePath:n.filePath,frontmatter:n.frontmatter}));return`export default ${JSON.stringify(t,null,2)};`}if(s===`config`){if(N===null){let{loadDirectoryMeta:e}=await import(`./meta-loader-CD3Yptr5.mjs`);N=await e(i)}let e=N,t={base:o?.base,theme:o?.theme,i18n:o?.i18n,versions:o?.versions,siteUrl:o?.siteUrl,integrations:o?.integrations,plugins:o?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(s===`entry`)return r(e,o);if(s===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],t=null;for(let n of e){let e=w.resolve(i,`mdx-components.${n}`);if(T.existsSync(e)){t=e;break}}if(t){let e=l(t);return`import * as components from '${e}';
|
|
58
|
+
const mdxComponents = components.default || components;
|
|
59
|
+
export default mdxComponents;
|
|
60
|
+
export * from '${e}';`}return`export default {};`}if(s===`layout`){let e=[`tsx`,`jsx`],t=null;for(let n of e){let e=w.resolve(i,`layout.${n}`);if(T.existsSync(e)){t=e;break}}if(t)return`import UserLayout from '${l(t)}';
|
|
61
|
+
export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(s===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],t=null;for(let n of e){let e=w.resolve(i,`icons.${n}`);if(T.existsSync(e)){t=e;break}}return t?`import * as icons from '${l(t)}';\nexport default icons;`:`export default {};`}if(s===`search`){if(!P){let e=fe(await v(i,o));P=`export default ${JSON.stringify(e,null,2)};`}return P}if(s===`client`){let e=j,t=``;for(;e&&e!==w.parse(e).root;){let n=w.join(e,`src/client/index.ts`),r=w.join(e,`dist/client/index.mjs`),i=w.join(e,`client/index.ts`);if(T.existsSync(n)){t=l(n);break}if(T.existsSync(r)){t=l(r);break}if(T.existsSync(i)){t=l(i);break}e=w.dirname(e)}if(!t)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${j}`);return`export * from '${t}';`}}}}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=``;t.on(`data`,e=>{o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-eNNcucnf.mjs`),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(w.extname(a))return r();let o=e(),s=w.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=w.join(s,c,`index.html`);c!==`/`&&T.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(re).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,ie(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=k(s);n=A(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 import(`./routes-DZjS8QSV.mjs`),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=w.relative(process.cwd(),t).replace(/\\/g,`/`),r=n.startsWith(`/`)?n:`/${n}`;return e.transformRequest(r)}))}}catch{}},0)}const pe=[`tsx`,`jsx`],H=[`tsx`,`ts`,`jsx`,`js`];function me(e,t){let n=d.map(e=>w.resolve(process.cwd(),e)),r=pe.map(e=>w.resolve(t,`layout.${e}`)),i=H.map(e=>w.resolve(t,`mdx-components.${e}`)),a=H.map(e=>w.resolve(t,`pages-external/index.${e}`)),o=H.map(e=>w.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 D.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function he(e){try{let{data:t}=await c(e);return W(t)}catch{return``}}function ge(e){let t=U.get(e);if(t===void 0){let n=_.getStale(e);n?.route?.frontmatter&&(t=W(n.route.frontmatter),U.set(e,t))}return t}function _e(e,t){U.set(e,t)}function ve(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 ye(e,t,n,r){let i=new Map,a=n.toLowerCase(),o=async(n,o)=>{try{let c=l(n);if(d.some(e=>c.endsWith(e))){e.restart();return}if(G.some(e=>c.endsWith(`mdx-components.${e}`))){p(r(),t),K(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(G.some(e=>c.endsWith(`icons.${e}`))){K(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`layout.tsx`)||c.endsWith(`layout.jsx`)){K(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(c.includes(`/pages-external/`)||c.includes(`\\pages-external\\`)){K(e,`entry`),e.ws.send({type:`full-reload`});return}if(!c.toLowerCase().startsWith(a))return;let u=c.endsWith(`meta.json`)||c.endsWith(`_meta.json`);if(!u&&!s(c))return;if(o===`add`||o===`unlink`||u){o===`unlink`&&ve(n),g(),F();let i=r();p(i,t),K(e,`config`),K(e,`routes`),K(e,`search`),K(e,`collections`),S(t,process.cwd(),i).catch(e=>{E(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:i?.theme,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl}}),e.ws.send({type:`full-reload`});return}i.has(c)&&clearTimeout(i.get(c)),i.set(c,setTimeout(async()=>{i.delete(c);try{let r=ge(n),i=await he(n);if(_e(n,i),h(n),r!==void 0&&r!==i){K(e,`routes`),K(e,`search`),K(e,`collections`),e.ws.send({type:`full-reload`});return}let a=l(w.relative(t,n)),o=e.moduleGraph.getModulesByFile(c);if(o&&o.size>0)for(let t of o)e.moduleGraph.invalidateModule(t);else{e.ws.send({type:`full-reload`});return}e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:c,relPath:a}})}catch(e){E(`HMR error processing content change:`,e)}},150))}catch(e){E(`HMR error during ${o} event:`,e)}};e.watcher.on(`add`,e=>o(e,`add`)),e.watcher.on(`unlink`,e=>o(e,`unlink`)),e.watcher.on(`change`,e=>o(e,`change`))}function be(e){let t=e.toLowerCase();return({file:e})=>{let n=e.toLowerCase();if(n.startsWith(t)&&(s(e)||n.endsWith(`meta.json`)))return[]}}function xe(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),S(e,process.cwd(),n()).catch(e=>{E(`Failed to generate initial link tree:`,e)}),V(r,e,n),B(r,e,n),me(r,e),ye(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:be(t)}}const q=new m(`mdx`);function Se(e){let r=ee(e);return async e=>{let i=await r.getHighlighter();n(e,x.ELEMENT,e=>{if(e.tagName!==`pre`)return;let n=e.children?.[0];if(!n||n.type!==x.ELEMENT||n.tagName!==`code`)return;let a=(n.properties?.className||[]).find(e=>e.startsWith(`language-`)),o=a?a.slice(9):y.MDX_DEFAULT_LANG;if(o===`mermaid`)return;let s=te(n.properties?.metastring||n.data?.meta||``),c=r.getOptions(o,s),l=n.children?.[0]?.value||``;try{let t=i.codeToHast(l,c),n=t.type===`root`?t.children[0]:t;e.children=n.children,e.properties={...e.properties,...n.properties,[b.HIGHLIGHTED]:`true`,[b.LANG]:o}}catch(t){E(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],ne.FALLBACK],e.properties[b.HIGHLIGHTED]=`false`,e.properties[b.LANG]=o}return s.title&&(e.properties[b.TITLE]=s.title),t})}}function J(){return e=>{n(e,x.CODE,e=>{e.meta&&i(e,`metastring`,e.meta)})}}let Ce=!1;function we(e,t,n=ce){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[le,O,J,...r],rehypePlugins:[ue,[Se,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ce||=(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=T.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}:${D.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=C.createRequire(import.meta.url),Te=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`],Ee=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=w.join(process.cwd(),`node_modules/boltdocs/package.json`);return T.existsSync(e)?C.createRequire(T.realpathSync(e)):C.createRequire(w.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=w.dirname(e);for(;n&&n!==w.dirname(n);){let e=w.join(n,`package.json`);if(T.existsSync(e)){a=e;break}n=w.dirname(n)}}if(!a)throw Error();let o=w.dirname(a),s=JSON.parse(T.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=w.resolve(o,l);if(T.existsSync(u))return u}catch{}return t.resolve(e)}function Q(e=Y){let t=[],n=X(e),r=new Set([n,e]);for(let e of r){for(let n of Te)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?Z(n,e):e.resolve(n);r&&t.push(T.realpathSync(r))}catch{}for(let n of Ee)try{t.push(T.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>l(e))}const $=C.createRequire(import.meta.url),De=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function Oe(t={},n){let r=w.resolve(process.cwd(),t.docsDir||`docs`),i=l(r),a=n,s,c=!1,d,m=[],h=()=>a,g=e=>{a=e},_=()=>s,y=()=>d;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(t,n){c=n.command===`build`;let i=!!(n.isSsrBuild||t.build?.ssr);if(Object.assign(process.env,oe(n.mode,t.envDir||process.cwd(),``)),!a){a=await u(r);let e=(await v(r,a)).map(e=>e.path),t=(a.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t),p(a,r,void 0,e),f(e)}import(`./shiki-adapter-CxTLkjew.mjs`).then(({getShikiAdapter:e})=>{e(a).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:s}=await import(`./package-Di7alQGe.mjs`),l=e(a.plugins||[],s);return a.plugins=l,d=new o(l,a),m=l.flatMap(e=>e.vitePlugins||[]),c&&await d.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`,...i?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){s=e},resolveId(e,t,n){let r=De.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,w.sep)}/`));if(r&&n?.ssr&&!w.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=T.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>A(e,a)},async buildEnd(){let{pool:e}=await import(`./worker-pool-v6tW2MDQ.mjs`);await e.terminate()},async closeBundle(){!c||s?.build?.ssr||(await d?.runHook(`afterBuild`),await d?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(L(h)),e.middlewares.use(R(_))}},I(t,h,_,r),xe(r,i,h,g,y),we(a,y),se({includePublic:!0}),...m]}export{Oe as boltdocsPlugin,X as getBaseRequire,Q as getExternalAbsolutePaths,Z as resolveEsm};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import{t as e}from"./utils-DexBrwiP.mjs";import{r as t,t as n}from"./cache-CfhOTR3Q.mjs";import r from"node:path";import{fdir as i}from"fdir";const a=new t({name:`routes`});function o(){a.invalidateAll(),n.clear()}function s(e){a.invalidate(e),n.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(){u=null,d.clear(),o()}async function m(t,n,o,s=!1){if(f)return f;let l=(async()=>{let l=o||n?.base||`/docs`;await a.load(),d.clear();let f;if(!s&&u)f=u;else{let e=await new i().withFullPaths().filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)?!r.relative(t,e).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(t).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],a=e.map(e=>{let t=r.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),f=a.map(e=>e.f),u=f}a.pruneStale(new Set(f));let p=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,m;if(p){let{parseDocFile:e}=await import(`./parser-
|
|
6
|
+
import{t as e}from"./utils-DexBrwiP.mjs";import{r as t,t as n}from"./cache-CfhOTR3Q.mjs";import r from"node:path";import{fdir as i}from"fdir";const a=new t({name:`routes`});function o(){a.invalidateAll(),n.clear()}function s(e){a.invalidate(e),n.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(){u=null,d.clear(),o()}async function m(t,n,o,s=!1){if(f)return f;let l=(async()=>{let l=o||n?.base||`/docs`;await a.load(),d.clear();let f;if(!s&&u)f=u;else{let e=await new i().withFullPaths().filter(e=>e.endsWith(`.md`)||e.endsWith(`.mdx`)?!r.relative(t,e).replace(/\\/g,`/`).split(`/`).some(e=>e.startsWith(`_`)&&e!==`_index.md`&&e!==`_index.mdx`):!1).crawl(t).withPromise(),n=[/index\./i,/intro/i,/getting-started/i,/readme/i],a=e.map(e=>{let t=r.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),f=a.map(e=>e.f),u=f}a.pruneStale(new Set(f));let p=process.env.NODE_ENV===`test`||process.env.VITEST===`true`,m;if(p){let{parseDocFile:e}=await import(`./parser-Ww0eOqs7.mjs`).then(e=>e.t);m=await Promise.all(f.map(async r=>{let i=a.get(r);if(i)return i;let o=await e(r,t,l,n);return a.set(r,o),o}))}else{let{pool:e}=await import(`./worker-pool-v6tW2MDQ.mjs`),r=n?{i18n:n.i18n,versions:n.versions}:void 0;m=await Promise.all(f.map(async n=>{let i=a.get(n);if(i)return i;let o=await e.parseFile(n,t,l,r);return a.set(n,o),o}))}a.save();let g=[],_=new Map;for(let e of m)if(!(process.env.NODE_ENV===`production`&&e.route.draft))if(e.inferredCollection){let t=e.inferredCollection;_.has(t)||_.set(t,[]),_.get(t).push(e)}else g.push(e);let v=new Map,y=[],b=n?.i18n?.defaultLocale||``;for(let t of g)if(t.isGroupIndex&&t.relativeDir&&y.push(t),t.relativeDir){let n=`${t.route.locale||b}:${t.relativeDir}`,r=v.get(n);r?r.position===void 0&&t.inferredGroupPosition!==void 0&&(r.position=t.inferredGroupPosition):(r={title:e(t.relativeDir),position:t.inferredGroupPosition},v.set(n,r))}for(let e of y){let t=`${e.route.locale||b}:${e.relativeDir}`,n=v.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 t=n.i18n?Object.keys(n.i18n.locales):[b];for(let[r,i]of Object.entries(n.theme.sidebarGroups))for(let n of t){let t=`${n}:${r}`,a=v.get(t),o;typeof i.title==`string`?o=i.title:i.title&&(o=i.title[n]||i.title[b]),a?(o&&(a.title=o),i.icon&&(a.icon=i.icon)):v.set(t,{title:o||e(r),icon:i.icon})}}let x=Array(g.length);for(let t=0;t<g.length;t++){let n=g[t],r=n.relativeDir,i=n.route.locale||b,a=r?`${i}:${r}`:void 0,o=a?v.get(a):void 0,s;o&&(s=typeof o.title==`string`?o.title:o.title[i]||o.title[b]),x[t]={...n.route,group:r,groupTitle:s||(r?e(r):void 0),groupPosition:o?.position,groupIcon:o?.icon}}let S=[];for(let[,e]of _)for(let t of e)S.push({...t.route,collection:t.inferredCollection});S.sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});let C=x;if(n?.i18n){let e=h(x,n,l);C=[...x,...e]}return[...c(C),...S]})();f=l;try{return await l}finally{f=null}}function h(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=g(o.path,r,e,n,t);s!==o.path&&(i.has(s)||a.push({...o,path:s,locale:e}))}}return a}function g(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}export{s as i,p as n,a as r,m as t};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import{i as e,n as t,t as n}from"./routes-
|
|
6
|
+
import{i as e,n as t,t as n}from"./routes-DMBny9t9.mjs";export{n as generateRoutes,e as invalidateFile,t as invalidateRouteCache};
|
package/package.json
CHANGED
package/dist/plugin-CHa0IT49.mjs
DELETED
|
@@ -1,61 +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,a as t,h as n,k as r,p as i,x as a,y as o}from"./node-FkxzriO7.mjs";import{c as s,d as c,u as l}from"./utils-DexBrwiP.mjs";import{n as u,t as d}from"./config-BCqkPkjC.mjs";import{n as ee,t as f}from"./types-generator-BRyf4o9F.mjs";import{i as p}from"./cache-CfhOTR3Q.mjs";import{i as m,n as h,r as g,t as _}from"./routes-Bm0CQvyL.mjs";import{a as v,i as y,n as te,o as b,r as ne,s as re}from"./shiki-adapter-rQ087Lx3.mjs";import{n as x}from"./doctor-hKOBLhBF.mjs";import{t as ie}from"./headers-DBzZ9yC6.mjs";import{n as ae}from"./csp-CUAEgrxR.mjs";import*as S from"node:module";import C from"node:path";import w from"node:fs";import{error as T}from"@bdocs/dui";import E from"node:crypto";import{fileURLToPath as oe}from"node:url";import{loadEnv as se}from"vite";import{ViteImageOptimizer as ce}from"@bdocs/plugin-image-optimizer";import le from"@mdx-js/rollup";import ue from"remark-gfm";import D from"remark-frontmatter";import O from"rehype-slug";function k(e){return`<!doctype html>
|
|
7
|
-
<html lang="en">
|
|
8
|
-
<head>
|
|
9
|
-
<meta charset="UTF-8" />
|
|
10
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
11
|
-
<title>${e.theme?.title||`Boltdocs`}</title>
|
|
12
|
-
</head>
|
|
13
|
-
<body>
|
|
14
|
-
<div id="root"></div>
|
|
15
|
-
</body>
|
|
16
|
-
</html>`}function A(e,t){(!e||!e.includes(`<body`)||!e.includes(`<head`))&&(e=k(t));let n=t.theme,r=n?.title||`Boltdocs`;if(typeof r==`object`){let e=t.i18n?.defaultLocale||``;r=r[e]||Object.values(r)[0]||`Boltdocs`}let i=n?.description||``;if(typeof i==`object`){let e=t.i18n?.defaultLocale||``;i=i[e]||Object.values(i)[0]||``}let a=n?.favicon;!a&&n?.logo&&(a=typeof n.logo==`string`?n.logo:n.logo.light||n.logo.dark);let o=[a?`<link rel="icon" href="${a}">`:``,`<meta name="description" content="${i}">`,`<meta property="og:title" content="${r}">`,`<meta property="og:description" content="${i}">`,`<meta property="og:type" content="website">`,t.siteUrl?`<meta property="og:url" content="${t.siteUrl}">`:``,t.siteUrl?`<link rel="canonical" href="${t.siteUrl}">`:``,`<meta name="twitter:card" content="summary_large_image">`,`<meta name="twitter:title" content="${r}">`,`<meta name="twitter:description" content="${i}">`,`<meta name="generator" content="Boltdocs">`].filter(Boolean).join(`
|
|
17
|
-
`);e=e.includes(`<title>`)?e.replace(/<title>.*?<\/title>/,`<title>${r}</title>`):e.replace(`</head>`,` <title>${r}</title>\n </head>`);let s=``;if(t.integrations?.ga4){let e=t.integrations.ga4;if(process.env.NODE_ENV===`production`||e.debug){let t=e.anonymizeIp?`gtag('set', 'ip', true);`:``,n=e.sendPageView===!1?`{send_page_view: false}`:`{}`,r=e.cookieFlags?`, {'cookie_flags': '${e.cookieFlags}'}`:``;s=`
|
|
18
|
-
<!-- Google tag (gtag.js) - ${e.measurementId} -->
|
|
19
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id=${e.measurementId}"><\/script>
|
|
20
|
-
<script>
|
|
21
|
-
window.dataLayer = window.dataLayer || [];
|
|
22
|
-
function gtag(){dataLayer.push(arguments);}
|
|
23
|
-
gtag('js', new Date());
|
|
24
|
-
${t}
|
|
25
|
-
gtag('config', '${e.measurementId}', ${n}${r});
|
|
26
|
-
<\/script>
|
|
27
|
-
`}}let c=``,l=``;if(t.integrations?.gtm){let e=t.integrations.gtm;if(process.env.NODE_ENV===`production`){let t=e.dataLayerName||`dataLayer`;c=`
|
|
28
|
-
<!-- Google Tag Manager -->
|
|
29
|
-
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
30
|
-
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
31
|
-
j=d.createElement(s),dl=l!='${t}'?'&l='+l:'';j.async=true;j.src=
|
|
32
|
-
'https://www.googletagmanager.com/gtm.js?id='+i+dl+'${e.preview?`>m_preview=${e.preview}`:``}';f.parentNode.insertBefore(j,f);
|
|
33
|
-
})(window,document,'script','${t}','${e.tagId}');<\/script>
|
|
34
|
-
<!-- End Google Tag Manager -->
|
|
35
|
-
`,l=`
|
|
36
|
-
<!-- Google Tag Manager (noscript) -->
|
|
37
|
-
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=${e.tagId}"
|
|
38
|
-
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
39
|
-
<!-- End Google Tag Manager (noscript) -->
|
|
40
|
-
`}}return e=e.replace(`<head>`,`<head>
|
|
41
|
-
|
|
42
|
-
<script>
|
|
43
|
-
(function() {
|
|
44
|
-
try {
|
|
45
|
-
var stored = localStorage.getItem("boltdocs-theme");
|
|
46
|
-
var isDark =
|
|
47
|
-
stored === "dark" ||
|
|
48
|
-
(stored !== "light" && window.matchMedia("(prefers-color-scheme: dark)").matches);
|
|
49
|
-
document.documentElement.classList.toggle("dark", isDark);
|
|
50
|
-
document.documentElement.dataset.theme = isDark ? "dark" : "light";
|
|
51
|
-
} catch (e) {
|
|
52
|
-
// Ignore localStorage errors (e.g. if cookies/storage are disabled)
|
|
53
|
-
}
|
|
54
|
-
})();
|
|
55
|
-
<\/script>
|
|
56
|
-
`),e=e.replace(`</head>`,` ${o}\n${s}${c} </head>`),l&&(e=e.replace(/<body([^>]*)>/,`<body$1>\n${l}`)),!e.includes(`src/main`)&&!e.includes(`virtual:boltdocs-entry`)&&(e=e.replace(`</body>`,` <script type="module">import "virtual:boltdocs-entry";<\/script>
|
|
57
|
-
</body>`)),e}const j=C.dirname(oe(import.meta.url));function M(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(M):e&&typeof e==`object`?Object.values(e).flatMap(M):[]}const de=new Set([`title`,`description`,`permalink`,`sidebarPosition`,`sidebarLabel`,`sidebarHidden`,`hidden`,`category`,`order`,`badge`,`icon`,`date`,`lastUpdated`,`groupTitle`,`groupPosition`,`seo`]);function fe(e){let t=[];for(let n of e){let e=``;n.frontmatter&&(e=M(Object.entries(n.frontmatter).filter(([e])=>!de.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 N=null,P=null;function F(){N=null,P=null}function I(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`?l(C.resolve(t,`boltdocs-entry.tsx`)):e.includes(`boltdocs-client.mjs`)||e===`virtual:boltdocs-client`||e===`boltdocs-client`||e===`\0virtual:boltdocs-client.ts`?l(C.resolve(t,`boltdocs-client.mjs`)):e.startsWith(`virtual:boltdocs-`)?`\0`+e:e.startsWith(`\0virtual:boltdocs-`)?e:null},async load(n){let o=t();if(n.includes(`boltdocs-entry.tsx`)||n===`\0virtual:boltdocs-entry`)return r(e,o);if(n.includes(`boltdocs-client.mjs`)||n===`\0virtual:boltdocs-client.ts`||n===`virtual:boltdocs-client`){let e=j,t=e;for(;e!==C.parse(e).root;){if(w.existsSync(C.join(e,`package.json`))&&JSON.parse(w.readFileSync(C.join(e,`package.json`),`utf-8`)).name===`boltdocs`){t=e;break}e=C.dirname(e)}let n=C.join(t,`src/client/index.ts`),r=C.join(t,`dist/client/index.js`);return`export * from '${l(w.existsSync(n)?n:r)}';`}if(!n.startsWith(`\0virtual:boltdocs-`))return;let s=n.replace(`\0virtual:boltdocs-`,``).replace(/\.tsx?$/,``);if(s===`routes`){let e=a(await _(i,o));return`export default ${JSON.stringify(e,null,2)};`}if(s===`collections`){let e=a(await _(i,o)),t={};for(let n of e)n.collection&&(t[n.collection]||(t[n.collection]=[]),t[n.collection].push({path:n.path,title:n.title,date:n.date,excerpt:n.excerpt,tags:n.tags,author:n.author,coverImage:n.coverImage,filePath:n.filePath,frontmatter:n.frontmatter}));return`export default ${JSON.stringify(t,null,2)};`}if(s===`config`){if(N===null){let{loadDirectoryMeta:e}=await import(`./meta-loader-CD3Yptr5.mjs`);N=await e(i)}let e=N,t={base:o?.base,theme:o?.theme,i18n:o?.i18n,versions:o?.versions,siteUrl:o?.siteUrl,integrations:o?.integrations,plugins:o?.plugins?.map(e=>({name:e.name})),directoryMeta:e};return`export default ${JSON.stringify(t,null,2)};`}if(s===`entry`)return r(e,o);if(s===`mdx-components`){let e=[`tsx`,`ts`,`jsx`,`js`],t=null;for(let n of e){let e=C.resolve(i,`mdx-components.${n}`);if(w.existsSync(e)){t=e;break}}if(t){let e=l(t);return`import * as components from '${e}';
|
|
58
|
-
const mdxComponents = components.default || components;
|
|
59
|
-
export default mdxComponents;
|
|
60
|
-
export * from '${e}';`}return`export default {};`}if(s===`layout`){let e=[`tsx`,`jsx`],t=null;for(let n of e){let e=C.resolve(i,`layout.${n}`);if(w.existsSync(e)){t=e;break}}if(t)return`import UserLayout from '${l(t)}';
|
|
61
|
-
export default UserLayout;`;throw Error(`[Boltdocs] Layout file not found. A 'layout.tsx' or 'layout.jsx' file is mandatory in your docs directory. Please create one to define your site structure.`)}if(s===`icons`){let e=[`tsx`,`jsx`,`ts`,`js`],t=null;for(let n of e){let e=C.resolve(i,`icons.${n}`);if(w.existsSync(e)){t=e;break}}return t?`import * as icons from '${l(t)}';\nexport default icons;`:`export default {};`}if(s===`search`){if(!P){let e=fe(await _(i,o));P=`export default ${JSON.stringify(e,null,2)};`}return P}if(s===`client`){let e=j,t=``;for(;e&&e!==C.parse(e).root;){let n=C.join(e,`src/client/index.ts`),r=C.join(e,`dist/client/index.mjs`),i=C.join(e,`client/index.ts`);if(w.existsSync(n)){t=l(n);break}if(w.existsSync(r)){t=l(r);break}if(w.existsSync(i)){t=l(i);break}e=C.dirname(e)}if(!t)throw Error(`[boltdocs] Could not resolve boltdocs/client entry point starting from ${j}`);return`export * from '${t}';`}}}}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=``;t.on(`data`,e=>{o+=e}),t.on(`end`,async()=>{n.setHeader(`Content-Type`,`application/json`);try{let{handleFeedback:e}=await import(`./handler-eNNcucnf.mjs`),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(C.extname(a))return r();let o=e(),s=C.resolve(o?.root||process.cwd(),o?.build?.outDir||`dist`),c=a.replace(/\/$/,``)||`/`,l=C.join(s,c,`index.html`);c!==`/`&&w.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(ie).forEach(([e,n])=>{t.setHeader(e,n)});let a=n();a.security?.enableCSP&&t.setHeader(`Content-Security-Policy`,ae(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=k(s);n=A(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 import(`./routes-BTx0ngdX.mjs`),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=C.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 pe(e,t){let n=d.map(e=>C.resolve(process.cwd(),e)),r=H.map(e=>C.resolve(t,`layout.${e}`)),i=U.map(e=>C.resolve(t,`mdx-components.${e}`)),a=U.map(e=>C.resolve(t,`pages-external/index.${e}`)),o=U.map(e=>C.resolve(t,`icons.${e}`));e.watcher.add([...n,...i,...r,...a,...o])}const W=new Map;function G(e){let{lastUpdated:t,...n}=e;return E.createHash(`md5`).update(JSON.stringify(n)).digest(`hex`)}async function me(e){try{let{data:t}=await c(e);return G(t)}catch{return``}}function he(e){let t=W.get(e);if(t===void 0){let n=g.getStale(e);n?.route?.frontmatter&&(t=G(n.route.frontmatter),W.set(e,t))}return t}function ge(e,t){W.set(e,t)}function _e(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 ve(e,t,n,r){let i=new Map,a=n.toLowerCase(),o=async(n,o)=>{try{let c=l(n);if(d.some(e=>c.endsWith(e))){e.restart();return}if(K.some(e=>c.endsWith(`mdx-components.${e}`))){f(r(),t),q(e,`mdx-components.tsx`),e.ws.send({type:`full-reload`});return}if(K.some(e=>c.endsWith(`icons.${e}`))){q(e,`icons.tsx`),e.ws.send({type:`full-reload`});return}if(c.endsWith(`layout.tsx`)||c.endsWith(`layout.jsx`)){q(e,`layout.tsx`),e.ws.send({type:`full-reload`});return}if(c.includes(`/pages-external/`)||c.includes(`\\pages-external\\`)){q(e,`entry`),e.ws.send({type:`full-reload`});return}if(!c.toLowerCase().startsWith(a))return;let u=c.endsWith(`meta.json`)||c.endsWith(`_meta.json`);if(!u&&!s(c))return;if(o===`add`||o===`unlink`||u){o===`unlink`&&_e(n),h(),F();let i=r();f(i,t),q(e,`config`),q(e,`routes`),q(e,`search`),q(e,`collections`),x(t,process.cwd(),i).catch(e=>{T(`Failed to update link tree:`,e)}),e.ws.send({type:`custom`,event:`boltdocs:config-update`,data:{theme:i?.theme,i18n:i?.i18n,versions:i?.versions,siteUrl:i?.siteUrl}}),e.ws.send({type:`full-reload`});return}i.has(c)&&clearTimeout(i.get(c)),i.set(c,setTimeout(async()=>{i.delete(c);try{let r=he(n),i=await me(n);if(ge(n,i),m(n),r!==void 0&&r!==i){q(e,`routes`),q(e,`search`),q(e,`collections`),e.ws.send({type:`full-reload`});return}let a=l(C.relative(t,n)),o=e.moduleGraph.getModulesByFile(c);if(o&&o.size>0)for(let t of o)e.moduleGraph.invalidateModule(t);else{e.ws.send({type:`full-reload`});return}e.ws.send({type:`custom`,event:`boltdocs:mdx-update`,data:{file:c,relPath:a}})}catch(e){T(`HMR error processing content change:`,e)}},150))}catch(e){T(`HMR error during ${o} event:`,e)}};e.watcher.on(`add`,e=>o(e,`add`)),e.watcher.on(`unlink`,e=>o(e,`unlink`)),e.watcher.on(`change`,e=>o(e,`change`))}function ye(e){let t=e.toLowerCase();return({file:e})=>{let n=e.toLowerCase();if(n.startsWith(t)&&(s(e)||n.endsWith(`meta.json`)))return[]}}function be(e,t,n,r,i){return{name:`vite-plugin-boltdocs-dev-server`,apply:`serve`,async configureServer(r){let a=i();await a?.runHook(`beforeDev`),x(e,process.cwd(),n()).catch(e=>{T(`Failed to generate initial link tree:`,e)}),V(r,e,n),B(r,e,n),pe(r,e),ve(r,e,t,n),await a?.runHook(`afterDev`)},hotUpdate:ye(t)}}const J=new p(`mdx`);function xe(e){let r=te(e);return async e=>{let i=await r.getHighlighter();n(e,b.ELEMENT,e=>{if(e.tagName!==`pre`)return;let n=e.children?.[0];if(!n||n.type!==b.ELEMENT||n.tagName!==`code`)return;let a=(n.properties?.className||[]).find(e=>e.startsWith(`language-`)),o=a?a.slice(9):v.MDX_DEFAULT_LANG;if(o===`mermaid`)return;let s=ne(n.properties?.metastring||n.data?.meta||``),c=r.getOptions(o,s),l=n.children?.[0]?.value||``;try{let t=i.codeToHast(l,c),n=t.type===`root`?t.children[0]:t;e.children=n.children,e.properties={...e.properties,...n.properties,[y.HIGHLIGHTED]:`true`,[y.LANG]:o}}catch(t){T(`[rehypeShiki] Failed to highlight code block:`,t),e.properties=e.properties||{},e.properties.className=[...e.properties.className||[],re.FALLBACK],e.properties[y.HIGHLIGHTED]=`false`,e.properties[y.LANG]=o}return s.title&&(e.properties[y.TITLE]=s.title),t})}}function Se(){return e=>{n(e,b.CODE,e=>{e.meta&&i(e,`metastring`,e.meta)})}}let Ce=!1;function we(e,t,n=le){let r=e?.plugins?.flatMap(e=>e.remarkPlugins||[])||[],i=e?.plugins?.flatMap(e=>e.rehypePlugins||[])||[],a=n({remarkPlugins:[ue,D,Se,...r],rehypePlugins:[O,[xe,e],...i],jsxRuntime:`automatic`});return{...a,name:`vite-plugin-boltdocs-mdx`,async buildStart(){Ce||=(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=w.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}:${E.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=S.createRequire(import.meta.url),Te=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`],Ee=[`react/jsx-runtime`,`react/jsx-dev-runtime`,`react-dom/client`];function X(e=Y){try{let e=C.join(process.cwd(),`node_modules/boltdocs/package.json`);return w.existsSync(e)?S.createRequire(w.realpathSync(e)):S.createRequire(C.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=C.dirname(e);for(;n&&n!==C.dirname(n);){let e=C.join(n,`package.json`);if(w.existsSync(e)){a=e;break}n=C.dirname(n)}}if(!a)throw Error();let o=C.dirname(a),s=JSON.parse(w.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=C.resolve(o,l);if(w.existsSync(u))return u}catch{}return t.resolve(e)}function Q(e=Y){let t=[],n=X(e),r=new Set([n,e]);for(let e of r){for(let n of Te)try{let r=[`@bdocs/ssg`,`react-router-dom`,`react-helmet-async`].includes(n)?Z(n,e):e.resolve(n);r&&t.push(w.realpathSync(r))}catch{}for(let n of Ee)try{t.push(w.realpathSync(e.resolve(n)))}catch{}}return Array.from(new Set(t)).map(e=>l(e))}const $=S.createRequire(import.meta.url),De=[`react`,`react-dom`,`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`];function Oe(t={},n){let r=C.resolve(process.cwd(),t.docsDir||`docs`),i=l(r),a=n,s,c=!1,d,p=[],m=()=>a,h=e=>{a=e},g=()=>s,v=()=>d;return[{name:`vite-plugin-boltdocs`,enforce:`pre`,async config(t,n){c=n.command===`build`;let i=!!(n.isSsrBuild||t.build?.ssr);if(Object.assign(process.env,se(n.mode,t.envDir||process.cwd(),``)),!a){a=await u(r);let e=(await _(r,a)).map(e=>e.path),t=(a.base||`/docs`).replace(/\/$/,``);e.includes(t)||e.push(t),f(a,r,void 0,e),ee(e)}import(`./shiki-adapter-CxTLkjew.mjs`).then(({getShikiAdapter:e})=>{e(a).getHighlighter().catch(()=>{})}).catch(()=>{});let{version:s}=await import(`./package-D6O7a8qA.mjs`),l=e(a.plugins||[],s);return a.plugins=l,d=new o(l,a),p=l.flatMap(e=>e.vitePlugins||[]),c&&await d.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`,...i?[]:[`react-router-dom`,`react-helmet-async`,`@bdocs/ssg`]]},ssr:{external:[`react`,`react-dom`,`react-helmet-async`,`@bdocs/ssg`,`react-fast-compare`,`invariant`,...Q($)],optimizeDeps:{include:[`react-fast-compare`,`invariant`]},noExternal:[`react-router-dom`]}}},configResolved(e){s=e},resolveId(e,t,n){let r=De.find(t=>e===t||e.startsWith(`${t}/`)||e.includes(`/node_modules/${t}/`)||t.startsWith(`@`)&&e.includes(`/node_modules/${t.replace(`/`,C.sep)}/`));if(r&&n?.ssr&&!C.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=w.realpathSync(n)}catch{}return{id:n,external:!0}}return null},transformIndexHtml:{order:`pre`,handler:e=>A(e,a)},async buildEnd(){let{pool:e}=await import(`./worker-pool-v6tW2MDQ.mjs`);await e.terminate()},async closeBundle(){!c||s?.build?.ssr||(await d?.runHook(`afterBuild`),await d?.runHook(`buildEnd`))},configurePreviewServer(e){e.middlewares.use(L(m)),e.middlewares.use(R(g))}},I(t,m,g,r),be(r,i,m,h,v),we(a,v),ce({includePublic:!0}),...p]}export{Oe as boltdocsPlugin,X as getBaseRequire,Q as getExternalAbsolutePaths,Z as resolveEsm};
|