fuma-content 1.1.2 → 1.1.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.
Files changed (181) hide show
  1. package/dist/async-cache-CBEZB25o.d.ts +9 -0
  2. package/dist/async-cache-CBEZB25o.d.ts.map +1 -0
  3. package/dist/{async-cache-U87GzQTb.js → async-cache-DRmFaVGm.js} +1 -1
  4. package/dist/{async-cache-U87GzQTb.js.map → async-cache-DRmFaVGm.js.map} +1 -1
  5. package/dist/build-mdx-DkAvzRNg.d.ts +73 -0
  6. package/dist/build-mdx-DkAvzRNg.d.ts.map +1 -0
  7. package/dist/{build-mdx-CUp6FpfT.js → build-mdx-oug7zk0w.js} +23 -36
  8. package/dist/build-mdx-oug7zk0w.js.map +1 -0
  9. package/dist/bun/index.d.ts +1 -1
  10. package/dist/bun/index.d.ts.map +1 -1
  11. package/dist/bun/index.js +2 -2
  12. package/dist/{bun-CBROq3I0.js → bun-cxKGeSx6.js} +1 -1
  13. package/dist/bun-cxKGeSx6.js.map +1 -0
  14. package/dist/{code-generator-Qhhq7kHh.js → code-generator-C_Gu9y3h.js} +4 -4
  15. package/dist/code-generator-C_Gu9y3h.js.map +1 -0
  16. package/dist/collections/data/runtime.d.ts +3 -6
  17. package/dist/collections/data/runtime.d.ts.map +1 -1
  18. package/dist/collections/data/runtime.js.map +1 -1
  19. package/dist/collections/data.d.ts +4 -4
  20. package/dist/collections/data.d.ts.map +1 -1
  21. package/dist/collections/data.js +158 -4
  22. package/dist/collections/data.js.map +1 -0
  23. package/dist/collections/fs.d.ts +45 -3
  24. package/dist/collections/fs.d.ts.map +1 -0
  25. package/dist/collections/fs.js +65 -2
  26. package/dist/collections/fs.js.map +1 -0
  27. package/dist/collections/index.d.ts +37 -2
  28. package/dist/collections/index.d.ts.map +1 -0
  29. package/dist/collections/index.js +37 -2
  30. package/dist/collections/index.js.map +1 -0
  31. package/dist/collections/json/loader-webpack.d.ts +3 -3
  32. package/dist/collections/json/loader-webpack.d.ts.map +1 -1
  33. package/dist/collections/json/loader-webpack.js +3 -7
  34. package/dist/collections/json/loader-webpack.js.map +1 -1
  35. package/dist/collections/mdx/loader-webpack.d.ts +3 -3
  36. package/dist/collections/mdx/loader-webpack.d.ts.map +1 -1
  37. package/dist/collections/mdx/loader-webpack.js +3 -8
  38. package/dist/collections/mdx/loader-webpack.js.map +1 -1
  39. package/dist/collections/mdx/react.d.ts +4 -10
  40. package/dist/collections/mdx/react.d.ts.map +1 -1
  41. package/dist/collections/mdx/runtime-browser.d.ts +26 -11
  42. package/dist/collections/mdx/runtime-browser.d.ts.map +1 -0
  43. package/dist/collections/mdx/runtime-browser.js +2 -2
  44. package/dist/collections/mdx/runtime-browser.js.map +1 -1
  45. package/dist/collections/mdx/runtime-dynamic.d.ts +7 -10
  46. package/dist/collections/mdx/runtime-dynamic.d.ts.map +1 -1
  47. package/dist/collections/mdx/runtime-dynamic.js +9 -12
  48. package/dist/collections/mdx/runtime-dynamic.js.map +1 -1
  49. package/dist/collections/mdx/runtime.d.ts +27 -10
  50. package/dist/collections/mdx/runtime.d.ts.map +1 -0
  51. package/dist/collections/mdx/runtime.js.map +1 -1
  52. package/dist/collections/mdx.d.ts +67 -6
  53. package/dist/collections/mdx.d.ts.map +1 -0
  54. package/dist/collections/mdx.js +318 -6
  55. package/dist/collections/mdx.js.map +1 -0
  56. package/dist/collections/runtime/file-store.d.ts +21 -4
  57. package/dist/collections/runtime/file-store.d.ts.map +1 -0
  58. package/dist/collections/runtime/file-store.js +1 -1
  59. package/dist/collections/runtime/store.d.ts +31 -3
  60. package/dist/collections/runtime/store.d.ts.map +1 -0
  61. package/dist/collections/runtime/store.js +33 -2
  62. package/dist/collections/runtime/store.js.map +1 -0
  63. package/dist/collections/yaml/loader-webpack.d.ts +3 -3
  64. package/dist/collections/yaml/loader-webpack.d.ts.map +1 -1
  65. package/dist/collections/yaml/loader-webpack.js +3 -7
  66. package/dist/collections/yaml/loader-webpack.js.map +1 -1
  67. package/dist/config/index.d.ts +36 -2
  68. package/dist/config/index.d.ts.map +1 -0
  69. package/dist/{core-CT06v32N.d.ts → core-CG2zTL4c.d.ts} +4 -66
  70. package/dist/core-CG2zTL4c.d.ts.map +1 -0
  71. package/dist/{core-Uv3jZqL-.js → core-DmbQk8Z2.js} +9 -9
  72. package/dist/core-DmbQk8Z2.js.map +1 -0
  73. package/dist/dynamic.d.ts +25 -3
  74. package/dist/dynamic.d.ts.map +1 -0
  75. package/dist/dynamic.js +28 -2
  76. package/dist/dynamic.js.map +1 -0
  77. package/dist/{fuma-matter-BuBO2w-p.js → fuma-matter-Pwr2S9Ab.js} +1 -1
  78. package/dist/fuma-matter-Pwr2S9Ab.js.map +1 -0
  79. package/dist/index.d.ts +1 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +3 -3
  82. package/dist/{load-from-file-z7EGuf2n.js → load-from-file-BeLFB77e.js} +4 -2
  83. package/dist/{load-from-file-z7EGuf2n.js.map → load-from-file-BeLFB77e.js.map} +1 -1
  84. package/dist/load-from-file-CpA8UQXX.d.ts +10 -0
  85. package/dist/load-from-file-CpA8UQXX.d.ts.map +1 -0
  86. package/dist/loader-DKTW82eK.js +19 -0
  87. package/dist/{loader-Cnz-VHne.js.map → loader-DKTW82eK.js.map} +1 -1
  88. package/dist/{loader-CnksfM7I.js → loader-DOjRBsog.js} +7 -5
  89. package/dist/loader-DOjRBsog.js.map +1 -0
  90. package/dist/loader-DTODFdmk.js +18 -0
  91. package/dist/{loader-BK8PnqRg.js.map → loader-DTODFdmk.js.map} +1 -1
  92. package/dist/{loader-CuntMmR4.js → loader-gwXIGo5Q.js} +3 -3
  93. package/dist/loader-gwXIGo5Q.js.map +1 -0
  94. package/dist/next/index.d.ts +1 -1
  95. package/dist/next/index.d.ts.map +1 -1
  96. package/dist/next/index.js +3 -3
  97. package/dist/next/index.js.map +1 -1
  98. package/dist/node/index.d.ts +1 -1
  99. package/dist/node/index.d.ts.map +1 -1
  100. package/dist/node/loader.d.ts +1 -1
  101. package/dist/node/loader.d.ts.map +1 -1
  102. package/dist/node/loader.js +8 -8
  103. package/dist/node/loader.js.map +1 -1
  104. package/dist/{node-2VZOh3P9.js → node-l03HaPSS.js} +1 -1
  105. package/dist/{node-2VZOh3P9.js.map → node-l03HaPSS.js.map} +1 -1
  106. package/dist/{collections-CNWuMDAZ.js → pipe-CvCqOpXX.js} +2 -36
  107. package/dist/pipe-CvCqOpXX.js.map +1 -0
  108. package/dist/plugins/git.d.ts +38 -3
  109. package/dist/plugins/git.d.ts.map +1 -0
  110. package/dist/plugins/git.js +60 -2
  111. package/dist/plugins/git.js.map +1 -0
  112. package/dist/plugins/json-schema.d.ts +2 -1
  113. package/dist/plugins/json-schema.d.ts.map +1 -1
  114. package/dist/plugins/json-schema.js +2 -2
  115. package/dist/plugins/json-schema.js.map +1 -1
  116. package/dist/plugins/loader/index.d.ts +75 -4
  117. package/dist/plugins/loader/index.d.ts.map +1 -0
  118. package/dist/plugins/loader/index.js +76 -2
  119. package/dist/plugins/loader/index.js.map +1 -0
  120. package/dist/plugins/loader/webpack.d.ts +21 -4
  121. package/dist/plugins/loader/webpack.d.ts.map +1 -0
  122. package/dist/plugins/loader/webpack.js +4 -4
  123. package/dist/plugins/loader/webpack.js.map +1 -1
  124. package/dist/rolldown-runtime-CjeV3_4I.js +18 -0
  125. package/dist/{validation-BvVvvLII.js → validation-C3kXuveD.js} +1 -1
  126. package/dist/{validation-BvVvvLII.js.map → validation-C3kXuveD.js.map} +1 -1
  127. package/dist/vite/index.d.ts +1 -1
  128. package/dist/vite/index.d.ts.map +1 -1
  129. package/dist/vite/index.js +3 -3
  130. package/dist/{vite-C1qXY47G.js → vite-mAc2TZyp.js} +3 -3
  131. package/dist/vite-mAc2TZyp.js.map +1 -0
  132. package/package.json +19 -10
  133. package/dist/build-mdx-CUp6FpfT.js.map +0 -1
  134. package/dist/build-mdx-D6zM3Sgl.js +0 -4
  135. package/dist/bun-CBROq3I0.js.map +0 -1
  136. package/dist/code-generator-Qhhq7kHh.js.map +0 -1
  137. package/dist/collections-CNWuMDAZ.js.map +0 -1
  138. package/dist/core-CT06v32N.d.ts.map +0 -1
  139. package/dist/core-Uv3jZqL-.js.map +0 -1
  140. package/dist/data-Cxsx5KPD.js +0 -159
  141. package/dist/data-Cxsx5KPD.js.map +0 -1
  142. package/dist/dynamic-Ck1wYoaL.d.ts +0 -33
  143. package/dist/dynamic-Ck1wYoaL.d.ts.map +0 -1
  144. package/dist/dynamic-CtOB4Rkp.js +0 -29
  145. package/dist/dynamic-CtOB4Rkp.js.map +0 -1
  146. package/dist/file-store-Dm1SjuLg.d.ts +0 -20
  147. package/dist/file-store-Dm1SjuLg.d.ts.map +0 -1
  148. package/dist/fs-CXzVd2Dp.js +0 -68
  149. package/dist/fs-CXzVd2Dp.js.map +0 -1
  150. package/dist/fs-CmwaaFyx.d.ts +0 -45
  151. package/dist/fs-CmwaaFyx.d.ts.map +0 -1
  152. package/dist/fuma-matter-BuBO2w-p.js.map +0 -1
  153. package/dist/git-DnejL9r_.js +0 -60
  154. package/dist/git-DnejL9r_.js.map +0 -1
  155. package/dist/git-n-9ddn78.d.ts +0 -37
  156. package/dist/git-n-9ddn78.d.ts.map +0 -1
  157. package/dist/index-BheUVWBm.d.ts +0 -87
  158. package/dist/index-BheUVWBm.d.ts.map +0 -1
  159. package/dist/load-from-file-D-Xm95Fz.js +0 -3
  160. package/dist/loader-B4nQrRwA.js +0 -77
  161. package/dist/loader-B4nQrRwA.js.map +0 -1
  162. package/dist/loader-B6ordrWK.js +0 -9
  163. package/dist/loader-BK8PnqRg.js +0 -16
  164. package/dist/loader-CnksfM7I.js.map +0 -1
  165. package/dist/loader-Cnz-VHne.js +0 -17
  166. package/dist/loader-CuntMmR4.js.map +0 -1
  167. package/dist/loader-Cx1Rg_VM.js +0 -8
  168. package/dist/loader-Dao_nv3e.js +0 -8
  169. package/dist/mdx-Cw1nBJ0D.js +0 -306
  170. package/dist/mdx-Cw1nBJ0D.js.map +0 -1
  171. package/dist/mdx-PaqRNZMS.d.ts +0 -135
  172. package/dist/mdx-PaqRNZMS.d.ts.map +0 -1
  173. package/dist/runtime-BUUHSFlR.d.ts +0 -31
  174. package/dist/runtime-BUUHSFlR.d.ts.map +0 -1
  175. package/dist/runtime-browser-B70WGxeQ.d.ts +0 -29
  176. package/dist/runtime-browser-B70WGxeQ.d.ts.map +0 -1
  177. package/dist/store-CRyvZFKN.js +0 -34
  178. package/dist/store-CRyvZFKN.js.map +0 -1
  179. package/dist/store-D_PPrdRE.d.ts +0 -31
  180. package/dist/store-D_PPrdRE.d.ts.map +0 -1
  181. package/dist/vite-C1qXY47G.js.map +0 -1
