fuma-content 1.0.1 → 1.0.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 (147) hide show
  1. package/dist/async-cache-C0J_pTbk.js +29 -0
  2. package/dist/async-cache-C0J_pTbk.js.map +1 -0
  3. package/dist/bin.d.ts +1 -1
  4. package/dist/bin.js +21 -14
  5. package/dist/bin.js.map +1 -0
  6. package/dist/build-mdx-CSrSOQxF.js +4 -0
  7. package/dist/build-mdx-DugsQ0sk.js +395 -0
  8. package/dist/build-mdx-DugsQ0sk.js.map +1 -0
  9. package/dist/bun/index.d.ts +6 -13
  10. package/dist/bun/index.d.ts.map +1 -0
  11. package/dist/bun/index.js +18 -34
  12. package/dist/bun/index.js.map +1 -0
  13. package/dist/bun-Br1ReMiq.js +35 -0
  14. package/dist/bun-Br1ReMiq.js.map +1 -0
  15. package/dist/code-generator-BvuyL0UO.js +133 -0
  16. package/dist/code-generator-BvuyL0UO.js.map +1 -0
  17. package/dist/collections/handlers/fs.d.ts +2 -10
  18. package/dist/collections/handlers/fs.js +31 -6
  19. package/dist/collections/handlers/fs.js.map +1 -0
  20. package/dist/collections/index.d.ts +2 -10
  21. package/dist/collections/index.js +16 -6
  22. package/dist/collections/index.js.map +1 -0
  23. package/dist/collections/mdx/loader-webpack.d.ts +6 -14
  24. package/dist/collections/mdx/loader-webpack.d.ts.map +1 -0
  25. package/dist/collections/mdx/loader-webpack.js +23 -36
  26. package/dist/collections/mdx/loader-webpack.js.map +1 -0
  27. package/dist/collections/mdx/runtime-browser.d.ts +27 -37
  28. package/dist/collections/mdx/runtime-browser.d.ts.map +1 -0
  29. package/dist/collections/mdx/runtime-browser.js +57 -70
  30. package/dist/collections/mdx/runtime-browser.js.map +1 -0
  31. package/dist/collections/mdx/runtime-dynamic.d.ts +22 -30
  32. package/dist/collections/mdx/runtime-dynamic.d.ts.map +1 -0
  33. package/dist/collections/mdx/runtime-dynamic.js +62 -85
  34. package/dist/collections/mdx/runtime-dynamic.js.map +1 -0
  35. package/dist/collections/mdx/runtime.d.ts +31 -52
  36. package/dist/collections/mdx/runtime.d.ts.map +1 -0
  37. package/dist/collections/mdx/runtime.js +24 -34
  38. package/dist/collections/mdx/runtime.js.map +1 -0
  39. package/dist/collections/mdx.d.ts +2 -10
  40. package/dist/collections/mdx.js +241 -284
  41. package/dist/collections/mdx.js.map +1 -0
  42. package/dist/collections/meta/loader-webpack.d.ts +6 -14
  43. package/dist/collections/meta/loader-webpack.d.ts.map +1 -0
  44. package/dist/collections/meta/loader-webpack.js +22 -39
  45. package/dist/collections/meta/loader-webpack.js.map +1 -0
  46. package/dist/collections/meta/runtime.d.ts +7 -15
  47. package/dist/collections/meta/runtime.d.ts.map +1 -0
  48. package/dist/collections/meta/runtime.js +9 -15
  49. package/dist/collections/meta/runtime.js.map +1 -0
  50. package/dist/collections/meta.d.ts +2 -10
  51. package/dist/collections/meta.js +125 -164
  52. package/dist/collections/meta.js.map +1 -0
  53. package/dist/collections/runtime/file-store.d.ts +17 -14
  54. package/dist/collections/runtime/file-store.d.ts.map +1 -0
  55. package/dist/collections/runtime/file-store.js +30 -6
  56. package/dist/collections/runtime/file-store.js.map +1 -0
  57. package/dist/collections/runtime/store.d.ts +3 -28
  58. package/dist/collections/runtime/store.js +3 -6
  59. package/dist/config/index.d.ts +2 -10
  60. package/dist/config/index.js +6 -5
  61. package/dist/config/index.js.map +1 -0
  62. package/dist/core-CRWvbE7W.d.ts +588 -0
  63. package/dist/core-CRWvbE7W.d.ts.map +1 -0
  64. package/dist/core-CnZQDCJ1.js +205 -0
  65. package/dist/core-CnZQDCJ1.js.map +1 -0
  66. package/dist/dynamic.d.ts +24 -0
  67. package/dist/dynamic.d.ts.map +1 -0
  68. package/dist/dynamic.js +28 -0
  69. package/dist/dynamic.js.map +1 -0
  70. package/dist/fuma-matter-D3kkMkdj.js +27 -0
  71. package/dist/fuma-matter-D3kkMkdj.js.map +1 -0
  72. package/dist/index.d.ts +17 -16
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +6 -8
  75. package/dist/load-from-file-BctwhOUd.js +3 -0
  76. package/dist/load-from-file-XiM8eZha.js +37 -0
  77. package/dist/load-from-file-XiM8eZha.js.map +1 -0
  78. package/dist/loader-BHMDOncZ.js +4 -0
  79. package/dist/loader-C7W_Rwj8.js +80 -0
  80. package/dist/loader-C7W_Rwj8.js.map +1 -0
  81. package/dist/loader-DLSJPUiO.js +69 -0
  82. package/dist/loader-DLSJPUiO.js.map +1 -0
  83. package/dist/loader-DkmGoUvo.js +4 -0
  84. package/dist/next/index.cjs +457 -554
  85. package/dist/next/index.d.ts +16 -22
  86. package/dist/next/index.d.ts.map +1 -0
  87. package/dist/next/index.js +71 -89
  88. package/dist/next/index.js.map +1 -0
  89. package/dist/node/loader.d.ts +4 -2
  90. package/dist/node/loader.d.ts.map +1 -0
  91. package/dist/node/loader.js +29 -44
  92. package/dist/node/loader.js.map +1 -0
  93. package/dist/node-CVAU22o3.js +31 -0
  94. package/dist/node-CVAU22o3.js.map +1 -0
  95. package/dist/pipe-UEMV1mRg.js +31 -0
  96. package/dist/pipe-UEMV1mRg.js.map +1 -0
  97. package/dist/plugins/git.d.ts +2 -10
  98. package/dist/plugins/git.js +57 -65
  99. package/dist/plugins/git.js.map +1 -0
  100. package/dist/plugins/json-schema.d.ts +2 -10
  101. package/dist/plugins/json-schema.js +60 -58
  102. package/dist/plugins/json-schema.js.map +1 -0
  103. package/dist/plugins/with-loader/index.d.ts +2 -61
  104. package/dist/plugins/with-loader/index.js +28 -6
  105. package/dist/plugins/with-loader/index.js.map +1 -0
  106. package/dist/plugins/with-loader/webpack.d.ts +10 -18
  107. package/dist/plugins/with-loader/webpack.d.ts.map +1 -0
  108. package/dist/plugins/with-loader/webpack.js +43 -12
  109. package/dist/plugins/with-loader/webpack.js.map +1 -0
  110. package/dist/store-BtGmZUAC.d.ts +31 -0
  111. package/dist/store-BtGmZUAC.d.ts.map +1 -0
  112. package/dist/store-D166MOLw.js +37 -0
  113. package/dist/store-D166MOLw.js.map +1 -0
  114. package/dist/validation-BYUzZIfc.js +37 -0
  115. package/dist/validation-BYUzZIfc.js.map +1 -0
  116. package/dist/vite/index.d.ts +22 -28
  117. package/dist/vite/index.d.ts.map +1 -0
  118. package/dist/vite/index.js +44 -53
  119. package/dist/vite/index.js.map +1 -0
  120. package/dist/vite-6awgG092.js +33 -0
  121. package/dist/vite-6awgG092.js.map +1 -0
  122. package/package.json +47 -42
  123. package/dist/build-mdx-I4NROXCF.js +0 -8
  124. package/dist/bun-DMNX4PBC.js +0 -40
  125. package/dist/chunk-3VQS3KSP.js +0 -39
  126. package/dist/chunk-BTRE6MOX.js +0 -16
  127. package/dist/chunk-E4HRKSP4.js +0 -24
  128. package/dist/chunk-ERBMAQYP.js +0 -33
  129. package/dist/chunk-GGL4EF6H.js +0 -38
  130. package/dist/chunk-JBZTQ55D.js +0 -30
  131. package/dist/chunk-KH5GT2Y5.js +0 -104
  132. package/dist/chunk-LUM7SIZN.js +0 -40
  133. package/dist/chunk-MT7RY65Y.js +0 -167
  134. package/dist/chunk-NRZ4GE5O.js +0 -207
  135. package/dist/chunk-OQQNA7L7.js +0 -412
  136. package/dist/chunk-OUJENWQ4.js +0 -45
  137. package/dist/chunk-RMSV4HP6.js +0 -85
  138. package/dist/chunk-RXR7OL76.js +0 -37
  139. package/dist/chunk-VWJKRQZR.js +0 -19
  140. package/dist/chunk-W6HENTK7.js +0 -44
  141. package/dist/chunk-XR5N6ZXJ.js +0 -50
  142. package/dist/core-Bo8KaWQz.d.ts +0 -411
  143. package/dist/load-from-file-HL2VEY3M.js +0 -7
  144. package/dist/loader-NFSL6P5I.js +0 -7
  145. package/dist/loader-T756NSCS.js +0 -7
  146. package/dist/node-DCMYL4DL.js +0 -34
  147. package/dist/vite-QCUPZHHB.js +0 -32
