@hanzo/docs-mdx 14.2.5 → 14.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{config-DSrG5Dfc.js → adapter-DwaTu9dw.js} +39 -38
- package/dist/adapter-DwaTu9dw.js.map +1 -0
- package/dist/{build-GdAvxpd7.js → build-d7coQAP7.js} +2 -2
- package/dist/build-d7coQAP7.js.map +1 -0
- package/dist/{build-mdx-DyJk_jWV.d.ts → build-mdx-CaG9rsmy.d.ts} +7 -7
- package/dist/build-mdx-CaG9rsmy.d.ts.map +1 -0
- package/dist/{build-mdx-COY0QD1z.js → build-mdx-k6Y12VXb.js} +12 -4
- package/dist/build-mdx-k6Y12VXb.js.map +1 -0
- package/dist/bun/index.d.ts +1 -1
- package/dist/bun/index.d.ts.map +1 -1
- package/dist/bun/index.js +8 -8
- package/dist/bun/index.js.map +1 -1
- package/dist/{codegen-Dd9ILNOr.js → codegen-DzglA9tJ.js} +4 -4
- package/dist/codegen-DzglA9tJ.js.map +1 -0
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +3 -3
- package/dist/config/index.js.map +1 -1
- package/dist/{core-DOav5JBx.js → core-DFgQdyqL.js} +12 -12
- package/dist/core-DFgQdyqL.js.map +1 -0
- package/dist/{core-D2BJuXMW.d.ts → core-cnMNewUq.d.ts} +42 -81
- package/dist/core-cnMNewUq.d.ts.map +1 -0
- package/dist/{fuma-matter-DL-PfQJ7.js → frontmatter-DePDVaRD.js} +6 -6
- package/dist/frontmatter-DePDVaRD.js.map +1 -0
- package/dist/fs-cache-DjtD5cW9.js +31 -0
- package/dist/fs-cache-DjtD5cW9.js.map +1 -0
- package/dist/{index-Bc_4I1HE.d.ts → index-Jp-qanl0.d.ts} +1 -1
- package/dist/index-Jp-qanl0.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/{load-from-file-dsGIDpOc.js → load-from-file-C36LHYQZ.js} +5 -3
- package/dist/load-from-file-C36LHYQZ.js.map +1 -0
- package/dist/{loaders-Mp-ZCdLT.js → loaders-hcYVSfeh.js} +1 -1
- package/dist/{loaders-Mp-ZCdLT.js.map → loaders-hcYVSfeh.js.map} +1 -1
- package/dist/{mdx-CJaKR3FR.js → mdx-DbiNLrgs.js} +8 -8
- package/dist/mdx-DbiNLrgs.js.map +1 -0
- package/dist/{meta-CKrL1Sl9.js → meta-C3cm2Bl5.js} +5 -5
- package/dist/meta-C3cm2Bl5.js.map +1 -0
- package/dist/next/index.cjs +21 -20
- package/dist/next/index.d.ts +2 -1
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +8 -8
- package/dist/next/index.js.map +1 -1
- package/dist/node/loader.d.ts.map +1 -1
- package/dist/node/loader.js +6 -6
- package/dist/node/loader.js.map +1 -1
- package/dist/plugins/index-file.d.ts +31 -2
- package/dist/plugins/index-file.d.ts.map +1 -0
- package/dist/plugins/index-file.js +236 -4
- package/dist/plugins/index-file.js.map +1 -0
- package/dist/plugins/json-schema.d.ts +1 -1
- package/dist/plugins/json-schema.d.ts.map +1 -1
- package/dist/plugins/json-schema.js +1 -1
- package/dist/plugins/json-schema.js.map +1 -1
- package/dist/plugins/last-modified.d.ts +1 -1
- package/dist/plugins/last-modified.d.ts.map +1 -1
- package/dist/plugins/last-modified.js +5 -5
- package/dist/plugins/last-modified.js.map +1 -1
- package/dist/{preset-D_quDsKp.js → preset-B14ViDfq.js} +1 -1
- package/dist/{preset-D_quDsKp.js.map → preset-B14ViDfq.js.map} +1 -1
- package/dist/{remark-include-BbnDmUoc.js → remark-include-DfEJ3erI.js} +5 -5
- package/dist/remark-include-DfEJ3erI.js.map +1 -0
- package/dist/rolldown-runtime-CjeV3_4I.js +18 -0
- package/dist/runtime/browser.d.ts +8 -8
- package/dist/runtime/browser.d.ts.map +1 -1
- package/dist/runtime/browser.js +12 -14
- package/dist/runtime/browser.js.map +1 -1
- package/dist/runtime/dynamic.d.ts +4 -2
- package/dist/runtime/dynamic.d.ts.map +1 -1
- package/dist/runtime/dynamic.js +8 -8
- package/dist/runtime/dynamic.js.map +1 -1
- package/dist/runtime/server.d.ts +49 -2
- package/dist/runtime/server.d.ts.map +1 -0
- package/dist/runtime/server.js +6 -6
- package/dist/runtime/server.js.map +1 -1
- package/dist/runtime/types.d.ts +63 -2
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/vite/index.d.ts +4 -3
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +18 -19
- package/dist/vite/index.js.map +1 -1
- package/dist/webpack/mdx.d.ts +3 -2
- package/dist/webpack/mdx.d.ts.map +1 -1
- package/dist/webpack/mdx.js +6 -6
- package/dist/webpack/mdx.js.map +1 -1
- package/dist/webpack/meta.d.ts +3 -2
- package/dist/webpack/meta.d.ts.map +1 -1
- package/dist/webpack/meta.js +5 -5
- package/dist/webpack/meta.js.map +1 -1
- package/dist/{webpack-BHjsXgTD.js → webpack-Cc8dY43s.js} +2 -2
- package/dist/webpack-Cc8dY43s.js.map +1 -0
- package/package.json +36 -20
- package/dist/build-GdAvxpd7.js.map +0 -1
- package/dist/build-mdx-COY0QD1z.js.map +0 -1
- package/dist/build-mdx-DyJk_jWV.d.ts.map +0 -1
- package/dist/build-mdx-hB1gzgHy.js +0 -5
- package/dist/codegen-Dd9ILNOr.js.map +0 -1
- package/dist/config-DSrG5Dfc.js.map +0 -1
- package/dist/core-D2BJuXMW.d.ts.map +0 -1
- package/dist/core-DOav5JBx.js.map +0 -1
- package/dist/fuma-matter-DL-PfQJ7.js.map +0 -1
- package/dist/index-Bc_4I1HE.d.ts.map +0 -1
- package/dist/index-file-B3LmDGdu.js +0 -264
- package/dist/index-file-B3LmDGdu.js.map +0 -1
- package/dist/load-from-file-BoO9y-n6.js +0 -5
- package/dist/load-from-file-dsGIDpOc.js.map +0 -1
- package/dist/mdx-CJaKR3FR.js.map +0 -1
- package/dist/meta-CKrL1Sl9.js.map +0 -1
- package/dist/remark-include-BbnDmUoc.js.map +0 -1
- package/dist/types-CBMeukTI.d.ts +0 -63
- package/dist/types-CBMeukTI.d.ts.map +0 -1
- package/dist/webpack-BHjsXgTD.js.map +0 -1
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndexFilePlugin } from "./plugins/index-file.js";
|
|
2
|
+
import { z } from "zod";
|
|
2
3
|
import { Pluggable, Processor, Transformer } from "unified";
|
|
3
4
|
import * as Plugins from "@hanzo/docs-core/mdx-plugins";
|
|
4
5
|
import { VFile } from "vfile";
|
|
5
6
|
import { ProcessorOptions } from "@mdx-js/mdx";
|
|
6
7
|
import { FSWatcher } from "chokidar";
|
|
7
8
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
8
|
-
import { metaSchema, metaSchema as metaSchema$1, pageSchema, pageSchema as frontmatterSchema } from "@hanzo/docs-core/source/schema";
|
|
9
9
|
import { Root } from "mdast";
|
|
10
|
-
import { MetaData, PageData, Source } from "@hanzo/docs-core/source";
|
|
11
10
|
|
|
12
11
|
//#region src/config/preset.d.ts
|
|
13
12
|
type ResolvePlugins = Pluggable[] | ((v: Pluggable[]) => Pluggable[]);
|
|
@@ -35,6 +34,30 @@ type MDXPresetOptions = ({
|
|
|
35
34
|
*/
|
|
36
35
|
declare function applyMdxPreset(options?: MDXPresetOptions): (environment: BuildEnvironment) => Promise<ProcessorOptions>;
|
|
37
36
|
//#endregion
|
|
37
|
+
//#region ../core/dist/source/schema.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* Zod 4 schema
|
|
40
|
+
*/
|
|
41
|
+
declare const metaSchema: z.ZodObject<{
|
|
42
|
+
title: z.ZodOptional<z.ZodString>;
|
|
43
|
+
pages: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
44
|
+
description: z.ZodOptional<z.ZodString>;
|
|
45
|
+
root: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
defaultOpen: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
/**
|
|
51
|
+
* Zod 4 schema
|
|
52
|
+
*/
|
|
53
|
+
declare const pageSchema: z.ZodObject<{
|
|
54
|
+
title: z.ZodString;
|
|
55
|
+
description: z.ZodOptional<z.ZodString>;
|
|
56
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
57
|
+
full: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
+
_openapi: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
//#endregion
|
|
38
61
|
//#region src/loaders/mdx/remark-postprocess.d.ts
|
|
39
62
|
interface ExtractedReference {
|
|
40
63
|
href: string;
|
|
@@ -48,7 +71,12 @@ interface PostprocessOptions {
|
|
|
48
71
|
/**
|
|
49
72
|
* stringify MDAST and export via `_markdown`.
|
|
50
73
|
*/
|
|
51
|
-
includeProcessedMarkdown?: boolean
|
|
74
|
+
includeProcessedMarkdown?: boolean | {
|
|
75
|
+
/**
|
|
76
|
+
* include heading IDs into the processed markdown.
|
|
77
|
+
*/
|
|
78
|
+
headingIds?: boolean;
|
|
79
|
+
};
|
|
52
80
|
/**
|
|
53
81
|
* extract link references, export via `extractedReferences`.
|
|
54
82
|
*/
|
|
@@ -62,7 +90,7 @@ interface PostprocessOptions {
|
|
|
62
90
|
}
|
|
63
91
|
//#endregion
|
|
64
92
|
//#region src/config/define.d.ts
|
|
65
|
-
type CollectionSchema<Schema
|
|
93
|
+
type CollectionSchema<Schema extends StandardSchemaV1, Context> = Schema | ((ctx: Context) => Schema);
|
|
66
94
|
type AnyCollection = DocsCollection | DocCollection | MetaCollection;
|
|
67
95
|
interface BaseCollection {
|
|
68
96
|
/**
|
|
@@ -76,14 +104,14 @@ interface BaseCollection {
|
|
|
76
104
|
*/
|
|
77
105
|
files?: string[];
|
|
78
106
|
}
|
|
79
|
-
interface MetaCollection<Schema
|
|
107
|
+
interface MetaCollection<Schema extends StandardSchemaV1 = StandardSchemaV1> extends BaseCollection {
|
|
80
108
|
type: 'meta';
|
|
81
|
-
schema?: CollectionSchema<Schema
|
|
109
|
+
schema?: CollectionSchema<Schema, {
|
|
82
110
|
path: string;
|
|
83
111
|
source: string;
|
|
84
112
|
}>;
|
|
85
113
|
}
|
|
86
|
-
interface DocCollection<Schema
|
|
114
|
+
interface DocCollection<Schema extends StandardSchemaV1 = StandardSchemaV1> extends BaseCollection {
|
|
87
115
|
type: 'doc';
|
|
88
116
|
postprocess?: Partial<PostprocessOptions>;
|
|
89
117
|
mdxOptions?: ProcessorOptions | ((environment: BuildEnvironment) => Promise<ProcessorOptions>);
|
|
@@ -95,7 +123,7 @@ interface DocCollection<Schema$1 extends StandardSchemaV1 = StandardSchemaV1> ex
|
|
|
95
123
|
* Compile files on-demand
|
|
96
124
|
*/
|
|
97
125
|
dynamic?: boolean;
|
|
98
|
-
schema?: CollectionSchema<Schema
|
|
126
|
+
schema?: CollectionSchema<Schema, {
|
|
99
127
|
path: string;
|
|
100
128
|
source: string;
|
|
101
129
|
}>;
|
|
@@ -123,8 +151,8 @@ interface GlobalConfig {
|
|
|
123
151
|
*/
|
|
124
152
|
experimentalBuildCache?: string;
|
|
125
153
|
}
|
|
126
|
-
declare function defineCollections<Schema
|
|
127
|
-
declare function defineCollections<Schema
|
|
154
|
+
declare function defineCollections<Schema extends StandardSchemaV1 = StandardSchemaV1>(options: DocCollection<Schema>): DocCollection<Schema>;
|
|
155
|
+
declare function defineCollections<Schema extends StandardSchemaV1 = StandardSchemaV1>(options: MetaCollection<Schema>): MetaCollection<Schema>;
|
|
128
156
|
declare function defineDocs<DocSchema extends StandardSchemaV1 = typeof pageSchema, MetaSchema extends StandardSchemaV1 = typeof metaSchema>(options: {
|
|
129
157
|
/**
|
|
130
158
|
* The content directory to scan files
|
|
@@ -170,73 +198,6 @@ interface DocsCollectionItem extends Omit<DocsCollection, 'dir' | 'meta' | 'docs
|
|
|
170
198
|
//#region src/loaders/mdx/remark-include.d.ts
|
|
171
199
|
declare function remarkInclude(this: Processor): Transformer<Root, Root>;
|
|
172
200
|
//#endregion
|
|
173
|
-
//#region src/runtime/server.d.ts
|
|
174
|
-
type MetaCollectionEntry<Data> = Data & MetaMethods;
|
|
175
|
-
type DocCollectionEntry<Name extends string = string, Frontmatter = unknown, TC extends InternalTypeConfig = InternalTypeConfig> = DocData & DocMethods & Frontmatter & TC['DocData'][Name];
|
|
176
|
-
type AsyncDocCollectionEntry<Name extends string = string, Frontmatter = unknown, TC extends InternalTypeConfig = InternalTypeConfig> = {
|
|
177
|
-
load: () => Promise<DocData & TC['DocData'][Name]>;
|
|
178
|
-
} & DocMethods & Frontmatter;
|
|
179
|
-
interface DocsCollectionEntry<Name extends string = string, Frontmatter extends PageData = PageData, Meta$1 extends MetaData = MetaData, TC extends InternalTypeConfig = InternalTypeConfig> {
|
|
180
|
-
docs: DocCollectionEntry<Name, Frontmatter, TC>[];
|
|
181
|
-
meta: MetaCollectionEntry<Meta$1>[];
|
|
182
|
-
toFumadocsSource: () => Source<{
|
|
183
|
-
pageData: DocCollectionEntry<Name, Frontmatter, TC>;
|
|
184
|
-
metaData: MetaCollectionEntry<Meta$1>;
|
|
185
|
-
}>;
|
|
186
|
-
}
|
|
187
|
-
interface AsyncDocsCollectionEntry<Name extends string = string, Frontmatter extends PageData = PageData, Meta$1 extends MetaData = MetaData, TC extends InternalTypeConfig = InternalTypeConfig> {
|
|
188
|
-
docs: AsyncDocCollectionEntry<Name, Frontmatter, TC>[];
|
|
189
|
-
meta: MetaCollectionEntry<Meta$1>[];
|
|
190
|
-
toFumadocsSource: () => Source<{
|
|
191
|
-
pageData: AsyncDocCollectionEntry<Name, Frontmatter, TC>;
|
|
192
|
-
metaData: MetaCollectionEntry<Meta$1>;
|
|
193
|
-
}>;
|
|
194
|
-
}
|
|
195
|
-
type AwaitableGlobEntries<T> = Record<string, T | (() => Promise<T>)>;
|
|
196
|
-
type ServerCreate<Config, TC extends InternalTypeConfig = InternalTypeConfig> = ReturnType<typeof server<Config, TC>>;
|
|
197
|
-
interface ServerOptions {
|
|
198
|
-
doc?: {
|
|
199
|
-
passthroughs?: string[];
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
declare function server<Config, TC extends InternalTypeConfig>(options?: ServerOptions): {
|
|
203
|
-
doc<Name extends keyof Config & string>(_name: Name, base: string, glob: AwaitableGlobEntries<unknown>): Promise<Config[Name] extends DocCollection<infer Schema extends StandardSchemaV1<unknown, unknown>> | DocsCollection<infer Schema extends StandardSchemaV1<unknown, unknown>, StandardSchemaV1<unknown, unknown>> ? DocCollectionEntry<Name, StandardSchemaV1.InferOutput<Schema>, TC>[] : never>;
|
|
204
|
-
docLazy<Name extends keyof Config & string>(_name: Name, base: string, head: AwaitableGlobEntries<unknown>, body: Record<string, () => Promise<unknown>>): Promise<Config[Name] extends DocCollection<infer Schema extends StandardSchemaV1<unknown, unknown>> | DocsCollection<infer Schema extends StandardSchemaV1<unknown, unknown>, StandardSchemaV1<unknown, unknown>> ? AsyncDocCollectionEntry<Name, StandardSchemaV1.InferOutput<Schema>, TC>[] : never>;
|
|
205
|
-
meta<Name extends keyof Config & string>(_name: Name, base: string, glob: AwaitableGlobEntries<unknown>): Promise<Config[Name] extends MetaCollection<infer Schema extends StandardSchemaV1<unknown, unknown>> | DocsCollection<StandardSchemaV1<unknown, unknown>, infer Schema extends StandardSchemaV1<unknown, unknown>> ? MetaCollectionEntry<StandardSchemaV1.InferOutput<Schema>>[] : never>;
|
|
206
|
-
docs<Name extends keyof Config & string>(name: Name, base: string, metaGlob: AwaitableGlobEntries<unknown>, docGlob: AwaitableGlobEntries<unknown>): Promise<Config[Name] extends DocsCollection<infer Page extends StandardSchemaV1<unknown, unknown>, infer Meta extends StandardSchemaV1<unknown, unknown>> ? StandardSchemaV1.InferOutput<Page> extends PageData ? StandardSchemaV1.InferOutput<Meta> extends MetaData ? DocsCollectionEntry<Name, StandardSchemaV1.InferOutput<Page>, StandardSchemaV1.InferOutput<Meta>, TC> : never : never : never>;
|
|
207
|
-
docsLazy<Name extends keyof Config & string>(name: Name, base: string, metaGlob: AwaitableGlobEntries<unknown>, docHeadGlob: AwaitableGlobEntries<unknown>, docBodyGlob: Record<string, () => Promise<unknown>>): Promise<Config[Name] extends DocsCollection<infer Page extends StandardSchemaV1<unknown, unknown>, infer Meta extends StandardSchemaV1<unknown, unknown>> ? StandardSchemaV1.InferOutput<Page> extends PageData ? StandardSchemaV1.InferOutput<Meta> extends MetaData ? AsyncDocsCollectionEntry<Name, StandardSchemaV1.InferOutput<Page>, StandardSchemaV1.InferOutput<Meta>, TC> : never : never : never>;
|
|
208
|
-
};
|
|
209
|
-
declare function toFumadocsSource<Page$1 extends DocMethods & PageData, Meta$1 extends MetaMethods & MetaData>(pages: Page$1[], metas: Meta$1[]): Source<{
|
|
210
|
-
pageData: Page$1;
|
|
211
|
-
metaData: Meta$1;
|
|
212
|
-
}>;
|
|
213
|
-
//#endregion
|
|
214
|
-
//#region src/plugins/index-file.d.ts
|
|
215
|
-
interface IndexFilePluginOptions {
|
|
216
|
-
target?: 'default' | 'vite';
|
|
217
|
-
/**
|
|
218
|
-
* add `.js` extensions to imports, needed for ESM without bundler resolution
|
|
219
|
-
*/
|
|
220
|
-
addJsExtension?: boolean;
|
|
221
|
-
/**
|
|
222
|
-
* Generate entry point for browser
|
|
223
|
-
* @defaultValue true
|
|
224
|
-
*/
|
|
225
|
-
browser?: boolean;
|
|
226
|
-
/**
|
|
227
|
-
* Generate entry point for dynamic compilation
|
|
228
|
-
* @defaultValue true
|
|
229
|
-
*/
|
|
230
|
-
dynamic?: boolean;
|
|
231
|
-
}
|
|
232
|
-
interface IndexFilePlugin {
|
|
233
|
-
['index-file']?: {
|
|
234
|
-
generateTypeConfig?: (this: PluginContext) => string | void;
|
|
235
|
-
serverOptions?: (this: PluginContext, options: ServerOptions) => void;
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
declare function indexFile(options?: IndexFilePluginOptions): Plugin;
|
|
239
|
-
//#endregion
|
|
240
201
|
//#region src/core.d.ts
|
|
241
202
|
type Awaitable<T> = T | Promise<T>;
|
|
242
203
|
interface EmitEntry {
|
|
@@ -266,7 +227,7 @@ interface Plugin extends IndexFilePlugin {
|
|
|
266
227
|
*/
|
|
267
228
|
emit?: (this: PluginContext) => Awaitable<EmitEntry[]>;
|
|
268
229
|
/**
|
|
269
|
-
* Configure
|
|
230
|
+
* Configure Hanzo Docs dev server
|
|
270
231
|
*/
|
|
271
232
|
configureServer?: (this: PluginContext, server: ServerContext) => Awaitable<void>;
|
|
272
233
|
meta?: {
|
|
@@ -360,5 +321,5 @@ declare function createCore(options: CoreOptions): {
|
|
|
360
321
|
};
|
|
361
322
|
type Core = ReturnType<typeof createCore>;
|
|
362
323
|
//#endregion
|
|
363
|
-
export {
|
|
364
|
-
//# sourceMappingURL=core-
|
|
324
|
+
export { MDXPresetOptions as A, defineConfig as C, metaSchema as D, PostprocessOptions as E, pageSchema as O, defineCollections as S, ExtractedReference as T, CollectionSchema as _, EmitOptions as a, GlobalConfig as b, PluginContext as c, TransformOptions as d, _Defaults as f, BaseCollection as g, AnyCollection as h, EmitEntry as i, applyMdxPreset as j, DefaultMDXOptions as k, PluginOption as l, remarkInclude as m, Core as n, EmitOutput as o, createCore as p, CoreOptions as r, Plugin as s, CompilationContext as t, ServerContext as u, DocCollection as v, defineDocs as w, MetaCollection as x, DocsCollection as y };
|
|
325
|
+
//# sourceMappingURL=core-cnMNewUq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-cnMNewUq.d.ts","names":[],"sources":["../src/config/preset.ts","../../core/dist/source/schema.js","../src/loaders/mdx/remark-postprocess.ts","../src/config/define.ts","../src/config/build.ts","../src/loaders/mdx/remark-include.ts","../src/core.ts"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { load } from "js-yaml";
|
|
2
2
|
|
|
3
|
-
//#region src/utils/
|
|
3
|
+
//#region src/utils/frontmatter.ts
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Frontmatter parser - inspired by gray-matter
|
|
6
6
|
*/
|
|
7
7
|
const regex = /^---\r?\n(.+?)\r?\n---\r?\n?/s;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Parse YAML frontmatter from markdown content
|
|
10
10
|
*/
|
|
11
|
-
function
|
|
11
|
+
function parseFrontmatter(input) {
|
|
12
12
|
const output = {
|
|
13
13
|
matter: "",
|
|
14
14
|
data: {},
|
|
@@ -23,5 +23,5 @@ function fumaMatter(input) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
//#endregion
|
|
26
|
-
export {
|
|
27
|
-
//# sourceMappingURL=
|
|
26
|
+
export { parseFrontmatter as t };
|
|
27
|
+
//# sourceMappingURL=frontmatter-DePDVaRD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter-DePDVaRD.js","names":[],"sources":["../src/utils/frontmatter.ts"],"sourcesContent":["/**\n * Frontmatter parser - inspired by gray-matter\n */\nimport { load } from 'js-yaml';\n\ninterface FrontmatterOutput {\n /**\n * The frontmatter section, including the delimiter.\n */\n matter: string;\n content: string;\n data: unknown;\n}\n\nconst regex = /^---\\r?\\n(.+?)\\r?\\n---\\r?\\n?/s;\n\n/**\n * Parse YAML frontmatter from markdown content\n */\nexport function parseFrontmatter(input: string): FrontmatterOutput {\n const output: FrontmatterOutput = { matter: '', data: {}, content: input };\n const match = regex.exec(input);\n if (!match) {\n return output;\n }\n\n // get the raw front-matter block\n output.matter = match[0];\n output.content = input.slice(match[0].length);\n\n const loaded = load(match[1]);\n output.data = loaded ?? {};\n\n return output;\n}\n"],"mappings":";;;;;;AAcA,MAAM,QAAQ;;;;AAKd,SAAgB,iBAAiB,OAAkC;CACjE,MAAM,SAA4B;EAAE,QAAQ;EAAI,MAAM,EAAE;EAAE,SAAS;EAAO;CAC1E,MAAM,QAAQ,MAAM,KAAK,MAAM;AAC/B,KAAI,CAAC,MACH,QAAO;AAIT,QAAO,SAAS,MAAM;AACtB,QAAO,UAAU,MAAM,MAAM,MAAM,GAAG,OAAO;AAG7C,QAAO,OADQ,KAAK,MAAM,GAAG,IACL,EAAE;AAE1B,QAAO"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/fs-cache.ts
|
|
5
|
+
const map = /* @__PURE__ */ new Map();
|
|
6
|
+
function createFSCache() {
|
|
7
|
+
return {
|
|
8
|
+
read(file) {
|
|
9
|
+
const fullPath = toFullPath(file);
|
|
10
|
+
const cached = map.get(fullPath);
|
|
11
|
+
if (cached) return cached;
|
|
12
|
+
const read = fs.readFile(fullPath).then((s) => s.toString());
|
|
13
|
+
map.set(fullPath, read);
|
|
14
|
+
return read;
|
|
15
|
+
},
|
|
16
|
+
delete(file) {
|
|
17
|
+
map.delete(toFullPath(file));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* make file paths relative to cwd
|
|
23
|
+
*/
|
|
24
|
+
function toFullPath(file) {
|
|
25
|
+
if (path.isAbsolute(file)) return path.relative(process.cwd(), file);
|
|
26
|
+
return file;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { createFSCache as t };
|
|
31
|
+
//# sourceMappingURL=fs-cache-DjtD5cW9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-cache-DjtD5cW9.js","names":[],"sources":["../src/utils/fs-cache.ts"],"sourcesContent":["import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nconst map = new Map<string, Promise<string>>();\n\nexport function createFSCache() {\n return {\n read(file: string): Promise<string> {\n const fullPath = toFullPath(file);\n const cached = map.get(fullPath);\n if (cached) return cached;\n\n const read = fs.readFile(fullPath).then((s) => s.toString());\n map.set(fullPath, read);\n return read;\n },\n\n delete(file: string) {\n map.delete(toFullPath(file));\n },\n };\n}\n\n/**\n * make file paths relative to cwd\n */\nfunction toFullPath(file: string) {\n if (path.isAbsolute(file)) {\n return path.relative(process.cwd(), file);\n }\n\n return file;\n}\n"],"mappings":";;;;AAGA,MAAM,sBAAM,IAAI,KAA8B;AAE9C,SAAgB,gBAAgB;AAC9B,QAAO;EACL,KAAK,MAA+B;GAClC,MAAM,WAAW,WAAW,KAAK;GACjC,MAAM,SAAS,IAAI,IAAI,SAAS;AAChC,OAAI,OAAQ,QAAO;GAEnB,MAAM,OAAO,GAAG,SAAS,SAAS,CAAC,MAAM,MAAM,EAAE,UAAU,CAAC;AAC5D,OAAI,IAAI,UAAU,KAAK;AACvB,UAAO;;EAGT,OAAO,MAAc;AACnB,OAAI,OAAO,WAAW,KAAK,CAAC;;EAE/B;;;;;AAMH,SAAS,WAAW,MAAc;AAChC,KAAI,KAAK,WAAW,KAAK,CACvB,QAAO,KAAK,SAAS,QAAQ,KAAK,EAAE,KAAK;AAG3C,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Jp-qanl0.d.ts","names":[],"sources":["../src/webpack/index.ts"],"mappings":";;;UAEiB,oBAAA;EACf,0BAAA;EACA,UAAA;EACA,MAAA;EACA,KAAA;AAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as EmitOptions, c as PluginContext, d as TransformOptions, f as _Defaults, i as EmitEntry, l as PluginOption, n as Core, o as EmitOutput, p as createCore, r as CoreOptions, s as Plugin, t as CompilationContext, u as ServerContext
|
|
2
|
-
import { t as CompiledMDXProperties } from "./build-mdx-
|
|
1
|
+
import { T as ExtractedReference, a as EmitOptions, c as PluginContext, d as TransformOptions, f as _Defaults, i as EmitEntry, l as PluginOption, n as Core, o as EmitOutput, p as createCore, r as CoreOptions, s as Plugin, t as CompilationContext, u as ServerContext } from "./core-cnMNewUq.js";
|
|
2
|
+
import { t as CompiledMDXProperties } from "./build-mdx-CaG9rsmy.js";
|
|
3
3
|
export { CompilationContext, type CompiledMDXProperties, Core, CoreOptions, EmitEntry, EmitOptions, EmitOutput, type ExtractedReference, Plugin, PluginContext, PluginOption, ServerContext, TransformOptions, _Defaults, createCore };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { t as
|
|
1
|
+
import { t as __exportAll } from "./rolldown-runtime-CjeV3_4I.js";
|
|
2
|
+
import { t as buildConfig } from "./build-d7coQAP7.js";
|
|
2
3
|
import { pathToFileURL } from "node:url";
|
|
3
4
|
|
|
4
5
|
//#region src/config/load-from-file.ts
|
|
6
|
+
var load_from_file_exports = /* @__PURE__ */ __exportAll({ loadConfig: () => loadConfig });
|
|
5
7
|
async function compileConfig(core) {
|
|
6
8
|
const { build } = await import("esbuild");
|
|
7
9
|
const { configPath, outDir } = core.getOptions();
|
|
@@ -34,5 +36,5 @@ async function loadConfig(core, build = false) {
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
//#endregion
|
|
37
|
-
export { loadConfig as t };
|
|
38
|
-
//# sourceMappingURL=load-from-file-
|
|
39
|
+
export { load_from_file_exports as n, loadConfig as t };
|
|
40
|
+
//# sourceMappingURL=load-from-file-C36LHYQZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-from-file-C36LHYQZ.js","names":[],"sources":["../src/config/load-from-file.ts"],"sourcesContent":["import { pathToFileURL } from 'node:url';\nimport type { LoadedConfig } from './build';\nimport { buildConfig } from './build';\nimport type { Core } from '../core';\n\nasync function compileConfig(core: Core) {\n const { build } = await import('esbuild');\n const { configPath, outDir } = core.getOptions();\n\n const transformed = await build({\n entryPoints: [{ in: configPath, out: 'source.config' }],\n bundle: true,\n outdir: outDir,\n target: 'node20',\n write: true,\n platform: 'node',\n format: 'esm',\n packages: 'external',\n outExtension: {\n '.js': '.mjs',\n },\n allowOverwrite: true,\n });\n\n if (transformed.errors.length > 0) {\n throw new Error('failed to compile configuration file');\n }\n}\n\n/**\n * Load config\n *\n * @param build - By default, it assumes the config file has been compiled. Set this `true` to compile the config first.\n */\nexport async function loadConfig(core: Core, build = false): Promise<LoadedConfig> {\n if (build) await compileConfig(core);\n\n const url = pathToFileURL(core.getCompiledConfigPath());\n // always return a new config\n url.searchParams.set('hash', Date.now().toString());\n\n const config = import(url.href).then((loaded) => buildConfig(loaded as Record<string, unknown>));\n\n return await config;\n}\n"],"mappings":";;;;;;AAKA,eAAe,cAAc,MAAY;CACvC,MAAM,EAAE,UAAU,MAAM,OAAO;CAC/B,MAAM,EAAE,YAAY,WAAW,KAAK,YAAY;AAiBhD,MAfoB,MAAM,MAAM;EAC9B,aAAa,CAAC;GAAE,IAAI;GAAY,KAAK;GAAiB,CAAC;EACvD,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,UAAU;EACV,QAAQ;EACR,UAAU;EACV,cAAc,EACZ,OAAO,QACR;EACD,gBAAgB;EACjB,CAAC,EAEc,OAAO,SAAS,EAC9B,OAAM,IAAI,MAAM,uCAAuC;;;;;;;AAS3D,eAAsB,WAAW,MAAY,QAAQ,OAA8B;AACjF,KAAI,MAAO,OAAM,cAAc,KAAK;CAEpC,MAAM,MAAM,cAAc,KAAK,uBAAuB,CAAC;AAEvD,KAAI,aAAa,IAAI,QAAQ,KAAK,KAAK,CAAC,UAAU,CAAC;AAInD,QAAO,MAFQ,OAAO,IAAI,MAAM,MAAM,WAAW,YAAY,OAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders-
|
|
1
|
+
{"version":3,"file":"loaders-hcYVSfeh.js","names":[],"sources":["../src/loaders/index.ts"],"sourcesContent":["export const metaLoaderGlob = /\\.(json|yaml)(\\?.+?)?$/;\nexport const mdxLoaderGlob = /\\.mdx?(\\?.+?)?$/;\n"],"mappings":";AAAA,MAAa,iBAAiB;AAC9B,MAAa,gBAAgB"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { t as mdxLoaderGlob } from "./loaders-
|
|
1
|
+
import { t as parseFrontmatter } from "./frontmatter-DePDVaRD.js";
|
|
2
|
+
import { t as mdxLoaderGlob } from "./loaders-hcYVSfeh.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import path from "node:path";
|
|
5
4
|
import fs from "node:fs/promises";
|
|
5
|
+
import path from "node:path";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
|
|
8
8
|
//#region src/loaders/mdx/index.ts
|
|
9
|
-
const querySchema = z.
|
|
9
|
+
const querySchema = z.looseObject({
|
|
10
10
|
only: z.literal(["frontmatter", "all"]).default("all"),
|
|
11
11
|
collection: z.string().optional(),
|
|
12
12
|
workspace: z.string().optional()
|
|
13
|
-
})
|
|
13
|
+
});
|
|
14
14
|
const cacheEntry = z.object({
|
|
15
15
|
code: z.string(),
|
|
16
16
|
map: z.any().optional(),
|
|
@@ -22,7 +22,7 @@ function createMdxLoader({ getCore }) {
|
|
|
22
22
|
async load({ getSource, development: isDevelopment, query, compiler, filePath }) {
|
|
23
23
|
let core = await getCore();
|
|
24
24
|
const value = await getSource();
|
|
25
|
-
const matter =
|
|
25
|
+
const matter = parseFrontmatter(value);
|
|
26
26
|
const { collection: collectionName, workspace, only } = querySchema.parse(query);
|
|
27
27
|
if (workspace) core = core.getWorkspaces().get(workspace) ?? core;
|
|
28
28
|
let after;
|
|
@@ -59,7 +59,7 @@ function createMdxLoader({ getCore }) {
|
|
|
59
59
|
code: `export const frontmatter = ${JSON.stringify(matter.data)}`,
|
|
60
60
|
map: null
|
|
61
61
|
};
|
|
62
|
-
const { buildMDX } = await import("./build-mdx-
|
|
62
|
+
const { buildMDX } = await import("./build-mdx-k6Y12VXb.js").then((n) => n.n);
|
|
63
63
|
const compiled = await buildMDX(core, docCollection, {
|
|
64
64
|
isDevelopment,
|
|
65
65
|
source: "\n".repeat(countLines(matter.matter)) + matter.content,
|
|
@@ -88,4 +88,4 @@ function countLines(s) {
|
|
|
88
88
|
|
|
89
89
|
//#endregion
|
|
90
90
|
export { createMdxLoader as t };
|
|
91
|
-
//# sourceMappingURL=mdx-
|
|
91
|
+
//# sourceMappingURL=mdx-DbiNLrgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx-DbiNLrgs.js","names":[],"sources":["../src/loaders/mdx/index.ts"],"sourcesContent":["import { parseFrontmatter } from '../../utils/frontmatter';\nimport type { Loader } from '../adapter';\nimport { z } from 'zod';\nimport type { DocCollectionItem } from '../../config/build';\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport { createHash } from 'node:crypto';\nimport type { ConfigLoader } from '../config';\nimport { mdxLoaderGlob } from '..';\n\nconst querySchema = z.looseObject({\n only: z.literal(['frontmatter', 'all']).default('all'),\n collection: z.string().optional(),\n workspace: z.string().optional(),\n});\n\nconst cacheEntry = z.object({\n code: z.string(),\n map: z.any().optional(),\n hash: z.string().optional(),\n});\n\ntype CacheEntry = z.infer<typeof cacheEntry>;\n\nexport function createMdxLoader({ getCore }: ConfigLoader): Loader {\n return {\n test: mdxLoaderGlob,\n async load({ getSource, development: isDevelopment, query, compiler, filePath }) {\n let core = await getCore();\n const value = await getSource();\n const matter = parseFrontmatter(value);\n const { collection: collectionName, workspace, only } = querySchema.parse(query);\n if (workspace) {\n core = core.getWorkspaces().get(workspace) ?? core;\n }\n\n let after: (() => Promise<void>) | undefined;\n\n const { experimentalBuildCache = false } = core.getConfig().global;\n if (!isDevelopment && experimentalBuildCache) {\n const cacheDir = experimentalBuildCache;\n const cacheKey = `${collectionName ?? 'global'}_${generateCacheHash(filePath)}`;\n\n const cached = await fs\n .readFile(path.join(cacheDir, cacheKey))\n .then((content) => cacheEntry.parse(JSON.parse(content.toString())))\n .catch(() => null);\n\n if (cached && cached.hash === generateCacheHash(value)) return cached;\n after = async () => {\n await fs.mkdir(cacheDir, { recursive: true });\n await fs.writeFile(\n path.join(cacheDir, cacheKey),\n JSON.stringify({\n ...out,\n hash: generateCacheHash(value),\n } satisfies CacheEntry),\n );\n };\n }\n\n const collection = collectionName ? core.getCollection(collectionName) : undefined;\n\n let docCollection: DocCollectionItem | undefined;\n switch (collection?.type) {\n case 'doc':\n docCollection = collection;\n break;\n case 'docs':\n docCollection = collection.docs;\n break;\n }\n\n if (docCollection) {\n matter.data = await core.transformFrontmatter(\n { collection: docCollection, filePath, source: value },\n matter.data as Record<string, unknown>,\n );\n }\n\n if (only === 'frontmatter') {\n return {\n code: `export const frontmatter = ${JSON.stringify(matter.data)}`,\n map: null,\n };\n }\n\n const { buildMDX } = await import('./build-mdx');\n const compiled = await buildMDX(core, docCollection, {\n isDevelopment,\n // ensure the line number is correct in errors\n source: '\\n'.repeat(countLines(matter.matter)) + matter.content,\n filePath,\n frontmatter: matter.data as Record<string, unknown>,\n _compiler: compiler,\n environment: 'bundler',\n });\n\n const out = {\n code: String(compiled.value),\n map: compiled.map,\n };\n\n await after?.();\n return out;\n },\n };\n}\n\nfunction generateCacheHash(input: string): string {\n return createHash('md5').update(input).digest('hex');\n}\n\nfunction countLines(s: string) {\n let num = 0;\n\n for (const c of s) {\n if (c === '\\n') num++;\n }\n\n return num;\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,cAAc,EAAE,YAAY;CAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,MAAM,CAAC,CAAC,QAAQ,MAAM;CACtD,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC;AAEF,MAAM,aAAa,EAAE,OAAO;CAC1B,MAAM,EAAE,QAAQ;CAChB,KAAK,EAAE,KAAK,CAAC,UAAU;CACvB,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC5B,CAAC;AAIF,SAAgB,gBAAgB,EAAE,WAAiC;AACjE,QAAO;EACL,MAAM;EACN,MAAM,KAAK,EAAE,WAAW,aAAa,eAAe,OAAO,UAAU,YAAY;GAC/E,IAAI,OAAO,MAAM,SAAS;GAC1B,MAAM,QAAQ,MAAM,WAAW;GAC/B,MAAM,SAAS,iBAAiB,MAAM;GACtC,MAAM,EAAE,YAAY,gBAAgB,WAAW,SAAS,YAAY,MAAM,MAAM;AAChF,OAAI,UACF,QAAO,KAAK,eAAe,CAAC,IAAI,UAAU,IAAI;GAGhD,IAAI;GAEJ,MAAM,EAAE,yBAAyB,UAAU,KAAK,WAAW,CAAC;AAC5D,OAAI,CAAC,iBAAiB,wBAAwB;IAC5C,MAAM,WAAW;IACjB,MAAM,WAAW,GAAG,kBAAkB,SAAS,GAAG,kBAAkB,SAAS;IAE7E,MAAM,SAAS,MAAM,GAClB,SAAS,KAAK,KAAK,UAAU,SAAS,CAAC,CACvC,MAAM,YAAY,WAAW,MAAM,KAAK,MAAM,QAAQ,UAAU,CAAC,CAAC,CAAC,CACnE,YAAY,KAAK;AAEpB,QAAI,UAAU,OAAO,SAAS,kBAAkB,MAAM,CAAE,QAAO;AAC/D,YAAQ,YAAY;AAClB,WAAM,GAAG,MAAM,UAAU,EAAE,WAAW,MAAM,CAAC;AAC7C,WAAM,GAAG,UACP,KAAK,KAAK,UAAU,SAAS,EAC7B,KAAK,UAAU;MACb,GAAG;MACH,MAAM,kBAAkB,MAAM;MAC/B,CAAsB,CACxB;;;GAIL,MAAM,aAAa,iBAAiB,KAAK,cAAc,eAAe,GAAG;GAEzE,IAAI;AACJ,WAAQ,YAAY,MAApB;IACE,KAAK;AACH,qBAAgB;AAChB;IACF,KAAK;AACH,qBAAgB,WAAW;AAC3B;;AAGJ,OAAI,cACF,QAAO,OAAO,MAAM,KAAK,qBACvB;IAAE,YAAY;IAAe;IAAU,QAAQ;IAAO,EACtD,OAAO,KACR;AAGH,OAAI,SAAS,cACX,QAAO;IACL,MAAM,8BAA8B,KAAK,UAAU,OAAO,KAAK;IAC/D,KAAK;IACN;GAGH,MAAM,EAAE,aAAa,MAAM,OAAO;GAClC,MAAM,WAAW,MAAM,SAAS,MAAM,eAAe;IACnD;IAEA,QAAQ,KAAK,OAAO,WAAW,OAAO,OAAO,CAAC,GAAG,OAAO;IACxD;IACA,aAAa,OAAO;IACpB,WAAW;IACX,aAAa;IACd,CAAC;GAEF,MAAM,MAAM;IACV,MAAM,OAAO,SAAS,MAAM;IAC5B,KAAK,SAAS;IACf;AAED,SAAM,SAAS;AACf,UAAO;;EAEV;;AAGH,SAAS,kBAAkB,OAAuB;AAChD,QAAO,WAAW,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,MAAM;;AAGtD,SAAS,WAAW,GAAW;CAC7B,IAAI,MAAM;AAEV,MAAK,MAAM,KAAK,EACd,KAAI,MAAM,KAAM;AAGlB,QAAO"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { n as metaLoaderGlob } from "./loaders-
|
|
2
|
-
import { z } from "zod";
|
|
1
|
+
import { n as metaLoaderGlob } from "./loaders-hcYVSfeh.js";
|
|
3
2
|
import { load } from "js-yaml";
|
|
3
|
+
import { z } from "zod";
|
|
4
4
|
|
|
5
5
|
//#region src/loaders/meta.ts
|
|
6
|
-
const querySchema = z.
|
|
6
|
+
const querySchema = z.looseObject({
|
|
7
7
|
collection: z.string().optional(),
|
|
8
8
|
workspace: z.string().optional()
|
|
9
|
-
})
|
|
9
|
+
});
|
|
10
10
|
/**
|
|
11
11
|
* load meta files, fallback to bundler's built-in plugins when ?collection is unspecified.
|
|
12
12
|
*/
|
|
@@ -78,4 +78,4 @@ function createMetaLoader({ getCore }, resolve = {}) {
|
|
|
78
78
|
|
|
79
79
|
//#endregion
|
|
80
80
|
export { createMetaLoader as t };
|
|
81
|
-
//# sourceMappingURL=meta-
|
|
81
|
+
//# sourceMappingURL=meta-C3cm2Bl5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-C3cm2Bl5.js","names":[],"sources":["../src/loaders/meta.ts"],"sourcesContent":["import type { Loader, LoaderInput } from './adapter';\nimport type { ConfigLoader } from './config';\nimport { load } from 'js-yaml';\nimport { z } from 'zod';\nimport { metaLoaderGlob } from '.';\nimport type { MetaCollectionItem } from '../config/build';\n\nconst querySchema = z.looseObject({\n collection: z.string().optional(),\n workspace: z.string().optional(),\n});\n\n/**\n * load meta files, fallback to bundler's built-in plugins when ?collection is unspecified.\n */\nexport function createMetaLoader(\n { getCore }: ConfigLoader,\n resolve: {\n json?: 'json' | 'js';\n yaml?: 'js';\n } = {},\n): Loader {\n const { json: resolveJson = 'js' } = resolve;\n\n function parse(filePath: string, source: string) {\n try {\n if (filePath.endsWith('.json')) return JSON.parse(source);\n if (filePath.endsWith('.yaml')) return load(source);\n } catch (e) {\n throw new Error(`invalid data in ${filePath}`, { cause: e });\n }\n\n throw new Error('Unknown file type ' + filePath);\n }\n\n function onMeta(source: string, { filePath, query }: LoaderInput) {\n const parsed = querySchema.safeParse(query);\n if (!parsed.success || !parsed.data.collection) return null;\n const { collection: collectionName, workspace } = parsed.data;\n\n return async (): Promise<unknown> => {\n let core = await getCore();\n if (workspace) {\n core = core.getWorkspaces().get(workspace) ?? core;\n }\n\n const collection = core.getCollection(collectionName);\n let metaCollection: MetaCollectionItem | undefined;\n\n switch (collection?.type) {\n case 'meta':\n metaCollection = collection;\n break;\n case 'docs':\n metaCollection = collection.meta;\n break;\n }\n\n const data = parse(filePath, source);\n\n if (!metaCollection) return data;\n return core.transformMeta(\n {\n collection: metaCollection,\n filePath,\n source,\n },\n data,\n );\n };\n }\n\n return {\n test: metaLoaderGlob,\n async load(input) {\n const result = onMeta(await input.getSource(), input);\n if (result === null) return null;\n const data = await result();\n\n if (input.filePath.endsWith('.json')) {\n return {\n moduleType: resolveJson,\n code:\n resolveJson === 'json'\n ? JSON.stringify(data)\n : `export default ${JSON.stringify(data)}`,\n };\n } else {\n return {\n moduleType: 'js',\n code: `export default ${JSON.stringify(data)}`,\n };\n }\n },\n bun: {\n load(source, input) {\n const result = onMeta(source, input);\n if (result === null)\n return {\n loader: 'object',\n exports: parse(input.filePath, source),\n };\n\n return result().then((data) => ({\n loader: 'object',\n exports: { default: data },\n }));\n },\n },\n };\n}\n"],"mappings":";;;;;AAOA,MAAM,cAAc,EAAE,YAAY;CAChC,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,WAAW,EAAE,QAAQ,CAAC,UAAU;CACjC,CAAC;;;;AAKF,SAAgB,iBACd,EAAE,WACF,UAGI,EAAE,EACE;CACR,MAAM,EAAE,MAAM,cAAc,SAAS;CAErC,SAAS,MAAM,UAAkB,QAAgB;AAC/C,MAAI;AACF,OAAI,SAAS,SAAS,QAAQ,CAAE,QAAO,KAAK,MAAM,OAAO;AACzD,OAAI,SAAS,SAAS,QAAQ,CAAE,QAAO,KAAK,OAAO;WAC5C,GAAG;AACV,SAAM,IAAI,MAAM,mBAAmB,YAAY,EAAE,OAAO,GAAG,CAAC;;AAG9D,QAAM,IAAI,MAAM,uBAAuB,SAAS;;CAGlD,SAAS,OAAO,QAAgB,EAAE,UAAU,SAAsB;EAChE,MAAM,SAAS,YAAY,UAAU,MAAM;AAC3C,MAAI,CAAC,OAAO,WAAW,CAAC,OAAO,KAAK,WAAY,QAAO;EACvD,MAAM,EAAE,YAAY,gBAAgB,cAAc,OAAO;AAEzD,SAAO,YAA8B;GACnC,IAAI,OAAO,MAAM,SAAS;AAC1B,OAAI,UACF,QAAO,KAAK,eAAe,CAAC,IAAI,UAAU,IAAI;GAGhD,MAAM,aAAa,KAAK,cAAc,eAAe;GACrD,IAAI;AAEJ,WAAQ,YAAY,MAApB;IACE,KAAK;AACH,sBAAiB;AACjB;IACF,KAAK;AACH,sBAAiB,WAAW;AAC5B;;GAGJ,MAAM,OAAO,MAAM,UAAU,OAAO;AAEpC,OAAI,CAAC,eAAgB,QAAO;AAC5B,UAAO,KAAK,cACV;IACE,YAAY;IACZ;IACA;IACD,EACD,KACD;;;AAIL,QAAO;EACL,MAAM;EACN,MAAM,KAAK,OAAO;GAChB,MAAM,SAAS,OAAO,MAAM,MAAM,WAAW,EAAE,MAAM;AACrD,OAAI,WAAW,KAAM,QAAO;GAC5B,MAAM,OAAO,MAAM,QAAQ;AAE3B,OAAI,MAAM,SAAS,SAAS,QAAQ,CAClC,QAAO;IACL,YAAY;IACZ,MACE,gBAAgB,SACZ,KAAK,UAAU,KAAK,GACpB,kBAAkB,KAAK,UAAU,KAAK;IAC7C;OAED,QAAO;IACL,YAAY;IACZ,MAAM,kBAAkB,KAAK,UAAU,KAAK;IAC7C;;EAGL,KAAK,EACH,KAAK,QAAQ,OAAO;GAClB,MAAM,SAAS,OAAO,QAAQ,MAAM;AACpC,OAAI,WAAW,KACb,QAAO;IACL,QAAQ;IACR,SAAS,MAAM,MAAM,UAAU,OAAO;IACvC;AAEH,UAAO,QAAQ,CAAC,MAAM,UAAU;IAC9B,QAAQ;IACR,SAAS,EAAE,SAAS,MAAM;IAC3B,EAAE;KAEN;EACF"}
|
package/dist/next/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
//#region \0rolldown/runtime.js
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -335,9 +336,9 @@ function normalizeViteGlobPath(file) {
|
|
|
335
336
|
if (file.startsWith("/")) return `.${file}`;
|
|
336
337
|
return `./${file}`;
|
|
337
338
|
}
|
|
338
|
-
function slash(path
|
|
339
|
-
if (path
|
|
340
|
-
return path
|
|
339
|
+
function slash(path) {
|
|
340
|
+
if (path.startsWith("\\\\?\\")) return path;
|
|
341
|
+
return path.replaceAll("\\", "/");
|
|
341
342
|
}
|
|
342
343
|
function ident(code, tab = 1) {
|
|
343
344
|
return code.split("\n").map((v) => " ".repeat(tab) + v).join("\n");
|
|
@@ -347,7 +348,7 @@ function ident(code, tab = 1) {
|
|
|
347
348
|
//#region src/core.ts
|
|
348
349
|
const _Defaults = {
|
|
349
350
|
configPath: "source.config.ts",
|
|
350
|
-
outDir: "
|
|
351
|
+
outDir: "docs"
|
|
351
352
|
};
|
|
352
353
|
async function getPlugins(pluginOptions) {
|
|
353
354
|
const plugins = [];
|
|
@@ -461,28 +462,28 @@ function createCore(options) {
|
|
|
461
462
|
}
|
|
462
463
|
return out;
|
|
463
464
|
},
|
|
464
|
-
async transformMeta(options
|
|
465
|
+
async transformMeta(options, data) {
|
|
465
466
|
const ctx = {
|
|
466
467
|
...this.getPluginContext(),
|
|
467
|
-
...options
|
|
468
|
+
...options
|
|
468
469
|
};
|
|
469
|
-
data = await transformMetadata(options
|
|
470
|
+
data = await transformMetadata(options, data);
|
|
470
471
|
for (const plugin of plugins) if (plugin.meta?.transform) data = await plugin.meta.transform.call(ctx, data) ?? data;
|
|
471
472
|
return data;
|
|
472
473
|
},
|
|
473
|
-
async transformFrontmatter(options
|
|
474
|
+
async transformFrontmatter(options, data) {
|
|
474
475
|
const ctx = {
|
|
475
476
|
...this.getPluginContext(),
|
|
476
|
-
...options
|
|
477
|
+
...options
|
|
477
478
|
};
|
|
478
|
-
data = await transformMetadata(options
|
|
479
|
+
data = await transformMetadata(options, data);
|
|
479
480
|
for (const plugin of plugins) if (plugin.doc?.frontmatter) data = await plugin.doc.frontmatter.call(ctx, data) ?? data;
|
|
480
481
|
return data;
|
|
481
482
|
},
|
|
482
|
-
async transformVFile(options
|
|
483
|
+
async transformVFile(options, file) {
|
|
483
484
|
const ctx = {
|
|
484
485
|
...this.getPluginContext(),
|
|
485
|
-
...options
|
|
486
|
+
...options
|
|
486
487
|
};
|
|
487
488
|
for (const plugin of plugins) if (plugin.doc?.vfile) file = await plugin.doc.vfile.call(ctx, file) ?? file;
|
|
488
489
|
return file;
|
|
@@ -557,15 +558,15 @@ function toFullPath(file) {
|
|
|
557
558
|
}
|
|
558
559
|
|
|
559
560
|
//#endregion
|
|
560
|
-
//#region src/utils/
|
|
561
|
+
//#region src/utils/frontmatter.ts
|
|
561
562
|
/**
|
|
562
|
-
*
|
|
563
|
+
* Frontmatter parser - inspired by gray-matter
|
|
563
564
|
*/
|
|
564
565
|
const regex = /^---\r?\n(.+?)\r?\n---\r?\n?/s;
|
|
565
566
|
/**
|
|
566
|
-
*
|
|
567
|
+
* Parse YAML frontmatter from markdown content
|
|
567
568
|
*/
|
|
568
|
-
function
|
|
569
|
+
function parseFrontmatter(input) {
|
|
569
570
|
const output = {
|
|
570
571
|
matter: "",
|
|
571
572
|
data: {},
|
|
@@ -669,12 +670,12 @@ async function generateServerIndexFile(ctx) {
|
|
|
669
670
|
case "docs": {
|
|
670
671
|
if (collection.docs.dynamic) return;
|
|
671
672
|
if (collection.docs.async) {
|
|
672
|
-
const [metaGlob
|
|
673
|
+
const [metaGlob, headGlob, bodyGlob] = await Promise.all([
|
|
673
674
|
generateMetaCollectionGlob(ctx, collection.meta, true),
|
|
674
675
|
generateDocCollectionFrontmatterGlob(ctx, collection.docs, true),
|
|
675
676
|
generateDocCollectionGlob(ctx, collection.docs)
|
|
676
677
|
]);
|
|
677
|
-
return `await create.docsLazy("${collection.name}", "${base}", ${metaGlob
|
|
678
|
+
return `await create.docsLazy("${collection.name}", "${base}", ${metaGlob}, ${headGlob}, ${bodyGlob})`;
|
|
678
679
|
}
|
|
679
680
|
const [metaGlob, docGlob] = await Promise.all([generateMetaCollectionGlob(ctx, collection.meta, true), generateDocCollectionGlob(ctx, collection.docs, true)]);
|
|
680
681
|
return `await create.docs("${collection.name}", "${base}", ${metaGlob}, ${docGlob})`;
|
|
@@ -707,7 +708,7 @@ async function generateDynamicIndexFile(ctx) {
|
|
|
707
708
|
async function generateCollectionObjectEntry(collection, absolutePath) {
|
|
708
709
|
const fullPath = path.default.relative(process.cwd(), absolutePath);
|
|
709
710
|
const content = await indexFileCache.read(fullPath).catch(() => "");
|
|
710
|
-
const parsed =
|
|
711
|
+
const parsed = parseFrontmatter(content);
|
|
711
712
|
const data = await core.transformFrontmatter({
|
|
712
713
|
collection,
|
|
713
714
|
filePath: fullPath,
|
package/dist/next/index.d.ts
CHANGED
package/dist/next/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/next/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/next/index.ts"],"mappings":";;;;;UAWiB,gBAAA;;;AAAjB;EAIE,UAAA;;;;;;EAOA,MAAA;EAEA,KAAA,GAAQ,sBAAA;AAAA;AAAA,iBAKM,SAAA,CAAU,aAAA,GAAe,gBAAA,IAU/B,UAAA,GAAY,UAAA,KAAkB,UAAA;AAAA,iBAgJlB,WAAA,CAAY,OAAA,EAAS,gBAAA,GAAgB,OAAA"}
|
package/dist/next/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import
|
|
5
|
-
import { n as createCore, t as _Defaults } from "../core-
|
|
6
|
-
import "../codegen-
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
1
|
+
import "../frontmatter-DePDVaRD.js";
|
|
2
|
+
import { n as metaLoaderGlob, t as mdxLoaderGlob } from "../loaders-hcYVSfeh.js";
|
|
3
|
+
import "../preset-B14ViDfq.js";
|
|
4
|
+
import "../build-d7coQAP7.js";
|
|
5
|
+
import { n as createCore, t as _Defaults } from "../core-DFgQdyqL.js";
|
|
6
|
+
import "../codegen-DzglA9tJ.js";
|
|
7
|
+
import { t as loadConfig } from "../load-from-file-C36LHYQZ.js";
|
|
8
|
+
import indexFile from "../plugins/index-file.js";
|
|
9
9
|
import * as path$1 from "node:path";
|
|
10
10
|
|
|
11
11
|
//#region src/next/index.ts
|
package/dist/next/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["path"],"sources":["../../src/next/index.ts"],"sourcesContent":["import type { NextConfig } from 'next';\nimport type { Configuration } from 'webpack';\nimport type { WebpackLoaderOptions } from '../webpack';\nimport type { TurbopackLoaderOptions, TurbopackOptions } from 'next/dist/server/config-shared';\nimport * as path from 'node:path';\nimport { loadConfig } from '../config/load-from-file';\nimport { _Defaults, type Core, createCore } from '../core';\nimport { mdxLoaderGlob, metaLoaderGlob } from '../loaders';\nimport type { IndexFilePluginOptions } from '../plugins/index-file';\nimport indexFile from '../plugins/index-file';\n\nexport interface CreateMDXOptions {\n /**\n * Path to source configuration file\n */\n configPath?: string;\n\n /**\n * Directory for output files\n *\n * @defaultValue '.docs'\n */\n outDir?: string;\n\n index?: IndexFilePluginOptions | false;\n}\n\nconst defaultPageExtensions = ['mdx', 'md', 'jsx', 'js', 'tsx', 'ts'];\n\nexport function createMDX(createOptions: CreateMDXOptions = {}) {\n const core = createNextCore(applyDefaults(createOptions));\n const isDev = process.env.NODE_ENV === 'development';\n\n if (process.env._HANZO_DOCS_MDX !== '1') {\n process.env._HANZO_DOCS_MDX = '1';\n\n void init(isDev, core);\n }\n\n return (nextConfig: NextConfig = {}): NextConfig => {\n const { configPath, outDir } = core.getOptions();\n const loaderOptions: WebpackLoaderOptions = {\n configPath,\n outDir,\n absoluteCompiledConfigPath: path.resolve(core.getCompiledConfigPath()),\n isDev,\n };\n\n const turbopack: TurbopackOptions = {\n ...nextConfig.turbopack,\n rules: {\n ...nextConfig.turbopack?.rules,\n '*.{md,mdx}': {\n loaders: [\n {\n loader: '@hanzo/docs-mdx/loader-mdx',\n options: loaderOptions as unknown as TurbopackLoaderOptions,\n },\n ],\n as: '*.js',\n },\n '*.json': {\n loaders: [\n {\n loader: '@hanzo/docs-mdx/loader-meta',\n options: loaderOptions as unknown as TurbopackLoaderOptions,\n },\n ],\n as: '*.json',\n },\n '*.yaml': {\n loaders: [\n {\n loader: '@hanzo/docs-mdx/loader-meta',\n options: loaderOptions as unknown as TurbopackLoaderOptions,\n },\n ],\n as: '*.js',\n },\n },\n };\n\n return {\n ...nextConfig,\n turbopack,\n pageExtensions: nextConfig.pageExtensions ?? defaultPageExtensions,\n webpack: (config: Configuration, options) => {\n config.resolve ||= {};\n\n config.module ||= {};\n config.module.rules ||= [];\n\n config.module.rules.push(\n {\n test: mdxLoaderGlob,\n use: [\n options.defaultLoaders.babel,\n {\n loader: '@hanzo/docs-mdx/loader-mdx',\n options: loaderOptions,\n },\n ],\n },\n {\n test: metaLoaderGlob,\n enforce: 'pre',\n use: [\n {\n loader: '@hanzo/docs-mdx/loader-meta',\n options: loaderOptions,\n },\n ],\n },\n );\n\n config.plugins ||= [];\n\n return nextConfig.webpack?.(config, options) ?? config;\n },\n };\n };\n}\n\nasync function init(dev: boolean, core: Core): Promise<void> {\n async function initOrReload() {\n await core.init({\n config: loadConfig(core, true),\n });\n await core.emit({ write: true });\n }\n\n async function devServer() {\n const { FSWatcher } = await import('chokidar');\n const { configPath, outDir } = core.getOptions();\n const watcher = new FSWatcher({\n ignoreInitial: true,\n persistent: true,\n ignored: [outDir],\n });\n\n watcher.add(configPath);\n for (const collection of core.getCollections()) {\n watcher.add(collection.dir);\n }\n for (const workspace of core.getWorkspaces().values()) {\n for (const collection of workspace.getCollections()) {\n watcher.add(collection.dir);\n }\n }\n\n watcher.on('ready', () => {\n console.log('[MDX] started dev server');\n });\n\n const absoluteConfigPath = path.resolve(configPath);\n watcher.on('all', async (_event, file) => {\n if (path.resolve(file) === absoluteConfigPath) {\n // skip plugin listeners\n watcher.removeAllListeners();\n\n await watcher.close();\n await initOrReload();\n console.log('[MDX] restarting dev server');\n await devServer();\n }\n });\n\n process.on('exit', () => {\n if (watcher.closed) return;\n\n console.log('[MDX] closing dev server');\n void watcher.close();\n });\n\n await core.initServer({ watcher });\n }\n\n await initOrReload();\n if (dev) {\n await devServer();\n }\n}\n\nexport async function postInstall(options: CreateMDXOptions) {\n const core = createNextCore(applyDefaults(options));\n await core.init({\n config: loadConfig(core, true),\n });\n await core.emit({ write: true });\n}\n\nfunction applyDefaults(options: CreateMDXOptions): Required<CreateMDXOptions> {\n return {\n index: {},\n outDir: options.outDir ?? _Defaults.outDir,\n configPath: options.configPath ?? _Defaults.configPath,\n };\n}\n\nfunction createNextCore(options: Required<CreateMDXOptions>): Core {\n return createCore({\n environment: 'next',\n outDir: options.outDir,\n configPath: options.configPath,\n plugins: [options.index && indexFile(options.index)],\n });\n}\n"],"mappings":"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"}
|