@@ -1,3 +1,45 @@
1
- import "../core-CT06v32N.js";
2
- import { n as FileSystemCollectionConfig, r as fileSystemCollection, t as FileSystemCollection } from "../fs-CmwaaFyx.js";
3
- export { FileSystemCollection, FileSystemCollectionConfig, fileSystemCollection };
1
+ import "../core-CG2zTL4c.js";
2
+ import { Collection } from "./index.js";
3
+
4
+ //#region src/collections/fs.d.ts
5
+ declare class FileSystemCollection extends Collection {
6
+ private matcher;
7
+ /**
8
+ * content directory (absolute)
9
+ */
10
+ dir: string;
11
+ private readonly filesCache;
12
+ /** the glob patterns to match files in collection, this doesn't take `supportedFormats` into account. */
13
+ private readonly patterns;
14
+ readonly supportedFileFormats: string[] | undefined;
15
+ constructor(config: FileSystemCollectionConfig);
16
+ isFileSupported(filePath: string): boolean;
17
+ /**
18
+ * get all included files, relative to `dir`.
19
+ *
20
+ * the result is cached.
21
+ */
22
+ getFiles(): Promise<string[]>;
23
+ hasFile(filePath: string): boolean;
24
+ invalidateCache(): void;
25
+ }
26
+ interface FileSystemCollectionConfig {
27
+ /**
28
+ * Directory to scan
29
+ */
30
+ dir: string;
31
+ /**
32
+ * what files to include/exclude (glob patterns)
33
+ *
34
+ * Include all files if not specified
35
+ */
36
+ files?: string[];
37
+ /**
38
+ * Restrict to a list of file extensions to include, e.g. `['js', 'ts']`.
39
+ */
40
+ supportedFormats?: string[];
41
+ }
42
+ declare function fileSystemCollection(config: FileSystemCollectionConfig): FileSystemCollection;
43
+ //#endregion
44
+ export { FileSystemCollection, FileSystemCollectionConfig, fileSystemCollection };
45
+ //# sourceMappingURL=fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.d.ts","names":[],"sources":["../../src/collections/fs.ts"],"mappings":";;;;cAKa,oBAAA,SAA6B,UAAA;EAAA,QAChC,OAAA;;AADV;;EAKE,GAAA;EAAA,iBACiB,UAAA;EAkCH;EAAA,iBAhCG,QAAA;EAAA,SACR,oBAAA;cAEG,MAAA,EAAQ,0BAAA;EAmBpB,eAAA,CAAgB,QAAA;EA7BR;;;;;EAuCF,QAAA,CAAA,GAAQ,OAAA;EASd,OAAA,CAAQ,QAAA;EASR,eAAA,CAAA;AAAA;AAAA,UAKe,0BAAA;EAvBT;;;EA2BN,GAAA;EATA;;;AAKF;;EAWE,KAAA;EAXyC;;;EAgBzC,gBAAA;AAAA;AAAA,iBAGc,oBAAA,CAAqB,MAAA,EAAQ,0BAAA,GAA0B,oBAAA"}
@@ -1,3 +1,66 @@
1
- import { n as fileSystemCollection, t as FileSystemCollection } from "../fs-CXzVd2Dp.js";
1
+ import { Collection } from "./index.js";
2
+ import { t as createCache } from "../async-cache-DRmFaVGm.js";
3
+ import path from "node:path";
4
+ import picomatch from "picomatch";
2
5
 
