fuma-content 1.1.4 → 1.2.0

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 (176) hide show
  1. package/dist/{async-cache-DRmFaVGm.js → async-cache-C47yxLCv.js} +4 -3
  2. package/dist/async-cache-C47yxLCv.js.map +1 -0
  3. package/dist/bin.js +2 -3
  4. package/dist/bin.js.map +1 -1
  5. package/dist/build-mdx-C8u32vDa.js +158 -0
  6. package/dist/build-mdx-C8u32vDa.js.map +1 -0
  7. package/dist/bun/index.d.ts +1 -1
  8. package/dist/bun/index.js +2 -3
  9. package/dist/bun/index.js.map +1 -1
  10. package/dist/{bun-Be5pgXW_.js → bun-NahDFkhR.js} +3 -4
  11. package/dist/{bun-Be5pgXW_.js.map → bun-NahDFkhR.js.map} +1 -1
  12. package/dist/{code-generator-CHcOrCeM.js → code-generator-pLUE7Rk7.js} +2 -3
  13. package/dist/{code-generator-CHcOrCeM.js.map → code-generator-pLUE7Rk7.js.map} +1 -1
  14. package/dist/collections/data/runtime.d.ts +2 -3
  15. package/dist/collections/data/runtime.d.ts.map +1 -1
  16. package/dist/collections/data/runtime.js +1 -2
  17. package/dist/collections/data/runtime.js.map +1 -1
  18. package/dist/collections/data.d.ts +3 -4
  19. package/dist/collections/data.d.ts.map +1 -1
  20. package/dist/collections/data.js +5 -6
  21. package/dist/collections/data.js.map +1 -1
  22. package/dist/collections/fs.d.ts +2 -45
  23. package/dist/collections/fs.js +3 -4
  24. package/dist/collections/fs.js.map +1 -1
  25. package/dist/collections/index.d.ts +2 -37
  26. package/dist/collections/index.js +1 -37
  27. package/dist/collections/json/loader-webpack.d.ts +1 -3
  28. package/dist/collections/json/loader-webpack.js +4 -5
  29. package/dist/collections/json/loader-webpack.js.map +1 -1
  30. package/dist/collections/mdx/loader-webpack.d.ts +1 -3
  31. package/dist/collections/mdx/loader-webpack.js +4 -5
  32. package/dist/collections/mdx/loader-webpack.js.map +1 -1
  33. package/dist/collections/mdx/react.d.ts +2 -3
  34. package/dist/collections/mdx/react.d.ts.map +1 -1
  35. package/dist/collections/mdx/react.js +2 -3
  36. package/dist/collections/mdx/react.js.map +1 -1
  37. package/dist/collections/mdx/runtime-browser.d.ts +3 -25
  38. package/dist/collections/mdx/runtime-browser.js +2 -4
  39. package/dist/collections/mdx/runtime-browser.js.map +1 -1
  40. package/dist/collections/mdx/runtime-dynamic.d.ts +4 -5
  41. package/dist/collections/mdx/runtime-dynamic.d.ts.map +1 -1
  42. package/dist/collections/mdx/runtime-dynamic.js +9 -8
  43. package/dist/collections/mdx/runtime-dynamic.js.map +1 -1
  44. package/dist/collections/mdx/runtime.d.ts +2 -26
  45. package/dist/collections/mdx/runtime.js +1 -2
  46. package/dist/collections/mdx/runtime.js.map +1 -1
  47. package/dist/collections/mdx/vue.d.ts +27 -0
  48. package/dist/collections/mdx/vue.d.ts.map +1 -0
  49. package/dist/collections/mdx/vue.js +34 -0
  50. package/dist/collections/mdx/vue.js.map +1 -0
  51. package/dist/collections/mdx.d.ts +2 -66
  52. package/dist/collections/mdx.js +16 -10
  53. package/dist/collections/mdx.js.map +1 -1
  54. package/dist/collections/obsidian.d.ts +4 -5
  55. package/dist/collections/obsidian.d.ts.map +1 -1
  56. package/dist/collections/obsidian.js +169 -128
  57. package/dist/collections/obsidian.js.map +1 -1
  58. package/dist/collections/runtime/file-store.d.ts +2 -21
  59. package/dist/collections/runtime/file-store.js +1 -2
  60. package/dist/collections/runtime/file-store.js.map +1 -1
  61. package/dist/collections/runtime/store.d.ts +2 -31
  62. package/dist/collections/runtime/store.js +1 -1
  63. package/dist/collections/runtime/store.js.map +1 -1
  64. package/dist/collections/yaml/loader-webpack.d.ts +1 -3
  65. package/dist/collections/yaml/loader-webpack.js +4 -5
  66. package/dist/collections/yaml/loader-webpack.js.map +1 -1
  67. package/dist/{pipe-CvCqOpXX.js → collections-BuskUhft.js} +36 -4
  68. package/dist/collections-BuskUhft.js.map +1 -0
  69. package/dist/config/index.d.ts +2 -35
  70. package/dist/config/index.js +1 -1
  71. package/dist/{core-BuUsOElL.js → core-Buwp1MPi.js} +4 -5
  72. package/dist/{core-BuUsOElL.js.map → core-Buwp1MPi.js.map} +1 -1
  73. package/dist/{core-FjA_Xoho.d.ts → core-Cd_KERZa.d.ts} +65 -4
  74. package/dist/core-Cd_KERZa.d.ts.map +1 -0
  75. package/dist/dynamic-BaUDAMS6.d.ts +32 -0
  76. package/dist/dynamic-BaUDAMS6.d.ts.map +1 -0
  77. package/dist/dynamic.d.ts +2 -25
  78. package/dist/dynamic.js +2 -3
  79. package/dist/dynamic.js.map +1 -1
  80. package/dist/file-store-TyqUJE3V.d.ts +20 -0
  81. package/dist/file-store-TyqUJE3V.d.ts.map +1 -0
  82. package/dist/flatten-m0wfHxLH.js +10 -0
  83. package/dist/flatten-m0wfHxLH.js.map +1 -0
  84. package/dist/fs-BHzpv9Wl.d.ts +44 -0
  85. package/dist/fs-BHzpv9Wl.d.ts.map +1 -0
  86. package/dist/{fuma-matter-B4gT09gM.js → fuma-matter-E30PU53R.js} +2 -3
  87. package/dist/{fuma-matter-B4gT09gM.js.map → fuma-matter-E30PU53R.js.map} +1 -1
  88. package/dist/git-Kdo9j47k.d.ts +37 -0
  89. package/dist/git-Kdo9j47k.d.ts.map +1 -0
  90. package/dist/index-DZkwl_pd.d.ts +84 -0
  91. package/dist/index-DZkwl_pd.d.ts.map +1 -0
  92. package/dist/index.d.ts +1 -1
  93. package/dist/index.js +4 -5
  94. package/dist/{is-promise-like-DYHv0Yap.js → is-promise-like-C04ERo2r.js} +2 -2
  95. package/dist/{is-promise-like-DYHv0Yap.js.map → is-promise-like-C04ERo2r.js.map} +1 -1
  96. package/dist/{load-from-file-BhdBOcQT.js → load-from-file-C3CnD8mJ.js} +3 -4
  97. package/dist/{load-from-file-BhdBOcQT.js.map → load-from-file-C3CnD8mJ.js.map} +1 -1
  98. package/dist/{loader-BT4fwLTJ.js → loader-CyhM9SLt.js} +8 -7
  99. package/dist/{loader-BT4fwLTJ.js.map → loader-CyhM9SLt.js.map} +1 -1
  100. package/dist/{loader-Cb9kSSxT.js → loader-D_sKOzDc.js} +4 -5
  101. package/dist/{loader-Cb9kSSxT.js.map → loader-D_sKOzDc.js.map} +1 -1
  102. package/dist/{loader-BOYLUNfh.js → loader-e2SkeDfY.js} +4 -5
  103. package/dist/{loader-BOYLUNfh.js.map → loader-e2SkeDfY.js.map} +1 -1
  104. package/dist/{loader-UhlX4xbz.js → loader-ol04zeoP.js} +3 -4
  105. package/dist/{loader-UhlX4xbz.js.map → loader-ol04zeoP.js.map} +1 -1
  106. package/dist/mdx-DY0zm9lN.d.ts +138 -0
  107. package/dist/mdx-DY0zm9lN.d.ts.map +1 -0
  108. package/dist/next/index.d.ts +1 -1
  109. package/dist/next/index.js +3 -4
  110. package/dist/next/index.js.map +1 -1
  111. package/dist/node/index.d.ts +0 -1
  112. package/dist/node/index.d.ts.map +1 -1
  113. package/dist/node/index.js +1 -2
  114. package/dist/node/index.js.map +1 -1
  115. package/dist/node/loader.d.ts +1 -1
  116. package/dist/node/loader.js +3 -4
  117. package/dist/node/loader.js.map +1 -1
  118. package/dist/{node-Cu5Pqxxo.js → node-Du4i4XDg.js} +2 -3
  119. package/dist/{node-Cu5Pqxxo.js.map → node-Du4i4XDg.js.map} +1 -1
  120. package/dist/plugins/git.d.ts +2 -38
  121. package/dist/plugins/git.js +3 -5
  122. package/dist/plugins/git.js.map +1 -1
  123. package/dist/plugins/json-schema.d.ts +1 -2
  124. package/dist/plugins/json-schema.d.ts.map +1 -1
  125. package/dist/plugins/json-schema.js +2 -3
  126. package/dist/plugins/json-schema.js.map +1 -1
  127. package/dist/plugins/loader/index.d.ts +2 -72
  128. package/dist/plugins/loader/index.js +6 -7
  129. package/dist/plugins/loader/index.js.map +1 -1
  130. package/dist/plugins/loader/webpack.d.ts +2 -21
  131. package/dist/plugins/loader/webpack.js +3 -4
  132. package/dist/plugins/loader/webpack.js.map +1 -1
  133. package/dist/plugins/remark/include.d.ts +23 -0
  134. package/dist/plugins/remark/include.d.ts.map +1 -0
  135. package/dist/plugins/remark/include.js +203 -0
  136. package/dist/plugins/remark/include.js.map +1 -0
  137. package/dist/rolldown-runtime-CiIaOW0V.js +13 -0
  138. package/dist/runtime-DiDP9Ajm.d.ts +25 -0
  139. package/dist/runtime-DiDP9Ajm.d.ts.map +1 -0
  140. package/dist/runtime-browser-a0rQ1BCJ.d.ts +29 -0
  141. package/dist/runtime-browser-a0rQ1BCJ.d.ts.map +1 -0
  142. package/dist/store-C3RuJOrY.d.ts +31 -0
  143. package/dist/store-C3RuJOrY.d.ts.map +1 -0
  144. package/dist/{validation-C3kXuveD.js → validation-Bf_v2L3p.js} +2 -2
  145. package/dist/{validation-C3kXuveD.js.map → validation-Bf_v2L3p.js.map} +1 -1
  146. package/dist/vite/index.d.ts +1 -1
  147. package/dist/vite/index.js +3 -4
  148. package/dist/vite/index.js.map +1 -1
  149. package/dist/{vite-CoJIMNWk.js → vite-DVIOnBqW.js} +2 -3
  150. package/dist/{vite-CoJIMNWk.js.map → vite-DVIOnBqW.js.map} +1 -1
  151. package/package.json +40 -59
  152. package/dist/async-cache-BVuJiIDT.d.ts +0 -9
  153. package/dist/async-cache-BVuJiIDT.d.ts.map +0 -1
  154. package/dist/async-cache-DRmFaVGm.js.map +0 -1
  155. package/dist/build-mdx-DRqbcE1d.d.ts +0 -79
  156. package/dist/build-mdx-DRqbcE1d.d.ts.map +0 -1
  157. package/dist/build-mdx-DgzggXIL.js +0 -387
  158. package/dist/build-mdx-DgzggXIL.js.map +0 -1
  159. package/dist/collections/fs.d.ts.map +0 -1
  160. package/dist/collections/index.d.ts.map +0 -1
  161. package/dist/collections/index.js.map +0 -1
  162. package/dist/collections/mdx/runtime-browser.d.ts.map +0 -1
  163. package/dist/collections/mdx/runtime.d.ts.map +0 -1
  164. package/dist/collections/mdx.d.ts.map +0 -1
  165. package/dist/collections/runtime/file-store.d.ts.map +0 -1
  166. package/dist/collections/runtime/store.d.ts.map +0 -1
  167. package/dist/config/index.d.ts.map +0 -1
  168. package/dist/core-FjA_Xoho.d.ts.map +0 -1
  169. package/dist/dynamic.d.ts.map +0 -1
  170. package/dist/load-from-file-CIYdu-B5.d.ts +0 -10
  171. package/dist/load-from-file-CIYdu-B5.d.ts.map +0 -1
  172. package/dist/pipe-CvCqOpXX.js.map +0 -1
  173. package/dist/plugins/git.d.ts.map +0 -1
  174. package/dist/plugins/loader/index.d.ts.map +0 -1
  175. package/dist/plugins/loader/webpack.d.ts.map +0 -1
  176. package/dist/rolldown-runtime-CjeV3_4I.js +0 -18