@@ -0,0 +1,588 @@
1
+ import { LoadHook } from "node:module";
2
+ import { FC } from "react";
3
+ import { ProcessorOptions, createProcessor } from "@mdx-js/mdx";
4
+ import { VFile } from "vfile";
5
+ import { Processor } from "unified";
6
+ import { FSWatcher } from "chokidar";
7
+ import { Root } from "mdast";
8
+ import { StandardSchemaV1 } from "@standard-schema/spec";
9
+ import { MDXProps } from "mdx/types";
10
+ import * as Vite from "vite";
11
+ import { NextConfig } from "next";
12
+
13
+ //#region src/plugins/json-schema.d.ts
14
+ interface JSONSchemaOptions {
15
+ /**
16
+ * insert `$schema` field to JSON files on creation.
17
+ *
18
+ * @defaultValue false
19
+ */
20
+ insert?: boolean;
21
+ }
22
+ interface JSONSchemaHandler {
23
+ create: () => object | undefined | Promise<object | undefined>;
24
+ }
25
+ /**
26
+ * Generate JSON schemas locally for collection schemas
27
+ *
28
+ * Requires the `json-schema` handler to be implemented.
29
+ */
30
+ declare function jsonSchema({
31
+ insert
32
+ }?: JSONSchemaOptions): Plugin;
33
+ //#endregion
34
+ //#region src/collections/handlers/fs.d.ts
35
+ interface FileHandlerConfig {
36
+ /**
37
+ * Directory to scan
38
+ */
39
+ dir: string;
40
+ /**
41
+ * what files to include/exclude (glob patterns)
42
+ *
43
+ * Include all files if not specified
44
+ */
45
+ files?: string[];
46
+ /**
47
+ * Restrict to a list of file extensions to include, e.g. `['js', 'ts']`.
48
+ */
49
+ supportedFormats?: string[];
50
+ }
51
+ interface FIleCollectionHandler {
52
+ /**
53
+ * content directory (absolute)
54
+ */
55
+ dir: string;
56
+ hasFile: (filePath: string) => boolean;
57
+ isFileSupported: (filePath: string) => boolean;
58
+ /**
59
+ * get all included files, relative to `dir`
60
+ */
61
+ getFiles: () => Promise<string[]>;
62
+ patterns: string[];
63
+ }
64
+ declare function initFileCollection(collection: Collection, init: InitOptions, config: FileHandlerConfig): void;
65
+ //#endregion
66
+ //#region src/collections/mdx/remark-postprocess.d.ts
67
+ interface ExtractedReference {
68
+ href: string;
69
+ }
70
+ interface PostprocessOptions {
71
+ _format: "md" | "mdx";
72
+ /**
73
+ * Properties to export from `vfile.data`
74
+ */
75
+ valueToExport?: string[];
76
+ /**
77
+ * stringify MDAST and export via `_markdown`.
78
+ */
79
+ includeProcessedMarkdown?: boolean;
80
+ /**
81
+ * extract link references, export via `extractedReferences`.
82
+ */
83
+ extractLinkReferences?: boolean;
84
+ /**
85
+ * store MDAST and export via `_mdast`.
86
+ */
87
+ includeMDAST?: boolean | {
88
+ removePosition?: boolean;
89
+ };
90
+ }
91
+ //#endregion
92
+ //#region src/collections/mdx/remark-preprocess.d.ts
93
+ interface PreprocessOptions {
94
+ preprocessor?: Processor<Root>;
95
+ }
96
+ declare module "vfile" {
97
+ interface DataMap {
98
+ _preprocessed?: boolean;
99
+ }
100
+ }
101
+ //#endregion
102
+ //#region src/config/index.d.ts
103
+ interface GlobalConfig<Collections$1 extends Record<string, Collection> = Record<string, Collection>> {
104
+ plugins?: PluginOption$1[];
105
+ collections?: Collections$1;
106
+ workspaces?: Record<string, WorkspaceConfig>;
107
+ /**
108
+ * specify a directory to access & store cache (disabled during development mode).
109
+ *
110
+ * The cache will never be updated, delete the cache folder to clean.
111
+ */
112
+ experimentalBuildCache?: string;
113
+ /**
114
+ * configure code generation
115
+ */
116
+ emit?: {
117
+ target?: "default" | "vite";
118
+ /**
119
+ * add .js extenstion to imports
120
+ */
121
+ jsExtension?: boolean;
122
+ };
123
+ }
124
+ interface WorkspaceConfig {
125
+ dir: string;
126
+ config: GlobalConfig | {
127
+ default: GlobalConfig;
128
+ };
129
+ }
130
+ declare function defineConfig<Collections$1 extends Record<string, Collection> = Record<string, Collection>>(config?: GlobalConfig<Collections$1>): GlobalConfig<Collections$1>;
131
+ //#endregion
132
+ //#region src/types.d.ts
133
+ type GetCollectionConfig<Config, Name extends string> = Config extends Record<Name, Collection> ? Config[Name] : Config extends {
134
+ default: GlobalConfig<infer Collections>;
135
+ } ? Collections[Name] : never;
136
+ type Awaitable$1<T> = T | PromiseLike<T>;
137
+ interface CollectionWithHandler<HandlerName extends keyof CollectionHandlers> extends Collection {
138
+ readonly handlers: RequireProps<Collection["handlers"], HandlerName>;
139
+ }
140
+ type RequireProps<T, K extends keyof T> = { [P in K]-?: T[P] };
141
+ //#endregion
142
+ //#region src/utils/pipe.d.ts
143
+ interface Pipe<Data, Context = undefined> {
144
+ /**
145
+ * add a transformation step
146
+ *
147
+ * @returns the same pipe instance
148
+ */
149
+ pipe: (fn: (data: Data, context: Context) => Data) => Pipe<Data, Context>;
150
+ run: (data: Data, context: Context) => Data;
151
+ }
152
+ interface AsyncPipe<Data, Context = undefined> {
153
+ /**
154
+ * add a transformation step
155
+ *
156
+ * @returns the same pipe instance
157
+ */
158
+ pipe: (fn: (data: Data, context: Context) => Awaitable$1<Data>) => AsyncPipe<Data, Context>;
159
+ run: (data: Data, context: Context) => Awaitable$1<Data>;
160
+ }
161
+ declare function pipe<Data, Context>(): Pipe<Data, Context>;
162
+ declare function asyncPipe<Data, Context>(): AsyncPipe<Data, Context>;
163
+ //#endregion
164
+ //#region src/plugins/with-loader/index.d.ts
165
+ type Awaitable<T> = T | Promise<T>;
166
+ interface CompilerOptions {
167
+ addDependency: (file: string) => void;
168
+ }
169
+ type LoaderEnvironment = "vite" | "bun" | "node";
170
+ interface Loader {
171
+ /**
172
+ * Transform input into JavaScript.
173
+ *
174
+ * Returns:
175
+ * - `LoaderOutput`: JavaScript code & source map.
176
+ * - `null`: skip the loader. Fallback to default behaviour if possible, otherwise the adapter will try workarounds.
177
+ */
178
+ load: (input: LoaderInput) => Awaitable<LoaderOutput | null>;
179
+ bun?: {
180
+ /**
181
+ * 1. Bun doesn't allow `null` in loaders.
182
+ * 2. Bun requires sync result to support dynamic require().
183
+ */
184
+ load?: (source: string, input: LoaderInput) => Awaitable<Bun.OnLoadResult>;
185
+ };
186
+ }
187
+ interface LoaderInput {
188
+ development: boolean;
189
+ compiler: CompilerOptions;
190
+ filePath: string;
191
+ query: Record<string, string | string[] | undefined>;
192
+ getSource: () => string | Promise<string>;
193
+ }
194
+ interface LoaderOutput {
195
+ code: string;
196
+ map?: unknown;
197
+ /**
198
+ * only supported on Vite 8 at the moment, specify the output module type.
199
+ *
200
+ * on unsupported environments, it will be ignored.
201
+ */
202
+ moduleType?: "js" | "json";
203
+ }
204
+ interface WithLoaderConfig {
205
+ /**
206
+ * Filter file paths, the input can be either a file URL or file path.
207
+ *
208
+ * Must take resource query into consideration.
209
+ */
210
+ test?: RegExp;
211
+ createLoader: (this: PluginContext, environment: LoaderEnvironment) => Promise<Loader>;
212
+ }
213
+ /**
214
+ * a light layer for implementing loaders.
215
+ *
216
+ * @remarks it doesn't include Next.js, you have to define the webpack/turbopack config, and export the loaders on your own.
217
+ */
218
+ declare function withLoader(plugin: Plugin, {
219
+ test,
220
+ createLoader
221
+ }: WithLoaderConfig): Plugin;
222
+ //#endregion
223
+ //#region src/collections/mdx/build-mdx.d.ts
224
+ type MDXProcessor = ReturnType<typeof createProcessor>;
225
+ interface FumaContentDataMap {
226
+ /**
227
+ * [Fuma Content] raw frontmatter, you can modify it
228
+ */
229
+ frontmatter?: Record<string, unknown>;
230
+ /**
231
+ * [Fuma Content] additional ESM exports to write
232
+ */
233
+ "mdx-export"?: {
234
+ name: string;
235
+ value: unknown;
236
+ }[];
237
+ /**
238
+ * [Fuma Content] The compiler object from loader
239
+ */
240
+ _compiler?: CompilerOptions;
241
+ /**
242
+ * [Fuma Content] get internal processor, do not use this on user land.
243
+ */
244
+ _getProcessor?: (format: "md" | "mdx") => MDXProcessor | Promise<MDXProcessor>;
245
+ }
246
+ declare module "vfile" {
247
+ interface DataMap extends FumaContentDataMap {}
248
+ }
249
+ type CompiledMDX<Frontmatter = Record<string, unknown>> = {
250
+ frontmatter: Frontmatter;
251
+ } & CompiledMDXData & Record<string, unknown>;
252
+ interface CompiledMDXData {
253
+ default: FC<MDXProps>;
254
+ /**
255
+ * Enable from `postprocess` option.
256
+ */
257
+ _markdown?: string;
258
+ /**
259
+ * Enable from `postprocess` option.
260
+ */
261
+ _mdast?: string;
262
+ }
263
+ //#endregion
264
+ //#region src/collections/mdx.d.ts
265
+ interface CompilationContext {
266
+ collection: Collection;
267
+ filePath: string;
268
+ source: string;
269
+ }
270
+ interface MDXCollectionHandler {
271
+ readonly dynamic: boolean;
272
+ readonly lazy: boolean;
273
+ preprocess?: PreprocessOptions;
274
+ postprocess?: Partial<PostprocessOptions>;
275
+ getMDXOptions?: (environment: "bundler" | "runtime") => Awaitable$1<ProcessorOptions>;
276
+ /**
277
+ * Frontmatter schema (if defined)
278
+ */
279
+ frontmatterSchema?: StandardSchemaV1;
280
+ /**
281
+ * Transform & validate frontmatter
282
+ */
283
+ frontmatter: AsyncPipe<Record<string, unknown> | undefined, CompilationContext>;
284
+ /**
285
+ * Transform `vfile` on compilation stage
286
+ */
287
+ vfile: AsyncPipe<VFile, CompilationContext>;
288
+ /**
289
+ * Transform the initializer code (TypeScript) for collection store
290
+ */
291
+ storeInitializer: Pipe<string, EmitCodeGeneratorContext & {
292
+ environment: "browser" | "server" | "dynamic";
293
+ }>;
294
+ }
295
+ interface MDXCollectionConfig<FrontmatterSchema extends StandardSchemaV1 | undefined = undefined> extends FileHandlerConfig {
296
+ postprocess?: Partial<PostprocessOptions>;
297
+ frontmatter?: FrontmatterSchema;
298
+ options?: (environment: "bundler" | "runtime") => Awaitable$1<ProcessorOptions>;
299
+ lazy?: boolean;
300
+ dynamic?: boolean;
301
+ }
302
+ interface MDXCollection<Frontmatter> extends Collection {
303
+ _frontmatter?: Frontmatter;
304
+ }
305
+ declare function defineMDX<FrontmatterSchema extends StandardSchemaV1 | undefined = undefined>(config: MDXCollectionConfig<FrontmatterSchema>): MDXCollection<FrontmatterSchema extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<FrontmatterSchema> : Record<string, unknown>>;
306
+ //#endregion
307
+ //#region src/collections/meta.d.ts
308
+ interface MetaTransformationContext {
309
+ path: string;
310
+ source: string;
311
+ }
312
+ interface MetaCollectionHandler {
313
+ /**
314
+ * Transform metadata
315
+ */
316
+ transform: AsyncPipe<unknown, MetaTransformationContext>;
317
+ schema?: StandardSchemaV1;
318
+ }
319
+ interface MetaCollectionConfig<Schema extends StandardSchemaV1> extends FileHandlerConfig {
320
+ schema?: Schema;
321
+ }
322
+ type MetaCollection<_Data> = Collection & {
323
+ _type?: _Data;
324
+ };
325
+ declare function defineMeta<Schema extends StandardSchemaV1>(config: MetaCollectionConfig<Schema>): MetaCollection<Schema extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<Schema> : Record<string, unknown>>;
326
+ //#endregion
327
+ //#region src/plugins/git.d.ts
328
+ interface VersionControlFileData {
329
+ /**
330
+ * Last modified date of file, obtained from version control.
331
+ */
332
+ lastModified: Date | null;
333
+ /**
334
+ * Creation date of file, obtained from version control.
335
+ */
336
+ creationDate: Date | null;
337
+ }
338
+ interface VersionControlHandler {
339
+ /**
340
+ * receive the version control client.
341
+ */
342
+ client: (context: {
343
+ client: VersionControlClient;
344
+ }) => void | Promise<void>;
345
+ }
346
+ interface GitPluginOptions {
347
+ /**
348
+ * Filter the collections to include by names
349
+ */
350
+ filter?: (collection: string) => boolean;
351
+ }
352
+ /**
353
+ * Add version control integration for Git.
354
+ * 1. Injects `creationDate` & `lastModified` properties to page exports.
355
+ *
356
+ * @remarks If you are using Vercel, please set `VERCEL_DEEP_CLONE` environment variable to `true`. This ensures the client can access the full commit history of Git.
357
+ */
358
+ declare function git(options?: GitPluginOptions): Plugin;
359
+ interface VersionControlClient {
360
+ getFileData: (options: {
361
+ filePath: string;
362
+ }) => Promise<VersionControlFileData>;
363
+ }
364
+ //#endregion
365
+ //#region src/collections/index.d.ts
366
+ interface InitOptions {
367
+ name: string;
368
+ core: Core;
369
+ }
370
+ interface Collection {
371
+ name: string;
372
+ init?: (options: InitOptions) => void;
373
+ readonly handlers: CollectionHandlers;
374
+ /**
375
+ * information for the collection type, can be shared for all collections of same type.
376
+ */
377
+ readonly typeInfo: CollectionTypeInfo;
378
+ }
379
+ interface CollectionTypeInfo {
380
+ /**
381
+ * ID for collection type.
382
+ *
383
+ * @example `my-package:my-collection-type`
384
+ */
385
+ readonly id: string;
386
+ /**
387
+ * plugins to register, registered once for each collection type.
388
+ */
389
+ readonly plugins?: PluginOption$1;
390
+ }
391
+ interface CollectionHandlers {
392
+ fs?: FIleCollectionHandler;
393
+ mdx?: MDXCollectionHandler;
394
+ meta?: MetaCollectionHandler;
395
+ "json-schema"?: JSONSchemaHandler;
396
+ "version-control"?: VersionControlHandler;
397
+ }
398
+ declare function createCollection(info: CollectionTypeInfo, init: (collection: Collection, options: InitOptions) => void): Collection;
399
+ //#endregion
400
+ //#region src/utils/code-generator.d.ts
401
+ interface GlobImportOptions {
402
+ base: string;
403
+ query?: Record<string, string | undefined>;
404
+ import?: string;
405
+ eager?: boolean;
406
+ }
407
+ interface CodeGeneratorOptions {
408
+ target: "default" | "vite";
409
+ outDir: string;
410
+ /**
411
+ * add .js extenstion to imports
412
+ */
413
+ jsExtension: boolean;
414
+ globCache: Map<string, Promise<string[]>>;
415
+ }
416
+ /**
417
+ * Code generator (one instance per file)
418
+ */
419
+ declare class CodeGenerator {
420
+ private readonly lines;
421
+ private readonly globCache;
422
+ private readonly importInfos;
423
+ private eagerImportId;
424
+ readonly options: CodeGeneratorOptions;
425
+ constructor({
426
+ target,
427
+ jsExtension,
428
+ globCache,
429
+ outDir
430
+ }: Partial<CodeGeneratorOptions>);
431
+ addNamespaceImport(namespace: string, specifier: string, types?: boolean): void;
432
+ addNamedImport(names: string[], specifier: string, types?: boolean): void;
433
+ push(...insert: string[]): void;
434
+ pushAsync(insert: Promise<string | undefined>[]): Promise<void>;
435
+ generateGlobImport(patterns: string | string[], options: GlobImportOptions): Promise<string>;
436
+ private generateViteGlobImport;
437
+ private generateNodeGlobImport;
438
+ formatImportPath(file: string): string;
439
+ toString(): string;
440
+ }
441
+ //#endregion
442
+ //#region src/core.d.ts
443
+ interface ResolvedConfig extends Omit<GlobalConfig, "collections"> {
444
+ collections: Map<string, Collection>;
445
+ }
446
+ interface EmitEntry {
447
+ /**
448
+ * path relative to output directory
449
+ */
450
+ path: string;
451
+ content: string;
452
+ }
453
+ interface PluginContext {
454
+ core: Core;
455
+ }
456
+ interface EmitContext extends PluginContext {
457
+ createCodeGenerator: (path: string, content: (ctx: EmitCodeGeneratorContext) => Promise<void>) => Promise<EmitEntry>;
458
+ }
459
+ interface EmitCodeGeneratorContext {
460
+ core: Core;
461
+ workspace?: string;
462
+ codegen: CodeGenerator;
463
+ }
464
+ interface Plugin {
465
+ /**
466
+ * unique name for plugin
467
+ *
468
+ * @example `my-package:my-plugin`
469
+ */
470
+ name: string;
471
+ /**
472
+ * on config loaded/updated
473
+ */
474
+ config?: (this: PluginContext, config: ResolvedConfig) => Awaitable$1<void | ResolvedConfig>;
475
+ collection?: (this: PluginContext, collection: Collection) => Awaitable$1<void>;
476
+ /**
477
+ * Generate files (e.g. types, index file, or JSON schemas)
478
+ */
479
+ emit?: (this: EmitContext) => Awaitable$1<EmitEntry[]>;
480
+ /**
481
+ * Configure Fumadocs dev server
482
+ */
483
+ configureServer?: (this: PluginContext, server: ServerContext) => Awaitable$1<void>;
484
+ vite?: {
485
+ createPlugin?: (this: PluginContext) => Vite.PluginOption;
486
+ };
487
+ bun?: {
488
+ build?: (this: PluginContext, build: Bun.PluginBuilder) => Awaitable$1<void>;
489
+ };
490
+ next?: {
491
+ config?: (this: PluginContext, config: NextConfig) => NextConfig;
492
+ };
493
+ node?: {
494
+ createLoad?: (this: PluginContext) => Awaitable$1<LoadHook>;
495
+ };
496
+ }
497
+ type PluginOption$1 = Awaitable$1<Plugin | PluginOption$1[] | false | undefined>;
498
+ interface ServerContext {
499
+ /**
500
+ * the file watcher, by default all content files are watched, along with other files.
501
+ *
502
+ * make sure to filter when listening to events
503
+ */
504
+ watcher?: FSWatcher;
505
+ }
506
+ type CoreOptions = Partial<ResolvedCoreOptions>;
507
+ /**
508
+ * the resolved options, all paths are absolute
509
+ */
510
+ interface ResolvedCoreOptions {
511
+ cwd: string;
512
+ configPath: string;
513
+ outDir: string;
514
+ /**
515
+ * the workspace info if this instance is created as a workspace
516
+ */
517
+ workspace?: {
518
+ parent: Core;
519
+ name: string;
520
+ dir: string;
521
+ };
522
+ }
523
+ interface EmitOptions {
524
+ /**
525
+ * filter the plugins to run emit
526
+ */
527
+ filterPlugin?: (plugin: Plugin) => boolean;
528
+ /**
529
+ * filter the workspaces to run emit
530
+ */
531
+ filterWorkspace?: (workspace: string) => boolean;
532
+ /**
533
+ * write files
534
+ */
535
+ write?: boolean;
536
+ }
537
+ interface EmitOutput {
538
+ entries: EmitEntry[];
539
+ workspaces: Record<string, EmitEntry[]>;
540
+ }
541
+ declare class Core {
542
+ private readonly workspaces;
543
+ private readonly options;
544
+ private plugins;
545
+ private config;
546
+ static defaultOptions: {
547
+ configPath: string;
548
+ outDir: string;
549
+ };
550
+ /**
551
+ * Convenient cache store, reset when config changes.
552
+ *
553
+ * You can group namespaces in cache key with ":", like `my-plugin:data`
554
+ */
555
+ readonly cache: Map<string, unknown>;
556
+ constructor(options?: CoreOptions);
557
+ init({
558
+ config: newConfig,
559
+ plugins: customPlugins
560
+ }: {
561
+ /**
562
+ * either the default export or all exports of config file.
563
+ */
564
+ config: Awaitable$1<Record<string, unknown>>;
565
+ plugins?: PluginOption$1;
566
+ }): Promise<void>;
567
+ getWorkspaces(): Map<string, Core>;
568
+ getOptions(): ResolvedCoreOptions;
569
+ getConfig(): ResolvedConfig;
570
+ /**
571
+ * The file path of compiled config file, the file may not exist (e.g. on Vite, or still compiling)
572
+ */
573
+ getCompiledConfigPath(): string;
574
+ getPlugins(workspace?: boolean): Plugin[];
575
+ getCollections(workspace?: boolean): Collection[];
576
+ getCollection(name: string): Collection | undefined;
577
+ getPluginContext(): PluginContext;
578
+ initServer(server: ServerContext): Promise<void>;
579
+ emit(emitOptions?: EmitOptions): Promise<EmitOutput>;
580
+ /**
581
+ * convert absolute path into a runtime path (relative to **runtime** cwd)
582
+ */
583
+ _toRuntimePath(absolutePath: string): string;
584
+ private buildConfig;
585
+ }
586
+ //#endregion
587
+ export { FileHandlerConfig as $, MDXCollectionConfig as A, withLoader as B, git as C, MetaTransformationContext as D, MetaCollectionHandler as E, CompilerOptions as F, Awaitable$1 as G, Pipe as H, Loader as I, GlobalConfig as J, CollectionWithHandler as K, LoaderInput as L, defineMDX as M, CompiledMDX as N, defineMeta as O, CompiledMDXData as P, FIleCollectionHandler as Q, LoaderOutput as R, VersionControlHandler as S, MetaCollectionConfig as T, asyncPipe as U, AsyncPipe as V, pipe as W, defineConfig as X, WorkspaceConfig as Y, ExtractedReference as Z, InitOptions as _, EmitEntry as a, VersionControlClient as b, Plugin as c, ResolvedConfig as d, initFileCollection as et, ResolvedCoreOptions as f, CollectionTypeInfo as g, CollectionHandlers as h, EmitContext as i, MDXCollectionHandler as j, MDXCollection as k, PluginContext as l, Collection as m, CoreOptions as n, JSONSchemaOptions as nt, EmitOptions as o, ServerContext as p, GetCollectionConfig as q, EmitCodeGeneratorContext as r, jsonSchema as rt, EmitOutput as s, Core as t, JSONSchemaHandler as tt, PluginOption$1 as u, createCollection as v, MetaCollection as w, VersionControlFileData as x, GitPluginOptions as y, WithLoaderConfig as z };
588
+ //# sourceMappingURL=core-CRWvbE7W.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-CRWvbE7W.d.ts","names":[],"sources":["../src/plugins/json-schema.ts","../src/collections/handlers/fs.ts","../src/collections/mdx/remark-postprocess.ts","../src/collections/mdx/remark-preprocess.ts","../src/config/index.ts","../src/types.ts","../src/utils/pipe.ts","../src/plugins/with-loader/index.ts","../src/collections/mdx/build-mdx.ts","../src/collections/mdx.ts","../src/collections/meta.ts","../src/plugins/git.ts","../src/collections/index.ts","../src/utils/code-generator.ts","../src/core.ts"],"sourcesContent":[],"mappings":"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"}