3
- export { FileSystemCollection, fileSystemCollection };
6
+ //#region src/collections/fs.ts
7
+ var FileSystemCollection = class extends Collection {
8
+ matcher;
9
+ /**
10
+ * content directory (absolute)
11
+ */
12
+ dir;
13
+ filesCache = createCache();
14
+ /** the glob patterns to match files in collection, this doesn't take `supportedFormats` into account. */
15
+ patterns;
16
+ supportedFileFormats;
17
+ constructor(config) {
18
+ super();
19
+ const { files, supportedFormats } = config;
20
+ this.dir = config.dir;
21
+ this.patterns = files ?? [supportedFormats ? `**/*.{${supportedFormats.join(",")}}` : `**/*`];
22
+ this.supportedFileFormats = supportedFormats;
23
+ this.onInit.hook(({ core }) => {
24
+ this.dir = path.resolve(core.getOptions().cwd, this.dir);
25
+ });
26
+ this.onServer.hook(({ server }) => {
27
+ if (!server.watcher) return;
28
+ server.watcher.add(this.dir);
29
+ server.watcher.on("all", (event, file) => {
30
+ if (event === "change" || !this.hasFile(file)) return;
31
+ this.filesCache.invalidate("");
32
+ });
33
+ });
34
+ }
35
+ isFileSupported(filePath) {
36
+ if (!this.supportedFileFormats) return true;
37
+ return this.supportedFileFormats.some((format) => filePath.endsWith(`.${format}`));
38
+ }
39
+ /**
40
+ * get all included files, relative to `dir`.
41
+ *
42
+ * the result is cached.
43
+ */
44
+ async getFiles() {
45
+ return this.filesCache.cached("", async () => {
46
+ const { glob } = await import("tinyglobby");
47
+ return (await glob(this.patterns, { cwd: this.dir })).filter((v) => this.isFileSupported(v));
48
+ });
49
+ }
50
+ hasFile(filePath) {
51
+ if (!this.isFileSupported(filePath)) return false;
52
+ const relativePath = path.relative(this.dir, filePath);
53
+ if (relativePath.startsWith(`..${path.sep}`)) return false;
54
+ return (this.matcher ??= picomatch(this.patterns))(relativePath);
55
+ }
56
+ invalidateCache() {
57
+ this.filesCache.invalidate("");
58
+ }
59
+ };
60
+ function fileSystemCollection(config) {
61
+ return new FileSystemCollection(config);
62
+ }
63
+
64
+ //#endregion
65
+ export { FileSystemCollection, fileSystemCollection };
66
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","names":[],"sources":["../../src/collections/fs.ts"],"sourcesContent":["import picomatch from \"picomatch\";\nimport path from \"node:path\";\nimport { Collection } from \".\";\nimport { createCache } from \"@/utils/async-cache\";\n\nexport class FileSystemCollection extends Collection {\n private matcher: picomatch.Matcher | undefined;\n /**\n * content directory (absolute)\n */\n dir: string;\n private readonly filesCache = createCache<string[]>();\n /** the glob patterns to match files in collection, this doesn't take `supportedFormats` into account. */\n private readonly patterns: string[];\n readonly supportedFileFormats: string[] | undefined;\n\n constructor(config: FileSystemCollectionConfig) {\n super();\n const { files, supportedFormats } = config;\n this.dir = config.dir;\n this.patterns = files ?? [supportedFormats ? `**/*.{${supportedFormats.join(\",\")}}` : `**/*`];\n this.supportedFileFormats = supportedFormats;\n this.onInit.hook(({ core }) => {\n this.dir = path.resolve(core.getOptions().cwd, this.dir);\n });\n this.onServer.hook(({ server }) => {\n if (!server.watcher) return;\n server.watcher.add(this.dir);\n server.watcher.on(\"all\", (event, file) => {\n if (event === \"change\" || !this.hasFile(file)) return;\n this.filesCache.invalidate(\"\");\n });\n });\n }\n\n isFileSupported(filePath: string) {\n if (!this.supportedFileFormats) return true;\n return this.supportedFileFormats.some((format) => filePath.endsWith(`.${format}`));\n }\n\n /**\n * get all included files, relative to `dir`.\n *\n * the result is cached.\n */\n async getFiles() {\n return this.filesCache.cached(\"\", async () => {\n const { glob } = await import(\"tinyglobby\");\n\n const out = await glob(this.patterns, { cwd: this.dir });\n return out.filter((v) => this.isFileSupported(v));\n });\n }\n\n hasFile(filePath: string) {\n if (!this.isFileSupported(filePath)) return false;\n\n const relativePath = path.relative(this.dir, filePath);\n if (relativePath.startsWith(`..${path.sep}`)) return false;\n\n return (this.matcher ??= picomatch(this.patterns))(relativePath);\n }\n\n invalidateCache() {\n this.filesCache.invalidate(\"\");\n }\n}\n\nexport interface FileSystemCollectionConfig {\n /**\n * Directory to scan\n */\n dir: string;\n\n /**\n * what files to include/exclude (glob patterns)\n *\n * Include all files if not specified\n */\n files?: string[];\n\n /**\n * Restrict to a list of file extensions to include, e.g. `['js', 'ts']`.\n */\n supportedFormats?: string[];\n}\n\nexport function fileSystemCollection(config: FileSystemCollectionConfig) {\n return new FileSystemCollection(config);\n}\n"],"mappings":";;;;;;AAKA,IAAa,uBAAb,cAA0C,WAAW;CACnD,AAAQ;;;;CAIR;CACA,AAAiB,aAAa,aAAuB;;CAErD,AAAiB;CACjB,AAAS;CAET,YAAY,QAAoC;AAC9C,SAAO;EACP,MAAM,EAAE,OAAO,qBAAqB;AACpC,OAAK,MAAM,OAAO;AAClB,OAAK,WAAW,SAAS,CAAC,mBAAmB,SAAS,iBAAiB,KAAK,IAAI,CAAC,KAAK,OAAO;AAC7F,OAAK,uBAAuB;AAC5B,OAAK,OAAO,MAAM,EAAE,WAAW;AAC7B,QAAK,MAAM,KAAK,QAAQ,KAAK,YAAY,CAAC,KAAK,KAAK,IAAI;IACxD;AACF,OAAK,SAAS,MAAM,EAAE,aAAa;AACjC,OAAI,CAAC,OAAO,QAAS;AACrB,UAAO,QAAQ,IAAI,KAAK,IAAI;AAC5B,UAAO,QAAQ,GAAG,QAAQ,OAAO,SAAS;AACxC,QAAI,UAAU,YAAY,CAAC,KAAK,QAAQ,KAAK,CAAE;AAC/C,SAAK,WAAW,WAAW,GAAG;KAC9B;IACF;;CAGJ,gBAAgB,UAAkB;AAChC,MAAI,CAAC,KAAK,qBAAsB,QAAO;AACvC,SAAO,KAAK,qBAAqB,MAAM,WAAW,SAAS,SAAS,IAAI,SAAS,CAAC;;;;;;;CAQpF,MAAM,WAAW;AACf,SAAO,KAAK,WAAW,OAAO,IAAI,YAAY;GAC5C,MAAM,EAAE,SAAS,MAAM,OAAO;AAG9B,WADY,MAAM,KAAK,KAAK,UAAU,EAAE,KAAK,KAAK,KAAK,CAAC,EAC7C,QAAQ,MAAM,KAAK,gBAAgB,EAAE,CAAC;IACjD;;CAGJ,QAAQ,UAAkB;AACxB,MAAI,CAAC,KAAK,gBAAgB,SAAS,CAAE,QAAO;EAE5C,MAAM,eAAe,KAAK,SAAS,KAAK,KAAK,SAAS;AACtD,MAAI,aAAa,WAAW,KAAK,KAAK,MAAM,CAAE,QAAO;AAErD,UAAQ,KAAK,YAAY,UAAU,KAAK,SAAS,EAAE,aAAa;;CAGlE,kBAAkB;AAChB,OAAK,WAAW,WAAW,GAAG;;;AAuBlC,SAAgB,qBAAqB,QAAoC;AACvE,QAAO,IAAI,qBAAqB,OAAO"}
@@ -1,2 +1,37 @@
1
- import { _ as defineCollectionHook, g as CollectionHookContext, h as CollectionHook, m as Collection } from "../core-CT06v32N.js";
2
- export { Collection, CollectionHook, CollectionHookContext, defineCollectionHook };
1
+ import { f as ServerContext, i as EmitEntry, l as PluginOption, m as AsyncPipe, r as EmitContext, t as Core, u as ResolvedConfig, v as AsyncHook, y as Hook } from "../core-CG2zTL4c.js";
2
+
3
+ //#region src/collections/index.d.ts
4
+ interface CollectionHookContext {
5
+ core: Core;
6
+ collection: Collection;
7
+ }
8
+ declare class Collection {
9
+ private readonly pluginHooks;
10
+ name: string;
11
+ /**
12
+ * on config loaded/updated
13
+ */
14
+ readonly onConfig: Hook<CollectionHookContext & {
15
+ config: ResolvedConfig;
16
+ }>;
17
+ /**
18
+ * Configure watch/dev server
19
+ */
20
+ readonly onServer: Hook<CollectionHookContext & {
21
+ server: ServerContext;
22
+ }>;
23
+ readonly onInit: AsyncHook<CollectionHookContext>;
24
+ readonly onEmit: AsyncPipe<EmitEntry[], EmitContext>;
25
+ readonly plugins: PluginOption[];
26
+ pluginHook<T, Options>(hook: CollectionHook<T, Options>, options: Options): T;
27
+ pluginHook<T>(hook: CollectionHook<T>): T;
28
+ getPluginHook<T>(hook: CollectionHook<T>): T | undefined;
29
+ }
30
+ interface CollectionHook<T = unknown, Options = undefined> {
31
+ id: symbol;
32
+ create: (collection: Collection, options: Options) => T;
33
+ }
34
+ declare function defineCollectionHook<T, Options = undefined>(init: (collection: Collection, options: Options) => T): CollectionHook<T, Options>;
35
+ //#endregion
36
+ export { Collection, CollectionHook, CollectionHookContext, defineCollectionHook };
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/collections/index.ts"],"mappings":";;;UAIiB,qBAAA;EACf,IAAA,EAAM,IAAA;EACN,UAAA,EAAY,UAAA;AAAA;AAAA,cAGD,UAAA;EAAA,iBACM,WAAA;EACjB,IAAA;EANM;;;EAAA,SAWG,QAAA,EAAgE,IAAA,CAAxD,qBAAA;YAA0C,cAAA;EAAA;EAPtC;;;EAAA,SAWZ,QAAA,EAA+D,IAAA,CAAvD,qBAAA;YAA0C,aAAA;EAAA;EAAA,SAClD,MAAA,EAAM,SAAA,CAAA,qBAAA;EAAA,SACN,MAAA,EAAM,SAAA,CAAA,SAAA,IAAA,WAAA;EAAA,SACN,OAAA,EAAS,YAAA;EAElB,UAAA,YAAA,CAAuB,IAAA,EAAM,cAAA,CAAe,CAAA,EAAG,OAAA,GAAU,OAAA,EAAS,OAAA,GAAU,CAAA;EAC5E,UAAA,GAAA,CAAc,IAAA,EAAM,cAAA,CAAe,CAAA,IAAK,CAAA;EAWxC,aAAA,GAAA,CAAiB,IAAA,EAAM,cAAA,CAAe,CAAA,IAAK,CAAA;AAAA;AAAA,UAK5B,cAAA;EACf,EAAA;EACA,MAAA,GAAS,UAAA,EAAY,UAAA,EAAY,OAAA,EAAS,OAAA,KAAY,CAAA;AAAA;AAAA,iBAGxC,oBAAA,wBAAA,CACd,IAAA,GAAO,UAAA,EAAY,UAAA,EAAY,OAAA,EAAS,OAAA,KAAY,CAAA,GACnD,cAAA,CAAe,CAAA,EAAG,OAAA"}
@@ -1,3 +1,38 @@
1
- import { n as defineCollectionHook, t as Collection } from "../collections-CNWuMDAZ.js";
1
+ import { i as hook, r as asyncHook, t as asyncPipe } from "../pipe-CvCqOpXX.js";
2
2
 