@@ -1,37 +1,2 @@
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-FjA_Xoho.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
1
+ import { _ as defineCollectionHook, g as CollectionHookContext, h as CollectionHook, m as Collection } from "../core-Cd_KERZa.js";
2
+ export { Collection, CollectionHook, CollectionHookContext, defineCollectionHook };
@@ -1,38 +1,2 @@
1
- import { i as hook, r as asyncHook, t as asyncPipe } from "../pipe-CvCqOpXX.js";
2
-
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
1
+ import { n as defineCollectionHook, t as Collection } from "../collections-BuskUhft.js";
37
2
  export { Collection, defineCollectionHook };
38
- //# sourceMappingURL=index.js.map
@@ -1,6 +1,4 @@
1
- import "../../core-FjA_Xoho.js";
2
- import "../../load-from-file-CIYdu-B5.js";
3
- import { WebpackLoader } from "../../plugins/loader/webpack.js";
1
+ import { c as WebpackLoader } from "../../index-DZkwl_pd.js";
4
2
 
5
3
  //#region src/collections/json/loader-webpack.d.ts
6
4
  declare const _default: WebpackLoader;
@@ -1,11 +1,10 @@
1
- import "../../validation-C3kXuveD.js";
1
+ import "../../validation-Bf_v2L3p.js";
2
2
  import { createWebpackLoader } from "../../plugins/loader/webpack.js";
