typerighter 0.44.1 → 0.44.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { $ as e, D as t, E as n, F as r, G as i, H as a, J as o, L as s, P as c, R as l, V as u, X as d, Z as f, _ as p, b as m, c as h, d as g, et as _, g as v, h as y, i as b, p as x, v as S, w as C, y as w, z as T } from "./shared-B-wDtFX6.js";
2
- import { a as E, i as D, n as O, o as ee, r as te, s as ne, t as re } from "./jsonld-CrXLLdKW.js";
1
+ import { D as e, E as t, F as n, H as r, K as i, L as a, P as o, Q as s, R as c, V as l, Y as u, Z as d, _ as f, b as p, c as m, d as h, et as g, g as _, h as v, i as y, p as b, tt as x, v as S, w as C, y as w, z as T } from "./shared-C5ERr4vS.js";
2
+ import { a as E, i as D, n as O, o as ee, r as te, s as ne, t as re } from "./jsonld-CRHOaFMj.js";
3
3
  import { t as ie } from "./temml-D47Z4xZ2.js";
4
4
  import { a as ae, i as oe, n as se, r as ce } from "./context-CSvoDxVt.js";
5
5
  import { t as le } from "./es-ClqUVRJn.js";
@@ -13,9 +13,9 @@ import { fileURLToPath as me } from "node:url";
13
13
  import he from "node:os";
14
14
  import { Worker as ge } from "node:worker_threads";
15
15
  import P, { createReadStream as _e, existsSync as ve, globSync as ye, readFileSync as be, statSync as xe } from "node:fs";
16
- import { createChecker as Se, createCheckerByJson as Ce } from "vue-component-meta";
17
- import { createHighlighter as we, guessEmbeddedLanguages as Te, isSpecialLang as Ee } from "shiki";
18
- import { createRequire as De } from "node:module";
16
+ import { createRequire as Se } from "node:module";
17
+ import { createChecker as Ce, createCheckerByJson as we } from "vue-component-meta";
18
+ import { createHighlighter as Te, guessEmbeddedLanguages as Ee, isSpecialLang as De } from "shiki";
19
19
  //#region src/node/lib/worker-pool/index.ts