3
- export { Collection, defineCollectionHook };
3
+ //#region src/collections/index.ts
4
+ var Collection = class {
5
+ pluginHooks = /* @__PURE__ */ new Map();
6
+ name = null;
7
+ /**
8
+ * on config loaded/updated
9
+ */
10
+ onConfig = hook();
11
+ /**
12
+ * Configure watch/dev server
13
+ */
14
+ onServer = hook();
15
+ onInit = asyncHook();
16
+ onEmit = asyncPipe();
17
+ plugins = [];
18
+ pluginHook(hook, options) {
19
+ let created = this.pluginHooks.get(hook.id);
20
+ if (created) return created;
21
+ created = hook.create(this, options);
22
+ this.pluginHooks.set(hook.id, created);
23
+ return created;
24
+ }
25
+ getPluginHook(hook) {
26
+ return this.pluginHooks.get(hook.id);
27
+ }
28
+ };
29
+ function defineCollectionHook(init) {
30
+ return {
31
+ id: Symbol(),
32
+ create: init
33
+ };
34
+ }
35
+
36
+ //#endregion
37
+ export { Collection, defineCollectionHook };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/collections/index.ts"],"sourcesContent":["import { Core, EmitContext, EmitEntry, PluginOption, ResolvedConfig, ServerContext } from \"@/core\";\nimport { asyncHook, hook } from \"@/utils/hook\";\nimport { asyncPipe } from \"@/utils/pipe\";\n\nexport interface CollectionHookContext {\n core: Core;\n collection: Collection;\n}\n\nexport class Collection {\n private readonly pluginHooks = new Map<symbol, unknown>();\n name = null as unknown as string;\n\n /**\n * on config loaded/updated\n */\n readonly onConfig = hook<CollectionHookContext & { config: ResolvedConfig }>();\n /**\n * Configure watch/dev server\n */\n readonly onServer = hook<CollectionHookContext & { server: ServerContext }>();\n readonly onInit = asyncHook<CollectionHookContext>();\n readonly onEmit = asyncPipe<EmitEntry[], EmitContext>();\n readonly plugins: PluginOption[] = [];\n\n pluginHook<T, Options>(hook: CollectionHook<T, Options>, options: Options): T;\n pluginHook<T>(hook: CollectionHook<T>): T;\n\n pluginHook<T, O>(hook: CollectionHook<T, O>, options?: O): T {\n let created = this.pluginHooks.get(hook.id) as T | undefined;\n if (created) return created;\n\n created = hook.create(this, options as O);\n this.pluginHooks.set(hook.id, created);\n return created;\n }\n\n getPluginHook<T>(hook: CollectionHook<T>): T | undefined {\n return this.pluginHooks.get(hook.id) as T | undefined;\n }\n}\n\nexport interface CollectionHook<T = unknown, Options = undefined> {\n id: symbol;\n create: (collection: Collection, options: Options) => T;\n}\n\nexport function defineCollectionHook<T, Options = undefined>(\n init: (collection: Collection, options: Options) => T,\n): CollectionHook<T, Options> {\n return {\n id: Symbol(),\n create: init,\n };\n}\n"],"mappings":";;;AASA,IAAa,aAAb,MAAwB;CACtB,AAAiB,8BAAc,IAAI,KAAsB;CACzD,OAAO;;;;CAKP,AAAS,WAAW,MAA0D;;;;CAI9E,AAAS,WAAW,MAAyD;CAC7E,AAAS,SAAS,WAAkC;CACpD,AAAS,SAAS,WAAqC;CACvD,AAAS,UAA0B,EAAE;CAKrC,WAAiB,MAA4B,SAAgB;EAC3D,IAAI,UAAU,KAAK,YAAY,IAAI,KAAK,GAAG;AAC3C,MAAI,QAAS,QAAO;AAEpB,YAAU,KAAK,OAAO,MAAM,QAAa;AACzC,OAAK,YAAY,IAAI,KAAK,IAAI,QAAQ;AACtC,SAAO;;CAGT,cAAiB,MAAwC;AACvD,SAAO,KAAK,YAAY,IAAI,KAAK,GAAG;;;AASxC,SAAgB,qBACd,MAC4B;AAC5B,QAAO;EACL,IAAI,QAAQ;EACZ,QAAQ;EACT"}
@@ -1,6 +1,6 @@
1
- import "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import { l as WebpackLoader } from "../../index-BheUVWBm.js";
1
+ import "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { WebpackLoader } from "../../plugins/loader/webpack.js";
4
4
 
5
5
  //#region src/collections/json/loader-webpack.d.ts
6
6
  declare const _default: WebpackLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"loader-webpack.d.ts","names":[],"sources":["../../../src/collections/json/loader-webpack.ts"],"sourcesContent":[],"mappings":""}
1
+ {"version":3,"file":"loader-webpack.d.ts","names":[],"sources":["../../../src/collections/json/loader-webpack.ts"],"mappings":""}
@@ -1,11 +1,7 @@
1
- import "../../dynamic-CtOB4Rkp.js";
2
- import "../../validation-BvVvvLII.js";
3
- import "../../loader-B4nQrRwA.js";
4
- import "../../fs-CXzVd2Dp.js";
5
- import "../../data-Cxsx5KPD.js";
1
+ import "../../validation-C3kXuveD.js";
6
2
  import { createWebpackLoader } from "../../plugins/loader/webpack.js";
7
- import "../../loader-CuntMmR4.js";
8
- import { t as createJsonLoader } from "../../loader-BK8PnqRg.js";
3
+ import "../../loader-gwXIGo5Q.js";
4
+ import { t as createJsonLoader } from "../../loader-DTODFdmk.js";
9
5
 
10
6
  //#region src/collections/json/loader-webpack.ts
11
7
  var loader_webpack_default = createWebpackLoader((core) => createJsonLoader(core, "json"));
@@ -1 +1 @@
1
- {"version":3,"file":"loader-webpack.js","names":[],"sources":["../../../src/collections/json/loader-webpack.ts"],"sourcesContent":["import { createWebpackLoader } from \"@/plugins/loader/webpack\";\nimport { createJsonLoader } from \"./loader\";\n\nexport default createWebpackLoader((core) => createJsonLoader(core, \"json\"));\n"],"mappings":";;;;;;;;;;AAGA,6BAAe,qBAAqB,SAAS,iBAAiB,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"loader-webpack.js","names":[],"sources":["../../../src/collections/json/loader-webpack.ts"],"sourcesContent":["import { createWebpackLoader } from \"@/plugins/loader/webpack\";\nimport { createJsonLoader } from \"./loader\";\n\nexport default createWebpackLoader((core) => createJsonLoader(core, \"json\"));\n"],"mappings":";;;;;;AAGA,6BAAe,qBAAqB,SAAS,iBAAiB,MAAM,OAAO,CAAC"}
@@ -1,6 +1,6 @@
1
- import "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import { l as WebpackLoader } from "../../index-BheUVWBm.js";
1
+ import "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { WebpackLoader } from "../../plugins/loader/webpack.js";
4
4
 
5
5
  //#region src/collections/mdx/loader-webpack.d.ts
6
6
  declare const _default: WebpackLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"loader-webpack.d.ts","names":[],"sources":["../../../src/collections/mdx/loader-webpack.ts"],"sourcesContent":[],"mappings":""}
1
+ {"version":3,"file":"loader-webpack.d.ts","names":[],"sources":["../../../src/collections/mdx/loader-webpack.ts"],"mappings":""}
@@ -1,12 +1,7 @@
1
- import "../../dynamic-CtOB4Rkp.js";
2
- import "../../validation-BvVvvLII.js";
3
- import "../../loader-B4nQrRwA.js";
4
- import "../../fs-CXzVd2Dp.js";
5
- import "../../git-DnejL9r_.js";
6
- import "../../mdx-Cw1nBJ0D.js";
1
+ import "../../validation-C3kXuveD.js";
7
2
  import { createWebpackLoader } from "../../plugins/loader/webpack.js";
8
- import "../../fuma-matter-BuBO2w-p.js";
9
- import { t as createMdxLoader } from "../../loader-CnksfM7I.js";
3
+ import "../../fuma-matter-Pwr2S9Ab.js";
4
+ import { t as createMdxLoader } from "../../loader-DOjRBsog.js";
10
5
 
11
6
  //#region src/collections/mdx/loader-webpack.ts
12
7
  var loader_webpack_default = createWebpackLoader(createMdxLoader);
@@ -1 +1 @@
1
- {"version":3,"file":"loader-webpack.js","names":[],"sources":["../../../src/collections/mdx/loader-webpack.ts"],"sourcesContent":["import { createMdxLoader } from \"@/collections/mdx/loader\";\nimport { createWebpackLoader } from \"@/plugins/loader/webpack\";\n\nexport default createWebpackLoader(createMdxLoader);\n"],"mappings":";;;;;;;;;;;AAGA,6BAAe,oBAAoB,gBAAgB"}
1
+ {"version":3,"file":"loader-webpack.js","names":[],"sources":["../../../src/collections/mdx/loader-webpack.ts"],"sourcesContent":["import { createMdxLoader } from \"@/collections/mdx/loader\";\nimport { createWebpackLoader } from \"@/plugins/loader/webpack\";\n\nexport default createWebpackLoader(createMdxLoader);\n"],"mappings":";;;;;;AAGA,6BAAe,oBAAoB,gBAAgB"}
@@ -1,13 +1,7 @@
1
- import "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import "../../index-BheUVWBm.js";
4
- import "../../fs-CmwaaFyx.js";
5
- import "../../store-D_PPrdRE.js";
6
- import "../../file-store-Dm1SjuLg.js";
7
- import { i as CompiledMDX } from "../../mdx-PaqRNZMS.js";
8
- import { t as MDXStoreBrowserData } from "../../runtime-browser-B70WGxeQ.js";
9
- import "../../git-n-9ddn78.js";
10
- import "../../runtime-BUUHSFlR.js";
1
+ import "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { t as CompiledMDX } from "../../build-mdx-DkAvzRNg.js";
4
+ import { MDXStoreBrowserData } from "./runtime-browser.js";
11
5
  import { ReactNode } from "react";
12
6
 