3
- import "../../loader-UhlX4xbz.js";
4
- import { t as createJsonLoader } from "../../loader-BOYLUNfh.js";
5
-
3
+ import "../../loader-ol04zeoP.js";
4
+ import { t as createJsonLoader } from "../../loader-e2SkeDfY.js";
6
5
  //#region src/collections/json/loader-webpack.ts
7
6
  var loader_webpack_default = createWebpackLoader((core) => createJsonLoader(core, "json"));
8
-
9
7
  //#endregion
10
8
  export { loader_webpack_default as default };
9
+
11
10
  //# sourceMappingURL=loader-webpack.js.map
@@ -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,IAAA,yBAAe,qBAAqB,SAAS,iBAAiB,MAAM,OAAO,CAAC"}
@@ -1,6 +1,4 @@
1
- import "../../core-FjA_Xoho.js";
2
- import "../../load-from-file-CIYdu-B5.js";
3
- import { WebpackLoader } from "../../plugins/loader/webpack.js";
1
+ import { c as WebpackLoader } from "../../index-DZkwl_pd.js";
4
2
 
5
3
  //#region src/collections/mdx/loader-webpack.d.ts
6
4
  declare const _default: WebpackLoader;
@@ -1,11 +1,10 @@
1
- import "../../validation-C3kXuveD.js";
2
- import "../../fuma-matter-B4gT09gM.js";
1
+ import "../../validation-Bf_v2L3p.js";
2
+ import "../../fuma-matter-E30PU53R.js";
3
3
  import { createWebpackLoader } from "../../plugins/loader/webpack.js";
4
- import { t as createMdxLoader } from "../../loader-BT4fwLTJ.js";
5
-
4
+ import { t as createMdxLoader } from "../../loader-CyhM9SLt.js";
6
5
  //#region src/collections/mdx/loader-webpack.ts
7
6
  var loader_webpack_default = createWebpackLoader(createMdxLoader);
8
-
9
7
  //#endregion
10
8
  export { loader_webpack_default as default };
9
+
11
10
  //# sourceMappingURL=loader-webpack.js.map
@@ -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,IAAA,yBAAe,oBAAoB,gBAAgB"}
@@ -1,6 +1,5 @@
1
- import "../../core-FjA_Xoho.js";
2
- import { t as CompiledMDX } from "../../build-mdx-DRqbcE1d.js";
3
- import { MDXStoreBrowserData } from "./runtime-browser.js";
1
+ import { i as CompiledMDX } from "../../mdx-DY0zm9lN.js";
2
+ import { t as MDXStoreBrowserData } from "../../runtime-browser-a0rQ1BCJ.js";
4
3
  import { ReactNode } from "react";
5
4
 
6
5
  //#region src/collections/mdx/react.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","names":[],"sources":["../../../src/collections/mdx/react.ts"],"mappings":";;;;;;;;;AAkBA;;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
