boltdocs 3.3.1 → 3.3.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/{adapters-BmB4TKCc.mjs → adapters-BKzKe2mO.mjs} +1 -1
- package/dist/{adapters-Cp1Maurn.cjs → adapters-DwDTQoCG.cjs} +1 -1
- package/dist/{audit-COgjnQ5n.cjs → audit-CHkGiV3c.cjs} +1 -1
- package/dist/{audit-CLXjMzwQ.mjs → audit-CMc_ydRr.mjs} +1 -1
- package/dist/{build-D6FfNA8m.cjs → build-Dh61OnDW.cjs} +1 -1
- package/dist/{build-D_7SvwTh.mjs → build-WmZDi-TG.mjs} +1 -1
- package/dist/client/index.cjs +37 -3
- package/dist/client/index.d.cts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +36 -3
- package/dist/client/primitives.d.cts +2 -2
- package/dist/client/primitives.d.ts +2 -2
- package/dist/client/router.d.cts +1 -1
- package/dist/client/router.d.ts +1 -1
- package/dist/client/theme/reset.css +31 -13
- package/dist/config-CrsQJHQz.cjs +7 -0
- package/dist/config-DC0nMMk7.mjs +7 -0
- package/dist/{config-jJh8WYJI.cjs → config-PLvresCv.cjs} +1 -1
- package/dist/{dev-CwOyh-wP.mjs → dev-BObyQM9q.mjs} +1 -1
- package/dist/{dev-B9l7fVoQ.cjs → dev-wKVrEH6o.cjs} +1 -1
- package/dist/{doctor-C7whl4ED.cjs → doctor-DMECtdK6.cjs} +1 -1
- package/dist/{doctor-B1_YL0Wt.cjs → doctor-FuFY1jBz.cjs} +1 -1
- package/dist/{doctor-DmQnml2k.mjs → doctor-i8Qmd8DJ.mjs} +1 -1
- package/dist/{index-C56bL-A-.d.cts → index-CSiMUBhC.d.cts} +7 -1
- package/dist/{index-Cu9H6CRa.d.ts → index-Cg3TmXIZ.d.ts} +7 -1
- package/dist/{index-CPUUKzxD.d.cts → index-CgWkOCCn.d.cts} +82 -6
- package/dist/{index-Ci4kfOHF.d.ts → index-CuNSD3E2.d.ts} +82 -6
- package/dist/{native-Kre2T5eS.cjs → native-nLA4Jr0T.cjs} +1 -1
- package/dist/node/cli-entry.cjs +1 -1
- package/dist/node/cli-entry.mjs +1 -1
- package/dist/node/highlight.cjs +6 -0
- package/dist/node/highlight.d.cts +5 -0
- package/dist/node/highlight.d.mts +5 -0
- package/dist/node/highlight.mjs +6 -0
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.cts +37 -3
- package/dist/node/index.d.mts +38 -4
- package/dist/node/index.mjs +1 -1
- package/dist/node/mdx/shiki-adapter.cjs +1 -1
- package/dist/node/mdx/shiki-adapter.d.cts +48 -32
- package/dist/node/mdx/shiki-adapter.d.mts +48 -32
- package/dist/node/mdx/shiki-adapter.mjs +1 -1
- package/dist/node-B4GvEOqF.cjs +23 -0
- package/dist/node-DwgtnlGU.mjs +23 -0
- package/dist/{package-5EsGUTVl.mjs → package-DWYDpDWO.mjs} +1 -1
- package/dist/package-xYC9zF1o.cjs +6 -0
- package/dist/{parser-CGMY2lJ7.mjs → parser-CD8Oo8qh.mjs} +1 -1
- package/dist/{parser-BqTOsEUa.cjs → parser-vPaKvzLp.cjs} +1 -1
- package/dist/plugin-CxlOHnaa.cjs +69 -0
- package/dist/plugin-VpWRKnmN.mjs +69 -0
- package/dist/{plugin-context-wqHNSZum.mjs → plugin-context-BKK-nfOd.mjs} +1 -1
- package/dist/{plugin-context-C-l90hFt.cjs → plugin-context-BxF88sW4.cjs} +1 -1
- package/dist/{plugin-lifecycle-BAKNKOxd.cjs → plugin-lifecycle-mhRaVBY8.cjs} +1 -1
- package/dist/registry-BbB6NqSv.d.cts +44 -0
- package/dist/registry-CHh8A5as.mjs +6 -0
- package/dist/registry-DLJIooEu.cjs +6 -0
- package/dist/registry-sJqDv0kE.d.mts +44 -0
- package/dist/{resolve-B7vWOd8R.cjs → resolve-BelytNYR.cjs} +1 -1
- package/dist/{resolve-C2kKnk_5.mjs → resolve-C5rT6B21.mjs} +1 -1
- package/dist/{routes-U9L8psZ9.cjs → routes-C0kb4ue6.cjs} +1 -1
- package/dist/{routes-C2nPecwu.cjs → routes-C3_w9fLX.cjs} +1 -1
- package/dist/{routes-BL4y79tb.mjs → routes-C4wrLWwu.mjs} +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/{config-BoRlz0Ca.d.mts → types-Db6zToZH.d.mts} +83 -32
- package/dist/{config-CTsX_tGM.d.cts → types-o7iZ2BAR.d.cts} +84 -33
- package/dist/virtual-modules-XBiJoTsp.mjs +39 -0
- package/dist/virtual-modules-hndVivLR.cjs +39 -0
- package/package.json +10 -5
- package/src/shared/types.ts +92 -1
- package/dist/config-Ceib-AOH.cjs +0 -7
- package/dist/config-DGLQsy7y.mjs +0 -7
- package/dist/node-BFNCsPs3.mjs +0 -23
- package/dist/node-TpmWEqXM.cjs +0 -23
- package/dist/package-Ca2WSiy2.cjs +0 -6
- package/dist/plugin-CUmUZOLD.mjs +0 -69
- package/dist/plugin-Ds3RLYpy.cjs +0 -69
- package/dist/virtual-modules-Ca5tHk1X.cjs +0 -30
- package/dist/virtual-modules-Dlgt1fP0.mjs +0 -30
- /package/dist/{config-files-BYHDOrKn.mjs → config-files-DfwZ3Wot.mjs} +0 -0
- /package/dist/{config-files-D9cdBMl2.cjs → config-files-ph2ZtHWl.cjs} +0 -0
- /package/dist/{csp-C4LmN1ko.cjs → csp-BiGAG8aF.cjs} +0 -0
- /package/dist/{csp-D6JEOqKh.mjs → csp-D0BOH8ae.mjs} +0 -0
- /package/dist/{generator-BlW45ST7.cjs → generator-BCrZL53x.cjs} +0 -0
- /package/dist/{generator-BwknNejd.mjs → generator-CFukoGa0.mjs} +0 -0
- /package/dist/{handler-CDEoKARD.cjs → handler-Ch-Q9NAB.cjs} +0 -0
- /package/dist/{handler-D7UyZlPm.mjs → handler-Lex5DbvG.mjs} +0 -0
- /package/dist/{index-lFoyzCXy.d.mts → index-HAwIo4nZ.d.mts} +0 -0
- /package/dist/{native-BNCY7PRF.cjs → native-BOet8hpE.cjs} +0 -0
- /package/dist/{native-Di9Fnfrv.mjs → native-BYKMke79.mjs} +0 -0
- /package/dist/{resolve-YdTrt_FG.mjs → resolve-C8AFoOQL.mjs} +0 -0
- /package/dist/{resolve-It1Iug83.cjs → resolve-C9jGArE_.cjs} +0 -0
- /package/dist/{types-generator-DG1GX1EZ.mjs → types-generator-BtZ6-ZKx.mjs} +0 -0
- /package/dist/{types-generator-DDSA93P3.cjs → types-generator-C83Iy6X5.cjs} +0 -0
- /package/dist/{update-check-QnrVR3q1.mjs → update-check-BXD1atVv.mjs} +0 -0
- /package/dist/{update-check-BKqmYfwT.cjs → update-check-DFQZyoSU.cjs} +0 -0
package/dist/node/cli-entry.cjs
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* Copyright (c) 2026 Jesus Alcala
|
|
5
5
|
* Licensed under the MIT License.
|
|
6
6
|
*/
|
|
7
|
-
const e=require(`../chunk-D1Md3oWO.cjs`);let t=require(`node:path`);t=e.r(t);let n=require(`node:fs`);n=e.r(n);let r=require(`node:fs/promises`);r=e.r(r);let i=require(`node:module`),a=require(`cac`);a=e.r(a);function o(e){let r=e;for(;r&&r!==t.default.dirname(r);){if(n.default.existsSync(t.default.join(r,`.git`))||n.default.existsSync(t.default.join(r,`pnpm-workspace.yaml`)))return r;r=t.default.dirname(r)}r=e;let i=e;for(;r&&r!==t.default.dirname(r);)n.default.existsSync(t.default.join(r,`package.json`))&&(i=r),r=t.default.dirname(r);return i}let s=o(process.cwd());function c(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.default.resolve(s,n),i=t.default.relative(s,r),a=i.startsWith(`..`)||t.default.isAbsolute(i),o=r.split(t.default.sep),c=o.some(e=>e.startsWith(`.env`)),l=o.some((e,t)=>{if(e===`node_modules`){let e=o[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function l(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function u(){let e=n.default.writeFile;n.default.writeFile=((t,...r)=>{try{c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n.default,t,...r)});let t=n.default.writeFileSync;n.default.writeFileSync=(e,...r)=>(c(e),t.call(n.default,e,...r));let i=n.default.rm;n.default.rm=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n.default,e,...t)});let a=n.default.rmSync;n.default.rmSync=(e,...t)=>(c(e),a.call(n.default,e,...t));let o=n.default.unlink;n.default.unlink=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n.default,e,...t)});let s=n.default.unlinkSync;n.default.unlinkSync=(e,...t)=>(c(e),s.call(n.default,e,...t));let u=n.default.mkdir;n.default.mkdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n.default,e,...t)});let d=n.default.mkdirSync;n.default.mkdirSync=(e,...t)=>(c(e),d.call(n.default,e,...t));let f=n.default.rmdir;n.default.rmdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n.default,e,...t)});let p=n.default.rmdirSync;n.default.rmdirSync=(e,...t)=>(c(e),p.call(n.default,e,...t));let m=n.default.appendFile;n.default.appendFile=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n.default,e,...t)});let h=n.default.appendFileSync;n.default.appendFileSync=(e,...t)=>(c(e),h.call(n.default,e,...t));let g=n.default.copyFile;n.default.copyFile=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n.default,e,t,...r)});let _=n.default.copyFileSync;n.default.copyFileSync=(e,t,...r)=>(c(e),c(t),_.call(n.default,e,t,...r));let v=n.default.rename;n.default.rename=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n.default,e,t,...r)});let y=n.default.renameSync;n.default.renameSync=(e,t,...r)=>(c(e),c(t),y.call(n.default,e,t,...r));let b=n.default.createWriteStream;n.default.createWriteStream=(e,...t)=>(c(e),b.call(n.default,e,...t));let x=n.default.open;n.default.open=((e,t,...r)=>{if(l(typeof t==`function`?void 0:t))try{c(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n.default,e,t,...r)});let S=n.default.openSync;n.default.openSync=(e,t,...r)=>(l(t)&&c(e),S.call(n.default,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(c(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(c(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(c(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(c(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(c(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(c(t),o.call(e,t,...n)));let s=e.copyFile;s&&(e.copyFile=async(t,n,...r)=>(c(t),c(n),s.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(c(t),c(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(l(n)&&c(t),d.call(e,t,n,...r)))};C(n.default.promises),C(r.default)}const{emitWarning:d}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(d,process,[e,...t])},u();const f=[`theme`,`dev`].join(`:`);let p=!1;async function m(){if(p)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),p=!0}const h=(0,a.default)(`boltdocs`);h.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await m();let{devAction:t}=await Promise.resolve().then(()=>require(`../dev-
|
|
7
|
+
const e=require(`../chunk-D1Md3oWO.cjs`);let t=require(`node:path`);t=e.r(t);let n=require(`node:fs`);n=e.r(n);let r=require(`node:fs/promises`);r=e.r(r);let i=require(`node:module`),a=require(`cac`);a=e.r(a);function o(e){let r=e;for(;r&&r!==t.default.dirname(r);){if(n.default.existsSync(t.default.join(r,`.git`))||n.default.existsSync(t.default.join(r,`pnpm-workspace.yaml`)))return r;r=t.default.dirname(r)}r=e;let i=e;for(;r&&r!==t.default.dirname(r);)n.default.existsSync(t.default.join(r,`package.json`))&&(i=r),r=t.default.dirname(r);return i}let s=o(process.cwd());function c(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.default.resolve(s,n),i=t.default.relative(s,r),a=i.startsWith(`..`)||t.default.isAbsolute(i),o=r.split(t.default.sep),c=o.some(e=>e.startsWith(`.env`)),l=o.some((e,t)=>{if(e===`node_modules`){let e=o[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function l(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function u(){let e=n.default.writeFile;n.default.writeFile=((t,...r)=>{try{c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n.default,t,...r)});let t=n.default.writeFileSync;n.default.writeFileSync=(e,...r)=>(c(e),t.call(n.default,e,...r));let i=n.default.rm;n.default.rm=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n.default,e,...t)});let a=n.default.rmSync;n.default.rmSync=(e,...t)=>(c(e),a.call(n.default,e,...t));let o=n.default.unlink;n.default.unlink=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n.default,e,...t)});let s=n.default.unlinkSync;n.default.unlinkSync=(e,...t)=>(c(e),s.call(n.default,e,...t));let u=n.default.mkdir;n.default.mkdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n.default,e,...t)});let d=n.default.mkdirSync;n.default.mkdirSync=(e,...t)=>(c(e),d.call(n.default,e,...t));let f=n.default.rmdir;n.default.rmdir=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n.default,e,...t)});let p=n.default.rmdirSync;n.default.rmdirSync=(e,...t)=>(c(e),p.call(n.default,e,...t));let m=n.default.appendFile;n.default.appendFile=((e,...t)=>{try{c(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n.default,e,...t)});let h=n.default.appendFileSync;n.default.appendFileSync=(e,...t)=>(c(e),h.call(n.default,e,...t));let g=n.default.copyFile;n.default.copyFile=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n.default,e,t,...r)});let _=n.default.copyFileSync;n.default.copyFileSync=(e,t,...r)=>(c(e),c(t),_.call(n.default,e,t,...r));let v=n.default.rename;n.default.rename=((e,t,...r)=>{try{c(e),c(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n.default,e,t,...r)});let y=n.default.renameSync;n.default.renameSync=(e,t,...r)=>(c(e),c(t),y.call(n.default,e,t,...r));let b=n.default.createWriteStream;n.default.createWriteStream=(e,...t)=>(c(e),b.call(n.default,e,...t));let x=n.default.open;n.default.open=((e,t,...r)=>{if(l(typeof t==`function`?void 0:t))try{c(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n.default,e,t,...r)});let S=n.default.openSync;n.default.openSync=(e,t,...r)=>(l(t)&&c(e),S.call(n.default,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(c(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(c(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(c(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(c(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(c(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(c(t),o.call(e,t,...n)));let s=e.copyFile;s&&(e.copyFile=async(t,n,...r)=>(c(t),c(n),s.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(c(t),c(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(l(n)&&c(t),d.call(e,t,n,...r)))};C(n.default.promises),C(r.default)}const{emitWarning:d}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(d,process,[e,...t])},u();try{Promise.resolve().then(()=>import(`node:module`)).then(({enableCompileCache:e})=>{typeof e==`function`&&e()}).catch(()=>{})}catch{}const f=[`theme`,`dev`].join(`:`);let p=!1;async function m(){if(p)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),p=!0}const h=(0,a.default)(`boltdocs`);h.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await m();let{devAction:t}=await Promise.resolve().then(()=>require(`../dev-wKVrEH6o.cjs`));return t(...e)}),h.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===f)throw Error(`Unknown command: ${f}`);await m();let{devAction:n}=await Promise.resolve().then(()=>require(`../dev-wKVrEH6o.cjs`));return n(e,t)}),h.command(`build [root]`,`Build for production`).action(async(...e)=>{await m();let{buildAction:t}=await Promise.resolve().then(()=>require(`../build-Dh61OnDW.cjs`));return t(...e)}),h.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await m();let{previewAction:t}=await Promise.resolve().then(()=>require(`../build-Dh61OnDW.cjs`));return t(...e)}),h.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await Promise.resolve().then(()=>require(`../audit-CHkGiV3c.cjs`));return t(...e)}),h.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await m();let{doctorAction:n}=await Promise.resolve().then(()=>require(`../doctor-FuFY1jBz.cjs`));await n(e,t)}),h.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await m();let{generateChangelog:n}=await Promise.resolve().then(()=>require(`../generator-BCrZL53x.cjs`));await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const g=(0,i.createRequire)(require(`url`).pathToFileURL(__filename).href)(`../../package.json`);h.version(g.version),h.parse();
|
package/dist/node/cli-entry.mjs
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* Copyright (c) 2026 Jesus Alcala
|
|
5
5
|
* Licensed under the MIT License.
|
|
6
6
|
*/
|
|
7
|
-
import{createRequire as e}from"node:module";import t from"node:path";import n from"node:fs";import r from"node:fs/promises";import i from"cac";function a(e){let r=e;for(;r&&r!==t.dirname(r);){if(n.existsSync(t.join(r,`.git`))||n.existsSync(t.join(r,`pnpm-workspace.yaml`)))return r;r=t.dirname(r)}r=e;let i=e;for(;r&&r!==t.dirname(r);)n.existsSync(t.join(r,`package.json`))&&(i=r),r=t.dirname(r);return i}let o=a(process.cwd());function s(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.resolve(o,n),i=t.relative(o,r),a=i.startsWith(`..`)||t.isAbsolute(i),s=r.split(t.sep),c=s.some(e=>e.startsWith(`.env`)),l=s.some((e,t)=>{if(e===`node_modules`){let e=s[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function c(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function l(){let e=n.writeFile;n.writeFile=((t,...r)=>{try{s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n,t,...r)});let t=n.writeFileSync;n.writeFileSync=(e,...r)=>(s(e),t.call(n,e,...r));let i=n.rm;n.rm=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n,e,...t)});let a=n.rmSync;n.rmSync=(e,...t)=>(s(e),a.call(n,e,...t));let o=n.unlink;n.unlink=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n,e,...t)});let l=n.unlinkSync;n.unlinkSync=(e,...t)=>(s(e),l.call(n,e,...t));let u=n.mkdir;n.mkdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n,e,...t)});let d=n.mkdirSync;n.mkdirSync=(e,...t)=>(s(e),d.call(n,e,...t));let f=n.rmdir;n.rmdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n,e,...t)});let p=n.rmdirSync;n.rmdirSync=(e,...t)=>(s(e),p.call(n,e,...t));let m=n.appendFile;n.appendFile=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n,e,...t)});let h=n.appendFileSync;n.appendFileSync=(e,...t)=>(s(e),h.call(n,e,...t));let g=n.copyFile;n.copyFile=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n,e,t,...r)});let _=n.copyFileSync;n.copyFileSync=(e,t,...r)=>(s(e),s(t),_.call(n,e,t,...r));let v=n.rename;n.rename=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n,e,t,...r)});let y=n.renameSync;n.renameSync=(e,t,...r)=>(s(e),s(t),y.call(n,e,t,...r));let b=n.createWriteStream;n.createWriteStream=(e,...t)=>(s(e),b.call(n,e,...t));let x=n.open;n.open=((e,t,...r)=>{if(c(typeof t==`function`?void 0:t))try{s(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n,e,t,...r)});let S=n.openSync;n.openSync=(e,t,...r)=>(c(t)&&s(e),S.call(n,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(s(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(s(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(s(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(s(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(s(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(s(t),o.call(e,t,...n)));let l=e.copyFile;l&&(e.copyFile=async(t,n,...r)=>(s(t),s(n),l.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(s(t),s(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(c(n)&&s(t),d.call(e,t,n,...r)))};C(n.promises),C(r)}const{emitWarning:u}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(u,process,[e,...t])},l();const d=[`theme`,`dev`].join(`:`);let f=!1;async function p(){if(f)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),f=!0}const m=i(`boltdocs`);m.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await p();let{devAction:t}=await import(`../dev-
|
|
7
|
+
import{createRequire as e}from"node:module";import t from"node:path";import n from"node:fs";import r from"node:fs/promises";import i from"cac";function a(e){let r=e;for(;r&&r!==t.dirname(r);){if(n.existsSync(t.join(r,`.git`))||n.existsSync(t.join(r,`pnpm-workspace.yaml`)))return r;r=t.dirname(r)}r=e;let i=e;for(;r&&r!==t.dirname(r);)n.existsSync(t.join(r,`package.json`))&&(i=r),r=t.dirname(r);return i}let o=a(process.cwd());function s(e){if(!e)return;let n;if(typeof e==`string`)n=e;else if(e instanceof URL){if(e.protocol!==`file:`)return;n=e.pathname}else if(Buffer.isBuffer(e))n=e.toString();else return;let r=t.resolve(o,n),i=t.relative(o,r),a=i.startsWith(`..`)||t.isAbsolute(i),s=r.split(t.sep),c=s.some(e=>e.startsWith(`.env`)),l=s.some((e,t)=>{if(e===`node_modules`){let e=s[t+1];return!e||!e.startsWith(`.`)}return!1});if(a||c||l)throw Error(`[Boltdocs Security] Write/delete operation blocked on path: "${r}". Modifications are restricted to the project root, and cannot access .env or non-cache node_modules folders.`)}function c(e){return e==null?!1:typeof e==`number`?e!==0:typeof e==`string`?e.includes(`w`)||e.includes(`a`)||e.includes(`+`):!0}function l(){let e=n.writeFile;n.writeFile=((t,...r)=>{try{s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return e.call(n,t,...r)});let t=n.writeFileSync;n.writeFileSync=(e,...r)=>(s(e),t.call(n,e,...r));let i=n.rm;n.rm=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return i.call(n,e,...t)});let a=n.rmSync;n.rmSync=(e,...t)=>(s(e),a.call(n,e,...t));let o=n.unlink;n.unlink=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return o.call(n,e,...t)});let l=n.unlinkSync;n.unlinkSync=(e,...t)=>(s(e),l.call(n,e,...t));let u=n.mkdir;n.mkdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return u.call(n,e,...t)});let d=n.mkdirSync;n.mkdirSync=(e,...t)=>(s(e),d.call(n,e,...t));let f=n.rmdir;n.rmdir=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return f.call(n,e,...t)});let p=n.rmdirSync;n.rmdirSync=(e,...t)=>(s(e),p.call(n,e,...t));let m=n.appendFile;n.appendFile=((e,...t)=>{try{s(e)}catch(e){let n=t[t.length-1];if(typeof n==`function`){process.nextTick(()=>n(e));return}throw e}return m.call(n,e,...t)});let h=n.appendFileSync;n.appendFileSync=(e,...t)=>(s(e),h.call(n,e,...t));let g=n.copyFile;n.copyFile=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return g.call(n,e,t,...r)});let _=n.copyFileSync;n.copyFileSync=(e,t,...r)=>(s(e),s(t),_.call(n,e,t,...r));let v=n.rename;n.rename=((e,t,...r)=>{try{s(e),s(t)}catch(e){let t=r[r.length-1];if(typeof t==`function`){process.nextTick(()=>t(e));return}throw e}return v.call(n,e,t,...r)});let y=n.renameSync;n.renameSync=(e,t,...r)=>(s(e),s(t),y.call(n,e,t,...r));let b=n.createWriteStream;n.createWriteStream=(e,...t)=>(s(e),b.call(n,e,...t));let x=n.open;n.open=((e,t,...r)=>{if(c(typeof t==`function`?void 0:t))try{s(e)}catch(e){let n=r[r.length-1],i=typeof t==`function`?t:typeof n==`function`?n:void 0;if(i){process.nextTick(()=>i(e));return}throw e}return x.call(n,e,t,...r)});let S=n.openSync;n.openSync=(e,t,...r)=>(c(t)&&s(e),S.call(n,e,t,...r));let C=e=>{if(!e)return;let t=e.writeFile;t&&(e.writeFile=async(n,...r)=>(s(n),t.call(e,n,...r)));let n=e.rm;n&&(e.rm=async(t,...r)=>(s(t),n.call(e,t,...r)));let r=e.mkdir;r&&(e.mkdir=async(t,...n)=>(s(t),r.call(e,t,...n)));let i=e.rmdir;i&&(e.rmdir=async(t,...n)=>(s(t),i.call(e,t,...n)));let a=e.unlink;a&&(e.unlink=async(t,...n)=>(s(t),a.call(e,t,...n)));let o=e.appendFile;o&&(e.appendFile=async(t,...n)=>(s(t),o.call(e,t,...n)));let l=e.copyFile;l&&(e.copyFile=async(t,n,...r)=>(s(t),s(n),l.call(e,t,n,...r)));let u=e.rename;u&&(e.rename=async(t,n,...r)=>(s(t),s(n),u.call(e,t,n,...r)));let d=e.open;d&&(e.open=async(t,n,...r)=>(c(n)&&s(t),d.call(e,t,n,...r)))};C(n.promises),C(r)}const{emitWarning:u}=process;process.emitWarning=(e,...t)=>{let n=e?.code;if(!(e&&typeof e==`object`&&n===`DEP0205`)&&!(typeof e==`string`&&t.includes(`DEP0205`)))return Reflect.apply(u,process,[e,...t])},l();try{Promise.resolve().then(()=>import(`node:module`)).then(({enableCompileCache:e})=>{typeof e==`function`&&e()}).catch(()=>{})}catch{}const d=[`theme`,`dev`].join(`:`);let f=!1;async function p(){if(f)return;let{configure:e}=await import(`@bdocs/dui`);e({prefix:`boltdocs`}),f=!0}const m=i(`boltdocs`);m.command(`dev [root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(...e)=>{await p();let{devAction:t}=await import(`../dev-BObyQM9q.mjs`);return t(...e)}),m.command(`[root]`,`Start development server`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).option(`--force`,`Force Vite to re-optimize dependencies`).action(async(e=process.cwd(),t)=>{if(e===d)throw Error(`Unknown command: ${d}`);await p();let{devAction:n}=await import(`../dev-BObyQM9q.mjs`);return n(e,t)}),m.command(`build [root]`,`Build for production`).action(async(...e)=>{await p();let{buildAction:t}=await import(`../build-WmZDi-TG.mjs`);return t(...e)}),m.command(`preview [root]`,`Preview production build`).option(`--port <port>`,`Port to listen on`).option(`--host [host]`,`Host to bind to`).action(async(...e)=>{await p();let{previewAction:t}=await import(`../build-WmZDi-TG.mjs`);return t(...e)}),m.command(`audit [root]`,`Audit configured plugins for security warnings`).action(async(...e)=>{let{auditAction:t}=await import(`../audit-CMc_ydRr.mjs`);return t(...e)}),m.command(`doctor [root]`,`Check the health of your documentation`).option(`--fix`,`Automatically fix broken internal links and sync translations`).option(`--check-external`,`Verify external links (slower)`).option(`--init`,`Initialize doctor.json with default configuration`).option(`--budget`,`Check build performance against configured budgets`).action(async(e,t)=>{await p();let{doctorAction:n}=await import(`../doctor-i8Qmd8DJ.mjs`).then(e=>e.t);await n(e,t)}),m.command(`generate-changelog <file>`,`Generate changelog documentation from CHANGELOG.md`).option(`-o, --output <path>`,`Output folder (default: docs/changelog)`,{default:`docs/changelog`}).option(`-t, --title <text>`,`Title for changelog pages`,{default:`Changelog`}).option(`--infer-tab`,`Infer tab from folder name (default: true)`,{default:!0}).option(`-l, --limit <number>`,`Limit number of versions to generate`).option(`--type <"major"|"minor"|"patch">`,`Filter by version type (major, minor, or patch)`).action(async(e,t)=>{await p();let{generateChangelog:n}=await import(`../generator-CFukoGa0.mjs`);await n(e,{output:t.output,title:t.title,inferTab:t.inferTab,limit:t.limit?parseInt(String(t.limit),10):void 0,type:t.type})});const h=e(import.meta.url)(`../../package.json`);m.version(h.version),m.parse();export{};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
+
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../chunk-D1Md3oWO.cjs`);const e=require(`../registry-DLJIooEu.cjs`);let t=require(`@bdocs/unist-utils`);exports.BUILTIN_HIGHLIGHTERS=e.t,exports.DEFAULT_HIGHLIGHTER=e.n,exports.getCodeHighlighterAdapter=e.r,exports.getHighlighterNames=e.i,exports.isHighlighterRegistered=e.a,Object.defineProperty(exports,`normalizeCodeHighlightConfig`,{enumerable:!0,get:function(){return t.normalizeCodeHighlightConfig}}),exports.prewarmCodeHighlighting=e.o,exports.prewarmHighlighter=e.s,exports.registerHighlighter=e.c;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
import { a as CodeHighlightConfig, c as CodeHighlighterRuntime, l as CodeTheme, o as CodeHighlighterAdapter, s as CodeHighlighterEngine } from "../types-o7iZ2BAR.cjs";
|
|
3
|
+
import { a as getHighlighterNames, c as prewarmHighlighter, i as getCodeHighlighterAdapter, l as registerHighlighter, n as DEFAULT_HIGHLIGHTER, o as isHighlighterRegistered, r as HighlighterFactory, s as prewarmCodeHighlighting, t as BUILTIN_HIGHLIGHTERS } from "../registry-BbB6NqSv.cjs";
|
|
4
|
+
import { normalizeCodeHighlightConfig } from "@bdocs/unist-utils";
|
|
5
|
+
export { BUILTIN_HIGHLIGHTERS, type CodeHighlightConfig, type CodeHighlighterAdapter, type CodeHighlighterEngine, type CodeHighlighterRuntime, type CodeTheme, DEFAULT_HIGHLIGHTER, type HighlighterFactory, getCodeHighlighterAdapter, getHighlighterNames, isHighlighterRegistered, normalizeCodeHighlightConfig, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
import { a as CodeHighlightConfig, c as CodeHighlighterRuntime, l as CodeTheme, o as CodeHighlighterAdapter, s as CodeHighlighterEngine } from "../types-Db6zToZH.mjs";
|
|
3
|
+
import { a as getHighlighterNames, c as prewarmHighlighter, i as getCodeHighlighterAdapter, l as registerHighlighter, n as DEFAULT_HIGHLIGHTER, o as isHighlighterRegistered, r as HighlighterFactory, s as prewarmCodeHighlighting, t as BUILTIN_HIGHLIGHTERS } from "../registry-sJqDv0kE.mjs";
|
|
4
|
+
import { normalizeCodeHighlightConfig } from "@bdocs/unist-utils";
|
|
5
|
+
export { BUILTIN_HIGHLIGHTERS, type CodeHighlightConfig, type CodeHighlighterAdapter, type CodeHighlighterEngine, type CodeHighlighterRuntime, type CodeTheme, DEFAULT_HIGHLIGHTER, type HighlighterFactory, getCodeHighlighterAdapter, getHighlighterNames, isHighlighterRegistered, normalizeCodeHighlightConfig, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boltdocs - https://boltdocs.vercel.app
|
|
3
|
+
* Copyright (c) 2026 Jesus Alcala
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
import{a as e,c as t,i as n,n as r,o as i,r as a,s as o,t as s}from"../registry-CHh8A5as.mjs";import{normalizeCodeHighlightConfig as c}from"@bdocs/unist-utils";export{s as BUILTIN_HIGHLIGHTERS,r as DEFAULT_HIGHLIGHTER,a as getCodeHighlighterAdapter,n as getHighlighterNames,e as isHighlighterRegistered,c as normalizeCodeHighlightConfig,i as prewarmCodeHighlighting,o as prewarmHighlighter,t as registerHighlighter};
|
package/dist/node/index.cjs
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../node-
|
|
6
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../chunk-D1Md3oWO.cjs`);const e=require(`../node-B4GvEOqF.cjs`),t=require(`../utils-ej6_SjIZ.cjs`),n=require(`../plugin-context-BxF88sW4.cjs`),r=require(`./cache.cjs`),i=require(`../routes-C0kb4ue6.cjs`),a=require(`../config-CrsQJHQz.cjs`),o=require(`../registry-DLJIooEu.cjs`),s=require(`../handler-Ch-Q9NAB.cjs`),c=require(`../adapters-DwDTQoCG.cjs`);let l=require(`@bdocs/unist-utils`);exports.BUILTIN_HIGHLIGHTERS=o.t,exports.BoltdocsPluginStore=e.d,exports.DEFAULT_HIGHLIGHTER=o.n,exports.PluginCompatibilityError=e.f,exports.PluginError=e.p,exports.PluginHookError=e.m,exports.PluginLifecycleManager=e.o,exports.PluginValidationError=e.h,exports.createArticleStructuredData=e.g,exports.createBreadcrumbStructuredData=e._,exports.createPlugin=e.i,exports.createStructuredData=e.v,exports.createViteConfig=e.n,exports.createWebSiteStructuredData=e.y,exports.default=e.t,exports.defineConfig=a.r,exports.definePlugin=e.a,exports.defineStructuredData=e.b,exports.flushCache=r.flushCache,exports.generateEntryCode=n.g,exports.generateRoutes=i.t,exports.getCodeHighlighterAdapter=o.r,exports.getHighlighterNames=o.i,exports.handleAwsFeedback=c.t,exports.handleFeedback=s.t,exports.handleNetlifyFeedback=c.r,exports.handleVercelFeedback=c.i,exports.handleWebFeedback=c.n,exports.invalidateRouteCache=i.i,exports.isHighlighterRegistered=o.a,Object.defineProperty(exports,`normalizeCodeHighlightConfig`,{enumerable:!0,get:function(){return l.normalizeCodeHighlightConfig}}),exports.normalizePath=t.u,exports.prewarmCodeHighlighting=o.o,exports.prewarmHighlighter=o.s,exports.registerHighlighter=o.c,exports.registerPluginHighlighter=o.l,exports.resolveConfig=a.t,exports.resolvePluginHook=e.s,exports.sanitizeFilename=t.f,exports.validatePlugins=e.u,Object.keys(l).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return l[e]}})});
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
|
|
2
2
|
import { FileCache, flushCache } from "./cache.cjs";
|
|
3
3
|
import { i as handleVercelFeedback, n as handleWebFeedback, r as handleNetlifyFeedback, t as handleAwsFeedback } from "../index-aWC0KjDF.cjs";
|
|
4
|
-
import { C as StructuredData, _ as
|
|
4
|
+
import { C as PluginTransformMiddleware, E as StructuredData, S as PluginStore, T as RouteMeta, _ as PluginHmrEvent, a as CodeHighlightConfig, b as PluginMeta, c as CodeHighlighterRuntime, d as ExternalFileRoute, f as IPluginLifecycleManager, g as PluginContext, h as ParsedMetaLike, i as BoltdocsViewTransitionsConfig, l as CodeTheme, m as JsonLdValue, n as BoltdocsExperimentalConfig, o as CodeHighlighterAdapter, p as JsonLdObject, r as BoltdocsThemeConfig, s as CodeHighlighterEngine, t as BoltdocsConfig, u as DiagnosticRecord, v as PluginLifecycleHooks, w as RegisteredVirtualModule, x as PluginServerMiddleware, y as PluginLogger } from "../types-o7iZ2BAR.cjs";
|
|
5
|
+
import { a as getHighlighterNames, c as prewarmHighlighter, i as getCodeHighlighterAdapter, l as registerHighlighter, n as DEFAULT_HIGHLIGHTER, o as isHighlighterRegistered, r as HighlighterFactory, s as prewarmCodeHighlighting, t as BUILTIN_HIGHLIGHTERS, u as registerPluginHighlighter } from "../registry-BbB6NqSv.cjs";
|
|
5
6
|
import { InlineConfig, Plugin } from "vite";
|
|
7
|
+
import { normalizeCodeHighlightConfig } from "@bdocs/unist-utils";
|
|
6
8
|
export * from "@bdocs/unist-utils";
|
|
7
9
|
|
|
8
10
|
//#region \0rolldown/runtime.js
|
|
9
11
|
//#endregion
|
|
12
|
+
//#region src/shared/config-utils.d.ts
|
|
13
|
+
/**
|
|
14
|
+
* Type-safe helper for defining Boltdocs configuration.
|
|
15
|
+
* This is an identity function that provides IntelliSense in both
|
|
16
|
+
* Node.js (config files) and client-side code (MDX examples).
|
|
17
|
+
*
|
|
18
|
+
* @remarks
|
|
19
|
+
* Intended for use in `boltdocs.config.ts` (Node.js context). This function
|
|
20
|
+
* is **not** available as a client-side import from `boltdocs/client`.
|
|
21
|
+
*
|
|
22
|
+
* @param config - The Boltdocs configuration object
|
|
23
|
+
*/
|
|
24
|
+
declare function defineConfig(config: BoltdocsConfig): BoltdocsConfig;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/node/config.d.ts
|
|
27
|
+
/**
|
|
28
|
+
* Loads user's configuration file (e.g., `boltdocs.config.js` or `boltdocs.config.ts`) if it exists,
|
|
29
|
+
* merges it with the default configuration, and returns the final `BoltdocsConfig`.
|
|
30
|
+
*
|
|
31
|
+
* @param docsDir - The directory containing the documentation files
|
|
32
|
+
* @param root - The project root directory (defaults to process.cwd())
|
|
33
|
+
* @returns The merged configuration object
|
|
34
|
+
*/
|
|
35
|
+
declare function resolveConfig(docsDir: string, root?: string, command?: string, mode?: string): Promise<BoltdocsConfig>;
|
|
36
|
+
//#endregion
|
|
10
37
|
//#region src/node/routes/types.d.ts
|
|
11
38
|
interface DirectoryMeta {
|
|
12
39
|
title?: string;
|
|
@@ -233,6 +260,13 @@ interface BoltdocsPlugin {
|
|
|
233
260
|
css?: PluginCssConfig;
|
|
234
261
|
middleware?: PluginTransformMiddleware[];
|
|
235
262
|
hooks?: PluginLifecycleHooks;
|
|
263
|
+
/**
|
|
264
|
+
* Provide a custom syntax highlighting engine. The adapter is registered
|
|
265
|
+
* under `plugin.name` in the highlighter registry, making it selectable via
|
|
266
|
+
* `theme.codeHighlighting.engine`. The factory receives the resolved
|
|
267
|
+
* engine-agnostic config (`{ theme, options }`).
|
|
268
|
+
*/
|
|
269
|
+
codeHighlighter?: CodeHighlighterAdapter | ((api: CodeHighlightConfig) => CodeHighlighterAdapter | Promise<CodeHighlighterAdapter>);
|
|
236
270
|
}
|
|
237
271
|
//#endregion
|
|
238
272
|
//#region src/node/plugins/plugin-errors.d.ts
|
|
@@ -384,7 +418,7 @@ declare function normalizePath(p: string): string;
|
|
|
384
418
|
*/
|
|
385
419
|
declare function sanitizeFilename(name: string): string;
|
|
386
420
|
declare namespace index_d_exports {
|
|
387
|
-
export { ArticleStructuredDataOptions, BoltdocsConfig, BoltdocsExperimentalConfig, BoltdocsPlugin, BoltdocsPluginOptions, BoltdocsPluginStore, BoltdocsThemeConfig, BoltdocsViewTransitionsConfig, BreadcrumbStructuredDataItem, CreateViteConfigOptions, ExternalFileRoute, IPluginLifecycleManager, JsonLdObject, JsonLdValue, PluginCompatibilityError, PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, PluginLifecycleHooks, PluginLifecycleManager, PluginLogger, PluginMeta, PluginStore, PluginValidationError, RouteMeta, StructuredData, StructuredDataFactoryOptions, WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, normalizePath, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
421
|
+
export { ArticleStructuredDataOptions, BUILTIN_HIGHLIGHTERS, BoltdocsConfig, BoltdocsExperimentalConfig, BoltdocsPlugin, BoltdocsPluginOptions, BoltdocsPluginStore, BoltdocsThemeConfig, BoltdocsViewTransitionsConfig, BreadcrumbStructuredDataItem, CodeHighlightConfig, CodeHighlighterAdapter, CodeHighlighterEngine, CodeHighlighterRuntime, CodeTheme, CreateViteConfigOptions, DEFAULT_HIGHLIGHTER, ExternalFileRoute, HighlighterFactory, IPluginLifecycleManager, JsonLdObject, JsonLdValue, ParsedMetaLike, PluginCompatibilityError, PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, PluginLifecycleHooks, PluginLifecycleManager, PluginLogger, PluginMeta, PluginStore, PluginValidationError, RouteMeta, StructuredData, StructuredDataFactoryOptions, WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, getCodeHighlighterAdapter, getHighlighterNames, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, isHighlighterRegistered, normalizeCodeHighlightConfig, normalizePath, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter, registerPluginHighlighter, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
388
422
|
}
|
|
389
423
|
interface CreateViteConfigOptions {
|
|
390
424
|
/** Pre-computed routes. When provided, route generation is skipped. */
|
|
@@ -405,4 +439,4 @@ declare function boltdocs(options?: BoltdocsPluginOptions): Promise<Plugin[]>;
|
|
|
405
439
|
*/
|
|
406
440
|
declare function createViteConfig(root: string, mode?: 'development' | 'production', preResolvedConfig?: BoltdocsConfig, options?: CreateViteConfigOptions): Promise<InlineConfig>;
|
|
407
441
|
//#endregion
|
|
408
|
-
export { type ArticleStructuredDataOptions, type BoltdocsConfig, type BoltdocsExperimentalConfig, BoltdocsPlugin, type BoltdocsPluginOptions, BoltdocsPluginStore, type BoltdocsThemeConfig, type BoltdocsViewTransitionsConfig, type BreadcrumbStructuredDataItem, CreateViteConfigOptions, type ExternalFileRoute, type IPluginLifecycleManager, type JsonLdObject, type JsonLdValue, PluginCompatibilityError, type PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, type PluginLifecycleHooks, PluginLifecycleManager, type PluginLogger, type PluginMeta, type PluginStore, PluginValidationError, type RouteMeta, type StructuredData, type StructuredDataFactoryOptions, type WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, normalizePath, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
442
|
+
export { type ArticleStructuredDataOptions, BUILTIN_HIGHLIGHTERS, type BoltdocsConfig, type BoltdocsExperimentalConfig, type BoltdocsPlugin, type BoltdocsPluginOptions, BoltdocsPluginStore, type BoltdocsThemeConfig, type BoltdocsViewTransitionsConfig, type BreadcrumbStructuredDataItem, type CodeHighlightConfig, type CodeHighlighterAdapter, type CodeHighlighterEngine, type CodeHighlighterRuntime, type CodeTheme, CreateViteConfigOptions, DEFAULT_HIGHLIGHTER, type ExternalFileRoute, HighlighterFactory, type IPluginLifecycleManager, type JsonLdObject, type JsonLdValue, type ParsedMetaLike, PluginCompatibilityError, type PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, type PluginLifecycleHooks, PluginLifecycleManager, type PluginLogger, type PluginMeta, type PluginStore, PluginValidationError, type RouteMeta, type StructuredData, type StructuredDataFactoryOptions, type WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, getCodeHighlighterAdapter, getHighlighterNames, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, isHighlighterRegistered, normalizeCodeHighlightConfig, normalizePath, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter, registerPluginHighlighter, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
|
|
2
2
|
import { FileCache, flushCache } from "./cache.mjs";
|
|
3
|
-
import { i as handleVercelFeedback, n as handleWebFeedback, r as handleNetlifyFeedback, t as handleAwsFeedback } from "../index-
|
|
4
|
-
import { C as StructuredData, _ as
|
|
3
|
+
import { i as handleVercelFeedback, n as handleWebFeedback, r as handleNetlifyFeedback, t as handleAwsFeedback } from "../index-HAwIo4nZ.mjs";
|
|
4
|
+
import { C as PluginTransformMiddleware, E as StructuredData, S as PluginStore, T as RouteMeta, _ as PluginHmrEvent, a as CodeHighlightConfig, b as PluginMeta, c as CodeHighlighterRuntime, d as ExternalFileRoute, f as IPluginLifecycleManager, g as PluginContext, h as ParsedMetaLike, i as BoltdocsViewTransitionsConfig, l as CodeTheme, m as JsonLdValue, n as BoltdocsExperimentalConfig, o as CodeHighlighterAdapter, p as JsonLdObject, r as BoltdocsThemeConfig, s as CodeHighlighterEngine, t as BoltdocsConfig, u as DiagnosticRecord, v as PluginLifecycleHooks, w as RegisteredVirtualModule, x as PluginServerMiddleware, y as PluginLogger } from "../types-Db6zToZH.mjs";
|
|
5
|
+
import { a as getHighlighterNames, c as prewarmHighlighter, i as getCodeHighlighterAdapter, l as registerHighlighter, n as DEFAULT_HIGHLIGHTER, o as isHighlighterRegistered, r as HighlighterFactory, s as prewarmCodeHighlighting, t as BUILTIN_HIGHLIGHTERS, u as registerPluginHighlighter } from "../registry-sJqDv0kE.mjs";
|
|
5
6
|
import { z } from "zod";
|
|
7
|
+
import { normalizeCodeHighlightConfig } from "@bdocs/unist-utils";
|
|
6
8
|
import { InlineConfig, Plugin } from "vite";
|
|
7
9
|
export * from "@bdocs/unist-utils";
|
|
8
10
|
|
|
11
|
+
//#region src/shared/config-utils.d.ts
|
|
12
|
+
/**
|
|
13
|
+
* Type-safe helper for defining Boltdocs configuration.
|
|
14
|
+
* This is an identity function that provides IntelliSense in both
|
|
15
|
+
* Node.js (config files) and client-side code (MDX examples).
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* Intended for use in `boltdocs.config.ts` (Node.js context). This function
|
|
19
|
+
* is **not** available as a client-side import from `boltdocs/client`.
|
|
20
|
+
*
|
|
21
|
+
* @param config - The Boltdocs configuration object
|
|
22
|
+
*/
|
|
23
|
+
declare function defineConfig(config: BoltdocsConfig): BoltdocsConfig;
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/node/config.d.ts
|
|
26
|
+
/**
|
|
27
|
+
* Loads user's configuration file (e.g., `boltdocs.config.js` or `boltdocs.config.ts`) if it exists,
|
|
28
|
+
* merges it with the default configuration, and returns the final `BoltdocsConfig`.
|
|
29
|
+
*
|
|
30
|
+
* @param docsDir - The directory containing the documentation files
|
|
31
|
+
* @param root - The project root directory (defaults to process.cwd())
|
|
32
|
+
* @returns The merged configuration object
|
|
33
|
+
*/
|
|
34
|
+
declare function resolveConfig(docsDir: string, root?: string, command?: string, mode?: string): Promise<BoltdocsConfig>;
|
|
35
|
+
//#endregion
|
|
9
36
|
//#region src/node/routes/types.d.ts
|
|
10
37
|
interface DirectoryMeta {
|
|
11
38
|
title?: string;
|
|
@@ -232,6 +259,13 @@ interface BoltdocsPlugin {
|
|
|
232
259
|
css?: PluginCssConfig;
|
|
233
260
|
middleware?: PluginTransformMiddleware[];
|
|
234
261
|
hooks?: PluginLifecycleHooks;
|
|
262
|
+
/**
|
|
263
|
+
* Provide a custom syntax highlighting engine. The adapter is registered
|
|
264
|
+
* under `plugin.name` in the highlighter registry, making it selectable via
|
|
265
|
+
* `theme.codeHighlighting.engine`. The factory receives the resolved
|
|
266
|
+
* engine-agnostic config (`{ theme, options }`).
|
|
267
|
+
*/
|
|
268
|
+
codeHighlighter?: CodeHighlighterAdapter | ((api: CodeHighlightConfig) => CodeHighlighterAdapter | Promise<CodeHighlighterAdapter>);
|
|
235
269
|
}
|
|
236
270
|
//#endregion
|
|
237
271
|
//#region src/node/plugins/plugin-errors.d.ts
|
|
@@ -383,7 +417,7 @@ declare function normalizePath(p: string): string;
|
|
|
383
417
|
*/
|
|
384
418
|
declare function sanitizeFilename(name: string): string;
|
|
385
419
|
declare namespace index_d_exports {
|
|
386
|
-
export { ArticleStructuredDataOptions, BoltdocsConfig, BoltdocsExperimentalConfig, BoltdocsPlugin, BoltdocsPluginOptions, BoltdocsPluginStore, BoltdocsThemeConfig, BoltdocsViewTransitionsConfig, BreadcrumbStructuredDataItem, CreateViteConfigOptions, ExternalFileRoute, IPluginLifecycleManager, JsonLdObject, JsonLdValue, PluginCompatibilityError, PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, PluginLifecycleHooks, PluginLifecycleManager, PluginLogger, PluginMeta, PluginStore, PluginValidationError, RouteMeta, StructuredData, StructuredDataFactoryOptions, WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, normalizePath, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
420
|
+
export { ArticleStructuredDataOptions, BUILTIN_HIGHLIGHTERS, BoltdocsConfig, BoltdocsExperimentalConfig, BoltdocsPlugin, BoltdocsPluginOptions, BoltdocsPluginStore, BoltdocsThemeConfig, BoltdocsViewTransitionsConfig, BreadcrumbStructuredDataItem, CodeHighlightConfig, CodeHighlighterAdapter, CodeHighlighterEngine, CodeHighlighterRuntime, CodeTheme, CreateViteConfigOptions, DEFAULT_HIGHLIGHTER, ExternalFileRoute, HighlighterFactory, IPluginLifecycleManager, JsonLdObject, JsonLdValue, ParsedMetaLike, PluginCompatibilityError, PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, PluginLifecycleHooks, PluginLifecycleManager, PluginLogger, PluginMeta, PluginStore, PluginValidationError, RouteMeta, StructuredData, StructuredDataFactoryOptions, WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, getCodeHighlighterAdapter, getHighlighterNames, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, isHighlighterRegistered, normalizeCodeHighlightConfig, normalizePath, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter, registerPluginHighlighter, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
387
421
|
}
|
|
388
422
|
interface CreateViteConfigOptions {
|
|
389
423
|
/** Pre-computed routes. When provided, route generation is skipped. */
|
|
@@ -404,4 +438,4 @@ declare function boltdocs(options?: BoltdocsPluginOptions): Promise<Plugin[]>;
|
|
|
404
438
|
*/
|
|
405
439
|
declare function createViteConfig(root: string, mode?: 'development' | 'production', preResolvedConfig?: BoltdocsConfig, options?: CreateViteConfigOptions): Promise<InlineConfig>;
|
|
406
440
|
//#endregion
|
|
407
|
-
export { type ArticleStructuredDataOptions, type BoltdocsConfig, type BoltdocsExperimentalConfig, BoltdocsPlugin, type BoltdocsPluginOptions, BoltdocsPluginStore, type BoltdocsThemeConfig, type BoltdocsViewTransitionsConfig, type BreadcrumbStructuredDataItem, CreateViteConfigOptions, type ExternalFileRoute, type IPluginLifecycleManager, type JsonLdObject, type JsonLdValue, PluginCompatibilityError, type PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, type PluginLifecycleHooks, PluginLifecycleManager, type PluginLogger, type PluginMeta, type PluginStore, PluginValidationError, type RouteMeta, type StructuredData, type StructuredDataFactoryOptions, type WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, normalizePath, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
|
441
|
+
export { type ArticleStructuredDataOptions, BUILTIN_HIGHLIGHTERS, type BoltdocsConfig, type BoltdocsExperimentalConfig, type BoltdocsPlugin, type BoltdocsPluginOptions, BoltdocsPluginStore, type BoltdocsThemeConfig, type BoltdocsViewTransitionsConfig, type BreadcrumbStructuredDataItem, type CodeHighlightConfig, type CodeHighlighterAdapter, type CodeHighlighterEngine, type CodeHighlighterRuntime, type CodeTheme, CreateViteConfigOptions, DEFAULT_HIGHLIGHTER, type ExternalFileRoute, HighlighterFactory, type IPluginLifecycleManager, type JsonLdObject, type JsonLdValue, type ParsedMetaLike, PluginCompatibilityError, type PluginContext, PluginCssConfig, PluginError, PluginFactory, PluginHookError, type PluginLifecycleHooks, PluginLifecycleManager, type PluginLogger, type PluginMeta, type PluginStore, PluginValidationError, type RouteMeta, type StructuredData, type StructuredDataFactoryOptions, type WebSiteStructuredDataOptions, createArticleStructuredData, createBreadcrumbStructuredData, createPlugin, createStructuredData, createViteConfig, createWebSiteStructuredData, boltdocs as default, defineConfig, definePlugin, defineStructuredData, flushCache, generateEntryCode, generateRoutes, getCodeHighlighterAdapter, getHighlighterNames, handleAwsFeedback, handleFeedback, handleNetlifyFeedback, handleVercelFeedback, handleWebFeedback, invalidateRouteCache, isHighlighterRegistered, normalizeCodeHighlightConfig, normalizePath, prewarmCodeHighlighting, prewarmHighlighter, registerHighlighter, registerPluginHighlighter, resolveConfig, resolvePluginHook, sanitizeFilename, validatePlugins };
|
package/dist/node/index.mjs
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
import{g as e}from"../plugin-context-
|
|
6
|
+
import{g as e}from"../plugin-context-BKK-nfOd.mjs";import{_ as t,a as n,b as r,c as i,d as a,f as o,g as s,h as c,i as l,m as u,n as d,o as f,p,r as m,t as h,v as g,x as _,y as v}from"../node-DwgtnlGU.mjs";import{f as y,u as b}from"../utils-8lzafE49.mjs";import{flushCache as x}from"./cache.mjs";import{r as S,t as C}from"../routes-C4wrLWwu.mjs";import{i as w,n as T}from"../config-DC0nMMk7.mjs";import{a as E,c as D,i as O,l as k,n as A,o as j,r as M,s as N,t as P}from"../registry-CHh8A5as.mjs";import{t as F}from"../handler-Lex5DbvG.mjs";import{i as I,n as L,r as R,t as z}from"../adapters-BKzKe2mO.mjs";export*from"@bdocs/unist-utils";export{P as BUILTIN_HIGHLIGHTERS,o as BoltdocsPluginStore,A as DEFAULT_HIGHLIGHTER,p as PluginCompatibilityError,u as PluginError,c as PluginHookError,f as PluginLifecycleManager,s as PluginValidationError,t as createArticleStructuredData,g as createBreadcrumbStructuredData,l as createPlugin,v as createStructuredData,d as createViteConfig,r as createWebSiteStructuredData,h as default,w as defineConfig,n as definePlugin,_ as defineStructuredData,x as flushCache,e as generateEntryCode,C as generateRoutes,M as getCodeHighlighterAdapter,O as getHighlighterNames,z as handleAwsFeedback,F as handleFeedback,R as handleNetlifyFeedback,I as handleVercelFeedback,L as handleWebFeedback,S as invalidateRouteCache,E as isHighlighterRegistered,m as normalizeCodeHighlightConfig,b as normalizePath,j as prewarmCodeHighlighting,N as prewarmHighlighter,D as registerHighlighter,k as registerPluginHighlighter,T as resolveConfig,i as resolvePluginHook,y as sanitizeFilename,a as validatePlugins};
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Copyright (c) 2026 Jesus Alcala
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../chunk-D1Md3oWO.cjs`),t=require(`../../utils-ej6_SjIZ.cjs`);let n=require(`@bdocs/dui`),r=require(`@
|
|
6
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../chunk-D1Md3oWO.cjs`),t=require(`../../utils-ej6_SjIZ.cjs`);let n=require(`@bdocs/dui`),r=require(`@bdocs/unist-utils`),i=require(`@shikijs/engine-oniguruma`),a=require(`shiki/core`),o=require(`@shikijs/themes/github-light`);o=e.r(o);let s=require(`@shikijs/themes/github-dark`);s=e.r(s);let c=require(`@shikijs/langs/html`);c=e.r(c);let l=require(`@shikijs/langs/js`);l=e.r(l);let u=require(`@shikijs/langs/ts`);u=e.r(u);let d=require(`@shikijs/langs/tsx`);d=e.r(d);let f=require(`@shikijs/langs/css`);f=e.r(f);let p=require(`@shikijs/langs/bash`);p=e.r(p);let m=require(`@shikijs/langs/json`);m=e.r(m);let h=require(`@shikijs/langs/markdown`);h=e.r(h);let g=require(`@shikijs/langs/python`);g=e.r(g);let _=require(`@shikijs/langs/go`);_=e.r(_);const v=[o.default.default||o.default,s.default.default||s.default],y=[c.default,l.default,u.default,d.default,f.default,p.default,m.default,h.default,g.default,_.default],b={scss:()=>import(`@shikijs/langs/scss`),less:()=>import(`@shikijs/langs/less`),jsonc:()=>import(`@shikijs/langs/jsonc`),json5:()=>import(`@shikijs/langs/json5`),ini:()=>import(`@shikijs/langs/ini`),mdx:()=>import(`@shikijs/langs/mdx`),yaml:()=>import(`@shikijs/langs/yaml`),rust:()=>import(`@shikijs/langs/rust`),toml:()=>import(`@shikijs/langs/toml`),csv:()=>import(`@shikijs/langs/csv`),nginx:()=>import(`@shikijs/langs/nginx`),apache:()=>import(`@shikijs/langs/apache`),dockerfile:()=>import(`@shikijs/langs/dockerfile`),docker:()=>import(`@shikijs/langs/docker`),java:()=>import(`@shikijs/langs/java`),php:()=>import(`@shikijs/langs/php`),sql:()=>import(`@shikijs/langs/sql`),graphql:()=>import(`@shikijs/langs/graphql`),http:()=>import(`@shikijs/langs/http`),xml:()=>import(`@shikijs/langs/xml`),vue:()=>import(`@shikijs/langs/vue`),svelte:()=>import(`@shikijs/langs/svelte`),ruby:()=>import(`@shikijs/langs/ruby`),kotlin:()=>import(`@shikijs/langs/kotlin`),swift:()=>import(`@shikijs/langs/swift`),powershell:()=>import(`@shikijs/langs/powershell`),c:()=>import(`@shikijs/langs/c`),cpp:()=>import(`@shikijs/langs/cpp`),elixir:()=>import(`@shikijs/langs/elixir`)},x={javascript:`js`,typescript:`ts`,shell:`bash`,sh:`bash`,zsh:`bash`,console:`bash`,terminal:`bash`,shellsession:`bash`,yml:`yaml`,py:`python`,golang:`go`,rs:`rust`,rb:`ruby`,kt:`kotlin`},S=new Set([`text`,`plaintext`,`txt`,`plain`,`ansi`,`none`]);function C(e){if(!e)return null;let t=e.trim().toLowerCase();return!t||S.has(t)?null:x[t]??t}const w=new Map;async function T(){return(0,i.createOnigurumaEngine)(await import(`shiki/wasm`))}async function E(){let{createJavaScriptRegexEngine:e}=await import(`shiki/engine/javascript`);return e({forgiving:!0})}async function D(e){return e===`javascript`?E():T()}const O=async e=>{let t=e?.regexEngine===`oniguruma`?`oniguruma`:`javascript`,n=w.get(t);if(n)return n;let r=(async()=>{let e=performance.now(),n=await(0,a.createHighlighterCore)({themes:v,langs:y,engine:await D(t)});return process.env.BOLTDOCS_DEBUG===`true`&&console.log(`[boltdocs] shiki-ready in ${Math.round(performance.now()-e)}ms (${t}, ${y.length} langs)`),n})();return w.set(t,r),r},k=new Map;async function A(e,t=`oniguruma`){let n=C(e);if(!n)return!0;let r;try{r=await O({regexEngine:t})}catch{return!1}let i=[];try{i=r.getLoadedLanguages()}catch{i=[]}if(i.includes(n))return!0;let a=k.get(n);if(a)return a;let o=b[n];if(!o)return!1;let s=(async()=>{try{let e=await o(),t=e?.default??e;return await r.loadLanguage(t),!0}catch{return!1}finally{k.delete(n)}})();return k.set(n,s),s}const j={TITLE:`data-title`,LANG:`data-lang`,HIGHLIGHTED:`data-highlighted`,HIGHLIGHTED_HTML:`data-highlighted-html`},M={LINE_NUMBERS:`shiki-line-numbers`,WORD_WRAP:`shiki-word-wrap`,FALLBACK:`shiki-fallback`},N={LIGHT:`github-light`,DARK:`github-dark`},P={LANG:`plaintext`,MDX_DEFAULT_LANG:`text`},F=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:line-numbers`,pre(e){let n=this.options.meta?.lineNumbers===!0;(t||n)&&this.addClassToHast(e,M.LINE_NUMBERS)}}},I=(e={})=>{let{activateByDefault:t=!1}=e;return{name:`boltdocs:word-wrap`,pre(e){let n=this.options.meta?.wordWrap===!0;(t||n)&&this.addClassToHast(e,M.WORD_WRAP)}}},L=()=>({name:`AddTitleProperty`,pre(e){let t=this.options.meta?.title;t&&(e.properties[j.TITLE]=t)}}),R=()=>({name:`AddLanguageProperty`,pre(e){e.properties[j.LANG]=this.options.lang||P.LANG}});var z=class{name=`shiki`;version=`3.23.0`;theme;regexEngine;constructor(e){let t=(0,r.normalizeCodeHighlightConfig)(e?.theme?.codeHighlighting);this.theme=t?.theme??e?.theme?.codeTheme??{light:N.LIGHT,dark:N.DARK},this.regexEngine=String(t?.options?.regexEngine)===`oniguruma`?`oniguruma`:`javascript`}getTheme(){return this.theme}async getHighlighter(){return await O({regexEngine:this.regexEngine})}async initialize(){let e=await this.getHighlighter();return{codeToHast:(t,n)=>e.codeToHast(t,n),codeToHtml:async(t,n)=>e.codeToHtml(t,n)}}async ensureLanguage(e){return A(e,this.regexEngine)}getOptions(e,t){let n={},i=``;if(typeof t==`string`)i=t,n=(0,r.parseMetaString)(t);else if(t&&typeof t==`object`){let e=t;n={...e},i=String(e.__raw??``)}let a={__raw:i};for(let[e,t]of Object.entries(n))e!==`__raw`&&Object.defineProperty(a,e,{value:t,enumerable:!1,configurable:!0,writable:!0});return{lang:e||P.LANG,meta:a,transformers:[F(),I(),L(),R()],...typeof this.theme==`string`?{theme:this.theme}:{themes:{light:this.theme.light,dark:this.theme.dark}}}}async render(e,r,i){try{let t=this.getOptions(r,i);return await(await this.initialize()).codeToHtml(e,t)}catch(r){return(0,n.error)(`[ShikiAdapter] Failed to render code:`,r),`<pre class="${M.FALLBACK}"><code>${t.n(e)}</code></pre>`}}prewarm(e){O({regexEngine:this.regexEngine}).catch(()=>{})}};let B=null,V;function H(e){let t=(0,r.normalizeCodeHighlightConfig)(e?.theme?.codeHighlighting),n=t?.theme??e?.theme?.codeTheme,i=JSON.stringify({theme:n,regexEngine:t?.options?.regexEngine??`oniguruma`});return(B===null||V!==i)&&(B=new z(e),V=i),B}function U(e){H(e).prewarm()}exports.ShikiAdapter=z,exports.ensureLanguage=A,exports.getShikiAdapter=H,Object.defineProperty(exports,`parseMetaString`,{enumerable:!0,get:function(){return r.parseMetaString}}),exports.prewarmShiki=U;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { a as CodeHighlightConfig, c as CodeHighlighterRuntime, l as CodeTheme, o as CodeHighlighterAdapter } from "../../types-o7iZ2BAR.cjs";
|
|
3
|
+
import { ParsedMeta, parseMetaString } from "@bdocs/unist-utils";
|
|
3
4
|
import * as _$shiki from "shiki";
|
|
4
|
-
import { CodeToHastOptions } from "shiki";
|
|
5
5
|
//#region src/node/mdx/highlighter.d.ts
|
|
6
|
+
/** Which regex engine backs the Shiki core. `oniguruma` is the default. */
|
|
7
|
+
type RegexEngineKind = 'oniguruma' | 'javascript';
|
|
6
8
|
/**
|
|
7
9
|
* Ensure a Shiki language grammar is loaded before rendering.
|
|
8
10
|
*
|
|
@@ -14,59 +16,73 @@ import { CodeToHastOptions } from "shiki";
|
|
|
14
16
|
* @returns true when the language is available (or needs no grammar),
|
|
15
17
|
* false when it is unknown to this bundle or failed to load.
|
|
16
18
|
*/
|
|
17
|
-
declare function ensureLanguage(rawLang: string | undefined): Promise<boolean>;
|
|
19
|
+
declare function ensureLanguage(rawLang: string | undefined, regexEngine?: RegexEngineKind): Promise<boolean>;
|
|
18
20
|
//#endregion
|
|
19
21
|
//#region src/node/mdx/shiki-adapter.d.ts
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
/** Minimal config surface the Shiki adapter reads off `BoltdocsConfig`. */
|
|
23
|
+
interface ShikiAdapterConfig {
|
|
24
|
+
theme?: {
|
|
25
|
+
codeTheme?: CodeTheme;
|
|
26
|
+
codeHighlighting?: CodeHighlightConfig | string;
|
|
27
|
+
};
|
|
25
28
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Parses a meta string into a structured ParsedMeta object.
|
|
28
|
-
*/
|
|
29
|
-
declare function parseMetaString(metaStr: string): ParsedMeta;
|
|
30
29
|
/**
|
|
31
30
|
* Unified Shiki Adapter for Boltdocs.
|
|
32
|
-
*
|
|
31
|
+
*
|
|
32
|
+
* Implements the engine-agnostic {@link CodeHighlighterAdapter} SPI so the
|
|
33
|
+
* core never talks to Shiki directly. Centralizes theme resolution,
|
|
34
|
+
* transformer configuration, and rendering logic.
|
|
33
35
|
*/
|
|
34
|
-
declare class ShikiAdapter {
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
declare class ShikiAdapter implements CodeHighlighterAdapter {
|
|
37
|
+
name: string;
|
|
38
|
+
version: string;
|
|
39
|
+
private theme;
|
|
40
|
+
private regexEngine;
|
|
41
|
+
constructor(config?: ShikiAdapterConfig);
|
|
37
42
|
/**
|
|
38
|
-
* Resolves the code theme from
|
|
43
|
+
* Resolves the code theme from the engine-agnostic configuration.
|
|
39
44
|
*/
|
|
40
|
-
getTheme():
|
|
41
|
-
light: ShikiTheme;
|
|
42
|
-
dark: ShikiTheme;
|
|
43
|
-
};
|
|
45
|
+
getTheme(): CodeTheme;
|
|
44
46
|
/**
|
|
45
|
-
* Creates a Shiki highlighter instance with the configured
|
|
47
|
+
* Creates a Shiki highlighter instance with the configured theme/engine.
|
|
46
48
|
*/
|
|
47
49
|
getHighlighter(): Promise<_$shiki.HighlighterCore>;
|
|
50
|
+
/**
|
|
51
|
+
* Initializes the adapter and returns the runtime used by the render
|
|
52
|
+
* pipeline. The underlying build is module-level, so callers share the
|
|
53
|
+
* same in-flight highlighter.
|
|
54
|
+
*/
|
|
55
|
+
initialize(): Promise<CodeHighlighterRuntime>;
|
|
56
|
+
/**
|
|
57
|
+
* Ensure a language grammar is loaded into the engine backing this adapter.
|
|
58
|
+
*/
|
|
59
|
+
ensureLanguage(lang: string): Promise<boolean>;
|
|
48
60
|
/**
|
|
49
61
|
* Assembles Shiki options including transformers for a specific code block.
|
|
50
62
|
*/
|
|
51
|
-
getOptions(lang: string, meta:
|
|
63
|
+
getOptions(lang: string, meta: unknown): Record<string, unknown>;
|
|
52
64
|
/**
|
|
53
65
|
* Renders code to HTML using the Boltdocs Shiki pipeline.
|
|
54
66
|
* Safely handles highlighter exceptions by falling back to escaped pre.
|
|
55
67
|
*/
|
|
56
|
-
render(code: string, lang: string, meta: string |
|
|
68
|
+
render(code: string, lang: string, meta: string | Record<string, unknown>): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Warm the highlighter off the critical path (never awaited).
|
|
71
|
+
*/
|
|
72
|
+
prewarm(_options?: Record<string, unknown>): void;
|
|
57
73
|
}
|
|
58
74
|
/**
|
|
59
75
|
* Returns a cached ShikiAdapter instance.
|
|
60
|
-
* Recreates only if the
|
|
76
|
+
* Recreates only if the resolved theme or regex engine configuration changes.
|
|
61
77
|
*/
|
|
62
|
-
declare function getShikiAdapter(config?:
|
|
78
|
+
declare function getShikiAdapter(config?: ShikiAdapterConfig): ShikiAdapter;
|
|
63
79
|
/**
|
|
64
80
|
* Starts building the highlighter in the background. The highlighter build
|
|
65
|
-
* is ~2.5s of synchronous CPU (TextMate grammar parsing
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
81
|
+
* is ~2.5s of synchronous CPU (TextMate grammar parsing), so it must never
|
|
82
|
+
* run on the critical path of Vite's server setup. The underlying
|
|
83
|
+
* `highlight()` promise is module-level, so callers that need the
|
|
84
|
+
* highlighter later share the same in-flight build.
|
|
69
85
|
*/
|
|
70
|
-
declare function prewarmShiki(config?:
|
|
86
|
+
declare function prewarmShiki(config?: ShikiAdapterConfig): void;
|
|
71
87
|
//#endregion
|
|
72
|
-
export { ParsedMeta, ShikiAdapter, ensureLanguage, getShikiAdapter, parseMetaString, prewarmShiki };
|
|
88
|
+
export { type ParsedMeta, ShikiAdapter, ShikiAdapterConfig, ensureLanguage, getShikiAdapter, parseMetaString, prewarmShiki };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { a as CodeHighlightConfig, c as CodeHighlighterRuntime, l as CodeTheme, o as CodeHighlighterAdapter } from "../../types-Db6zToZH.mjs";
|
|
3
|
+
import { ParsedMeta, parseMetaString } from "@bdocs/unist-utils";
|
|
3
4
|
import * as _$shiki from "shiki";
|
|
4
|
-
import { CodeToHastOptions } from "shiki";
|
|
5
5
|
|
|
6
6
|
//#region src/node/mdx/highlighter.d.ts
|
|
7
|
+
/** Which regex engine backs the Shiki core. `oniguruma` is the default. */
|
|
8
|
+
type RegexEngineKind = 'oniguruma' | 'javascript';
|
|
7
9
|
/**
|
|
8
10
|
* Ensure a Shiki language grammar is loaded before rendering.
|
|
9
11
|
*
|
|
@@ -15,59 +17,73 @@ import { CodeToHastOptions } from "shiki";
|
|
|
15
17
|
* @returns true when the language is available (or needs no grammar),
|
|
16
18
|
* false when it is unknown to this bundle or failed to load.
|
|
17
19
|
*/
|
|
18
|
-
declare function ensureLanguage(rawLang: string | undefined): Promise<boolean>;
|
|
20
|
+
declare function ensureLanguage(rawLang: string | undefined, regexEngine?: RegexEngineKind): Promise<boolean>;
|
|
19
21
|
//#endregion
|
|
20
22
|
//#region src/node/mdx/shiki-adapter.d.ts
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
/** Minimal config surface the Shiki adapter reads off `BoltdocsConfig`. */
|
|
24
|
+
interface ShikiAdapterConfig {
|
|
25
|
+
theme?: {
|
|
26
|
+
codeTheme?: CodeTheme;
|
|
27
|
+
codeHighlighting?: CodeHighlightConfig | string;
|
|
28
|
+
};
|
|
26
29
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Parses a meta string into a structured ParsedMeta object.
|
|
29
|
-
*/
|
|
30
|
-
declare function parseMetaString(metaStr: string): ParsedMeta;
|
|
31
30
|
/**
|
|
32
31
|
* Unified Shiki Adapter for Boltdocs.
|
|
33
|
-
*
|
|
32
|
+
*
|
|
33
|
+
* Implements the engine-agnostic {@link CodeHighlighterAdapter} SPI so the
|
|
34
|
+
* core never talks to Shiki directly. Centralizes theme resolution,
|
|
35
|
+
* transformer configuration, and rendering logic.
|
|
34
36
|
*/
|
|
35
|
-
declare class ShikiAdapter {
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
declare class ShikiAdapter implements CodeHighlighterAdapter {
|
|
38
|
+
name: string;
|
|
39
|
+
version: string;
|
|
40
|
+
private theme;
|
|
41
|
+
private regexEngine;
|
|
42
|
+
constructor(config?: ShikiAdapterConfig);
|
|
38
43
|
/**
|
|
39
|
-
* Resolves the code theme from
|
|
44
|
+
* Resolves the code theme from the engine-agnostic configuration.
|
|
40
45
|
*/
|
|
41
|
-
getTheme():
|
|
42
|
-
light: ShikiTheme;
|
|
43
|
-
dark: ShikiTheme;
|
|
44
|
-
};
|
|
46
|
+
getTheme(): CodeTheme;
|
|
45
47
|
/**
|
|
46
|
-
* Creates a Shiki highlighter instance with the configured
|
|
48
|
+
* Creates a Shiki highlighter instance with the configured theme/engine.
|
|
47
49
|
*/
|
|
48
50
|
getHighlighter(): Promise<_$shiki.HighlighterCore>;
|
|
51
|
+
/**
|
|
52
|
+
* Initializes the adapter and returns the runtime used by the render
|
|
53
|
+
* pipeline. The underlying build is module-level, so callers share the
|
|
54
|
+
* same in-flight highlighter.
|
|
55
|
+
*/
|
|
56
|
+
initialize(): Promise<CodeHighlighterRuntime>;
|
|
57
|
+
/**
|
|
58
|
+
* Ensure a language grammar is loaded into the engine backing this adapter.
|
|
59
|
+
*/
|
|
60
|
+
ensureLanguage(lang: string): Promise<boolean>;
|
|
49
61
|
/**
|
|
50
62
|
* Assembles Shiki options including transformers for a specific code block.
|
|
51
63
|
*/
|
|
52
|
-
getOptions(lang: string, meta:
|
|
64
|
+
getOptions(lang: string, meta: unknown): Record<string, unknown>;
|
|
53
65
|
/**
|
|
54
66
|
* Renders code to HTML using the Boltdocs Shiki pipeline.
|
|
55
67
|
* Safely handles highlighter exceptions by falling back to escaped pre.
|
|
56
68
|
*/
|
|
57
|
-
render(code: string, lang: string, meta: string |
|
|
69
|
+
render(code: string, lang: string, meta: string | Record<string, unknown>): Promise<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Warm the highlighter off the critical path (never awaited).
|
|
72
|
+
*/
|
|
73
|
+
prewarm(_options?: Record<string, unknown>): void;
|
|
58
74
|
}
|
|
59
75
|
/**
|
|
60
76
|
* Returns a cached ShikiAdapter instance.
|
|
61
|
-
* Recreates only if the
|
|
77
|
+
* Recreates only if the resolved theme or regex engine configuration changes.
|
|
62
78
|
*/
|
|
63
|
-
declare function getShikiAdapter(config?:
|
|
79
|
+
declare function getShikiAdapter(config?: ShikiAdapterConfig): ShikiAdapter;
|
|
64
80
|
/**
|
|
65
81
|
* Starts building the highlighter in the background. The highlighter build
|
|
66
|
-
* is ~2.5s of synchronous CPU (TextMate grammar parsing
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
82
|
+
* is ~2.5s of synchronous CPU (TextMate grammar parsing), so it must never
|
|
83
|
+
* run on the critical path of Vite's server setup. The underlying
|
|
84
|
+
* `highlight()` promise is module-level, so callers that need the
|
|
85
|
+
* highlighter later share the same in-flight build.
|
|
70
86
|
*/
|
|
71
|
-
declare function prewarmShiki(config?:
|
|
87
|
+
declare function prewarmShiki(config?: ShikiAdapterConfig): void;
|
|
72
88
|
//#endregion
|
|
73
|
-
export { ParsedMeta, ShikiAdapter, ensureLanguage, getShikiAdapter, parseMetaString, prewarmShiki };
|
|
89
|
+
export { type ParsedMeta, ShikiAdapter, ShikiAdapterConfig, ensureLanguage, getShikiAdapter, parseMetaString, prewarmShiki };
|