13
7
  //#region src/collections/mdx/react.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","names":[],"sources":["../../../src/collections/mdx/react.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;iBAiBgB,0CACP,oBAAoB,aAAa,wCACvB,YAAY,eAAe,aAAa,YACxD"}
1
+ {"version":3,"file":"react.d.ts","names":[],"sources":["../../../src/collections/mdx/react.ts"],"mappings":";;;;;;;;;;;AAiBA;iBAAgB,WAAA,uBAAA,CACd,KAAA,EAAO,mBAAA,CAAoB,WAAA,EAAa,QAAA,eACxC,QAAA,GAAW,IAAA,EAAM,WAAA,CAAY,WAAA,IAAe,QAAA,KAAa,SAAA,GACxD,SAAA"}
@@ -1,11 +1,26 @@
1
- import "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import "../../index-BheUVWBm.js";
4
- import "../../fs-CmwaaFyx.js";
5
- import "../../store-D_PPrdRE.js";
6
- import "../../file-store-Dm1SjuLg.js";
7
- import "../../mdx-PaqRNZMS.js";
8
- import { n as _internal_data, r as mdxStoreBrowser, t as MDXStoreBrowserData } from "../../runtime-browser-B70WGxeQ.js";
9
- import "../../git-n-9ddn78.js";
10
- import { i as WithGit, r as WithExtractedReferences } from "../../runtime-BUUHSFlR.js";
11
- export { MDXStoreBrowserData, WithExtractedReferences, WithGit, _internal_data, mdxStoreBrowser };
1
+ import { C as GetCollectionConfig, S as Awaitable } from "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { MapCollectionStore } from "../runtime/store.js";
4
+ import { t as CompiledMDX } from "../../build-mdx-DkAvzRNg.js";
5
+ import { MDXCollection } from "../mdx.js";
6
+ import { t as AsyncCache } from "../../async-cache-CBEZB25o.js";
7
+ import { WithGit } from "./runtime.js";
8
+
9
+ //#region src/collections/mdx/runtime-browser.d.ts
10
+ interface MDXStoreBrowserData<Frontmatter, Attached = unknown> {
11
+ id: string;
12
+ preload: () => Awaitable<CompiledMDX<Frontmatter> & Attached>;
13
+ _store: StoreContext;
14
+ }
15
+ interface StoreContext {
16
+ storeId: string;
17
+ }
18
+ interface StoreData {
19
+ preloaded: AsyncCache<CompiledMDX>;
20
+ }
21
+ type GetFrontmatter<Config, Name extends string> = GetCollectionConfig<Config, Name> extends MDXCollection ? GetCollectionConfig<Config, Name>["$inferFrontmatter"] : never;
22
+ declare const _internal_data: Map<string, StoreData>;
23
+ declare function mdxStoreBrowser<Config, Name extends string, Attached>(name: Name, _input: Record<string, () => Promise<unknown>>): MapCollectionStore<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>>;
24
+ //#endregion
25
+ export { MDXStoreBrowserData, type WithGit, _internal_data, mdxStoreBrowser };
26
+ //# sourceMappingURL=runtime-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-browser.d.ts","names":[],"sources":["../../../src/collections/mdx/runtime-browser.ts"],"mappings":";;;;;;;;;UAQiB,mBAAA;EACf,EAAA;EACA,OAAA,QAAe,SAAA,CAAU,WAAA,CAAY,WAAA,IAAe,QAAA;EACpD,MAAA,EAAQ,YAAA;AAAA;AAAA,UAGA,YAAA;EACR,OAAA;AAAA;AAAA,UAGQ,SAAA;EACR,SAAA,EAAW,UAAA,CAAW,WAAA;AAAA;AAAA,KAGnB,cAAA,gCACH,mBAAA,CAAoB,MAAA,EAAQ,IAAA,UAAc,aAAA,GACtC,mBAAA,CAAoB,MAAA,EAAQ,IAAA;AAAA,cAGrB,cAAA,EAAc,GAAA,SAAA,SAAA;AAAA,iBAEX,eAAA,uCAAA,CACd,IAAA,EAAM,IAAA,EACN,MAAA,EAAQ,MAAA,eAAqB,OAAA,aAC5B,kBAAA,SAA2B,mBAAA,CAAoB,cAAA,CAAe,MAAA,EAAQ,IAAA,GAAO,QAAA"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { t as createCache } from "../../async-cache-U87GzQTb.js";
4
- import { t as MapCollectionStore } from "../../store-CRyvZFKN.js";
3
+ import { t as createCache } from "../../async-cache-DRmFaVGm.js";
4
+ import { MapCollectionStore } from "../runtime/store.js";
5
5
 
6
6
  //#region src/collections/mdx/runtime-browser.ts
7
7
  const _internal_data = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-browser.js","names":["context: StoreContext"],"sources":["../../../src/collections/mdx/runtime-browser.ts"],"sourcesContent":["\"use client\";\n\nimport type { Awaitable, GetCollectionConfig } from \"@/types\";\nimport { MapCollectionStore } from \"@/collections/runtime/store\";\nimport { type AsyncCache, createCache } from \"@/utils/async-cache\";\nimport type { CompiledMDX } from \"@/collections/mdx/build-mdx\";\nimport type { MDXCollection } from \"../mdx\";\n\nexport interface MDXStoreBrowserData<Frontmatter, Attached = unknown> {\n id: string;\n preload: () => Awaitable<CompiledMDX<Frontmatter> & Attached>;\n _store: StoreContext;\n}\n\ninterface StoreContext {\n storeId: string;\n}\n\ninterface StoreData {\n preloaded: AsyncCache<CompiledMDX>;\n}\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport const _internal_data = new Map<string, StoreData>();\n\nexport function mdxStoreBrowser<Config, Name extends string, Attached>(\n name: Name,\n _input: Record<string, () => Promise<unknown>>,\n): MapCollectionStore<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as Record<\n string,\n () => Promise<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>\n >;\n const merged = new Map<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>>();\n function getStoreData(): StoreData {\n let store = _internal_data.get(name);\n if (store) return store;\n\n store = {\n preloaded: createCache(),\n };\n _internal_data.set(name, store);\n return store;\n }\n\n const context: StoreContext = {\n storeId: name,\n };\n\n for (const [key, value] of Object.entries(input)) {\n merged.set(key, {\n id: key,\n preload() {\n return getStoreData()\n .preloaded.$value<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>()\n .cached(key, value);\n },\n _store: context,\n });\n }\n\n return new MapCollectionStore(merged);\n}\n\nexport type { WithExtractedReferences, WithGit } from \"./runtime\";\n"],"mappings":";;;;;;AA2BA,MAAa,iCAAiB,IAAI,KAAwB;AAE1D,SAAgB,gBACd,MACA,QACyF;CACzF,MAAM,QAAQ;CAId,MAAM,yBAAS,IAAI,KAA0E;CAC7F,SAAS,eAA0B;EACjC,IAAI,QAAQ,eAAe,IAAI,KAAK;AACpC,MAAI,MAAO,QAAO;AAElB,UAAQ,EACN,WAAW,aAAa,EACzB;AACD,iBAAe,IAAI,MAAM,MAAM;AAC/B,SAAO;;CAGT,MAAMA,UAAwB,EAC5B,SAAS,MACV;AAED,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,CAC9C,QAAO,IAAI,KAAK;EACd,IAAI;EACJ,UAAU;AACR,UAAO,cAAc,CAClB,UAAU,QAA8D,CACxE,OAAO,KAAK,MAAM;;EAEvB,QAAQ;EACT,CAAC;AAGJ,QAAO,IAAI,mBAAmB,OAAO"}
1
+ {"version":3,"file":"runtime-browser.js","names":[],"sources":["../../../src/collections/mdx/runtime-browser.ts"],"sourcesContent":["\"use client\";\n\nimport type { Awaitable, GetCollectionConfig } from \"@/types\";\nimport { MapCollectionStore } from \"@/collections/runtime/store\";\nimport { type AsyncCache, createCache } from \"@/utils/async-cache\";\nimport type { CompiledMDX } from \"@/collections/mdx/build-mdx\";\nimport type { MDXCollection } from \"../mdx\";\n\nexport interface MDXStoreBrowserData<Frontmatter, Attached = unknown> {\n id: string;\n preload: () => Awaitable<CompiledMDX<Frontmatter> & Attached>;\n _store: StoreContext;\n}\n\ninterface StoreContext {\n storeId: string;\n}\n\ninterface StoreData {\n preloaded: AsyncCache<CompiledMDX>;\n}\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport const _internal_data = new Map<string, StoreData>();\n\nexport function mdxStoreBrowser<Config, Name extends string, Attached>(\n name: Name,\n _input: Record<string, () => Promise<unknown>>,\n): MapCollectionStore<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as Record<\n string,\n () => Promise<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>\n >;\n const merged = new Map<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>>();\n function getStoreData(): StoreData {\n let store = _internal_data.get(name);\n if (store) return store;\n\n store = {\n preloaded: createCache(),\n };\n _internal_data.set(name, store);\n return store;\n }\n\n const context: StoreContext = {\n storeId: name,\n };\n\n for (const [key, value] of Object.entries(input)) {\n merged.set(key, {\n id: key,\n preload() {\n return getStoreData()\n .preloaded.$value<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>()\n .cached(key, value);\n },\n _store: context,\n });\n }\n\n return new MapCollectionStore(merged);\n}\n\nexport type { WithGit } from \"./runtime\";\n"],"mappings":";;;;;;AA2BA,MAAa,iCAAiB,IAAI,KAAwB;AAE1D,SAAgB,gBACd,MACA,QACyF;CACzF,MAAM,QAAQ;CAId,MAAM,yBAAS,IAAI,KAA0E;CAC7F,SAAS,eAA0B;EACjC,IAAI,QAAQ,eAAe,IAAI,KAAK;AACpC,MAAI,MAAO,QAAO;AAElB,UAAQ,EACN,WAAW,aAAa,EACzB;AACD,iBAAe,IAAI,MAAM,MAAM;AAC/B,SAAO;;CAGT,MAAM,UAAwB,EAC5B,SAAS,MACV;AAED,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,CAC9C,QAAO,IAAI,KAAK;EACd,IAAI;EACJ,UAAU;AACR,UAAO,cAAc,CAClB,UAAU,QAA8D,CACxE,OAAO,KAAK,MAAM;;EAEvB,QAAQ;EACT,CAAC;AAGJ,QAAO,IAAI,mBAAmB,OAAO"}
@@ -1,12 +1,9 @@
1
- import { D as GetCollectionConfig, n as CoreOptions } from "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import "../../index-BheUVWBm.js";
4
- import "../../fs-CmwaaFyx.js";
5
- import "../../store-D_PPrdRE.js";
6
- import { t as FileCollectionStore } from "../../file-store-Dm1SjuLg.js";
7
- import { i as CompiledMDX, t as MDXCollection } from "../../mdx-PaqRNZMS.js";
8
- import "../../git-n-9ddn78.js";
9
- import { i as WithGit, r as WithExtractedReferences } from "../../runtime-BUUHSFlR.js";
1
+ import { C as GetCollectionConfig, n as CoreOptions } from "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { FileCollectionStore } from "../runtime/file-store.js";
4
+ import { t as CompiledMDX } from "../../build-mdx-DkAvzRNg.js";
5
+ import { MDXCollection } from "../mdx.js";
6
+ import { WithGit } from "./runtime.js";
10
7
  import { MDXContent } from "mdx/types";