20
20
  var Oe = class {
21
21
  workers = [];
@@ -68,8 +68,8 @@ function ke(e, t, n, r) {
68
68
  return `<?xml version="1.0" encoding="UTF-8"?>
69
69
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
70
70
  ${e.map((e) => {
71
- let n = h(i + t + c(e)), a = r?.get(e);
72
- return ` <url><loc>${n}</loc>${a === void 0 ? "" : `<lastmod>${b(a)}</lastmod>`}</url>`;
71
+ let n = m(i + t + o(e)), a = r?.get(e);
72
+ return ` <url><loc>${n}</loc>${a === void 0 ? "" : `<lastmod>${y(a)}</lastmod>`}</url>`;
73
73
  }).join("\n")}
74
74
  </urlset>
75
75
  `;
@@ -85,11 +85,11 @@ Sitemap: ${e}${t}sitemap.xml
85
85
  //#region src/node/build/seo/feed.ts
86
86
  function je(e, t, n, r, i, a) {
87
87
  let o = [...e].filter((e) => e.fileMetadata.mtime > 0).sort((e, t) => t.fileMetadata.mtime - e.fileMetadata.mtime).slice(0, 50).map((e) => {
88
- let r = u(e.filepath), i = `${n}${t}${r}`, a = new Date(e.fileMetadata.mtime).toUTCString(), o = h(e.label ?? r), s = e.excerpt === void 0 ? "" : `<![CDATA[${e.excerpt}]]>`;
88
+ let r = l(e.filepath), i = `${n}${t}${r}`, a = new Date(e.fileMetadata.mtime).toUTCString(), o = m(e.label ?? r), s = e.excerpt === void 0 ? "" : `<![CDATA[${e.excerpt}]]>`;
89
89
  return ` <item>
90
90
  <title>${o}</title>
91
- <link>${h(i)}</link>
92
- <guid>${h(i)}</guid>
91
+ <link>${m(i)}</link>
92
+ <guid>${m(i)}</guid>
93
93
  <pubDate>${a}</pubDate>
94
94
  <description>${s}</description>
95
95
  </item>`;
@@ -97,11 +97,11 @@ function je(e, t, n, r, i, a) {
97
97
  return `<?xml version="1.0" encoding="UTF-8"?>
98
98
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
99
99
  <channel>
100
- <title>${h(r)}</title>
101
- <link>${h(n + t)}</link>
102
- <description>${h(i)}</description>
100
+ <title>${m(r)}</title>
101
+ <link>${m(n + t)}</link>
102
+ <description>${m(i)}</description>
103
103
  <language>${a}</language>
104
- <atom:link href="${h(n + t)}feed.xml" rel="self" type="application/rss+xml"/>
104
+ <atom:link href="${m(n + t)}feed.xml" rel="self" type="application/rss+xml"/>
105
105
  ${o}
106
106
  </channel>
107
107
  </rss>
@@ -145,14 +145,14 @@ async function Fe(e, t, n) {
145
145
  }
146
146
  async function Ie(e, t, n) {
147
147
  let r = await (await import(e.ssrEntryPath)).createRenderer(), i = e.pagePaths.length, a = 0;
148
- for (let o of e.pagePaths) {
149
- let s = await r(o), l = ee(s.pageData), u = E(s.pageData), d = te(s.pageData), f = e.base + c(o), p = [re({
148
+ for (let s of e.pagePaths) {
149
+ let c = await r(s), l = ee(c.pageData), u = E(c.pageData), d = te(c.pageData), f = e.base + o(s), p = [re({
150
150
  title: l,
151
151
  description: u,
152
152
  canonicalUrl: f,
153
153
  author: e.author,
154
154
  dateModified: d
155
- }), O(o, l)].filter((e) => e !== void 0), m = ne({
155
+ }), O(s, l)].filter((e) => e !== void 0), m = ne({
156
156
  title: l,
157
157
  description: u,
158
158
  siteTitle: e.siteTitle,
@@ -162,11 +162,11 @@ async function Ie(e, t, n) {
162
162
  lang: e.lang,
163
163
  entryScript: t,
164
164
  canonicalUrl: f,
165
- ogImagePath: D(s.pageData),
165
+ ogImagePath: D(c.pageData),
166
166
  jsonLdBlocks: p,
167
167
  headExtra: n,
168
- appContent: s.html
169
- }), h = o === "/" ? "index.html" : `${c(o)}.html`, g = k.join(e.outDir, h);
168
+ appContent: c.html
169
+ }), h = s === "/" ? "index.html" : `${o(s)}.html`, g = k.join(e.outDir, h);
170
170
  await N.mkdir(k.dirname(g), { recursive: !0 }), await N.writeFile(g, m), a++, e.progress?.update(a, i);
171
171
  }
172
172
  }
@@ -302,42 +302,35 @@ function ze(e, t) {
302
302
  }
303
303
  //#endregion
304
304
  //#region src/node/lib/components.ts
305
- function Be(e, t) {
306
- let n = Ve(t), r = {};
307
- for (let i of e) {
308
- let e = `./${k.relative(t, i.absolutePath)}`;
309
- try {
310
- let t = n.getComponentMeta(i.absolutePath), a = {}, s = !1;
311
- for (let e of t.props) {
312
- if (e.global) continue;
313
- let t = L(e.schema);
314
- t !== void 0 && (a[e.name] = e.required ? t : o(t), s = !0);
315
- }
316
- r[i.name] = {
317
- source: e,
318
- props: s ? a : void 0
319
- };
320
- } catch {
321
- r[i.name] = { source: e };
322
- }
323
- }
324
- return r;
305
+ function Be(e) {
306
+ let t = k.join(e, "tsconfig.json");
307
+ if (P.existsSync(t)) return Ce(t);
308
+ let n = Ve(e);
309
+ return we(e, { compilerOptions: {
310
+ strict: !1,
311
+ jsx: "preserve",
312
+ jsxImportSource: "vue",
313
+ ...n && { paths: n }
314
+ } });
325
315
  }
326
316
  async function I(e, t) {
327
317
  let n = [];
328
318
  for (let r of e) if (r.kind === "dir") {
329
319
  let e = k.resolve(t, r.path), i;
330
320
  try {
331
- i = await pe(e);
321
+ i = await pe(e, { withFileTypes: !0 });
332
322
  } catch {
333
323
  continue;
334
324
  }
335
- for (let t of i) {
336
- if (!t.endsWith(".vue")) continue;
337
- let r = t.slice(0, -4);
338
- n.push({
339
- name: r,
340
- absolutePath: k.join(e, t)
325
+ for (let t of i) if (t.isFile() && t.name.endsWith(".vue")) n.push({
326
+ name: t.name.slice(0, -4),
327
+ absolutePath: k.join(e, t.name)
328
+ });
329
+ else if (t.isDirectory()) {
330
+ let r = k.join(e, t.name, "index.vue");
331
+ P.existsSync(r) && n.push({
332
+ name: t.name,
333
+ absolutePath: r
341
334
  });
342
335
  }
343
336
  } else n.push({
@@ -347,76 +340,24 @@ async function I(e, t) {
347
340
  return n;
348
341
  }
349
342
  function Ve(e) {
350
- let t = k.join(e, "tsconfig.json");
351
- return P.existsSync(t) ? Se(t) : Ce(e, { compilerOptions: {
352
- strict: !1,
353
- jsx: "preserve",
354
- jsxImportSource: "vue"
355
- } });
356
- }
357
- function He(e) {
358
- if (!e || e.length !== 1) return;
359
- let t = L(e[0]);
360
- return t === void 0 ? void 0 : {
361
- type: "array",
362
- items: t
363
- };
364
- }
365
- function Ue(e) {
366
- let t = e ?? [], n = t.some((e) => e === "undefined" || e === "null"), r = t.filter((e) => e !== "undefined" && e !== "null");
367
- if (r.length !== 1) return;
368
- let i = L(r[0]);
369
- if (i !== void 0) return n ? o(i) : i;
370
- }
371
- function L(e) {
372
- if (typeof e == "string") return Ge(e);
373
- switch (e.kind) {
374
- case "enum": return Ue(e.schema);
375
- case "array": return He(e.schema);
376
- case "object": return We(e.type, e.schema);
377
- default: return;
378
- }
379
- }
380
- function We(e, t) {
381
- if (t && 0 < Object.keys(t).length) return Ke(t);
382
- let n = /^(?:Record<string,\s*(\w+)>|\{\s*\[key:\s*string\]:\s*(\w+);\s*\})$/.exec(e);
383
- if (!n) return;
384
- let r = Ge(n[1] ?? n[2]);
385
- return r === void 0 ? void 0 : {
386
- type: "object",
387
- additionalProperties: r
388
- };
389
- }
390
- function Ge(e) {
391
- switch (e) {
392
- case "string": return { type: "string" };
393
- case "number": return { type: "number" };
394
- case "boolean": return { type: "boolean" };
395
- default: return;
396
- }
397
- }
398
- function Ke(e) {
399
- let t = {}, n = [];
400
- for (let [r, i] of Object.entries(e)) {
401
- let e = L(i.schema);
402
- if (e === void 0) return;
403
- t[r] = e, i.required && n.push(r);
343
+ try {
344
+ let t = Se(k.join(e, "package.json")), n = k.dirname(t.resolve("vue/package.json"));
345
+ return {
346
+ vue: [n],
347
+ "vue/*": [k.join(n, "*")]
348
+ };
349
+ } catch {
350
+ return;
404
351
  }
405
- let r = {
406
- type: "object",
407
- properties: t,
408
- additionalProperties: !1
409
- };
410
- return 0 < n.length && (r.required = n), r;
411
352
  }
412
353
  //#endregion
413
354
  //#region src/node/lib/progress.ts
414
- var R = [
355
+ var L = [
415
356
  "◐",
416
357
  "◓",
417
358
  "◑",
418
359
  "◒"
419
- ], z = class {
360
+ ], R = class {
420
361
  logger;
421
362
  label;
422
363
  start;
@@ -424,8 +365,8 @@ var R = [
424
365
  constructor(e, t) {
425
366
  if (this.logger = e, this.label = t, this.start = performance.now(), process.stdout.isTTY) {
426
367
  let e = 0;
427
- process.stdout.write(j.cyan(`${R[0]} ${t}`)), this.spinnerInterval = setInterval(() => {
428
- e = (e + 1) % R.length, process.stdout.write(`\r${j.cyan(`${R[e]} ${this.label}`)}`);
368
+ process.stdout.write(j.cyan(`${L[0]} ${t}`)), this.spinnerInterval = setInterval(() => {
369
+ e = (e + 1) % L.length, process.stdout.write(`\r${j.cyan(`${L[e]} ${this.label}`)}`);
429
370
  }, 120).unref();
430
371
  } else this.logger.start(t);
431
372
  }
@@ -437,31 +378,31 @@ var R = [
437
378
  done(e) {
438
379
  this.stopSpinner(), process.stdout.isTTY && process.stdout.write("\r\x1B[K");
439
380
  let t = Math.round(performance.now() - this.start);
440
- this.logger.success(`${e} (${qe(t)})`);
381
+ this.logger.success(`${e} (${He(t)})`);
441
382
  }
442
383
  stopSpinner() {
443
384
  this.spinnerInterval &&= (clearInterval(this.spinnerInterval), void 0);
444
385
  }
445
386
  };
446
- function qe(e) {
387
+ function He(e) {
447
388
  return e < 1e3 ? `${Math.round(e)}ms` : `${(e / 1e3).toFixed(1)}s`;
448
389
  }
449
390
  //#endregion
450
391
  //#region src/node/build/index.ts
451
- async function Je(e, t = {}) {
392
+ async function Ue(e, t = {}) {
452
393
  let { root: n, logger: r } = e, i = k.resolve(n, t.outDir ?? "dist"), a = k.join(i, ".client"), o = k.join(i, ".server");
453
394
  await N.rm(i, {
454
395
  recursive: !0,
455
396
  force: !0
456
397
  });
457
- let s = await e.getTdContext(), [c, l, d] = await Promise.all([
398
+ let s = await e.getTdContext(), [c, u, d] = await Promise.all([
458
399
  s.getConfig(),
459
400
  s.listFiles(),
460
401
  s.listSidebar()
461
- ]), f = c.origin ?? void 0, p = c.author ?? void 0, m = c.license ?? void 0, h = c.repo ?? void 0, g = t.base ?? c.basePath ?? "/", _ = g.endsWith("/") ? g : g + "/", v = d.map((e) => ({
402
+ ]), f = c.origin ?? void 0, p = c.author ?? void 0, m = c.license ?? void 0, h = c.repo ?? void 0, g = t.base ?? c.basePath ?? "/", _ = g.endsWith("/") ? g : g + "/", y = d.map((e) => ({
462
403
  ...e,
463
404
  header: {}
464
- })), b = y(v), x = JSON.stringify({
405
+ })), b = v(y), x = JSON.stringify({
465
406
  title: c.siteTitle,
466
407
  description: c.siteDescription,
467
408
  basePath: _,
@@ -492,13 +433,13 @@ async function Je(e, t = {}) {
492
433
  nav: c.nav,
493
434
  userComponents: D
494
435
  }, {
495
- theme: Y,
496
- pages: G,
497
- siteData: q,
498
- searchIndex: J,
499
- pageDataEvent: X
436
+ theme: J,
437
+ pages: W,
438
+ siteData: K,
439
+ searchIndex: q,
440
+ pageDataEvent: Y
500
441
  })),
501
- N.writeFile(T, Ye({
442
+ N.writeFile(T, We({
502
443
  rootDir: c.rootDir,
503
444
  siteConfig: x,
504
445
  siteData: S,
@@ -508,7 +449,7 @@ async function Je(e, t = {}) {
508
449
  N.writeFile(E, O)
509
450
  ]);
510
451
  try {
511
- let s = gn({ context: e }), m = e.createViteLogger(), h = new z(r, "Building client bundle...");
452
+ let s = yn({ context: e }), m = e.createViteLogger(), h = new R(r, "Building client bundle...");
512
453
  await fe({
513
454
  ...t.viteConfig,
514
455
  root: n,
@@ -529,7 +470,7 @@ async function Je(e, t = {}) {
529
470
  });
530
471
  let g = await N.readdir(k.join(a, "assets")).catch(() => []);
531
472
  h.done(`Client bundle (${g.length} chunks)`);
532
- let v = new z(r, "Building SSR bundle...");
473
+ let v = new R(r, "Building SSR bundle...");
533
474
  await fe({
534
475
  ...t.viteConfig,
535
476
  root: n,
@@ -544,12 +485,12 @@ async function Je(e, t = {}) {
544
485
  emptyOutDir: !0
545
486
  }
546
487
  }), v.done("SSR bundle");
547
- let y = l.map((e) => {
548
- let t = u(e);
488
+ let y = u.map((e) => {
489
+ let t = l(e);
549
490
  return t === "index" ? "/" : `/${t}`;
550
491
  });
551
- y.push("/"), Ze(b.entries, "", y);
552
- let x = new z(r, "Pre-rendering pages...");
492
+ y.push("/"), Ke(b.entries, "", y);
493
+ let x = new R(r, "Pre-rendering pages...");
553
494
  await Pe({
554
495
  ssrEntryPath: k.join(o, "ssr-entry.js"),
555
496
  clientOutDir: a,
@@ -564,13 +505,13 @@ async function Je(e, t = {}) {
564
505
  }), x.done(`Pre-rendered ${y.length} pages`);
565
506
  let S = /* @__PURE__ */ new Map();
566
507
  for (let e of d) {
567
- let t = u(e.filepath), n = t === "index" ? "/" : `/${t}`;
508
+ let t = l(e.filepath), n = t === "index" ? "/" : `/${t}`;
568
509
  S.set(n, e.fileMetadata.mtime);
569
510
  }
570
511
  let C = ke(y, _, f, S), E = [N.writeFile(k.join(i, "sitemap.xml"), C)];
571
512
  f !== void 0 && (E.push(N.writeFile(k.join(i, "robots.txt"), Ae(f, _))), E.push(N.writeFile(k.join(i, "feed.xml"), je(d, _, f, c.siteTitle, c.siteDescription, c.lang)))), await Promise.all(E);
572
513
  let D = k.join(a, "assets"), O = k.join(i, "assets");
573
- await N.cp(D, O, { recursive: !0 }).catch(() => {}), await Xe(k.join(n, c.rootDir), i);
514
+ await N.cp(D, O, { recursive: !0 }).catch(() => {}), await Ge(k.join(n, c.rootDir), i);
574
515
  let ee = k.join(n, c.publicDir);
575
516
  await N.cp(ee, i, { recursive: !0 }).catch(() => {});
576
517
  } finally {
@@ -591,13 +532,13 @@ async function Je(e, t = {}) {
591
532
  }
592
533
  r.log(`\nBuild complete. Output: ${i}`);
593
534
  }
594
- function Ye(e) {
595
- let t = `/${e.rootDir}/${f}`, n = JSON.parse(e.siteConfig), r = JSON.parse(e.siteData), i = r.contentTree ?? { entries: [] }, a = v(i.entries ?? [], n.title ?? ""), o = JSON.stringify({
535
+ function We(e) {
536
+ let t = `/${e.rootDir}/${s}`, n = JSON.parse(e.siteConfig), r = JSON.parse(e.siteData), i = r.contentTree ?? { entries: [] }, a = _(i.entries ?? [], n.title ?? ""), o = JSON.stringify({
596
537
  ...r,
597
538
  directoryListings: a
598
- }), s = e.userComponents ?? [], c = s.map((e) => `import ${e.name} from ${JSON.stringify(e.absolutePath)};`).join("\n"), l = s.map((e) => `app.component(${JSON.stringify(e.name)}, ${e.name});`).join("\n");
539
+ }), c = e.userComponents ?? [], l = c.map((e) => `import ${e.name} from ${JSON.stringify(e.absolutePath)};`).join("\n"), u = c.map((e) => `app.component(${JSON.stringify(e.name)}, ${e.name});`).join("\n");
599
540
  return `
600
- ${[c, "import { createTypedownApp } from 'typerighter/client';"].filter(Boolean).join("\n")}
541
+ ${[l, "import { createTypedownApp } from 'typerighter/client';"].filter(Boolean).join("\n")}
601
542
  import { TdDirectoryIndex, TdGlossaryIndex } from 'typerighter/client/theme-default';
602
543
  import { isIndexUrl, getDirectoryFromPageUrl } from 'typerighter/shared';
603
544
  import { renderToString } from 'vue/server-renderer';
@@ -634,7 +575,7 @@ function loadPageModule(pagePath) {
634
575
 
635
576
  export async function createRenderer() {
636
577
  const { app, router } = await createTypedownApp(loadPageModule, theme, ${e.siteConfig}, siteData);
637
- ${l}
578
+ ${u}
638
579
  return async function render(url) {
639
580
  await router.go(url, { replace: true });
640
581
  const html = await renderToString(app);
@@ -643,32 +584,32 @@ export async function createRenderer() {
643
584
  }
644
585
  `;
645
586
  }
646
- async function Xe(e, t) {
587
+ async function Ge(e, t) {
647
588
  let n = (await N.readdir(e, {
648
589
  recursive: !0,
649
590
  withFileTypes: !0
650
- })).filter((e) => e.isFile() && !l(e.name)).map(async (n) => {
591
+ })).filter((e) => e.isFile() && !c(e.name)).map(async (n) => {
651
592
  let r = k.join(n.parentPath, n.name), i = k.relative(e, r), a = k.join(t, i);
652
593
  return N.mkdir(k.dirname(a), { recursive: !0 }).then(() => N.copyFile(r, a));
653
594
  });
654
595
  await Promise.all(n);
655
596
  }
656
- function Ze(e, t, n) {
597
+ function Ke(e, t, n) {
657
598
  for (let r of e) {
658
599
  if (r.kind !== "dir") continue;
659
600
  let e = `${t}/${r.node.name}`;
660
- p(r.node) || n.push(C(e)), Ze(r.node.entries, e, n);
601
+ f(r.node) || n.push(C(e)), Ke(r.node.entries, e, n);
661
602
  }
662
603
  }
663
604
  //#endregion
664
605
  //#region ../../node_modules/.pnpm/@shikijs+transformers@4.4.3/node_modules/@shikijs/transformers/dist/index.mjs
665
- var Qe = /(\s+\/\/)/, $e = /(?:\/\/|["'#]|;{1,2}|%{1,2}|--)(\s*)$/, et = /(?:\/\/|#|;{1,2}|%{1,2}|--)(\s*)$/, tt = [
606
+ var qe = /(\s+\/\/)/, Je = /(?:\/\/|["'#]|;{1,2}|%{1,2}|--)(\s*)$/, Ye = /(?:\/\/|#|;{1,2}|%{1,2}|--)(\s*)$/, Xe = [
666
607
  [/^(<!--)(.+)(-->)$/, !1],
667
608
  [/^(\/\*)(.+)(\*\/)$/, !1],
668
609
  [/^(\/\/|["'#]|;{1,2}|%{1,2}|--)(.*)$/, !0],
669
610
  [/^(\*)(.+)$/, !0]
670
611
  ];
671
- function nt(e, t, n) {
612
+ function Ze(e, t, n) {
672
613
  let r = [];
673
614
  for (let i of e) {
674
615
  if (n === "v3") {
@@ -677,8 +618,8 @@ function nt(e, t, n) {
677
618
  let n = e.children[0];
678
619
  if (n.type !== "text") return e;
679
620
  let r = t === i.children.length - 1;
680
- if (!B(n.value, r)) return e;
681
- let a = n.value.split(Qe);
621
+ if (!z(n.value, r)) return e;
622
+ let a = n.value.split(qe);
682
623
  if (a.length <= 1) return e;
683
624
  let o = [a[0]];
684
625
  for (let e = 1; e < a.length; e += 2) o.push(a[e] + (a[e + 1] || ""));
@@ -699,13 +640,13 @@ function nt(e, t, n) {
699
640
  if (a.type !== "element") continue;
700
641
  let o = a.children.at(0);
701
642
  if (o?.type !== "text") continue;
702
- let s = n === e.length - 1, c = B(o.value, s), l;
643
+ let s = n === e.length - 1, c = z(o.value, s), l;
703
644
  if (!c && n > 0 && o.value.trim().startsWith("[!code")) {
704
645
  let t = e[n - 1];
705
646
  if (t?.type === "element") {
706
647
  let n = t.children.at(0);
707
648
  if (n?.type === "text" && n.value.includes("//")) {
708
- let l = B(n.value + o.value, s);
649
+ let l = z(n.value + o.value, s);
709
650
  if (l) {
710
651
  c = l, r.push({
711
652
  info: l,
@@ -722,7 +663,7 @@ function nt(e, t, n) {
722
663
  }
723
664
  if (c) {
724
665
  if (t && !s && n !== 0) {
725
- let t = rt(e[n - 1], "{") && rt(e[n + 1], "}");
666
+ let t = Qe(e[n - 1], "{") && Qe(e[n + 1], "}");
726
667
  r.push({
727
668
  info: c,
728
669
  line: i,
@@ -744,16 +685,16 @@ function nt(e, t, n) {
744
685
  }
745
686
  return r;
746
687
  }
747
- function rt(e, t) {
688
+ function Qe(e, t) {
748
689
  if (e.type !== "element") return !1;
749
690
  let n = e.children[0];
750
691
  return n.type === "text" && n.value.trim() === t;
751
692
  }
752
- function B(e, t) {
693
+ function z(e, t) {
753
694
  let n = e.trimStart(), r = e.length - n.length;
754
695
  n = n.trimEnd();
755
696
  let i = e.length - n.length - r;
756
- for (let [e, a] of tt) {
697
+ for (let [e, a] of Xe) {
757
698
  if (a && !t) continue;
758
699
  let o = e.exec(n);
759
700
  if (o) return [
@@ -763,22 +704,22 @@ function B(e, t) {
763
704
  ];
764
705
  }
765
706
  }
766
- function it(e) {
767
- let t = e.match($e);
707
+ function $e(e) {
708
+ let t = e.match(Je);
768
709
  return t && t[1].trim().length === 0 ? e.slice(0, t.index) : e;
769
710
  }
770
- function at(e) {
771
- let t = e.match(et);
711
+ function et(e) {
712
+ let t = e.match(Ye);
772
713
  return t && t[1].trim().length === 0 ? e.slice(0, t.index).trimEnd() : e;
773
714
  }
774
- function ot(e, t, n, r) {
715
+ function tt(e, t, n, r) {
775
716
  return r ??= "v3", {
776
717
  name: e,
777
718
  code(e) {
778
719
  let i = e.children.filter((e) => e.type === "element"), a = [];
779
720
  e.data ??= {};
780
721
  let o = e.data;
781
- o._shiki_notation ??= nt(i, ["jsx", "tsx"].includes(this.options.lang), r);
722
+ o._shiki_notation ??= Ze(i, ["jsx", "tsx"].includes(this.options.lang), r);
782
723
  let s = o._shiki_notation;
783
724
  for (let e of s) {
784
725
  if (e.info[1].length === 0) continue;
@@ -786,7 +727,7 @@ function ot(e, t, n, r) {
786
727
  e.isLineCommentOnly && r !== "v1" && o++;
787
728
  let s = !1;
788
729
  if (e.info[1] = e.info[1].replace(t, (...t) => n.call(this, t, e.line, e.token, i, o) ? (s = !0, "") : t[0]), !s) continue;
789
- r === "v1" ? e.info[1] = it(e.info[1]) : r === "v3" && (e.info[1] = at(e.info[1]));
730
+ r === "v1" ? e.info[1] = $e(e.info[1]) : r === "v3" && (e.info[1] = et(e.info[1]));
790
731
  let c = e.info[1].trim().length === 0;
791
732
  if (c && (e.info[1] = ""), c && e.isLineCommentOnly) a.push(e.line);
792
733
  else if (c && e.isJsxStyle) e.line.children.splice(e.line.children.indexOf(e.token) - 1, 3);
@@ -811,44 +752,44 @@ function ot(e, t, n, r) {
811
752
  }
812
753
  };
813
754
  }
814
- var st = /\{([\d,-]+)\}/;
815
- function ct(e) {
755
+ var nt = /\{([\d,-]+)\}/;
756
+ function rt(e) {
816
757
  if (!e) return null;
817
- let t = e.match(st);
758
+ let t = e.match(nt);
818
759
  return t ? t[1].split(",").flatMap((e) => {
819
760
  let t = e.split("-").map((e) => Number.parseInt(e, 10));
820
761
  return t.length === 1 ? [t[0]] : Array.from({ length: t[1] - t[0] + 1 }, (e, n) => t[0] + n);
821
762
  }) : null;
822
763
  }
823
- var lt = Symbol("highlighted-lines");
824
- function ut(e = {}) {
764
+ var it = Symbol("highlighted-lines");
765
+ function at(e = {}) {
825
766
  let { className: t = "highlighted", zeroIndexed: n = !1 } = e;
826
767
  return {
827
768
  name: "@shikijs/transformers:meta-highlight",
828
769
  line(e, r) {
829
770
  if (!this.options.meta?.__raw) return;
830
771
  let i = this.meta;
831
- i[lt] ??= ct(this.options.meta.__raw);
832
- let a = i[lt] ?? [], o = n ? r - 1 : r;
772
+ i[it] ??= rt(this.options.meta.__raw);
773
+ let a = i[it] ?? [], o = n ? r - 1 : r;
833
774
  return a.includes(o) && this.addClassToHast(e, t), e;
834
775
  }
835
776
  };
836
777
  }
837
- var dt = /[.*+?^${}()|[\]\\]/g;
838
- function ft(e) {
839
- return e.replace(dt, "\\$&");
778
+ var ot = /[.*+?^${}()|[\]\\]/g;
779
+ function st(e) {
780
+ return e.replace(ot, "\\$&");
840
781
  }
841
- function V(e = {}, t = "@shikijs/transformers:notation-map") {
782
+ function B(e = {}, t = "@shikijs/transformers:notation-map") {
842
783
  let { classMap: n = {}, classActivePre: r = void 0, classActiveCode: i = void 0 } = e;
843
- return ot(t, RegExp(`#?\\s*\\[!code (${Object.keys(n).map(ft).join("|")})(:\\d+)?\\]`, "gi"), function([e, t, a = ":1"], o, s, c, l) {
784
+ return tt(t, RegExp(`#?\\s*\\[!code (${Object.keys(n).map(st).join("|")})(:\\d+)?\\]`, "gi"), function([e, t, a = ":1"], o, s, c, l) {
844
785
  let u = Number.parseInt(a.slice(1), 10);
845
786
  for (let e = l; e < Math.min(l + u, c.length); e++) this.addClassToHast(c[e], n[t]);
846
787
  return r && this.addClassToHast(this.pre, r), i && this.addClassToHast(this.code, i), !0;
847
788
  }, e.matchAlgorithm);
848
789
  }
849
- function pt(e = {}) {
790
+ function ct(e = {}) {
850
791
  let { classLineAdd: t = "diff add", classLineRemove: n = "diff remove", classActivePre: r = "has-diff", classActiveCode: i } = e;
851
- return V({
792
+ return B({
852
793
  classMap: {
853
794
  "++": t,
854
795
  "--": n
@@ -858,31 +799,31 @@ function pt(e = {}) {
858
799
  matchAlgorithm: e.matchAlgorithm
859
800
  }, "@shikijs/transformers:notation-diff");
860
801
  }
861
- function mt(e = {}) {
802
+ function lt(e = {}) {
862
803
  let { classMap: t = {
863
804
  error: ["highlighted", "error"],
864
805
  warning: ["highlighted", "warning"],
865
806
  info: ["highlighted", "info"]
866
807
  }, classActivePre: n = "has-highlighted", classActiveCode: r } = e;
867
- return V({
808
+ return B({
868
809
  classMap: t,
869
810
  classActivePre: n,
870
811
  classActiveCode: r,
871
812
  matchAlgorithm: e.matchAlgorithm
872
813
  }, "@shikijs/transformers:notation-error-level");
873
814
  }
874
- function ht(e = {}) {
815
+ function ut(e = {}) {
875
816
  let { classActiveLine: t = "focused", classActivePre: n = "has-focused", classActiveCode: r } = e;
876
- return V({
817
+ return B({
877
818
  classMap: { focus: t },
878
819
  classActivePre: n,
879
820
  classActiveCode: r,
880
821
  matchAlgorithm: e.matchAlgorithm
881
822
  }, "@shikijs/transformers:notation-focus");
882
823
  }
883
- function gt(e = {}) {
824
+ function dt(e = {}) {
884
825
  let { classActiveLine: t = "highlighted", classActivePre: n = "has-highlighted", classActiveCode: r } = e;
885
- return V({
826
+ return B({
886
827
  classMap: {
887
828
  highlight: t,
888
829
  hl: t
@@ -894,42 +835,42 @@ function gt(e = {}) {
894
835
  }
895
836
  //#endregion
896
837
  //#region src/node/lib/render/highlight/language.ts
897
- var _t = [
838
+ var ft = [
898
839
  "shellscript",
899
840
  "shell",
900
841
  "bash",
901
842
  "sh",
902
843
  "zsh"
903
844
  ];
904
- function vt(e) {
905
- return _t.includes(e);
845
+ function pt(e) {
846
+ return ft.includes(e);
906
847
  }
907
- var yt = /^[a-zA-Z0-9-_]+/;
908
- function bt(e) {
909
- return yt.exec(e)?.[0] || "";
848
+ var mt = /^[a-zA-Z0-9-_]+/;
849
+ function ht(e) {
850
+ return mt.exec(e)?.[0] || "";
910
851
  }
911
852
  //#endregion
912
853
  //#region src/node/lib/render/highlight/index.ts
913
- var xt = new FinalizationRegistry((e) => {
854
+ var gt = new FinalizationRegistry((e) => {
914
855
  e();
915
- }), H = {
856
+ }), V = {
916
857
  light: "github-light",
917
858
  dark: "github-dark"
918
859
  };
919
- async function St() {
920
- let e = await we({
921
- themes: [H.light, H.dark],
860
+ async function _t() {
861
+ let e = await Te({
862
+ themes: [V.light, V.dark],
922
863
  langs: []
923
864
  }), t = [
924
- ut(),
925
- pt(),
926
- ht({
865
+ at(),
866
+ ct(),
867
+ ut({
927
868
  classActiveLine: "has-focus",
928
869
  classActivePre: "has-focused-lines"
929
870
  }),
930
- gt(),
931
- mt(),
932
- Ct(),
871
+ dt(),
872
+ lt(),
873
+ vt(),
933
874
  {
934
875
  name: "typedown:add-dir",
935
876
  pre(e) {
@@ -938,19 +879,19 @@ async function St() {
938
879
  }
939
880
  ], n = new Set(e.getLoadedLanguages());
940
881
  async function r(r, i, a) {
941
- let o = bt(i);
882
+ let o = ht(i);
942
883
  if (o) {
943
884
  let e = i;
944
885
  i = o.toLowerCase(), a = e.slice(i.length).replace(/(?<!=)\{/g, " {") + " " + a, a = a.trim().replace(/\s+/g, " ");
945
886
  }
946
887
  i ||= "txt";
947
888
  try {
948
- !Ee(i) && !n.has(i) && (await e.loadLanguage(i), n.add(i));
889
+ !De(i) && !n.has(i) && (await e.loadLanguage(i), n.add(i));
949
890
  } catch {
950
891
  ae.warn(`\nThe language '${i}' is not loaded, falling back to 'txt' for syntax highlighting.`), i = "txt";
951
892
  }
952
893
  r = r.trimEnd();
953
- let s = Te(r, i, e);
894
+ let s = Ee(r, i, e);
954
895
  return await e.loadLanguage(...s), e.codeToHtml(r, {
955
896
  lang: i,
956
897
  transformers: [...t, {
@@ -967,7 +908,7 @@ async function St() {
967
908
  }
968
909
  }],
969
910
  meta: { __raw: a },
970
- themes: H,
911
+ themes: V,
971
912
  defaultColor: !1,
972
913
  colorReplacements: {
973
914
  "github-light": {
@@ -992,13 +933,13 @@ async function St() {
992
933
  }
993
934
  });
994
935
  }
995
- return xt.register(r, () => e.dispose()), r;
936
+ return gt.register(r, () => e.dispose()), r;
996
937
  }
997
- function Ct() {
938
+ function vt() {
998
939
  return {
999
940
  name: "typedown:disable-shell-symbol-select",
1000
941
  tokens(e) {
1001
- if (vt(this.options.lang)) for (let t of e) {
942
+ if (pt(this.options.lang)) for (let t of e) {
1002
943
  if (t.length < 2) continue;
1003
944
  let e = t[0].content.trim();
1004
945
  (e === "$" || e === ">") && t[1].content[0] === " " && (t[0].content = e + " ", t[0].htmlStyle ??= {}, t[0].htmlStyle["user-select"] = "none", t[0].htmlStyle["-webkit-user-select"] = "none", t[1].content = t[1].content.slice(1));
@@ -1008,23 +949,23 @@ function Ct() {
1008
949
  }
1009
950
  //#endregion
1010
951
  //#region src/node/lib/render/postprocess.ts
1011
- var wt;
1012
- async function Tt(e) {
1013
- return e = await Ot(e), e = Mt(e), e;
952
+ var yt;
953
+ async function bt(e) {
954
+ return e = await Ct(e), e = Dt(e), e;
1014
955
  }
1015
- function Et() {
1016
- return wt ||= St(), wt;
956
+ function xt() {
957
+ return yt ||= _t(), yt;
1017
958
  }
1018
- var Dt = /<pre class="td-code-placeholder"([^>]*)><code>([\s\S]*?)<\/code><\/pre>/g;
1019
- function U(e, t) {
959
+ var St = /<pre class="td-code-placeholder"([^>]*)><code>([\s\S]*?)<\/code><\/pre>/g;
960
+ function H(e, t) {
1020
961
  return e.match(RegExp(`${t}="([^"]*)"`))?.[1];
1021
962
  }
1022
- async function Ot(e) {
1023
- let t = await Et(), n = [...e.matchAll(Dt)];
963
+ async function Ct(e) {
964
+ let t = await xt(), n = [...e.matchAll(St)];
1024
965
  if (n.length === 0) return e;
1025
966
  let r = await Promise.all(n.map(async (e) => {
1026
- let n = e[1], r = U(n, "data-lang") ?? "", i = U(n, "data-meta") ?? "", a = U(n, "data-title"), o = U(n, "data-line-numbers"), s = g(e[2]);
1027
- return kt(await t(s, r, i), r, {
967
+ let n = e[1], r = H(n, "data-lang") ?? "", i = H(n, "data-meta") ?? "", a = H(n, "data-title"), o = H(n, "data-line-numbers"), s = h(e[2]);
968
+ return wt(await t(s, r, i), r, {
1028
969
  title: a,
1029
970
  lineNumbers: o
1030
971
  });
@@ -1035,39 +976,39 @@ async function Ot(e) {
1035
976
  }
1036
977
  return i;
1037
978
  }
1038
- function kt(e, t, n) {
979
+ function wt(e, t, n) {
1039
980
  t ||= "txt";
1040
981
  let r = n.title ?? t.replace(/_/g, " "), i = ["language-" + t];
1041
982
  n.title && i.push("has-title"), n.lineNumbers !== void 0 && i.push("line-numbers-mode");
1042
- let a = `<div class="${i.join(" ")}"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">${h(r)}</span>` + e;
983
+ let a = `<div class="${i.join(" ")}"><button title="Copy code" data-copied="Copied" class="copy"></button><span class="lang">${m(r)}</span>` + e;
1043
984
  if (n.lineNumbers !== void 0) {
1044
985
  let e = parseInt(n.lineNumbers) || 1, t = a.slice(a.indexOf("<code>"), a.indexOf("</code>")).split("\n").length, r = [...Array(t)].map((t, n) => `<span class="line-number">${n + e}</span><br>`).join("");
1045
986
  a += `<div class="line-numbers-wrapper" aria-hidden="true">${r}</div>`;
1046
987
  }
1047
988
  return a += "</div>", a;
1048
989
  }
1049
- var At = /<span class="td-math-inline">([\s\S]*?)<\/span>/g, jt = /<div class="td-math-block">([\s\S]*?)<\/div>/g;
1050
- function Mt(e) {
1051
- return e = e.replace(At, (e, t) => Ft(t, !1)), e = e.replace(jt, (e, t) => Ft(t, !0)), e;
990
+ var Tt = /<span class="td-math-inline">([\s\S]*?)<\/span>/g, Et = /<div class="td-math-block">([\s\S]*?)<\/div>/g;
991
+ function Dt(e) {
992
+ return e = e.replace(Tt, (e, t) => At(t, !1)), e = e.replace(Et, (e, t) => At(t, !0)), e;
1052
993
  }
1053
- var Nt = /`([^`]+)`|\$([^$]+)\$/g;
1054
- function Pt(e) {
994
+ var Ot = /`([^`]+)`|\$([^$]+)\$/g;
995
+ function kt(e) {
1055
996
  let t = 0, n = "";
1056
- for (let r of e.matchAll(Nt)) {
1057
- if (n += h(e.slice(t, r.index)), r[1] !== void 0) n += `<code>${h(r[1])}</code>`;
997
+ for (let r of e.matchAll(Ot)) {
998
+ if (n += m(e.slice(t, r.index)), r[1] !== void 0) n += `<code>${m(r[1])}</code>`;
1058
999
  else if (r[2] !== void 0) try {
1059
1000
  n += ie.renderToString(r[2], { throwOnError: !1 });
1060
1001
  } catch {
1061
- n += h(r[0]);
1002
+ n += m(r[0]);
1062
1003
  }
1063
1004
  t = r.index + r[0].length;
1064
1005
  }
1065
- return n += h(e.slice(t)), n;
1006
+ return n += m(e.slice(t)), n;
1066
1007
  }
1067
- function Ft(e, t) {
1008
+ function At(e, t) {
1068
1009
  let n = t ? "div" : "span";
1069
1010
  try {
1070
- return ie.renderToString(g(e), {
1011
+ return ie.renderToString(h(e), {
1071
1012
  throwOnError: !1,
1072
1013
  displayMode: t
1073
1014
  });
@@ -1077,24 +1018,24 @@ function Ft(e, t) {
1077
1018
  }
1078
1019
  //#endregion
1079
1020
  //#region src/node/lib/render/vue.ts
1080
- async function W(e, t, n) {
1081
- let r = t.title || t.label || (m(n) ? S(n, (await e.getConfig()).siteTitle) : w(n));
1021
+ async function U(e, t, n) {
1022
+ let r = t.title || t.label || (p(n) ? S(n, (await e.getConfig()).siteTitle) : w(n));
1082
1023
  return {
1083
1024
  schema: t.schema,
1084
1025
  schemaLabel: t.schemaLabel,
1085
1026
  label: t.label,
1086
1027
  icon: t.icon,
1087
1028
  frontmatter: t.header ?? {},
1088
- headings: Lt(t.headings),
1029
+ headings: Mt(t.headings),
1089
1030
  title: r,
1090
- titleHtml: Pt(r),
1031
+ titleHtml: kt(r),
1091
1032
  filepath: n,
1092
1033
  fileMetadata: t.fileMetadata,
1093
1034
  seoMetadata: t.seoMetadata
1094
1035
  };
1095
1036
  }
1096
- async function It(e, t, n) {
1097
- let r = await Tt(t.content), i = await W(e, t, n), a = JSON.stringify(`@typedown/pages?resource=${encodeURIComponent(n)}`);
1037
+ async function jt(e, t, n) {
1038
+ let r = await bt(t.content), i = await U(e, t, n), a = JSON.stringify(`@typedown/pages?resource=${encodeURIComponent(n)}`);
1098
1039
  return {
1099
1040
  vueSrc: [
1100
1041
  "<script>",
@@ -1106,12 +1047,12 @@ async function It(e, t, n) {
1106
1047
  `import { pageData } from ${a}`,
1107
1048
  "useRouter().route.data = pageData",
1108
1049
  "<\/script>",
1109
- `<template><div class="typedown-content">\n${Rt(r)}\n</div></template>`
1050
+ `<template><div class="typedown-content">\n${Nt(r)}\n</div></template>`
1110
1051
  ].join("\n"),
1111
1052
  pageData: i
1112
1053
  };
1113
1054
  }
1114
- function Lt(e) {
1055
+ function Mt(e) {
1115
1056
  let t = [], n = [];
1116
1057
  for (let r of e) {
1117
1058
  let e = {
@@ -1127,17 +1068,17 @@ function Lt(e) {
1127
1068
  }
1128
1069
  return t;
1129
1070
  }
1130
- function Rt(e) {
1071
+ function Nt(e) {
1131
1072
  return e.replaceAll("{{", "&#123;&#123;").replaceAll("}}", "&#125;&#125;");
1132
1073
  }
1133
1074
  //#endregion
1134
1075
  //#region src/node/plugin/vite/constants.ts
1135
- var zt = "@typedown/app", Bt = "\0@typedown/app", G = "@typedown/pages", Vt = "\0" + G;
1136
- G + "";
1137
- var K = "\0@typedown/pages?resource=", q = "@typedown/site-data", Ht = "\0@typedown/site-data", J = "@typedown/search-index", Ut = "\0@typedown/search-index", Y = "@typedown/theme", Wt = "\0@typedown/theme", X = "typedown:page-data";
1076
+ var Pt = "@typedown/app", Ft = "\0@typedown/app", W = "@typedown/pages", It = "\0" + W;
1077
+ W + "";
1078
+ var G = "\0@typedown/pages?resource=", K = "@typedown/site-data", Lt = "\0@typedown/site-data", q = "@typedown/search-index", Rt = "\0@typedown/search-index", J = "@typedown/theme", zt = "\0@typedown/theme", Y = "typedown:page-data";
1138
1079
  //#endregion
1139
1080
  //#region src/node/plugin/vite/virtual/utils.ts
1140
- function Z(e, t) {
1081
+ function X(e, t) {
1141
1082
  let n = e.moduleGraph.getModuleById(t);
1142
1083
  if (n) {
1143
1084
  e.moduleGraph.invalidateModule(n);
@@ -1154,7 +1095,7 @@ function Z(e, t) {
1154
1095
  }
1155
1096
  //#endregion
1156
1097
  //#region src/node/plugin/vite/virtual/app.ts
1157
- var Gt = class {
1098
+ var Bt = class {
1158
1099
  async load(e) {
1159
1100
  let t = await (await e.getTdContext()).getConfig(), n = await I(t.components, e.root);
1160
1101
  return Re({
@@ -1170,17 +1111,17 @@ var Gt = class {
1170
1111
  nav: t.nav,
1171
1112
  userComponents: n
1172
1113
  }, {
1173
- theme: Y,
1174
- pages: G,
1175
- siteData: q,
1176
- searchIndex: J,
1177
- pageDataEvent: X
1114
+ theme: J,
1115
+ pages: W,
1116
+ siteData: K,
1117
+ searchIndex: q,
1118
+ pageDataEvent: Y
1178
1119
  });
1179
1120
  }
1180
1121
  invalidate(e) {
1181
- Z(e, Bt);
1122
+ X(e, Ft);
1182
1123
  }
1183
- }, Kt = class {
1124
+ }, Vt = class {
1184
1125
  async load(e) {
1185
1126
  let t = (await e.getConfig()).rootDir ?? ".";
1186
1127
  return `export const pages = import.meta.glob('${t === "." ? "/**/*.{td,md}" : `/${t}/**/*.{td,md}`}');`;
@@ -1189,21 +1130,21 @@ var Gt = class {
1189
1130
  if (e.startsWith("@typedown/pages?resource=")) return "\0" + e;
1190
1131
  }
1191
1132
  isPageDataModule(e) {
1192
- return e.startsWith(K);
1133
+ return e.startsWith(G);
1193
1134
  }
1194
1135
  async loadPageData(e, t) {
1195
- let n = decodeURIComponent(e.slice(K.length)), r = await W(t, await t.getFile(n), n);
1136
+ let n = decodeURIComponent(e.slice(G.length)), r = await U(t, await t.getFile(n), n);
1196
1137
  return `export const pageData = ${JSON.stringify(r)}`;
1197
1138
  }
1198
1139
  invalidatePageData(e, t) {
1199
- Z(e, K + encodeURIComponent(t));
1140
+ X(e, G + encodeURIComponent(t));
1200
1141
  }
1201
1142
  sendPageData(e, t, n) {
1202
1143
  t.getFile(n).then(async (r) => {
1203
- let i = await W(t, r, n);
1144
+ let i = await U(t, r, n);
1204
1145
  e.hot.send({
1205
1146
  type: "custom",
1206
- event: X,
1147
+ event: Y,
1207
1148
  data: {
1208
1149
  filepath: n,
1209
1150
  pageData: i
@@ -1214,21 +1155,21 @@ var Gt = class {
1214
1155
  });
1215
1156
  }
1216
1157
  invalidate(e) {
1217
- Z(e, Vt);
1158
+ X(e, It);
1218
1159
  }
1219
- }, qt = class {
1160
+ }, Ht = class {
1220
1161
  async load(e) {
1221
1162
  return ze((await (await e.getTdContext()).getConfig()).layout ?? void 0, e.root);
1222
1163
  }
1223
1164
  invalidate(e) {
1224
- Z(e, Wt);
1165
+ X(e, zt);
1225
1166
  }
1226
- }, Jt = "\0@typedown/site-data", Yt = {
1167
+ }, Ut = "\0@typedown/site-data", Wt = {
1227
1168
  ready: !1,
1228
1169
  contentTree: { entries: [] },
1229
1170
  schemas: {},
1230
1171
  directoryListings: {}
1231
- }, Xt = class {
1172
+ }, Gt = class {
1232
1173
  data;
1233
1174
  scan(e) {
1234
1175
  let t = ye("**/*.td", {
@@ -1238,38 +1179,38 @@ var Gt = class {
1238
1179
  filepath: e,
1239
1180
  label: w(e),
1240
1181
  header: {}
1241
- })), n = y(t);
1182
+ })), n = v(t);
1242
1183
  this.data = {
1243
1184
  contentTree: n,
1244
1185
  schemas: {},
1245
- directoryListings: v(n.entries, "")
1186
+ directoryListings: _(n.entries, "")
1246
1187
  };
1247
1188
  }
1248
1189
  load(e) {
1249
1190
  let t = this.data ? {
1250
1191
  ready: !0,
1251
1192
  ...this.data
1252
- } : Yt;
1193
+ } : Wt;
1253
1194
  return `export default ${JSON.stringify(t)}`;
1254
1195
  }
1255
1196
  clear() {
1256
1197
  this.data = void 0;
1257
1198
  }
1258
- fetch = x((e, t) => {
1259
- Q(e).then((e) => {
1199
+ fetch = b((e, t) => {
1200
+ Kt(e).then((e) => {
1260
1201
  this.data = e, t && this.invalidate(t);
1261
1202
  }).catch((e) => {
1262
1203
  console.error("[typedown] Failed to fetch site data:", e instanceof Error ? e.message : e);
1263
1204
  });
1264
1205
  }, 200);
1265
1206
  async fetchSync(e) {
1266
- this.data = await Q(e);
1207
+ this.data = await Kt(e);
1267
1208
  }
1268
1209
  invalidate(e) {
1269
- Z(e, Jt);
1210
+ X(e, Ut);
1270
1211
  }
1271
1212
  };
1272
- async function Q(e) {
1213
+ async function Kt(e) {
1273
1214
  let [t, n, r] = await Promise.all([
1274
1215
  e.getConfig(),
1275
1216
  e.listSidebar(),
@@ -1277,21 +1218,21 @@ async function Q(e) {
1277
1218
  ]), i = await Promise.all(r.map(async (t) => [t, (await e.getSchema(t)).properties])), a = Object.fromEntries(i), o = n.map((e) => ({
1278
1219
  ...e,
1279
1220
  header: {}
1280
- })), s = y(o);
1221
+ })), s = v(o);
1281
1222
  return {
1282
1223
  contentTree: s,
1283
1224
  schemas: a,
1284
- directoryListings: v(s.entries, t.siteTitle)
1225
+ directoryListings: _(s.entries, t.siteTitle)
1285
1226
  };
1286
1227
  }
1287
1228
  //#endregion
1288
1229
  //#region src/node/lib/search-indexer/index.ts
1289
- var Zt = class {
1230
+ var qt = class {
1290
1231
  index;
1291
1232
  constructor() {
1292
1233
  this.index = new le({
1293
- fields: e,
1294
- storeFields: _
1234
+ fields: g,
1235
+ storeFields: x
1295
1236
  });
1296
1237
  }
1297
1238
  addAll(e) {
@@ -1310,19 +1251,19 @@ var Zt = class {
1310
1251
  };
1311
1252
  //#endregion
1312
1253
  //#region src/node/lib/search-indexer/scan.ts
1313
- function Qt(e, t) {
1314
- let n = nn(e), r = [];
1254
+ function Jt(e, t) {
1255
+ let n = Qt(e), r = [];
1315
1256
  for (let t of n) {
1316
- let n = tn(e, t);
1257
+ let n = Zt(e, t);
1317
1258
  n && r.push(n);
1318
1259
  }
1319
1260
  t.addAll(r);
1320
1261
  }
1321
- function $t(e, t, r) {
1322
- let i = tn(e, A(e, t));
1323
- i ? r.addPage(i) : r.discardPage(n(t));
1262
+ function Yt(e, n, r) {
1263
+ let i = Zt(e, A(e, n));
1264
+ i ? r.addPage(i) : r.discardPage(t(n));
1324
1265
  }
1325
- function en(e, t) {
1266
+ function Xt(e, t) {
1326
1267
  let n = w(e);
1327
1268
  if (!t.startsWith("---")) return {
1328
1269
  title: n,
@@ -1339,22 +1280,22 @@ function en(e, t) {
1339
1280
  body: a
1340
1281
  };
1341
1282
  }
1342
- function tn(e, t) {
1283
+ function Zt(e, n) {
1343
1284
  let r;
1344
1285
  try {
1345
- r = be(t, "utf-8");
1286
+ r = be(n, "utf-8");
1346
1287
  } catch {
1347
1288
  return;
1348
1289
  }
1349
1290
  if (!r.trim()) return;
1350
- let i = t.slice(e.length + 1), { title: a, body: o } = en(i, r);
1291
+ let i = n.slice(e.length + 1), { title: a, body: o } = Xt(i, r);
1351
1292
  return {
1352
- id: n(i),
1293
+ id: t(i),
1353
1294
  title: a,
1354
1295
  text: `${a}\n${o}`
1355
1296
  };
1356
1297
  }
1357
- function nn(e) {
1298
+ function Qt(e) {
1358
1299
  return ye("**/*.td", {
1359
1300
  cwd: e,
1360
1301
  exclude: (e) => e.startsWith("_")
@@ -1362,33 +1303,33 @@ function nn(e) {
1362
1303
  }
1363
1304
  //#endregion
1364
1305
  //#region src/node/plugin/vite/virtual/search-index.ts
1365
- var rn = "\0@typedown/search-index", an = class {
1366
- indexer = new Zt();
1306
+ var $t = "\0@typedown/search-index", en = class {
1307
+ indexer = new qt();
1367
1308
  load(e) {
1368
1309
  return `export default ${JSON.stringify(this.indexer.serialize())}`;
1369
1310
  }
1370
1311
  index(e) {
1371
- Qt(e, this.indexer);
1312
+ Jt(e, this.indexer);
1372
1313
  }
1373
1314
  reindex(e, t) {
1374
- $t(e, t, this.indexer);
1315
+ Yt(e, t, this.indexer);
1375
1316
  }
1376
1317
  invalidate(e) {
1377
- Z(e, rn);
1318
+ X(e, $t);
1378
1319
  }
1379
- }, on = De(import.meta.url);
1380
- function sn() {
1320
+ }, tn = Se(import.meta.url);
1321
+ function nn() {
1381
1322
  return [{
1382
1323
  find: "vue/server-renderer",
1383
- replacement: on.resolve("vue/server-renderer")
1324
+ replacement: tn.resolve("vue/server-renderer")
1384
1325
  }, {
1385
1326
  find: "vue",
1386
- replacement: on.resolve("vue/dist/vue.runtime.esm-bundler.js")
1327
+ replacement: tn.resolve("vue/dist/vue.runtime.esm-bundler.js")
1387
1328
  }];
1388
1329
  }
1389
1330
  //#endregion
1390
1331
  //#region src/node/plugin/vite/middleware/vault-assets.ts
1391
- var cn = {
1332
+ var rn = {
1392
1333
  jpg: "image/jpeg",
1393
1334
  jpeg: "image/jpeg",
1394
1335
  png: "image/png",
@@ -1406,50 +1347,145 @@ var cn = {
1406
1347
  woff: "font/woff",
1407
1348
  ttf: "font/ttf"
1408
1349
  };
1409
- function ln(e, n) {
1410
- return (i, a, o) => {
1411
- if (!i.url || i.method !== "GET" || a.writableEnded) return o();
1412
- let c = t(i.url);
1413
- if (c.startsWith("/@") || c.startsWith("/node_modules")) return o();
1414
- let l = r(n.basePath), u = (l && c.startsWith(l) ? c.slice(l.length) : c).replace(/^\//, ""), d = A(e.config.root, n.rootDirectory, u);
1350
+ function an(t, r) {
1351
+ return (i, o, s) => {
1352
+ if (!i.url || i.method !== "GET" || o.writableEnded) return s();
1353
+ let c = e(i.url);
1354
+ if (c.startsWith("/@") || c.startsWith("/node_modules")) return s();
1355
+ let l = n(r.basePath), u = (l && c.startsWith(l) ? c.slice(l.length) : c).replace(/^\//, ""), d = A(t.config.root, r.rootDirectory, u);
1415
1356
  if (ve(d)) try {
1416
1357
  let e = xe(d);
1417
1358
  if (e.isFile()) {
1418
- let t = cn[s(d).slice(1).toLowerCase()] ?? "application/octet-stream";
1419
- a.setHeader("Content-Type", t), a.setHeader("Content-Length", e.size), _e(d).pipe(a);
1359
+ let t = rn[a(d).slice(1).toLowerCase()] ?? "application/octet-stream";
1360
+ o.setHeader("Content-Type", t), o.setHeader("Content-Length", e.size), _e(d).pipe(o);
1420
1361
  return;
1421
1362
  }
1422
1363
  } catch {}
1423
- o();
1364
+ s();
1424
1365
  };
1425
1366
  }
1426
1367
  //#endregion
1427
1368
  //#region src/node/plugin/vite/middleware/virtual-html.ts
1428
- function un(e, n, i) {
1369
+ function on(t, r, i) {
1429
1370
  return (a, o, s) => {
1430
1371
  if (!a.url) return s();
1431
- let c = r(t(a.url)), l = r(i.basePath);
1372
+ let c = n(e(a.url)), l = n(i.basePath);
1432
1373
  if (c.startsWith("/@") || c.startsWith("/node_modules") || !c.startsWith(l)) return s();
1433
1374
  let u = c.slice(l.length);
1434
1375
  if (u.startsWith("/@") || u.startsWith("/node_modules") || c.includes(".") && !c.endsWith("/index.html")) return s();
1435
- n.getConfig().then(async (t) => {
1436
- let n = await e.transformIndexHtml(a.url ?? "", dn(i, t));
1376
+ r.getConfig().then(async (e) => {
1377
+ let n = await t.transformIndexHtml(a.url ?? "", sn(i, e));
1437
1378
  o.setHeader("Content-Type", "text/html"), o.end(n);
1438
1379
  }).catch(() => s());
1439
1380
  };
1440
1381
  }
1441
- function dn(e, t) {
1382
+ function sn(e, t) {
1442
1383
  return e.devHtml === void 0 && (e.devHtml = ne({
1443
1384
  title: t.siteTitle,
1444
1385
  description: t.siteDescription,
1445
1386
  base: "/",
1446
- entryScript: zt
1387
+ entryScript: Pt
1447
1388
  })), e.devHtml;
1448
1389
  }
1449
1390
  //#endregion
1450
- //#region src/node/plugin/vite/subplugins/component-contract.ts
1451
- var fn = ".typedown/components.json";
1391
+ //#region src/node/lib/prop-schema.ts
1392
+ function cn(e, t, n) {
1393
+ let r = {};
1394
+ for (let i of e) {
1395
+ let e = `./${k.relative(t, i.absolutePath)}`;
1396
+ try {
1397
+ let t = n.getComponentMeta(i.absolutePath), a = {}, o = !1;
1398
+ for (let e of t.props) {
1399
+ if (e.global) continue;
1400
+ let t = Z(e.schema);
1401
+ if (t !== void 0) {
1402
+ let n = { schema: e.required ? t : u(t) };
1403
+ e.description && (n.description = e.description), a[e.name] = n, o = !0;
1404
+ }
1405
+ }
1406
+ let s = t.slots.map((e) => e.name).filter((e) => e !== "default");
1407
+ r[i.name] = {
1408
+ source: e,
1409
+ props: o ? a : void 0,
1410
+ slots: 0 < s.length ? s : void 0
1411
+ };
1412
+ } catch {
1413
+ r[i.name] = { source: e };
1414
+ }
1415
+ }
1416
+ return r;
1417
+ }
1418
+ function ln(e) {
1419
+ if (!e || e.length !== 1) return;
1420
+ let t = Z(e[0]);
1421
+ return t === void 0 ? void 0 : {
1422
+ type: "array",
1423
+ items: t
1424
+ };
1425
+ }
1426
+ function un(e, t) {
1427
+ if (t && 0 < Object.keys(t).length) return fn(t);
1428
+ let n = /^(?:Record<string,\s*(\w+)>|\{\s*\[key:\s*string\]:\s*(\w+);\s*\})$/.exec(e);
1429
+ if (!n) return;
1430
+ let r = dn(n[1] ?? n[2]);
1431
+ return r === void 0 ? void 0 : {
1432
+ type: "object",
1433
+ additionalProperties: r
1434
+ };
1435
+ }
1436
+ function dn(e) {
1437
+ switch (e) {
1438
+ case "string": return { type: "string" };
1439
+ case "number": return { type: "number" };
1440
+ case "boolean": return { type: "boolean" };
1441
+ default: return;
1442
+ }
1443
+ }
1444
+ function fn(e) {
1445
+ let t = {}, n = [];
1446
+ for (let [r, i] of Object.entries(e)) {
1447
+ let e = Z(i.schema);
1448
+ if (e === void 0) return;
1449
+ t[r] = e, i.required && n.push(r);
1450
+ }
1451
+ let r = {
1452
+ type: "object",
1453
+ properties: t,
1454
+ additionalProperties: !1
1455
+ };
1456
+ return 0 < n.length && (r.required = n), r;
1457
+ }
1458
+ function Z(e) {
1459
+ if (typeof e == "string") return dn(e);
1460
+ switch (e.kind) {
1461
+ case "enum": return pn(e.schema);
1462
+ case "array": return ln(e.schema);
1463
+ case "object": return un(e.type, e.schema);
1464
+ default: return;
1465
+ }
1466
+ }
1452
1467
  function pn(e) {
1468
+ let t = e ?? [], n = t.some((e) => e === "undefined" || e === "null"), r = t.filter((e) => e !== "undefined" && e !== "null");
1469
+ if (r.length !== 0) {
1470
+ if (r.length === 1) {
1471
+ let e = Z(r[0]);
1472
+ return e === void 0 ? void 0 : n ? u(e) : e;
1473
+ }
1474
+ if (r.every((e) => typeof e == "object" && e.kind === "literal")) {
1475
+ let e = [];
1476
+ for (let t of r) {
1477
+ if (typeof t == "string" || !("value" in t)) return;
1478
+ e.push(t.value);
1479
+ }
1480
+ let t = { enum: e };
1481
+ return n ? u(t) : t;
1482
+ }
1483
+ }
1484
+ }
1485
+ //#endregion
1486
+ //#region src/node/plugin/vite/subplugins/component-contract.ts
1487
+ var mn = ".typedown/components.json";
1488
+ function hn(e) {
1453
1489
  return {
1454
1490
  name: "vite-plugin-typedown-component-contract",
1455
1491
  async buildStart() {
@@ -1462,35 +1498,47 @@ function pn(e) {
1462
1498
  let n = e();
1463
1499
  n && n.getTdContext().then(async (e) => {
1464
1500
  let r = await e.getConfig(), i = await I(r.components, n.root);
1465
- $(n.root, i), mn(t, r.components, n.root);
1501
+ $(n.root, i), gn(t, r.components, n.root);
1466
1502
  }).catch(() => {});
1467
1503
  }
1468
1504
  };
1469
1505
  }
1470
- function mn(e, t, n) {
1506
+ function gn(e, t, n) {
1471
1507
  let r = new Set(t.filter((e) => e.kind === "explicit").map((e) => M(k.resolve(n, e.source)))), i = new Set(t.filter((e) => e.kind === "dir").map((e) => M(k.resolve(n, e.path))));
1472
1508
  for (let t of i) e.watcher.add(t);
1473
1509
  let a = (a) => {
1474
- hn(a, r, i) && (e.config.logger.info("[typedown] component changed, rebuilding contract..."), I(t, n).then((e) => $(n, e)).catch(() => {}));
1510
+ _n(a, r, i) && (e.config.logger.info("[typedown] component changed, rebuilding contract..."), I(t, n).then((e) => $(n, e)).catch(() => {}));
1475
1511
  };
1476
1512
  e.watcher.on("change", a), e.watcher.on("add", a), e.watcher.on("unlink", a);
1477
1513
  }
1478
- function hn(e, t, n) {
1514
+ function _n(e, t, n) {
1479
1515
  if (!e.endsWith(".vue")) return !1;
1480
1516
  let r = M(e);
1481
1517
  if (t.has(r)) return !0;
1482
1518
  for (let e of n) if (r.startsWith(e + "/")) return !0;
1483
1519
  return !1;
1484
1520
  }
1521
+ function vn() {
1522
+ try {
1523
+ let e = k.resolve(k.dirname(me(import.meta.url)), "builtin-components.json");
1524
+ return JSON.parse(P.readFileSync(e, "utf-8"));
1525
+ } catch {
1526
+ return {};
1527
+ }
1528
+ }
1529
+ var Q = vn();
1485
1530
  function $(e, t) {
1486
- if (t.length === 0) return;
1487
- let n = Be(t, e), r = k.join(e, fn);
1488
- P.mkdirSync(k.dirname(r), { recursive: !0 }), P.writeFileSync(r, JSON.stringify(n, null, 2));
1531
+ if (!(0 < Object.keys(Q).length) && t.length === 0) return;
1532
+ let n = 0 < t.length ? cn(t, e, Be(e)) : {}, r = {
1533
+ ...Q,
1534
+ ...n
1535
+ }, i = k.join(e, mn);
1536
+ P.mkdirSync(k.dirname(i), { recursive: !0 }), P.writeFileSync(i, JSON.stringify(r, null, 2));
1489
1537
  }
1490
1538
  //#endregion
1491
1539
  //#region src/node/plugin/vite/index.ts
1492
- function gn(e = {}) {
1493
- let t = e.context, n, r, i, o = new Gt(), s = new qt(), c = new Kt(), u = new Xt(), d = new an(), f = {
1540
+ function yn(e = {}) {
1541
+ let t = e.context, n, i, a, o = new Bt(), s = new Ht(), l = new Vt(), u = new Gt(), d = new en(), f = {
1494
1542
  devHtml: void 0,
1495
1543
  basePath: "/",
1496
1544
  rootDirectory: "vault"
@@ -1507,7 +1555,7 @@ function gn(e = {}) {
1507
1555
  let r = e.root ? A(n.root ?? process.cwd(), e.root) : ce(n.root ?? process.cwd());
1508
1556
  t = se(r);
1509
1557
  }
1510
- i = n.base ?? "/";
1558
+ a = n.base ?? "/";
1511
1559
  let r = await (await p()).getConfig();
1512
1560
  return {
1513
1561
  base: n.base ?? r.basePath,
@@ -1516,38 +1564,38 @@ function gn(e = {}) {
1516
1564
  port: n.server?.port ?? 8686,
1517
1565
  strictPort: n.server?.strictPort ?? !1
1518
1566
  },
1519
- resolve: { alias: sn() },
1567
+ resolve: { alias: nn() },
1520
1568
  ssr: { noExternal: ["typerighter"] }
1521
1569
  };
1522
1570
  },
1523
1571
  configResolved(e) {
1524
- r = A(e.root, e.build.outDir);
1572
+ i = A(e.root, e.build.outDir);
1525
1573
  },
1526
1574
  async buildStart() {
1527
1575
  if (n) return;
1528
1576
  let e = await p(), t = await e.getConfig(), r = A(t.rootDir);
1529
1577
  d.index(r), await u.fetchSync(e);
1530
1578
  let i = await e.checkVault();
1531
- if (xn(i.diagnostics), 0 < i.errorCount) {
1579
+ if (wn(i.diagnostics), 0 < i.errorCount) {
1532
1580
  let e = i.diagnostics.filter((e) => e.severity === "error").map((e) => ` ${e.filepath}:${e.line}:${e.column} - ${e.message} (${e.code})`);
1533
1581
  this.error(`Vault check failed with ${i.errorCount} error(s):\n${e.join("\n")}`);
1534
1582
  }
1535
1583
  },
1536
1584
  resolveId(e) {
1537
- if (e === "/@typedown/app" || e === "@typedown/app") return Bt;
1538
- if (e === "@typedown/pages") return Vt;
1539
- if (e.startsWith("@typedown/pages?resource=")) return c.resolvePageData(e);
1540
- if (e === "@typedown/site-data") return Ht;
1541
- if (e === "@typedown/search-index") return Ut;
1542
- if (e === "@typedown/theme") return Wt;
1585
+ if (e === "/@typedown/app" || e === "@typedown/app") return Ft;
1586
+ if (e === "@typedown/pages") return It;
1587
+ if (e.startsWith("@typedown/pages?resource=")) return l.resolvePageData(e);
1588
+ if (e === "@typedown/site-data") return Lt;
1589
+ if (e === "@typedown/search-index") return Rt;
1590
+ if (e === "@typedown/theme") return zt;
1543
1591
  },
1544
1592
  async load(e) {
1545
- if (c.isPageDataModule(e)) return c.loadPageData(e, await p());
1593
+ if (l.isPageDataModule(e)) return l.loadPageData(e, await p());
1546
1594
  if (e !== "\0@typedown/search-index" && e !== "\0@typedown/site-data" && e !== "\0@typedown/pages" && e !== "\0@typedown/app" && e !== "\0@typedown/theme") return;
1547
1595
  let n = await p();
1548
1596
  if (e === "\0@typedown/search-index") return d.load(n);
1549
1597
  if (e === "\0@typedown/site-data") return u.load(n);
1550
- if (e === "\0@typedown/pages") return c.load(n);
1598
+ if (e === "\0@typedown/pages") return l.load(n);
1551
1599
  if (e === "\0@typedown/app") return o.load(t);
1552
1600
  if (e === "\0@typedown/theme") return s.load(t);
1553
1601
  },
@@ -1556,11 +1604,11 @@ function gn(e = {}) {
1556
1604
  let t = await p(), r = await t.getConfig(), i = A(r.rootDir);
1557
1605
  d.index(i), u.scan(i), u.fetch(t, n), e.httpServer?.once("listening", async () => {
1558
1606
  let e = await t.checkVault();
1559
- 0 < e.diagnostics.length && (console.error(""), xn(e.diagnostics));
1607
+ 0 < e.diagnostics.length && (console.error(""), wn(e.diagnostics));
1560
1608
  }), t.rpc.onConfigChanged(() => {
1561
- n && (f.devHtml = void 0, u.clear(), o.invalidate(n), s.invalidate(n), c.invalidate(n), vn(n), u.fetch(t, n));
1609
+ n && (f.devHtml = void 0, u.clear(), o.invalidate(n), s.invalidate(n), l.invalidate(n), xn(n), u.fetch(t, n));
1562
1610
  }), t.rpc.onComponentContractChanged(() => {
1563
- n && (o.invalidate(n), vn(n));
1611
+ n && (o.invalidate(n), xn(n));
1564
1612
  });
1565
1613
  function a(...e) {
1566
1614
  n && t.getConfig().then((t) => {
@@ -1569,8 +1617,8 @@ function gn(e = {}) {
1569
1617
  for (let i of e) {
1570
1618
  let e = M(A(n.config.root, t.rootDir, i)), a = n.moduleGraph.getModulesByFile(e);
1571
1619
  if (a?.size) {
1572
- for (let e of a) n.moduleGraph.invalidateModule(e), r.push(bn(e));
1573
- c.invalidatePageData(n, i);
1620
+ for (let e of a) n.moduleGraph.invalidateModule(e), r.push(Cn(e));
1621
+ l.invalidatePageData(n, i);
1574
1622
  }
1575
1623
  }
1576
1624
  0 < r.length && n.hot.send({
@@ -1580,29 +1628,29 @@ function gn(e = {}) {
1580
1628
  }).catch(() => {});
1581
1629
  }
1582
1630
  t.rpc.onContentUpdated(({ filepath: e, affectedFiles: r = [] }) => {
1583
- n && (d.reindex(i, e), d.invalidate(n), c.invalidate(n), u.fetch(t, n), a(e, ...r), c.sendPageData(n, t, e));
1631
+ n && (d.reindex(i, e), d.invalidate(n), l.invalidate(n), u.fetch(t, n), a(e, ...r), l.sendPageData(n, t, e));
1584
1632
  }), t.rpc.onContentDeleted(({ filepath: e }) => {
1585
- n && (d.reindex(i, e), d.invalidate(n), c.invalidate(n), u.fetch(t, n), a(e));
1633
+ n && (d.reindex(i, e), d.invalidate(n), l.invalidate(n), u.fetch(t, n), a(e));
1586
1634
  });
1587
- function l() {
1588
- n && (u.clear(), yn(n), u.fetch(t, n));
1635
+ function c() {
1636
+ n && (u.clear(), Sn(n), u.fetch(t, n));
1589
1637
  }
1590
- t.rpc.onSchemaUpdated(l), t.rpc.onSchemaDeleted(l);
1638
+ t.rpc.onSchemaUpdated(c), t.rpc.onSchemaDeleted(c);
1591
1639
  let m = await t.getConfig();
1592
1640
  f.basePath = m.basePath, f.rootDirectory = m.rootDir, t.rpc.onConfigChanged((e) => {
1593
1641
  f.basePath = e.basePath, f.rootDirectory = e.rootDir, f.devHtml = void 0;
1594
- }), e.middlewares.use(ln(e, f)), e.middlewares.use(un(e, t, f));
1642
+ }), e.middlewares.use(an(e, f)), e.middlewares.use(on(e, t, f));
1595
1643
  },
1596
1644
  async transform(e, t) {
1597
1645
  let n = t.split("?")[0];
1598
- if (!l(n)) return;
1646
+ if (!c(n)) return;
1599
1647
  if (T(n)) return {
1600
- code: `<script>import theme from '${Y}'; import { TdNotFound } from 'typerighter/client/theme-default'; export default theme.NotFound || TdNotFound; export const pageData = { frontmatter: {}, headings: [], title: '' };<\/script>`,
1648
+ code: `<script>import theme from '${J}'; import { TdNotFound } from 'typerighter/client/theme-default'; export default theme.NotFound || TdNotFound; export const pageData = { frontmatter: {}, headings: [], title: '' };<\/script>`,
1601
1649
  map: null
1602
1650
  };
1603
- let r = await p(), i = await r.getConfig(), o = a(n, i.rootDir);
1651
+ let i = await p(), a = await i.getConfig(), o = r(n, a.rootDir);
1604
1652
  try {
1605
- let { vueSrc: e } = await It(r, await r.getFile(o), o);
1653
+ let { vueSrc: e } = await jt(i, await i.getFile(o), o);
1606
1654
  return {
1607
1655
  code: e,
1608
1656
  map: null
@@ -1614,13 +1662,13 @@ function gn(e = {}) {
1614
1662
  }
1615
1663
  },
1616
1664
  handleHotUpdate({ file: e }) {
1617
- if (l(e)) return [];
1665
+ if (c(e)) return [];
1618
1666
  },
1619
1667
  async closeBundle() {
1620
1668
  if (!e.context && t) try {
1621
- let e = (await (await t.getTdContext()).getConfig()).basePath, n = e.startsWith(i) ? e.slice(i.length) : e.replace(/^\//, "");
1622
- await Je(t, {
1623
- outDir: A(r, n),
1669
+ let e = (await (await t.getTdContext()).getConfig()).basePath, n = e.startsWith(a) ? e.slice(a.length) : e.replace(/^\//, "");
1670
+ await Ue(t, {
1671
+ outDir: A(i, n),
1624
1672
  base: e
1625
1673
  });
1626
1674
  } finally {
@@ -1633,26 +1681,26 @@ function gn(e = {}) {
1633
1681
  });
1634
1682
  return [
1635
1683
  m,
1636
- pn(() => t),
1684
+ hn(() => t),
1637
1685
  h,
1638
1686
  ...ue()
1639
1687
  ];
1640
1688
  }
1641
- function _n(e) {
1689
+ function bn(e) {
1642
1690
  return [...e.moduleGraph.idToModuleMap.entries()].filter(([e]) => e.endsWith(".td")).map(([, e]) => e);
1643
1691
  }
1644
- function vn(e) {
1645
- for (let t of _n(e)) e.moduleGraph.invalidateModule(t);
1692
+ function xn(e) {
1693
+ for (let t of bn(e)) e.moduleGraph.invalidateModule(t);
1646
1694
  e.hot.send({ type: "full-reload" });
1647
1695
  }
1648
- function yn(e) {
1649
- let t = _n(e).map((t) => (e.moduleGraph.invalidateModule(t), bn(t)));
1696
+ function Sn(e) {
1697
+ let t = bn(e).map((t) => (e.moduleGraph.invalidateModule(t), Cn(t)));
1650
1698
  0 < t.length && e.hot.send({
1651
1699
  type: "update",
1652
1700
  updates: t
1653
1701
  });
1654
1702
  }
1655
- function bn(e) {
1703
+ function Cn(e) {
1656
1704
  return {
1657
1705
  type: "js-update",
1658
1706
  path: e.url,
@@ -1660,11 +1708,11 @@ function bn(e) {
1660
1708
  timestamp: Date.now()
1661
1709
  };
1662
1710
  }
1663
- function xn(e) {
1711
+ function wn(e) {
1664
1712
  for (let t of e) {
1665
1713
  let e = `${t.filepath}:${t.line}:${t.column}`, n = t.severity === "error" ? j.red("error") : j.yellow("warn");
1666
1714
  console.error(` ${n} ${e} ${t.message} ${j.dim(`(${t.code})`)}`);
1667
1715
  }
1668
1716
  }
1669
1717
  //#endregion
1670
- export { q as a, J as i, G as n, Y as o, X as r, Je as s, gn as t };
1718
+ export { K as a, q as i, W as n, J as o, Y as r, Ue as s, yn as t };