boltdocs 3.0.2 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -18
- package/dist/{adapters-DEXNIv3x.mjs → adapters-ByYY44Zy.mjs} +1 -1
- package/dist/{adapters-C5AWWGfb.cjs → adapters-DvmtpdSF.cjs} +1 -1
- package/dist/{banner-CfdalYLL.d.ts → banner-BMop1KLF.d.ts} +2 -2
- package/dist/{banner-DNSkgUsO.d.cts → banner-CVD0GugR.d.cts} +2 -2
- package/dist/cache-CO4Dy2uQ.cjs +6 -0
- package/dist/cache-Dk53iOo6.mjs +6 -0
- package/dist/chunk-BFSpntXv.mjs +6 -0
- package/dist/{chunk-Ds5LZdWN.cjs → chunk-D1Md3oWO.cjs} +1 -1
- package/dist/client/index.cjs +433 -272
- package/dist/client/index.d.cts +129 -18
- package/dist/client/index.d.ts +129 -18
- package/dist/client/index.js +337 -178
- package/dist/client/mdx.cjs +1 -1
- package/dist/client/mdx.d.cts +1 -1
- package/dist/client/mdx.d.ts +1 -1
- package/dist/client/mdx.js +1 -1
- package/dist/client/primitives.cjs +7 -7
- package/dist/client/primitives.d.cts +5 -22
- package/dist/client/primitives.d.ts +5 -22
- package/dist/client/primitives.js +4 -4
- package/dist/client/theme/neutral.css +1 -3
- package/dist/client/theme/reset.css +31 -4
- package/dist/config-BpzaPsJj.d.cts +781 -0
- package/dist/config-CCXp3aXO.mjs +7 -0
- package/dist/{config-JGkMJoJQ.cjs → config-CMd4XoFq.cjs} +1 -1
- package/dist/config-DlGoEM9D.cjs +7 -0
- package/dist/config-xtS0ZkMm.d.mts +781 -0
- package/dist/{csp-CBysWlAf.cjs → csp-CRp_3U7a.cjs} +1 -1
- package/dist/csp-oTC2ygvF.mjs +6 -0
- package/dist/{docs-layout-6FQ8__ok.js → docs-layout-BdtZ9z6s.js} +9 -28
- package/dist/{docs-layout-3TpAt6MB.cjs → docs-layout-CFWI15Id.cjs} +69 -88
- package/dist/{doctor-BR1B2Mkz.cjs → doctor-BBtmNJE0.cjs} +1 -1
- package/dist/doctor-Bv16QSrI.cjs +7 -0
- package/dist/doctor-DOAbSaiL.mjs +7 -0
- package/dist/{generator-DtUU3Cfk.cjs → generator-COepVWGi.cjs} +1 -1
- package/dist/{handler-Btd4t_67.mjs → handler-DzQae4eA.mjs} +1 -1
- package/dist/{handler-Dzf4dSnV.cjs → handler-XX7cLTqe.cjs} +1 -1
- package/dist/headers-Ddwek8K7.mjs +6 -0
- package/dist/{headers-BXKxiPUv.cjs → headers-dg4SDrjY.cjs} +1 -1
- package/dist/{image-C9md50h2.js → image-Bz87fCla.js} +2 -2
- package/dist/{image-CR6UlaI5.cjs → image-C4TlpMHn.cjs} +18 -18
- package/dist/link-2PzgTnaP.js +673 -0
- package/dist/{icons-dev-BryEFkJu.cjs → link-D1Gjkb-2.cjs} +8 -353
- package/dist/{mdx-DhyMkc35.js → mdx-BuO6a1f7.js} +199 -40
- package/dist/{mdx-DJBg5DuL.cjs → mdx-CD-tSjRG.cjs} +237 -72
- package/dist/{meta-loader-C9MKjAs0.cjs → meta-loader-Dq1zcFnh.cjs} +1 -1
- package/dist/node/cache.cjs +6 -0
- package/dist/node/cache.d.cts +84 -0
- package/dist/node/cache.d.mts +84 -0
- package/dist/node/cache.mjs +6 -0
- package/dist/node/cli-entry.cjs +6 -6
- package/dist/node/cli-entry.mjs +9 -9
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +27 -638
- package/dist/node/index.d.mts +27 -640
- package/dist/node/index.mjs +1 -1
- package/dist/node/mdx/shiki-adapter.cjs +6 -0
- package/dist/node/mdx/shiki-adapter.d.cts +51 -0
- package/dist/node/mdx/shiki-adapter.d.mts +51 -0
- package/dist/node/mdx/shiki-adapter.mjs +6 -0
- package/dist/node-BXtqM1uH.mjs +6 -0
- package/dist/node-BlVk4EVg.cjs +104 -0
- package/dist/node-DOf4zhWc.mjs +104 -0
- package/dist/node-aD1eisrR.cjs +6 -0
- package/dist/{package-CEDhVAfO.cjs → package-BcISI5-P.cjs} +1 -1
- package/dist/{package-_dCCKVvG.mjs → package-CCYEAYeA.mjs} +1 -1
- package/dist/{pages-external-CX2uyW95.cjs → pages-external-XkYIs-d5.cjs} +1 -1
- package/dist/parser-DCiEWkSk.cjs +8 -0
- package/dist/parser-qk9FIHJ7.mjs +8 -0
- package/dist/plugin-C95kvu6h.mjs +73 -0
- package/dist/plugin-DM3u2bVj.cjs +73 -0
- package/dist/routes-BW6zsk7Z.mjs +6 -0
- package/dist/routes-BgoIB5wb.cjs +6 -0
- package/dist/{routes-BajCwrvX.cjs → routes-CORVxc02.cjs} +1 -1
- package/dist/{search-dialog-D4rplZMv.cjs → search-dialog-B1NERUNx.cjs} +101 -55
- package/dist/{search-dialog-Cx7aGW3U.cjs → search-dialog-BRFno7HD.cjs} +8 -8
- package/dist/{search-dialog-DDopgbKM.js → search-dialog-BmxHiKwt.js} +2 -2
- package/dist/{search-dialog-BNdRV60O.js → search-dialog-D6TvjcuV.js} +1 -1
- package/dist/{search-dialog-DaeSPvEo.js → search-dialog-DFnlx8LO.js} +44 -4
- package/dist/{search-dialog-CW1f6dn6.cjs → search-dialog-DHqwjJuG.cjs} +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.d.mts +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/shiki-adapter-CoQ6jyJ4.cjs +6 -0
- package/dist/shiki-adapter-D-aKw7PP.mjs +6 -0
- package/dist/sidebar-COTaMHR-.d.ts +1100 -0
- package/dist/sidebar-CrEdJuHX.d.cts +1100 -0
- package/dist/{types-generator-CYcHkDzZ.cjs → types-generator-BXhv7Ill.cjs} +1 -1
- package/dist/types-generator-bDPvUztF.mjs +26 -0
- package/dist/utils-Crm9oPcV.mjs +7 -0
- package/dist/utils-D6Xtj0FZ.cjs +7 -0
- package/package.json +26 -12
- package/src/shared/types.ts +532 -23
- package/dist/cache-DETwlACe.cjs +0 -6
- package/dist/cache-SF59enb3.mjs +0 -6
- package/dist/config-B5uVv5q4.cjs +0 -7
- package/dist/config-D3_zDkHh.mjs +0 -7
- package/dist/csp-gaZ51xzq.mjs +0 -6
- package/dist/doctor-3MheVMwd.mjs +0 -7
- package/dist/doctor-DQxLM202.cjs +0 -7
- package/dist/headers-CXyf0auY.mjs +0 -6
- package/dist/icons-dev-kJyGWNeg.js +0 -916
- package/dist/node-B9JSyEIU.mjs +0 -105
- package/dist/node-Cedquois.cjs +0 -105
- package/dist/parser-CNIPHx4s.cjs +0 -8
- package/dist/parser-D0QHIQsi.mjs +0 -8
- package/dist/plugin-WYNORxp1.cjs +0 -68
- package/dist/plugin-YWNVRpws.mjs +0 -68
- package/dist/rolldown-runtime-fkIsjY3S.mjs +0 -6
- package/dist/routes-CyrnmVuG.mjs +0 -6
- package/dist/routes-D6Tuu7Fs.cjs +0 -6
- package/dist/shiki-adapter-CGTmrR6S.cjs +0 -6
- package/dist/shiki-adapter-CXEGRnjr.mjs +0 -6
- package/dist/shiki-adapter-Mr8_oT_9.cjs +0 -6
- package/dist/sidebar-7gIifpBX.d.cts +0 -615
- package/dist/sidebar-BAKgJ-Er.d.ts +0 -615
- package/dist/types-generator-DVOnRVKU.mjs +0 -26
- package/dist/utils-B3xYMrpK.mjs +0 -7
- package/dist/utils-Bz1tG9Dg.cjs +0 -7
- /package/dist/{errors-C0Hx15Ag.mjs → errors-0zGHRLue.mjs} +0 -0
- /package/dist/{errors-Dx6JHoKE.cjs → errors-vKw8CkiX.cjs} +0 -0
- /package/dist/{index-CdJv4ocW.d.mts → index-1KsTDq4o.d.mts} +0 -0
|
@@ -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-
|
|
6
|
+
const e=require(`./chunk-D1Md3oWO.cjs`);let t=require(`node:path`);t=e.r(t);let n=require(`node:fs`);n=e.r(n);var r=e.t({generateProjectTypes:()=>i,writeLinkTree:()=>a});function i(e,r,i=process.cwd(),a){let o=t.default.resolve(i,`.boltdocs`,`generated`);n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let s=e.i18n?Object.keys(e.i18n.locales):[],c=e.versions?e.versions.versions.map(e=>e.path):[],l=s.length>0?s.map(e=>`'${e}'`).join(` | `):`string`,u=c.length>0?c.map(e=>`'${e}'`).join(` | `):`string`,d=[`tsx`,`ts`,`jsx`,`js`],f=``,p=``;for(let e of d){let a=t.default.resolve(i,r,`mdx-components.${e}`);if(n.default.existsSync(a)){let e=t.default.join(i,r,`mdx-components`),n=t.default.relative(o,e).replace(/\\/g,`/`);f=`import type * as MdxComponentsModule from '${n.startsWith(`.`)?n:`./${n}`}'\n`,p=` MdxComponents: typeof MdxComponentsModule`;break}}let m=a&&a.length>0?`\ndeclare global {
|
|
7
7
|
namespace Boltdocs {
|
|
8
8
|
interface RoutePaths {
|
|
9
9
|
${a.map(e=>` '${e}': void`).join(`
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
+
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
import{t as e}from"./chunk-BFSpntXv.mjs";import t from"node:path";import n from"node:fs";var r=e({generateProjectTypes:()=>i,writeLinkTree:()=>a});function i(e,r,i=process.cwd(),a){let o=t.resolve(i,`.boltdocs`,`generated`);n.existsSync(o)||n.mkdirSync(o,{recursive:!0});let s=e.i18n?Object.keys(e.i18n.locales):[],c=e.versions?e.versions.versions.map(e=>e.path):[],l=s.length>0?s.map(e=>`'${e}'`).join(` | `):`string`,u=c.length>0?c.map(e=>`'${e}'`).join(` | `):`string`,d=[`tsx`,`ts`,`jsx`,`js`],f=``,p=``;for(let e of d){let a=t.resolve(i,r,`mdx-components.${e}`);if(n.existsSync(a)){let e=t.join(i,r,`mdx-components`),n=t.relative(o,e).replace(/\\/g,`/`);f=`import type * as MdxComponentsModule from '${n.startsWith(`.`)?n:`./${n}`}'\n`,p=` MdxComponents: typeof MdxComponentsModule`;break}}let m=a&&a.length>0?`\ndeclare global {
|
|
7
|
+
namespace Boltdocs {
|
|
8
|
+
interface RoutePaths {
|
|
9
|
+
${a.map(e=>` '${e}': void`).join(`
|
|
10
|
+
`)}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}`:``,h=`// This file is automatically generated by Boltdocs.
|
|
14
|
+
// Do not edit this file manually.
|
|
15
|
+
|
|
16
|
+
${f}declare global {
|
|
17
|
+
namespace Boltdocs {
|
|
18
|
+
interface Types {
|
|
19
|
+
Locale: ${l}
|
|
20
|
+
Version: ${u}${p?`\n${p}`:``}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}${m}
|
|
24
|
+
|
|
25
|
+
export {}
|
|
26
|
+
`;n.writeFileSync(t.resolve(o,`types.d.ts`),h)}function a(e,r=process.cwd()){let i=t.resolve(r,`.boltdocs`,`generated`);n.existsSync(i)||n.mkdirSync(i,{recursive:!0});let a={routes:Array.from(new Set(e)).sort(),timestamp:Date.now()};n.writeFileSync(t.resolve(i,`link-tree.json`),JSON.stringify(a,null,2))}export{r as n,a as r,i as t};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
+
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
import{r as e}from"./errors-0zGHRLue.mjs";import t from"node:fs";import n from"isomorphic-dompurify";import{z as r}from"zod";import{error as i}from"@bdocs/dui";const a=/^[a-zA-Z0-9\-_/.()[\]]+$/,o=r.looseObject({title:r.string().max(200).optional(),description:r.string().max(500).optional(),permalink:r.string().optional(),sidebarPosition:r.number().optional(),sidebarLabel:r.string().max(100).optional(),sidebarHidden:r.boolean().optional(),hidden:r.boolean().optional(),category:r.string().max(50).optional(),order:r.number().optional(),badge:r.union([r.string().max(50),r.object({text:r.string().max(50),expires:r.string().optional()})]).optional(),icon:r.string().max(50).optional(),date:r.union([r.string(),r.date()]).optional(),lastUpdated:r.union([r.string(),r.date()]).optional(),groupTitle:r.string().max(100).optional(),groupPosition:r.number().optional(),seo:r.record(r.string(),r.any()).optional(),tags:r.array(r.string().max(50)).optional(),author:r.union([r.string().max(100),r.object({name:r.string().max(100),avatar:r.string().optional(),url:r.string().optional(),image:r.string().optional()})]).optional(),draft:r.boolean().optional(),excerpt:r.string().max(500).optional(),coverImage:r.string().nullable().optional()});function s(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return c(r)?{data:{},content:i,rawMatter:r}:{data:l(r),content:i,rawMatter:r}}function c(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function l(e){let t=e.split(`
|
|
7
|
+
`),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=u(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=d(s),r++}else r++}return n}function u(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=d(e.slice(n+1).trim())}}n.push(t)}else{let t={value:e};n.push(t)}}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=d(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=d(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function d(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>d(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=d(e.slice(t+1).trim())}}return n}return t}function f(e){return e.replace(/\\/g,`/`)}function p(e){return e.replace(/^\d+\./,``)}function m(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function h(e){return/\.mdx?$/.test(e)}const g=new Map;function _(e){let n=Date.now(),r=g.get(e);if(r&&n-r.ts<2e3)return r.mtime;try{let r=t.statSync(e).mtimeMs;return g.set(e,{mtime:r,ts:n}),r}catch{return 0}}function v(t,n,r){let{data:i,content:a,rawMatter:c}=s(n);if(c&&c.length>10240)throw D(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:c.length,file:t}),new e(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!r)return{data:i,content:a};let l=o.safeParse(i),u={...l.success?l.data:{}};return u.title&&=w(u.title).trim(),u.description&&=w(u.description).trim(),{data:u,content:a}}async function y(n,r=!0){let i=``;try{i=await t.promises.readFile(n,`utf-8`);let{data:e,content:a}=v(n,i,r);if(r&&!e.lastUpdated)try{e.lastUpdated=(await t.promises.stat(n)).mtimeMs}catch{e.lastUpdated=0}return{data:e,content:a,raw:i}}catch(t){if(t instanceof e)throw t;return{data:{},content:i,raw:i}}}function b(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`)}function x(e){return b(e)}function S(e){let t=f(e).split(`/`).map(e=>E(p(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function C(e){return n.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}n.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function w(e){return e?n.sanitize(e,{ALLOWED_TAGS:[]}).replace(/\s+/g,` `).trim():``}function T(e){return e.charAt(0).toUpperCase()+e.slice(1)}function E(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function D(e,t,n={}){let r=new Date().toISOString(),a={...n};for(let e in a)typeof a[e]==`string`&&a[e].includes(`:`)&&(a[e]=a[e].split(/[\\/]/).pop()||a[e]);i(`[SECURITY][${r}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(a)}`)}function O(){let e=process.env.NODE_ENV!==`production`,t=process.env.BOLTDOCS_CACHE_COMPRESS===void 0?!e:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`;return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:t}}export{o as _,S as a,h as c,y as d,E as f,s as g,p as h,m as i,D as l,w as m,b as n,O as o,C as p,x as r,_ as s,T as t,f as u,a as v};
|
|
@@ -0,0 +1,7 @@
|
|
|
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-D1Md3oWO.cjs`),t=require(`./errors-vKw8CkiX.cjs`);let n=require(`node:fs`);n=e.r(n);let r=require(`isomorphic-dompurify`);r=e.r(r);let i=require(`zod`),a=require(`@bdocs/dui`);const o=/^[a-zA-Z0-9\-_/.()[\]]+$/,s=i.z.looseObject({title:i.z.string().max(200).optional(),description:i.z.string().max(500).optional(),permalink:i.z.string().optional(),sidebarPosition:i.z.number().optional(),sidebarLabel:i.z.string().max(100).optional(),sidebarHidden:i.z.boolean().optional(),hidden:i.z.boolean().optional(),category:i.z.string().max(50).optional(),order:i.z.number().optional(),badge:i.z.union([i.z.string().max(50),i.z.object({text:i.z.string().max(50),expires:i.z.string().optional()})]).optional(),icon:i.z.string().max(50).optional(),date:i.z.union([i.z.string(),i.z.date()]).optional(),lastUpdated:i.z.union([i.z.string(),i.z.date()]).optional(),groupTitle:i.z.string().max(100).optional(),groupPosition:i.z.number().optional(),seo:i.z.record(i.z.string(),i.z.any()).optional(),tags:i.z.array(i.z.string().max(50)).optional(),author:i.z.union([i.z.string().max(100),i.z.object({name:i.z.string().max(100),avatar:i.z.string().optional(),url:i.z.string().optional(),image:i.z.string().optional()})]).optional(),draft:i.z.boolean().optional(),excerpt:i.z.string().max(500).optional(),coverImage:i.z.string().nullable().optional()});function c(e){let t=e.trim();if(!t.startsWith(`---`))return{data:{},content:e,rawMatter:``};let n=t.indexOf(`---`,3);if(n===-1||n===3)return{data:{},content:e,rawMatter:``};let r=t.slice(3,n).trim(),i=t.slice(n+3).trim();return l(r)?{data:{},content:i,rawMatter:r}:{data:u(r),content:i,rawMatter:r}}function l(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r],a=r>0?e[r-1]:``;i===`'`&&!n&&a!==`\\`?t=!t:i===`"`&&!t&&a!==`\\`&&(n=!n)}return t||n}function u(e){let t=e.split(`
|
|
7
|
+
`),n={},r=0;for(;r<t.length;){let e=t[r],i=e.trim();if(!i||i.startsWith(`#`)){r++;continue}let a=i.indexOf(`:`);if(a!==-1){let o=i.slice(0,a).trim(),s=i.slice(a+1).trim();if(s===``){let i=d(t.slice(r+1),e.search(/\S|$/));i.value===void 0?r++:(n[o]=i.value,r+=i.linesConsumed+1)}else n[o]=f(s),r++}else r++}return n}function d(e,t){if(e.length===0)return{value:void 0,linesConsumed:0};if(e[0].trim().startsWith(`-`)){let n=[],r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(o.startsWith(`-`)){let e=o.slice(1).trim();if(e.includes(`:`)){let t={},r=e.split(/,\s*/);for(let e of r){let n=e.indexOf(`:`);if(n!==-1){let r=e.slice(0,n).trim();t[r]=f(e.slice(n+1).trim())}}n.push(t)}else{let t={value:e};n.push(t)}}else if(a>t&&n.length>0){let e=n[n.length-1];if(typeof e==`object`&&e){let t=e,n=o.indexOf(`:`);if(n!==-1){let e=o.slice(0,n).trim();t[e]=f(o.slice(n+1).trim())}}}else break;r++}return{value:n.length>0?n:void 0,linesConsumed:r}}let n={},r=0;for(;r<e.length;){let i=e[r],a=i.search(/\S|$/),o=i.trim();if(!o||o.startsWith(`#`)){r++;continue}if(a<=t)break;let s=o.indexOf(`:`);if(s!==-1){let e=o.slice(0,s).trim();n[e]=f(o.slice(s+1).trim())}r++}return{value:Object.keys(n).length>0?n:void 0,linesConsumed:r}}function f(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;if(t===`null`||t===`~`)return null;if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);if(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))return t.slice(1,-1);if(t.startsWith(`[`)&&t.endsWith(`]`)){let e=t.slice(1,-1).trim();return e?e.split(/,\s*/).map(e=>f(e.trim())):[]}if(t.startsWith(`{`)&&t.endsWith(`}`)){let e=t.slice(1,-1).trim(),n={},r=e.split(/,\s*/);for(let e of r){let t=e.indexOf(`:`);if(t!==-1){let r=e.slice(0,t).trim();n[r]=f(e.slice(t+1).trim())}}return n}return t}function p(e){return e.replace(/\\/g,`/`)}function m(e){return e.replace(/^\d+\./,``)}function h(e){let t=e.match(/^(\d+)\./);return t?parseInt(t[1],10):void 0}function g(e){return/\.mdx?$/.test(e)}const _=new Map;function v(e){let t=Date.now(),r=_.get(e);if(r&&t-r.ts<2e3)return r.mtime;try{let r=n.default.statSync(e).mtimeMs;return _.set(e,{mtime:r,ts:t}),r}catch{return 0}}function y(e,n,r){let{data:i,content:a,rawMatter:o}=c(n);if(o&&o.length>10240)throw O(`FRONTMATTER_TOO_LARGE`,`Frontmatter block exceeds size limit`,{size:o.length,file:e}),new t.r(`Security breach: Frontmatter size exceeds limit of 10240 bytes`);if(!r)return{data:i,content:a};let l=s.safeParse(i),u={...l.success?l.data:{}};return u.title&&=T(u.title).trim(),u.description&&=T(u.description).trim(),{data:u,content:a}}async function b(e,r=!0){let i=``;try{i=await n.default.promises.readFile(e,`utf-8`);let{data:t,content:a}=y(e,i,r);if(r&&!t.lastUpdated)try{t.lastUpdated=(await n.default.promises.stat(e)).mtimeMs}catch{t.lastUpdated=0}return{data:t,content:a,raw:i}}catch(e){if(e instanceof t.r)throw e;return{data:{},content:i,raw:i}}}function x(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`)}function S(e){return x(e)}function C(e){let t=p(e).split(`/`).map(e=>D(m(e))).join(`/`).replace(/\/$/,``);return t=t.replace(/\.mdx?$/,``),(t===`index`||t.endsWith(`/index`))&&(t=t.replace(/index$/,``)),t.startsWith(`/`)||(t=`/`+t),t.length>1&&t.endsWith(`/`)&&(t=t.slice(0,-1)),t}function w(e){return r.default.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.a.p.br.code.pre.span.div.h1.h2.h3.h4.h5.h6.ul.ol.li.table.thead.tbody.tr.th.td.blockquote.hr`.split(`.`),ALLOWED_ATTR:[`href`,`title`,`target`,`class`,`id`,`src`,`alt`,`width`,`height`],FORCE_BODY:!0})}r.default.addHook(`afterSanitizeAttributes`,e=>{if(e.hasAttribute(`href`)){let t=e.getAttribute(`href`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`href`)}if(e.hasAttribute(`src`)){let t=e.getAttribute(`src`)?.toLowerCase()||``;(t.startsWith(`javascript:`)||t.startsWith(`data:`)||t.startsWith(`vbscript:`))&&e.removeAttribute(`src`)}});function T(e){return e?r.default.sanitize(e,{ALLOWED_TAGS:[]}).replace(/\s+/g,` `).trim():``}function E(e){return e.charAt(0).toUpperCase()+e.slice(1)}function D(e){return e.replace(/[^a-zA-Z0-9\-_/.]/g,``).split(`/`).filter(e=>e!==`..`&&e!==`.`).map(e=>e.replace(/\.\.+/g,`.`)).join(`/`)}function O(e,t,n={}){let r=new Date().toISOString(),i={...n};for(let e in i)typeof i[e]==`string`&&i[e].includes(`:`)&&(i[e]=i[e].split(/[\\/]/).pop()||i[e]);(0,a.error)(`[SECURITY][${r}] TYPE: ${e} | MESSAGE: ${t} | DETAILS: ${JSON.stringify(i)}`)}function k(){let e=process.env.NODE_ENV!==`production`,t=process.env.BOLTDOCS_CACHE_COMPRESS===void 0?!e:process.env.BOLTDOCS_CACHE_COMPRESS!==`0`;return{dir:process.env.BOLTDOCS_CACHE_DIR||`.boltdocs/cache`,noCache:process.env.BOLTDOCS_NO_CACHE===`1`,lruLimit:parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||`2000`,10),lruTTL:parseInt(process.env.BOLTDOCS_CACHE_LRU_TTL||`14400000`,10),compress:t}}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return o}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "boltdocs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "A lightweight documentation generator for React projects.",
|
|
5
5
|
"main": "dist/node/index.mjs",
|
|
6
6
|
"module": "dist/node/index.mjs",
|
|
@@ -22,6 +22,16 @@
|
|
|
22
22
|
"import": "./dist/node/index.mjs",
|
|
23
23
|
"require": "./dist/node/index.cjs"
|
|
24
24
|
},
|
|
25
|
+
"./node/cache": {
|
|
26
|
+
"types": "./dist/node/cache.d.ts",
|
|
27
|
+
"import": "./dist/node/cache.mjs",
|
|
28
|
+
"require": "./dist/node/cache.cjs"
|
|
29
|
+
},
|
|
30
|
+
"./node/mdx/shiki-adapter": {
|
|
31
|
+
"types": "./dist/node/mdx/shiki-adapter.d.ts",
|
|
32
|
+
"import": "./dist/node/mdx/shiki-adapter.mjs",
|
|
33
|
+
"require": "./dist/node/mdx/shiki-adapter.cjs"
|
|
34
|
+
},
|
|
25
35
|
"./server": {
|
|
26
36
|
"types": "./dist/server/index.d.ts",
|
|
27
37
|
"import": "./dist/server/index.mjs",
|
|
@@ -64,12 +74,14 @@
|
|
|
64
74
|
"author": "Jesus Alcala",
|
|
65
75
|
"license": "MIT",
|
|
66
76
|
"dependencies": {
|
|
67
|
-
"@bdocs/dui": "^0.
|
|
77
|
+
"@bdocs/dui": "^0.3.0",
|
|
68
78
|
"@mdx-js/rollup": "3.1.1",
|
|
79
|
+
"@shikijs/engine-oniguruma": "3.23.0",
|
|
80
|
+
"@shikijs/langs": "3.23.0",
|
|
81
|
+
"@shikijs/themes": "3.23.0",
|
|
69
82
|
"@tailwindcss/vite": "4.3.0",
|
|
70
83
|
"@vitejs/plugin-react": "6.0.1",
|
|
71
84
|
"cac": "7.0.0",
|
|
72
|
-
"class-variance-authority": "0.7.1",
|
|
73
85
|
"clsx": "2.1.1",
|
|
74
86
|
"fastest-levenshtein": "^1.0.16",
|
|
75
87
|
"fdir": "^6.5.0",
|
|
@@ -78,27 +90,26 @@
|
|
|
78
90
|
"isomorphic-dompurify": "3.7.1",
|
|
79
91
|
"lru-cache": "^11.3.6",
|
|
80
92
|
"picomatch": "^4.0.4",
|
|
81
|
-
"
|
|
93
|
+
"semver": "^7.7.4",
|
|
82
94
|
"react-helmet-async": "^2.0.1",
|
|
83
95
|
"react-router-dom": "^7.0.0",
|
|
84
96
|
"rehype-slug": "6.0.0",
|
|
85
97
|
"remark-frontmatter": "5.0.0",
|
|
86
98
|
"remark-gfm": "4.0.1",
|
|
87
99
|
"scroll-into-view-if-needed": "3.1.0",
|
|
88
|
-
"sharp": "0.34.5",
|
|
89
100
|
"shiki": "3.23.0",
|
|
90
|
-
"svgo": "4.0.1",
|
|
91
101
|
"tailwind-merge": "3.5.0",
|
|
92
|
-
"unist-util-visit": "5.1.0",
|
|
93
102
|
"vite": "7.0.0 || 8.0.0",
|
|
94
103
|
"zod": "4.3.6",
|
|
95
|
-
"@bdocs/parser": "1.
|
|
96
|
-
"@bdocs/
|
|
97
|
-
"@bdocs/
|
|
104
|
+
"@bdocs/parser": "1.1.0",
|
|
105
|
+
"@bdocs/plugin-image-optimizer": "0.2.1",
|
|
106
|
+
"@bdocs/ssg": "0.3.0",
|
|
107
|
+
"@bdocs/unist-utils": "0.2.0"
|
|
98
108
|
},
|
|
99
109
|
"peerDependencies": {
|
|
100
110
|
"react": "19.0.0",
|
|
101
|
-
"react-dom": "19.0.0"
|
|
111
|
+
"react-dom": "19.0.0",
|
|
112
|
+
"react-aria-components": "^1.16.0"
|
|
102
113
|
},
|
|
103
114
|
"devDependencies": {
|
|
104
115
|
"@netlify/functions": "^5.3.0",
|
|
@@ -112,9 +123,12 @@
|
|
|
112
123
|
"@types/semver": "7.7.1",
|
|
113
124
|
"@vercel/node": "^5.8.12",
|
|
114
125
|
"jsdom": "^24.1.0",
|
|
126
|
+
"react-aria-components": "1.16.0",
|
|
127
|
+
"tailwindcss": "^4.3.0",
|
|
115
128
|
"tsdown": "0.21.7",
|
|
116
129
|
"typescript": "5.9.3",
|
|
117
|
-
"vitest": "^3.0.0"
|
|
130
|
+
"vitest": "^3.0.0",
|
|
131
|
+
"@bdocs/processor-satteri": "0.2.0"
|
|
118
132
|
},
|
|
119
133
|
"scripts": {
|
|
120
134
|
"build": "tsdown --config-loader unrun",
|