11
8
 
12
9
  //#region src/collections/mdx/runtime-dynamic.d.ts
@@ -19,5 +16,5 @@ type GetFrontmatter<Config, Name extends string> = GetCollectionConfig<Config, N
19
16
  declare function mdxStoreDynamic<Config, Name extends string, Attached>(config: Config, coreOptions: CoreOptions, name: Name, base: string, _frontmatter: Record<string, unknown>, jsxRuntime: unknown): Promise<FileCollectionStore<MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>>>;
20
17
  type MdxContent = MDXContent;
21
18
  //#endregion
22
- export { MDXStoreDynamicData, MdxContent, type WithExtractedReferences, type WithGit, mdxStoreDynamic };
19
+ export { MDXStoreDynamicData, MdxContent, type WithGit, mdxStoreDynamic };
23
20
  //# sourceMappingURL=runtime-dynamic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-dynamic.d.ts","names":[],"sources":["../../../src/collections/mdx/runtime-dynamic.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;UAYiB;;eAEF;iBACE,QAAQ,YAAY,eAAe;;KAK/C,8CACH,oBAAoB,QAAQ,cAAc,gBACtC,oBAAoB,QAAQ;AAVjB,iBAaK,eAbc,CAAA,MAAA,EAAA,aAAA,MAAA,EAAA,QAAA,CAAA,CAAA,MAAA,EAc1B,MAd0B,EAAA,WAAA,EAerB,WAfqB,EAAA,IAAA,EAgB5B,IAhB4B,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAkBpB,MAlBoB,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAoBjC,OApBiC,CAoBzB,mBApByB,CAoBL,mBApBK,CAoBe,cApBf,CAoB8B,MApB9B,EAoBsC,IApBtC,CAAA,EAoB6C,QApB7C,CAAA,CAAA,CAAA;AAErB,KAiEH,UAAA,GAAa,UAjEV"}
1
+ {"version":3,"file":"runtime-dynamic.d.ts","names":[],"sources":["../../../src/collections/mdx/runtime-dynamic.ts"],"mappings":";;;;;;;;;UAYiB,mBAAA;EACf,EAAA;EACA,WAAA,EAAa,WAAA;EACb,OAAA,QAAe,OAAA,CAAQ,WAAA,CAAY,WAAA,IAAe,QAAA;AAAA;AAAA,KAK/C,cAAA,gCACH,mBAAA,CAAoB,MAAA,EAAQ,IAAA,UAAc,aAAA,GACtC,mBAAA,CAAoB,MAAA,EAAQ,IAAA;AAAA,iBAGZ,eAAA,uCAAA,CACpB,MAAA,EAAQ,MAAA,EACR,WAAA,EAAa,WAAA,EACb,IAAA,EAAM,IAAA,EACN,IAAA,UACA,YAAA,EAAc,MAAA,mBACd,UAAA,YACC,OAAA,CAAQ,mBAAA,CAAoB,mBAAA,CAAoB,cAAA,CAAe,MAAA,EAAQ,IAAA,GAAO,QAAA;AAAA,KA+CrE,UAAA,GAAa,UAAA"}
@@ -1,13 +1,10 @@
1
- import { t as Core } from "../../core-Uv3jZqL-.js";
2
- import "../../validation-BvVvvLII.js";
3
- import { t as createCache } from "../../async-cache-U87GzQTb.js";
4
- import "../../loader-B4nQrRwA.js";
5
- import "../../fs-CXzVd2Dp.js";
6
- import "../../git-DnejL9r_.js";
7
- import { t as MDXCollection } from "../../mdx-Cw1nBJ0D.js";
1
+ import { t as Core } from "../../core-DmbQk8Z2.js";
2
+ import "../../validation-C3kXuveD.js";
3
+ import { t as createCache } from "../../async-cache-DRmFaVGm.js";
4
+ import { MDXCollection } from "../mdx.js";
8
5
  import { FileCollectionStore } from "../runtime/file-store.js";
9
- import { t as fumaMatter } from "../../fuma-matter-BuBO2w-p.js";
10
- import { t as buildMDX } from "../../build-mdx-CUp6FpfT.js";
6
+ import { t as fumaMatter } from "../../fuma-matter-Pwr2S9Ab.js";
7
+ import { t as buildMDX } from "../../build-mdx-oug7zk0w.js";
11
8
  import fs from "node:fs/promises";
12
9
  import path from "node:path";
13
10
  import { pathToFileURL } from "node:url";
@@ -16,9 +13,9 @@ import { pathToFileURL } from "node:url";
16
13
  let corePromise;