+ {"version":3,"file":"react.d.ts","names":[],"sources":["../../../src/collections/mdx/react.ts"],"mappings":";;;;;;;;;;iBAkBgB,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,6 +1,5 @@
1
- import { t as isPromiseLike } from "../../is-promise-like-DYHv0Yap.js";
1
+ import { t as isPromiseLike } from "../../is-promise-like-C04ERo2r.js";
2
2
  import { createElement, lazy } from "react";
3
-
4
3
  //#region src/collections/mdx/react.ts
5
4
  const renderMap = /* @__PURE__ */ new Map();
6
5
  /**
@@ -30,7 +29,7 @@ function useRenderer(entry, renderFn) {
30
29
  }
31
30
  return renderInfo.renderJSX();
32
31
  }
33
-
34
32
  //#endregion
35
33
  export { useRenderer };
34
+
36
35
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","names":[],"sources":["../../../src/collections/mdx/react.ts"],"sourcesContent":["import { ReactNode, lazy, createElement } from \"react\";\nimport { CompiledMDX } from \"./build-mdx\";\nimport { MDXStoreBrowserData } from \"./runtime-browser\";\nimport { isPromiseLike } from \"@/utils/is-promise-like\";\n\nconst renderMap = new Map<\n string,\n {\n renderJSX: () => ReactNode;\n forceOnDemand: boolean;\n }\n>();\n\n/**\n * Renders content (loaded lazily).\n *\n * It is recommended to use with `<Suspense />`.\n */\nexport function useRenderer<Frontmatter, Attached>(\n entry: MDXStoreBrowserData<Frontmatter, Attached> | undefined,\n renderFn: (data: CompiledMDX<Frontmatter> & Attached) => ReactNode,\n): ReactNode {\n if (!entry) return null;\n const renderKey = `${entry._store.storeId}:${entry.id}`;\n let renderInfo = renderMap.get(renderKey);\n\n if (!renderInfo) {\n const OnDemand = lazy(async () => {\n const loaded = await entry.preload();\n return { default: () => renderFn(loaded) };\n });\n\n renderInfo = {\n forceOnDemand: false,\n renderJSX() {\n const v = entry.preload();\n if (!isPromiseLike(v) && !this.forceOnDemand) {\n return renderFn(v);\n }\n\n // ensure it won't unmount React lazy during re-renders\n this.forceOnDemand = true;\n return createElement(OnDemand);\n },\n };\n renderMap.set(renderKey, renderInfo);\n }\n\n return renderInfo.renderJSX();\n}\n"],"mappings":";;;;AAKA,MAAM,4BAAY,IAAI,KAMnB;;;;;;AAOH,SAAgB,YACd,OACA,UACW;AACX,KAAI,CAAC,MAAO,QAAO;CACnB,MAAM,YAAY,GAAG,MAAM,OAAO,QAAQ,GAAG,MAAM;CACnD,IAAI,aAAa,UAAU,IAAI,UAAU;AAEzC,KAAI,CAAC,YAAY;EACf,MAAM,WAAW,KAAK,YAAY;GAChC,MAAM,SAAS,MAAM,MAAM,SAAS;AACpC,UAAO,EAAE,eAAe,SAAS,OAAO,EAAE;IAC1C;AAEF,eAAa;GACX,eAAe;GACf,YAAY;IACV,MAAM,IAAI,MAAM,SAAS;AACzB,QAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,cAC7B,QAAO,SAAS,EAAE;AAIpB,SAAK,gBAAgB;AACrB,WAAO,cAAc,SAAS;;GAEjC;AACD,YAAU,IAAI,WAAW,WAAW;;AAGtC,QAAO,WAAW,WAAW"}
1
+ {"version":3,"file":"react.js","names":[],"sources":["../../../src/collections/mdx/react.ts"],"sourcesContent":["import { ReactNode, lazy, createElement } from \"react\";\nimport { CompiledMDX } from \"./build-mdx\";\nimport { MDXStoreBrowserData } from \"./runtime-browser\";\nimport { isPromiseLike } from \"@/utils/is-promise-like\";\n\nconst renderMap = new Map<\n string,\n {\n renderJSX: () => ReactNode;\n forceOnDemand: boolean;\n }\n>();\n\n/**\n * Renders content (loaded lazily).\n *\n * It is recommended to use with `<Suspense />`.\n */\nexport function useRenderer<Frontmatter, Attached>(\n entry: MDXStoreBrowserData<Frontmatter, Attached> | undefined,\n renderFn: (data: CompiledMDX<Frontmatter> & Attached) => ReactNode,\n): ReactNode {\n if (!entry) return null;\n const renderKey = `${entry._store.storeId}:${entry.id}`;\n let renderInfo = renderMap.get(renderKey);\n\n if (!renderInfo) {\n const OnDemand = lazy(async () => {\n const loaded = await entry.preload();\n return { default: () => renderFn(loaded) };\n });\n\n renderInfo = {\n forceOnDemand: false,\n renderJSX() {\n const v = entry.preload();\n if (!isPromiseLike(v) && !this.forceOnDemand) {\n return renderFn(v);\n }\n\n // ensure it won't unmount React lazy during re-renders\n this.forceOnDemand = true;\n return createElement(OnDemand);\n },\n };\n renderMap.set(renderKey, renderInfo);\n }\n\n return renderInfo.renderJSX();\n}\n"],"mappings":";;;AAKA,MAAM,4BAAY,IAAI,KAMnB;;;;;;AAOH,SAAgB,YACd,OACA,UACW;AACX,KAAI,CAAC,MAAO,QAAO;CACnB,MAAM,YAAY,GAAG,MAAM,OAAO,QAAQ,GAAG,MAAM;CACnD,IAAI,aAAa,UAAU,IAAI,UAAU;AAEzC,KAAI,CAAC,YAAY;EACf,MAAM,WAAW,KAAK,YAAY;GAChC,MAAM,SAAS,MAAM,MAAM,SAAS;AACpC,UAAO,EAAE,eAAe,SAAS,OAAO,EAAE;IAC1C;AAEF,eAAa;GACX,eAAe;GACf,YAAY;IACV,MAAM,IAAI,MAAM,SAAS;AACzB,QAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,cAC7B,QAAO,SAAS,EAAE;AAIpB,SAAK,gBAAgB;AACrB,WAAO,cAAc,SAAS;;GAEjC;AACD,YAAU,IAAI,WAAW,WAAW;;AAGtC,QAAO,WAAW,WAAW"}
@@ -1,25 +1,3 @@
1
- import { C as GetCollectionConfig, S as Awaitable } from "../../core-FjA_Xoho.js";
2
- import { MapCollectionStore } from "../runtime/store.js";
3
- import { t as CompiledMDX } from "../../build-mdx-DRqbcE1d.js";
4
- import { MDXCollection } from "../mdx.js";
5
- import { t as AsyncCache } from "../../async-cache-BVuJiIDT.js";
6
- import { WithGit } from "./runtime.js";
7
-
8
- //#region src/collections/mdx/runtime-browser.d.ts
9
- interface MDXStoreBrowserData<Frontmatter, Attached = unknown> {
10
- id: string;
11
- preload: () => Awaitable<CompiledMDX<Frontmatter> & Attached>;
12
- _store: StoreContext;
13
- }
14
- interface StoreContext {
15
- storeId: string;
16
- }
17
- interface StoreData {
18
- preloaded: AsyncCache<CompiledMDX>;
19
- }
20
- type GetFrontmatter<Config, Name extends string> = GetCollectionConfig<Config, Name> extends MDXCollection ? GetCollectionConfig<Config, Name>["$inferFrontmatter"] : never;
21
- declare const _internal_data: Map<string, StoreData>;
22
- declare function mdxStoreBrowser<Config, Name extends string, Attached>(name: Name, _input: Record<string, () => Promise<unknown>>): MapCollectionStore<string, MDXStoreBrowserData<GetFrontmatter<Config, Name>, Attached>>;
23
- //#endregion
24
- export { MDXStoreBrowserData, type WithGit, _internal_data, mdxStoreBrowser };
25
- //# sourceMappingURL=runtime-browser.d.ts.map
1
+ import { n as _internal_data, r as mdxStoreBrowser, t as MDXStoreBrowserData } from "../../runtime-browser-a0rQ1BCJ.js";
2
+ import { r as WithGit } from "../../runtime-DiDP9Ajm.js";
3
+ export { MDXStoreBrowserData, WithGit, _internal_data, mdxStoreBrowser };
@@ -1,8 +1,6 @@
1
1
  "use client";
2
-
3
- import { t as createCache } from "../../async-cache-DRmFaVGm.js";
2
+ import { t as createCache } from "../../async-cache-C47yxLCv.js";
4
3
  import { MapCollectionStore } from "../runtime/store.js";
5
-
6
4
  //#region src/collections/mdx/runtime-browser.ts
7
5
  const _internal_data = /* @__PURE__ */ new Map();
8
6
  function mdxStoreBrowser(name, _input) {
@@ -25,7 +23,7 @@ function mdxStoreBrowser(name, _input) {
25
23
  });
26
24
  return new MapCollectionStore(merged);
27
25
  }
28
-
29
26
  //#endregion
30
27
  export { _internal_data, mdxStoreBrowser };
28
+
31
29
  //# sourceMappingURL=runtime-browser.js.map
@@ -1 +1 @@
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
+ {"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,8 +1,7 @@
1
- import { C as GetCollectionConfig, n as CoreOptions } from "../../core-FjA_Xoho.js";
2
- import { FileCollectionStore } from "../runtime/file-store.js";
3
- import { t as CompiledMDX } from "../../build-mdx-DRqbcE1d.js";
4
- import { MDXCollection } from "../mdx.js";
5
- import { WithGit } from "./runtime.js";
1
+ import { D as GetCollectionConfig, n as CoreOptions } from "../../core-Cd_KERZa.js";
2
+ import { t as FileCollectionStore } from "../../file-store-TyqUJE3V.js";
3
+ import { i as CompiledMDX, t as MDXCollection } from "../../mdx-DY0zm9lN.js";
4
+ import { r as WithGit } from "../../runtime-DiDP9Ajm.js";
6
5
  import { MDXContent } from "mdx/types";
7
6
 
8
7
  //#region src/collections/mdx/runtime-dynamic.d.ts
@@ -1 +1 @@
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,KAoDrE,UAAA,GAAa,UAAA"}
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,KAsDrE,UAAA,GAAa,UAAA"}
@@ -1,14 +1,13 @@
1
- import { t as Core } from "../../core-BuUsOElL.js";
2
- import "../../validation-C3kXuveD.js";
3
- import { t as createCache } from "../../async-cache-DRmFaVGm.js";
1
+ import { t as Core } from "../../core-Buwp1MPi.js";
2
+ import "../../validation-Bf_v2L3p.js";
3
+ import { t as createCache } from "../../async-cache-C47yxLCv.js";
4
4
  import { MDXCollection } from "../mdx.js";
5
- import { t as fumaMatter } from "../../fuma-matter-B4gT09gM.js";
5
+ import { t as fumaMatter } from "../../fuma-matter-E30PU53R.js";
6
6
  import { FileCollectionStore } from "../runtime/file-store.js";
7
- import { t as buildMDX } from "../../build-mdx-DgzggXIL.js";
7
+ import { t as buildMDX } from "../../build-mdx-C8u32vDa.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
10
10
  import { pathToFileURL } from "node:url";
11
-
12
11
  //#region src/collections/mdx/runtime-dynamic.ts
13
12
  let corePromise;
14
13
  async function mdxStoreDynamic(config, coreOptions, name, base, _frontmatter, jsxRuntime) {
@@ -31,7 +30,9 @@ async function mdxStoreDynamic(config, coreOptions, name, base, _frontmatter, js
31
30
  const filePath = path.join(base, k);
32
31
  let content = (await fs.readFile(filePath)).toString();
33
32
  content = fumaMatter(content).content;
34
- const compiled = await buildMDX(core, collection, {
33
+ const compiled = await buildMDX({
34
+ core,
35
+ collection,
35
36
  filePath,
36
37
  source: content,
37
38
  frontmatter: v,
@@ -66,7 +67,7 @@ async function executeMdx(compiled, options = {}) {
66
67
  const hydrateFn = new AsyncFunction(...Object.keys(fullScope), compiled);
67
68
  return await hydrateFn.apply(hydrateFn, Object.values(fullScope));
68
69
  }
69
-
70
70
  //#endregion
71
71
  export { mdxStoreDynamic };
72
+
72
73
  //# sourceMappingURL=runtime-dynamic.js.map
@@ -1 +1 @@
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 compiler: {\n collection,\n core,\n addDependency() {},\n },\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;KACb,UAAU;MACR;MACA;MACA,gBAAgB;MACjB;KACF,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
+ {"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({\n core,\n collection,\n filePath,\n source: content,\n frontmatter: v as unknown as Record<string, unknown>,\n isDevelopment: false,\n environment: \"runtime\",\n compiler: {\n collection,\n core,\n addDependency() {},\n },\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;KAC9B;KACA;KACA;KACA,QAAQ;KACR,aAAa;KACb,eAAe;KACf,aAAa;KACb,UAAU;MACR;MACA;MACA,gBAAgB;MACjB;KACF,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,26 +1,2 @@
1
- import { C as GetCollectionConfig } from "../../core-FjA_Xoho.js";
2
- import { FileCollectionStore } from "../runtime/file-store.js";
3
- import { t as CompiledMDX } from "../../build-mdx-DRqbcE1d.js";
4
- import { MDXCollection } from "../mdx.js";
5
- import { GitFileData } from "../../plugins/git.js";
6
-
7
- //#region src/collections/mdx/runtime.d.ts
8
- interface MDXStoreData<Frontmatter, Attached = unknown> {
9
- id: string;
10
- compiled: CompiledMDX<Frontmatter> & Attached;
11
- }
12
- type GetFrontmatter<Config, Name extends string> = GetCollectionConfig<Config, Name> extends MDXCollection ? GetCollectionConfig<Config, Name>["$inferFrontmatter"] : never;
13
- declare function mdxStore<Config, Name extends string, Attached>(_name: Name, base: string, _input: Record<string, unknown>): FileCollectionStore<MDXStoreData<GetFrontmatter<Config, Name>, Attached>>;
14
- interface MDXStoreLazyData<Frontmatter, Attached> {
15
- id: string;
16
- frontmatter: Frontmatter;
17
- load: () => Promise<CompiledMDX<Frontmatter> & Attached>;
18
- }
19
- declare function mdxStoreLazy<Config, Name extends string, Attached>(_name: Name, base: string, _input: {
20
- head: Record<string, unknown>;
21
- body: Record<string, () => Promise<unknown>>;
22
- }): FileCollectionStore<MDXStoreLazyData<GetFrontmatter<Config, Name>, Attached>>;
23
- type WithGit = GitFileData;
24
- //#endregion
25
- export { MDXStoreData, MDXStoreLazyData, WithGit, mdxStore, mdxStoreLazy };
26
- //# sourceMappingURL=runtime.d.ts.map
1
+ import { a as mdxStoreLazy, i as mdxStore, n as MDXStoreLazyData, r as WithGit, t as MDXStoreData } from "../../runtime-DiDP9Ajm.js";
2
+ export { MDXStoreData, MDXStoreLazyData, WithGit, mdxStore, mdxStoreLazy };
@@ -1,5 +1,4 @@
1
1
  import { FileCollectionStore } from "../runtime/file-store.js";
2
-
3
2
  //#region src/collections/mdx/runtime.ts
4
3
  function mdxStore(_name, base, _input) {
5
4
  const input = _input;
@@ -20,7 +19,7 @@ function mdxStoreLazy(_name, base, _input) {
20
19
  };
21
20
  return new FileCollectionStore(base, merged);
22
21
  }
23
-
24
22
  //#endregion
25
23
  export { mdxStore, mdxStoreLazy };
24
+
26
25
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
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"}
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"}
@@ -0,0 +1,27 @@
1
+ import { i as CompiledMDX } from "../../mdx-DY0zm9lN.js";
2
+ import { t as MDXStoreBrowserData } from "../../runtime-browser-a0rQ1BCJ.js";
3
+ import * as vue from "vue";
4
+
5
+ //#region src/collections/mdx/vue.vue.d.ts
6
+ declare const __VLS_export: <Frontmatter, Attached = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
+ props: vue.PublicProps & __VLS_PrettifyLocal<{
8
+ entry?: MDXStoreBrowserData<Frontmatter, Attached>;
9
+ }> & (typeof globalThis extends {
10
+ __VLS_PROPS_FALLBACK: infer P;
11
+ } ? P : {});
12
+ expose: (exposed: {}) => void;
13
+ attrs: any;
14
+ slots: {
15
+ default: (scope: {
16
+ data: CompiledMDX<Frontmatter> & Attached;
17
+ }) => any;
18
+ };
19
+ emit: {};
20
+ }>) => vue.VNode & {
21
+ __ctx?: Awaited<typeof __VLS_setup>;
22
+ };
23
+ declare const _default: typeof __VLS_export;
24
+ type __VLS_PrettifyLocal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {}; //# sourceMappingURL=vue.vue.d.ts.map
25
+ //#endregion
26
+ export { _default as Vue };
27
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","names":[],"sources":["../../../src/collections/mdx/vue.vue"],"mappings":";;;;;cA0DM,YAAA,oCACL,WAAA,EAAa,WAAA,CAAY,OAAA,QAAe,WAAA,aACxC,SAAA,GAAY,mBAAA,CAAoB,IAAA,CAAK,WAAA,CAAY,OAAA,QAAe,WAAA,kCAChE,aAAA,GAAgB,WAAA,CAAY,OAAA,QAAe,WAAA,cAC3C,WAAA,GAAA,OAAA;SAD2B,GAAA,CAwEN,WAAA,GAAc,mBAAA;YAjE1B,mBAAA,CAAoB,WAAA,EAAa,QAAA;EAAA,aAiE0C,UAAA;IAAqB,oBAAA;EAAA,IAAkC,CAAA;WAClI,OAAA;;;cA7DE,KAAA;MAAS,IAAA,EAAM,WAAA,CAAY,WAAA,IAAe,QAAA;IAAA;EAAA;;OAXrD,GAAA,CA8EyB,KAAA;EAAU,KAAA,GAAQ,OAAA,QAAe,WAAA;AAAA;AAAA,cAAW,QAAA,SAC1C,YAAA;AAAA,KACvB,mBAAA,OAA0B,CAAA,6BAA8B,CAAA,GAAI,CAAA,CAAE,CAAA,oBAAsB,CAAA,IAAK,CAAA,GAAI,CAAA,CAAE,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { t as isPromiseLike } from "../../is-promise-like-C04ERo2r.js";
2
+ import { computed, createBlock, defineAsyncComponent, defineComponent, markRaw, openBlock, ref, resolveDynamicComponent, unref, useSlots } from "vue";
3
+ //#region src/collections/mdx/vue.vue
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ name: "Renderer",
6
+ __name: "vue",
7
+ props: { entry: {} },
8
+ setup(__props) {
9
+ const props = __props;
10
+ const slots = useSlots();
11
+ let dynamicComponent = null;
12
+ if (props.entry) {
13
+ const entry = props.entry;
14
+ const forceAsync = ref(false);
15
+ const asyncComponent = defineAsyncComponent(async () => {
16
+ const loaded = await entry.preload();
17
+ return markRaw({ render: () => slots.default?.({ data: loaded }) ?? null });
18
+ });
19
+ dynamicComponent = computed(() => {
20
+ const v = entry.preload();
21
+ if (!isPromiseLike(v) && !forceAsync.value) return markRaw({ render: () => slots.default({ data: v }) });
22
+ forceAsync.value = true;
23
+ return asyncComponent;
24
+ });
25
+ }
26
+ return (_ctx, _cache) => {
27
+ return openBlock(), createBlock(resolveDynamicComponent(unref(dynamicComponent)));
28
+ };
29
+ }
30
+ });
31
+ //#endregion
32
+ export { _sfc_main as Vue };
33
+
34
+ //# sourceMappingURL=vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.js","names":[],"sources":["../../../src/collections/mdx/vue.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"Frontmatter, Attached = unknown\">\nimport { defineAsyncComponent, computed, markRaw, ref } from \"vue\";\nimport type { Component } from \"vue\";\nimport type { CompiledMDX } from \"./build-mdx\";\nimport type { MDXStoreBrowserData } from \"./runtime-browser\";\nimport { isPromiseLike } from \"@/utils/is-promise-like\";\n\ndefineOptions({\n name: \"Renderer\",\n});\n\nconst props = defineProps<{\n entry?: MDXStoreBrowserData<Frontmatter, Attached>;\n}>();\n\nconst slots = defineSlots<{\n default: (scope: { data: CompiledMDX<Frontmatter> & Attached }) => any;\n}>();\nlet dynamicComponent: Component | null = null;\n\nif (props.entry) {\n const entry = props.entry;\n const forceAsync = ref(false);\n\n const asyncComponent = defineAsyncComponent(async () => {\n const loaded = await entry.preload();\n return markRaw({\n render: () => slots.default?.({ data: loaded }) ?? null,\n });\n });\n\n dynamicComponent = computed(() => {\n const v = entry.preload();\n\n if (!isPromiseLike(v) && !forceAsync.value) {\n return markRaw({\n render: () => slots.default({ data: v }),\n });\n }\n\n forceAsync.value = true;\n return asyncComponent;\n });\n}\n</script>\n\n<template>\n <component :is=\"dynamicComponent\" />\n</template>\n"],"mappings":";;;;;;;;EAWA,MAAM,QAAQ;EAId,MAAM,QAAQ,UAEV;EACJ,IAAI,mBAAqC;AAEzC,MAAI,MAAM,OAAO;GACf,MAAM,QAAQ,MAAM;GACpB,MAAM,aAAa,IAAI,MAAM;GAE7B,MAAM,iBAAiB,qBAAqB,YAAY;IACtD,MAAM,SAAS,MAAM,MAAM,SAAS;AACpC,WAAO,QAAQ,EACb,cAAc,MAAM,UAAU,EAAE,MAAM,QAAQ,CAAC,IAAI,MACpD,CAAC;KACF;AAEF,sBAAmB,eAAe;IAChC,MAAM,IAAI,MAAM,SAAS;AAEzB,QAAI,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,MACnC,QAAO,QAAQ,EACb,cAAc,MAAM,QAAQ,EAAE,MAAM,GAAG,CAAC,EACzC,CAAC;AAGJ,eAAW,QAAQ;AACnB,WAAO;KACP;;;uBAKF,YAAoC,wBAApB,MAAA,iBAAgB,CAAA,CAAA"}
@@ -1,66 +1,2 @@
1
- import { S as Awaitable, h as Pipe, m as AsyncPipe, p as CodeGenerator } from "../core-FjA_Xoho.js";
2
- import { Collection } from "./index.js";
3
- import { FileSystemCollection, FileSystemCollectionConfig } from "./fs.js";
4
- import { n as LinkReference, r as PostprocessOptions, t as CompiledMDX } from "../build-mdx-DRqbcE1d.js";
5
- import { ProcessorOptions } from "@mdx-js/mdx";
6
- import { VFile } from "vfile";
7
- import { PluggableList } from "unified";
8
- import { StandardSchemaV1 } from "@standard-schema/spec";
9
-
10
- //#region src/collections/mdx.d.ts
11
- interface CompilationContext {
12
- collection: Collection;
13
- filePath: string;
14
- source: string;
15
- }
16
- interface MDXCollectionConfig<FrontmatterSchema extends StandardSchemaV1 | undefined> extends Omit<FileSystemCollectionConfig, "supportedFormats"> {
17
- postprocess?: Partial<PostprocessOptions>;
18
- preprocess?: PreprocessOptions;
19
- frontmatter?: FrontmatterSchema;
20
- options?: (environment: "bundler" | "runtime") => Awaitable<ProcessorOptions>;
21
- lazy?: boolean;
22
- dynamic?: boolean;
23
- }
24
- interface PreprocessOptions {
25
- remarkPlugins?: PluggableList;
26
- }
27
- interface InitializerCode {
28
- fn: string;
29
- typeParams: [config: string, name: string, attached: string];
30
- params: string[];
31
- }
32
- declare class MDXCollection<FrontmatterSchema extends StandardSchemaV1 | undefined = StandardSchemaV1 | undefined> extends FileSystemCollection {
33
- #private;
34
- readonly dynamic: boolean;
35
- readonly lazy: boolean;
36
- readonly preprocess?: PreprocessOptions;
37
- readonly postprocess?: Partial<PostprocessOptions>;
38
- readonly getMDXOptions?: (environment: "bundler" | "runtime") => Awaitable<ProcessorOptions>;
39
- /**
40
- * Frontmatter schema
41
- */
42
- frontmatterSchema?: FrontmatterSchema;
43
- /**
44
- * Transform & validate frontmatter
45
- */
46
- frontmatter: AsyncPipe<Record<string, unknown> | undefined, CompilationContext>;
47
- /**
48
- * Transform `vfile` on compilation stage
49
- */
50
- vfile: AsyncPipe<VFile, CompilationContext>;
51
- /**
52
- * Transform the generated initializer code (TypeScript) for collection store
53
- */
54
- storeInitializer: Pipe<InitializerCode, {
55
- codegen: CodeGenerator;
56
- environment: "browser" | "server" | "dynamic";
57
- }>;
58
- $inferFrontmatter: FrontmatterSchema extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<FrontmatterSchema> : Record<string, unknown>;
59
- constructor(config: MDXCollectionConfig<FrontmatterSchema>);
60
- private generateDocCollectionFrontmatterGlob;
61
- private generateDocCollectionGlob;
62
- }
63
- declare function mdxCollection<FrontmatterSchema extends StandardSchemaV1 | undefined = undefined>(config: MDXCollectionConfig<FrontmatterSchema>): MDXCollection<FrontmatterSchema>;
64
- //#endregion
65
- export { type CompiledMDX, type LinkReference, MDXCollection, MDXCollectionConfig, mdxCollection };
66
- //# sourceMappingURL=mdx.d.ts.map
1
+ import { a as LinkReference, i as CompiledMDX, n as MDXCollectionConfig, r as mdxCollection, t as MDXCollection } from "../mdx-DY0zm9lN.js";
2
+ export { CompiledMDX, LinkReference, MDXCollection, MDXCollectionConfig, mdxCollection };
@@ -1,11 +1,11 @@
1
- import { n as pipe, t as asyncPipe } from "../pipe-CvCqOpXX.js";
2
- import { n as slash } from "../code-generator-CHcOrCeM.js";
3
- import { r as validate } from "../validation-C3kXuveD.js";
1
+ import { i as pipe, r as asyncPipe } from "../collections-BuskUhft.js";
2
+ import { n as slash } from "../code-generator-pLUE7Rk7.js";
3
+ import { r as validate } from "../validation-Bf_v2L3p.js";
4
+ import { t as createCache } from "../async-cache-C47yxLCv.js";
4
5
  import { loaderHook } from "../plugins/loader/index.js";
5
6
  import { FileSystemCollection } from "./fs.js";
6
7
  import { gitHook } from "../plugins/git.js";
7
8
  import path from "node:path";
8
-
9
9
  //#region src/collections/mdx.ts
10
10
  const RuntimePaths = {
11
11
  browser: "fuma-content/collections/mdx/runtime-browser",
@@ -18,9 +18,16 @@ function formatInitializer(code) {
18
18
  var MDXCollection = class extends FileSystemCollection {
19
19
  dynamic;
20
20
  lazy;
21
- preprocess;
22
21
  postprocess;
23
- getMDXOptions;
22
+ #mdxOptions;
23
+ #mdxOptionsCache;
24
+ async getMDXOptions(environment) {
25
+ const options = this.#mdxOptions;
26
+ if (!options) return {};
27
+ if (typeof options !== "function") return options;
28
+ this.#mdxOptionsCache ??= createCache();
29
+ return this.#mdxOptionsCache.cached(environment, () => options(environment));
30
+ }
24
31
  /**
25
32
  * Frontmatter schema
26
33
  */
@@ -45,8 +52,7 @@ var MDXCollection = class extends FileSystemCollection {
45
52
  supportedFormats: ["md", "mdx"]
46
53
  });
47
54
  this.postprocess = config.postprocess;
48
- this.preprocess = config.preprocess;
49
- this.getMDXOptions = config.options;
55
+ this.#mdxOptions = config.options;
50
56
  this.dynamic = config.dynamic ?? false;
51
57
  this.lazy = config.lazy ?? false;
52
58
  this.frontmatterSchema = config.frontmatter;
@@ -306,12 +312,12 @@ function mdxLoader() {
306
312
  };
307
313
  },
308
314
  async createLoader() {
309
- const { createMdxLoader } = await import("../loader-BT4fwLTJ.js").then((n) => n.n);
315
+ const { createMdxLoader } = await import("../loader-CyhM9SLt.js").then((n) => n.n);
310
316
  return createMdxLoader({ getCore: () => this.core });
311
317
  }
312
318
  };
313
319
  }
314
-
315
320
  //#endregion
316
321
  export { MDXCollection, mdxCollection };
322
+
317
323
  //# sourceMappingURL=mdx.js.map