17
14
  async function mdxStoreDynamic(config, coreOptions, name, base, _frontmatter, jsxRuntime) {
18
15
  corePromise ??= (async () => {
19
- const core$1 = new Core(coreOptions);
20
- await core$1.init({ config });
21
- return core$1;
16
+ const core = new Core(coreOptions);
17
+ await core.init({ config });
18
+ return core;
22
19
  })();
23
20
  const core = await corePromise;
24
21
  const frontmatter = _frontmatter;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-dynamic.js","names":["corePromise: Promise<Core>","core","merged: Record<string, MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>>","AsyncFunction: new (...args: string[]) => (...args: unknown[]) => Promise<unknown>"],"sources":["../../../src/collections/mdx/runtime-dynamic.ts"],"sourcesContent":["import { buildMDX, type CompiledMDX } from \"@/collections/mdx/build-mdx\";\nimport { pathToFileURL } from \"node:url\";\nimport { fumaMatter } from \"@/collections/mdx/fuma-matter\";\nimport fs from \"node:fs/promises\";\nimport { type CoreOptions, Core } from \"@/core\";\nimport type { MDXContent } from \"mdx/types\";\nimport { FileCollectionStore } from \"@/collections/runtime/file-store\";\nimport type { GetCollectionConfig } from \"@/types\";\nimport { MDXCollection } from \"@/collections/mdx\";\nimport path from \"node:path\";\nimport { createCache } from \"@/utils/async-cache\";\n\nexport interface MDXStoreDynamicData<Frontmatter, Attached = unknown> {\n id: string;\n frontmatter: Frontmatter;\n compile: () => Promise<CompiledMDX<Frontmatter> & Attached>;\n}\n\nlet corePromise: Promise<Core>;\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport async function mdxStoreDynamic<Config, Name extends string, Attached>(\n config: Config,\n coreOptions: CoreOptions,\n name: Name,\n base: string,\n _frontmatter: Record<string, unknown>,\n jsxRuntime: unknown,\n): Promise<FileCollectionStore<MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>>> {\n corePromise ??= (async () => {\n const core = new Core(coreOptions);\n await core.init({\n config: config as Record<string, unknown>,\n });\n return core;\n })();\n const core = await corePromise;\n const frontmatter = _frontmatter as Record<string, GetFrontmatter<Config, Name>>;\n const collection = core.getCollection(name);\n if (!collection || !(collection instanceof MDXCollection))\n throw new Error(\"invalid collection name\");\n\n const merged: Record<string, MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>> = {};\n const cache = createCache<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>();\n\n for (const [k, v] of Object.entries(frontmatter)) {\n merged[k] = {\n id: k,\n frontmatter: v,\n async compile() {\n return cache.cached(k, async () => {\n const filePath = path.join(base, k);\n let content = (await fs.readFile(filePath)).toString();\n content = fumaMatter(content).content;\n\n const compiled = await buildMDX(core, collection, {\n filePath,\n source: content,\n frontmatter: v as unknown as Record<string, unknown>,\n isDevelopment: false,\n environment: \"runtime\",\n });\n\n return (await executeMdx(String(compiled.value), {\n baseUrl: pathToFileURL(filePath),\n jsxRuntime,\n })) as CompiledMDX<GetFrontmatter<Config, Name>> & Attached;\n });\n },\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport type MdxContent = MDXContent;\n\ninterface Options {\n scope?: Record<string, unknown>;\n baseUrl?: string | URL;\n jsxRuntime?: unknown;\n}\n\nconst AsyncFunction: new (...args: string[]) => (...args: unknown[]) => Promise<unknown> =\n Object.getPrototypeOf(executeMdx).constructor;\n\nasync function executeMdx(compiled: string, options: Options = {}) {\n const { opts: scopeOpts, ...scope } = options.scope ?? {};\n const fullScope = {\n opts: {\n ...(scopeOpts as object),\n ...(options.jsxRuntime as object),\n baseUrl: options.baseUrl,\n },\n ...scope,\n };\n\n const hydrateFn = new AsyncFunction(...Object.keys(fullScope), compiled);\n return (await hydrateFn.apply(hydrateFn, Object.values(fullScope))) as {\n default: MdxContent;\n };\n}\n\nexport type { WithExtractedReferences, WithGit } from \"./runtime\";\n"],"mappings":";;;;;;;;;;;;;;;AAkBA,IAAIA;AAOJ,eAAsB,gBACpB,QACA,aACA,MACA,MACA,cACA,YAC2F;AAC3F,kBAAiB,YAAY;EAC3B,MAAMC,SAAO,IAAI,KAAK,YAAY;AAClC,QAAMA,OAAK,KAAK,EACN,QACT,CAAC;AACF,SAAOA;KACL;CACJ,MAAM,OAAO,MAAM;CACnB,MAAM,cAAc;CACpB,MAAM,aAAa,KAAK,cAAc,KAAK;AAC3C,KAAI,CAAC,cAAc,EAAE,sBAAsB,eACzC,OAAM,IAAI,MAAM,0BAA0B;CAE5C,MAAMC,SAAsF,EAAE;CAC9F,MAAM,QAAQ,aAAmE;AAEjF,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,YAAY,CAC9C,QAAO,KAAK;EACV,IAAI;EACJ,aAAa;EACb,MAAM,UAAU;AACd,UAAO,MAAM,OAAO,GAAG,YAAY;IACjC,MAAM,WAAW,KAAK,KAAK,MAAM,EAAE;IACnC,IAAI,WAAW,MAAM,GAAG,SAAS,SAAS,EAAE,UAAU;AACtD,cAAU,WAAW,QAAQ,CAAC;IAE9B,MAAM,WAAW,MAAM,SAAS,MAAM,YAAY;KAChD;KACA,QAAQ;KACR,aAAa;KACb,eAAe;KACf,aAAa;KACd,CAAC;AAEF,WAAQ,MAAM,WAAW,OAAO,SAAS,MAAM,EAAE;KAC/C,SAAS,cAAc,SAAS;KAChC;KACD,CAAC;KACF;;EAEL;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO;;AAW9C,MAAMC,gBACJ,OAAO,eAAe,WAAW,CAAC;AAEpC,eAAe,WAAW,UAAkB,UAAmB,EAAE,EAAE;CACjE,MAAM,EAAE,MAAM,WAAW,GAAG,UAAU,QAAQ,SAAS,EAAE;CACzD,MAAM,YAAY;EAChB,MAAM;GACJ,GAAI;GACJ,GAAI,QAAQ;GACZ,SAAS,QAAQ;GAClB;EACD,GAAG;EACJ;CAED,MAAM,YAAY,IAAI,cAAc,GAAG,OAAO,KAAK,UAAU,EAAE,SAAS;AACxE,QAAQ,MAAM,UAAU,MAAM,WAAW,OAAO,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"runtime-dynamic.js","names":[],"sources":["../../../src/collections/mdx/runtime-dynamic.ts"],"sourcesContent":["import { buildMDX, type CompiledMDX } from \"@/collections/mdx/build-mdx\";\nimport { pathToFileURL } from \"node:url\";\nimport { fumaMatter } from \"@/collections/mdx/fuma-matter\";\nimport fs from \"node:fs/promises\";\nimport { type CoreOptions, Core } from \"@/core\";\nimport type { MDXContent } from \"mdx/types\";\nimport { FileCollectionStore } from \"@/collections/runtime/file-store\";\nimport type { GetCollectionConfig } from \"@/types\";\nimport { MDXCollection } from \"@/collections/mdx\";\nimport path from \"node:path\";\nimport { createCache } from \"@/utils/async-cache\";\n\nexport interface MDXStoreDynamicData<Frontmatter, Attached = unknown> {\n id: string;\n frontmatter: Frontmatter;\n compile: () => Promise<CompiledMDX<Frontmatter> & Attached>;\n}\n\nlet corePromise: Promise<Core>;\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport async function mdxStoreDynamic<Config, Name extends string, Attached>(\n config: Config,\n coreOptions: CoreOptions,\n name: Name,\n base: string,\n _frontmatter: Record<string, unknown>,\n jsxRuntime: unknown,\n): Promise<FileCollectionStore<MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>>> {\n corePromise ??= (async () => {\n const core = new Core(coreOptions);\n await core.init({\n config: config as Record<string, unknown>,\n });\n return core;\n })();\n const core = await corePromise;\n const frontmatter = _frontmatter as Record<string, GetFrontmatter<Config, Name>>;\n const collection = core.getCollection(name);\n if (!collection || !(collection instanceof MDXCollection))\n throw new Error(\"invalid collection name\");\n\n const merged: Record<string, MDXStoreDynamicData<GetFrontmatter<Config, Name>, Attached>> = {};\n const cache = createCache<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>();\n\n for (const [k, v] of Object.entries(frontmatter)) {\n merged[k] = {\n id: k,\n frontmatter: v,\n async compile() {\n return cache.cached(k, async () => {\n const filePath = path.join(base, k);\n let content = (await fs.readFile(filePath)).toString();\n content = fumaMatter(content).content;\n\n const compiled = await buildMDX(core, collection, {\n filePath,\n source: content,\n frontmatter: v as unknown as Record<string, unknown>,\n isDevelopment: false,\n environment: \"runtime\",\n });\n\n return (await executeMdx(String(compiled.value), {\n baseUrl: pathToFileURL(filePath),\n jsxRuntime,\n })) as CompiledMDX<GetFrontmatter<Config, Name>> & Attached;\n });\n },\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport type MdxContent = MDXContent;\n\ninterface Options {\n scope?: Record<string, unknown>;\n baseUrl?: string | URL;\n jsxRuntime?: unknown;\n}\n\nconst AsyncFunction: new (...args: string[]) => (...args: unknown[]) => Promise<unknown> =\n Object.getPrototypeOf(executeMdx).constructor;\n\nasync function executeMdx(compiled: string, options: Options = {}) {\n const { opts: scopeOpts, ...scope } = options.scope ?? {};\n const fullScope = {\n opts: {\n ...(scopeOpts as object),\n ...(options.jsxRuntime as object),\n baseUrl: options.baseUrl,\n },\n ...scope,\n };\n\n const hydrateFn = new AsyncFunction(...Object.keys(fullScope), compiled);\n return (await hydrateFn.apply(hydrateFn, Object.values(fullScope))) as {\n default: MdxContent;\n };\n}\n\nexport type { WithGit } from \"./runtime\";\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAI;AAOJ,eAAsB,gBACpB,QACA,aACA,MACA,MACA,cACA,YAC2F;AAC3F,kBAAiB,YAAY;EAC3B,MAAM,OAAO,IAAI,KAAK,YAAY;AAClC,QAAM,KAAK,KAAK,EACN,QACT,CAAC;AACF,SAAO;KACL;CACJ,MAAM,OAAO,MAAM;CACnB,MAAM,cAAc;CACpB,MAAM,aAAa,KAAK,cAAc,KAAK;AAC3C,KAAI,CAAC,cAAc,EAAE,sBAAsB,eACzC,OAAM,IAAI,MAAM,0BAA0B;CAE5C,MAAM,SAAsF,EAAE;CAC9F,MAAM,QAAQ,aAAmE;AAEjF,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,YAAY,CAC9C,QAAO,KAAK;EACV,IAAI;EACJ,aAAa;EACb,MAAM,UAAU;AACd,UAAO,MAAM,OAAO,GAAG,YAAY;IACjC,MAAM,WAAW,KAAK,KAAK,MAAM,EAAE;IACnC,IAAI,WAAW,MAAM,GAAG,SAAS,SAAS,EAAE,UAAU;AACtD,cAAU,WAAW,QAAQ,CAAC;IAE9B,MAAM,WAAW,MAAM,SAAS,MAAM,YAAY;KAChD;KACA,QAAQ;KACR,aAAa;KACb,eAAe;KACf,aAAa;KACd,CAAC;AAEF,WAAQ,MAAM,WAAW,OAAO,SAAS,MAAM,EAAE;KAC/C,SAAS,cAAc,SAAS;KAChC;KACD,CAAC;KACF;;EAEL;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO;;AAW9C,MAAM,gBACJ,OAAO,eAAe,WAAW,CAAC;AAEpC,eAAe,WAAW,UAAkB,UAAmB,EAAE,EAAE;CACjE,MAAM,EAAE,MAAM,WAAW,GAAG,UAAU,QAAQ,SAAS,EAAE;CACzD,MAAM,YAAY;EAChB,MAAM;GACJ,GAAI;GACJ,GAAI,QAAQ;GACZ,SAAS,QAAQ;GAClB;EACD,GAAG;EACJ;CAED,MAAM,YAAY,IAAI,cAAc,GAAG,OAAO,KAAK,UAAU,EAAE,SAAS;AACxE,QAAQ,MAAM,UAAU,MAAM,WAAW,OAAO,OAAO,UAAU,CAAC"}
@@ -1,10 +1,27 @@
1
- import "../../core-CT06v32N.js";
2
- import "../../dynamic-Ck1wYoaL.js";
3
- import "../../index-BheUVWBm.js";
4
- import "../../fs-CmwaaFyx.js";
5
- import "../../store-D_PPrdRE.js";
6
- import "../../file-store-Dm1SjuLg.js";
7
- import "../../mdx-PaqRNZMS.js";
8
- import "../../git-n-9ddn78.js";
9
- import { a as mdxStore, i as WithGit, n as MDXStoreLazyData, o as mdxStoreLazy, r as WithExtractedReferences, t as MDXStoreData } from "../../runtime-BUUHSFlR.js";
10
- export { MDXStoreData, MDXStoreLazyData, WithExtractedReferences, WithGit, mdxStore, mdxStoreLazy };
1
+ import { C as GetCollectionConfig } from "../../core-CG2zTL4c.js";
2
+ import "../../load-from-file-CpA8UQXX.js";
3
+ import { FileCollectionStore } from "../runtime/file-store.js";
4
+ import { t as CompiledMDX } from "../../build-mdx-DkAvzRNg.js";
5
+ import { MDXCollection } from "../mdx.js";
6
+ import { GitFileData } from "../../plugins/git.js";
7
+
8
+ //#region src/collections/mdx/runtime.d.ts
9
+ interface MDXStoreData<Frontmatter, Attached = unknown> {
10
+ id: string;
11
+ compiled: CompiledMDX<Frontmatter> & Attached;
12
+ }
13
+ type GetFrontmatter<Config, Name extends string> = GetCollectionConfig<Config, Name> extends MDXCollection ? GetCollectionConfig<Config, Name>["$inferFrontmatter"] : never;
14
+ declare function mdxStore<Config, Name extends string, Attached>(_name: Name, base: string, _input: Record<string, unknown>): FileCollectionStore<MDXStoreData<GetFrontmatter<Config, Name>, Attached>>;
15
+ interface MDXStoreLazyData<Frontmatter, Attached> {
16
+ id: string;
17
+ frontmatter: Frontmatter;
18
+ load: () => Promise<CompiledMDX<Frontmatter> & Attached>;
19
+ }
20
+ declare function mdxStoreLazy<Config, Name extends string, Attached>(_name: Name, base: string, _input: {
21
+ head: Record<string, unknown>;
22
+ body: Record<string, () => Promise<unknown>>;
23
+ }): FileCollectionStore<MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>>;
24
+ type WithGit = GitFileData;
25
+ //#endregion
26
+ export { MDXStoreData, MDXStoreLazyData, WithGit, mdxStore, mdxStoreLazy };
27
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","names":[],"sources":["../../../src/collections/mdx/runtime.ts"],"mappings":";;;;;;;;UAOiB,YAAA;EACf,EAAA;EACA,QAAA,EAAU,WAAA,CAAY,WAAA,IAAe,QAAA;AAAA;AAAA,KAGlC,cAAA,gCACH,mBAAA,CAAoB,MAAA,EAAQ,IAAA,UAAc,aAAA,GACtC,mBAAA,CAAoB,MAAA,EAAQ,IAAA;AAAA,iBAGlB,QAAA,uCAAA,CACd,KAAA,EAAO,IAAA,EACP,IAAA,UACA,MAAA,EAAQ,MAAA,oBACP,mBAAA,CAAoB,YAAA,CAAa,cAAA,CAAe,MAAA,EAAQ,IAAA,GAAO,QAAA;AAAA,UAcjD,gBAAA;EACf,EAAA;EACA,WAAA,EAAa,WAAA;EACb,IAAA,QAAY,OAAA,CAAQ,WAAA,CAAY,WAAA,IAAe,QAAA;AAAA;AAAA,iBAGjC,YAAA,uCAAA,CACd,KAAA,EAAO,IAAA,EACP,IAAA,UACA,MAAA;EACE,IAAA,EAAM,MAAA;EACN,IAAA,EAAM,MAAA,eAAqB,OAAA;AAAA,IAE5B,mBAAA,CAAoB,gBAAA,CAAiB,cAAA,CAAe,MAAA,EAAQ,IAAA,GAAO,QAAA;AAAA,KAkB1D,OAAA,GAAU,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["merged: Record<string, MDXStoreData<GetFrontmatter<Config, Name>, Attached>>","merged: Record<string, MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>>"],"sources":["../../../src/collections/mdx/runtime.ts"],"sourcesContent":["import type { GetCollectionConfig } from \"@/types\";\nimport type { MDXCollection } from \"@/collections/mdx\";\nimport { FileCollectionStore } from \"@/collections/runtime/file-store\";\nimport type { ExtractedReference } from \"@/collections/mdx/remark-postprocess\";\nimport type { GitFileData } from \"@/plugins/git\";\nimport type { CompiledMDX } from \"@/collections/mdx/build-mdx\";\n\nexport interface MDXStoreData<Frontmatter, Attached = unknown> {\n id: string;\n compiled: CompiledMDX<Frontmatter> & Attached;\n}\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport function mdxStore<Config, Name extends string, Attached>(\n _name: Name,\n base: string,\n _input: Record<string, unknown>,\n): FileCollectionStore<MDXStoreData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as Record<string, CompiledMDX<GetFrontmatter<Config, Name>> & Attached>;\n const merged: Record<string, MDXStoreData<GetFrontmatter<Config, Name>, Attached>> = {};\n\n for (const [key, value] of Object.entries(input)) {\n merged[key] = {\n id: key,\n compiled: value,\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport interface MDXStoreLazyData<Frontmatter, Attached> {\n id: string;\n frontmatter: Frontmatter;\n load: () => Promise<CompiledMDX<Frontmatter> & Attached>;\n}\n\nexport function mdxStoreLazy<Config, Name extends string, Attached>(\n _name: Name,\n base: string,\n _input: {\n head: Record<string, unknown>;\n body: Record<string, () => Promise<unknown>>;\n },\n): FileCollectionStore<MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as {\n head: Record<string, GetFrontmatter<Config, Name>>;\n body: Record<string, () => Promise<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>>;\n };\n const merged: Record<string, MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>> = {};\n\n for (const [key, value] of Object.entries(input.head)) {\n merged[key] = {\n id: key,\n frontmatter: value,\n load: input.body[key],\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport interface WithExtractedReferences {\n /**\n * extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.\n */\n extractedReferences: ExtractedReference[];\n}\n\nexport type WithGit = GitFileData;\n"],"mappings":";;;AAiBA,SAAgB,SACd,OACA,MACA,QAC2E;CAC3E,MAAM,QAAQ;CACd,MAAMA,SAA+E,EAAE;AAEvF,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,CAC9C,QAAO,OAAO;EACZ,IAAI;EACJ,UAAU;EACX;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO;;AAS9C,SAAgB,aACd,OACA,MACA,QAI+E;CAC/E,MAAM,QAAQ;CAId,MAAMC,SAAmF,EAAE;AAE3F,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,KAAK,CACnD,QAAO,OAAO;EACZ,IAAI;EACJ,aAAa;EACb,MAAM,MAAM,KAAK;EAClB;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO"}
1
+ {"version":3,"file":"runtime.js","names":[],"sources":["../../../src/collections/mdx/runtime.ts"],"sourcesContent":["import type { GetCollectionConfig } from \"@/types\";\nimport type { MDXCollection } from \"@/collections/mdx\";\nimport { FileCollectionStore } from \"@/collections/runtime/file-store\";\nimport type { LinkReference } from \"@/collections/mdx/remark-postprocess\";\nimport type { GitFileData } from \"@/plugins/git\";\nimport type { CompiledMDX } from \"@/collections/mdx/build-mdx\";\n\nexport interface MDXStoreData<Frontmatter, Attached = unknown> {\n id: string;\n compiled: CompiledMDX<Frontmatter> & Attached;\n}\n\ntype GetFrontmatter<Config, Name extends string> =\n GetCollectionConfig<Config, Name> extends MDXCollection\n ? GetCollectionConfig<Config, Name>[\"$inferFrontmatter\"]\n : never;\n\nexport function mdxStore<Config, Name extends string, Attached>(\n _name: Name,\n base: string,\n _input: Record<string, unknown>,\n): FileCollectionStore<MDXStoreData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as Record<string, CompiledMDX<GetFrontmatter<Config, Name>> & Attached>;\n const merged: Record<string, MDXStoreData<GetFrontmatter<Config, Name>, Attached>> = {};\n\n for (const [key, value] of Object.entries(input)) {\n merged[key] = {\n id: key,\n compiled: value,\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport interface MDXStoreLazyData<Frontmatter, Attached> {\n id: string;\n frontmatter: Frontmatter;\n load: () => Promise<CompiledMDX<Frontmatter> & Attached>;\n}\n\nexport function mdxStoreLazy<Config, Name extends string, Attached>(\n _name: Name,\n base: string,\n _input: {\n head: Record<string, unknown>;\n body: Record<string, () => Promise<unknown>>;\n },\n): FileCollectionStore<MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>> {\n const input = _input as {\n head: Record<string, GetFrontmatter<Config, Name>>;\n body: Record<string, () => Promise<CompiledMDX<GetFrontmatter<Config, Name>> & Attached>>;\n };\n const merged: Record<string, MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>> = {};\n\n for (const [key, value] of Object.entries(input.head)) {\n merged[key] = {\n id: key,\n frontmatter: value,\n load: input.body[key],\n };\n }\n\n return new FileCollectionStore(base, merged);\n}\n\nexport type WithGit = GitFileData;\n"],"mappings":";;;AAiBA,SAAgB,SACd,OACA,MACA,QAC2E;CAC3E,MAAM,QAAQ;CACd,MAAM,SAA+E,EAAE;AAEvF,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,CAC9C,QAAO,OAAO;EACZ,IAAI;EACJ,UAAU;EACX;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO;;AAS9C,SAAgB,aACd,OACA,MACA,QAI+E;CAC/E,MAAM,QAAQ;CAId,MAAM,SAAmF,EAAE;AAE3F,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,KAAK,CACnD,QAAO,OAAO;EACZ,IAAI;EACJ,aAAa;EACb,MAAM,MAAM,KAAK;EAClB;AAGH,QAAO,IAAI,oBAAoB,MAAM,OAAO"}