vike-plugin-typedoc 0.0.1

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 (59) hide show
  1. package/README.md +148 -0
  2. package/README.md.template +148 -0
  3. package/dist/+config.d.ts +41 -0
  4. package/dist/+config.d.ts.map +1 -0
  5. package/dist/+config.js +21 -0
  6. package/dist/+config.js.map +1 -0
  7. package/dist/client.d.ts +14 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +29 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/context.d.ts +83 -0
  12. package/dist/context.d.ts.map +1 -0
  13. package/dist/context.js +129 -0
  14. package/dist/context.js.map +1 -0
  15. package/dist/hooks/onBeforePrerenderStart.d.ts +9 -0
  16. package/dist/hooks/onBeforePrerenderStart.d.ts.map +1 -0
  17. package/dist/hooks/onBeforePrerenderStart.js +37 -0
  18. package/dist/hooks/onBeforePrerenderStart.js.map +1 -0
  19. package/dist/hooks/onCreateGlobalContext.d.ts +17 -0
  20. package/dist/hooks/onCreateGlobalContext.d.ts.map +1 -0
  21. package/dist/hooks/onCreateGlobalContext.js +28 -0
  22. package/dist/hooks/onCreateGlobalContext.js.map +1 -0
  23. package/dist/index.d.ts +12 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +15 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/linkify.d.ts +53 -0
  28. package/dist/linkify.d.ts.map +1 -0
  29. package/dist/linkify.js +118 -0
  30. package/dist/linkify.js.map +1 -0
  31. package/dist/markdown.d.ts +41 -0
  32. package/dist/markdown.d.ts.map +1 -0
  33. package/dist/markdown.js +89 -0
  34. package/dist/markdown.js.map +1 -0
  35. package/dist/navigation.d.ts +7 -0
  36. package/dist/navigation.d.ts.map +1 -0
  37. package/dist/navigation.js +20 -0
  38. package/dist/navigation.js.map +1 -0
  39. package/dist/parser.d.ts +10 -0
  40. package/dist/parser.d.ts.map +1 -0
  41. package/dist/parser.js +253 -0
  42. package/dist/parser.js.map +1 -0
  43. package/dist/server.d.ts +89 -0
  44. package/dist/server.d.ts.map +1 -0
  45. package/dist/server.js +158 -0
  46. package/dist/server.js.map +1 -0
  47. package/dist/symbols.d.ts +11 -0
  48. package/dist/symbols.d.ts.map +1 -0
  49. package/dist/symbols.js +32 -0
  50. package/dist/symbols.js.map +1 -0
  51. package/dist/types.d.ts +223 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js +27 -0
  54. package/dist/types.js.map +1 -0
  55. package/dist/utils.d.ts +22 -0
  56. package/dist/utils.d.ts.map +1 -0
  57. package/dist/utils.js +164 -0
  58. package/dist/utils.js.map +1 -0
  59. package/package.json +100 -0
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Full API documentation structure combining multiple packages.
3
+ */
4
+ export interface ApiDocs {
5
+ packages: Record<string, ApiPackage>;
6
+ allExports: ApiExport[];
7
+ }
8
+ /**
9
+ * Parsed API package from TypeDoc JSON.
10
+ */
11
+ export interface ApiPackage {
12
+ /** NPM package name */
13
+ name: string;
14
+ /** URL-safe slug (directory name) */
15
+ slug: string;
16
+ /** Modules within the package (sub-entries) */
17
+ modules: ApiModule[];
18
+ /** All exports across all modules */
19
+ exports: ApiExport[];
20
+ }
21
+ /**
22
+ * A module within a package (e.g., a sub-entry point).
23
+ */
24
+ export interface ApiModule {
25
+ name: string;
26
+ exports: ApiExport[];
27
+ }
28
+ /**
29
+ * A single exported symbol (function, type, interface, etc.).
30
+ */
31
+ export interface ApiExport {
32
+ name: string;
33
+ /** kebab-case slug for URLs */
34
+ slug: string;
35
+ /** Full URL path, e.g. /api/devkit/create-matcher */
36
+ path: string;
37
+ /** Parent package slug */
38
+ package: string;
39
+ kind: ApiExportKind;
40
+ /** True if this symbol is re-exported from another package */
41
+ isReExport?: boolean;
42
+ signature?: string;
43
+ description?: string;
44
+ comment?: ApiComment;
45
+ parameters?: ApiParameter[];
46
+ returnType?: string;
47
+ typeParameters?: ApiTypeParameter[];
48
+ properties?: ApiProperty[];
49
+ methods?: ApiMethod[];
50
+ category?: string;
51
+ }
52
+ export type ApiExportKind = 'function' | 'type' | 'interface' | 'class' | 'variable' | 'enum';
53
+ export interface ApiComment {
54
+ summary?: string;
55
+ remarks?: string;
56
+ examples?: string[];
57
+ see?: string[];
58
+ deprecated?: string;
59
+ }
60
+ export interface ApiParameter {
61
+ name: string;
62
+ type: string;
63
+ description?: string;
64
+ optional?: boolean;
65
+ defaultValue?: string;
66
+ }
67
+ export interface ApiTypeParameter {
68
+ name: string;
69
+ constraint?: string;
70
+ default?: string;
71
+ }
72
+ export interface ApiProperty {
73
+ name: string;
74
+ type: string;
75
+ description?: string;
76
+ optional?: boolean;
77
+ readonly?: boolean;
78
+ }
79
+ export interface ApiMethod {
80
+ name: string;
81
+ signature: string;
82
+ description?: string;
83
+ parameters?: ApiParameter[];
84
+ returnType?: string;
85
+ }
86
+ export interface NavigationItem {
87
+ title: string;
88
+ path?: string;
89
+ order?: number;
90
+ children?: NavigationItem[];
91
+ }
92
+ export interface TypeDocJson {
93
+ schemaVersion: string;
94
+ id: number;
95
+ name: string;
96
+ variant: string;
97
+ kind: number;
98
+ flags: Record<string, unknown>;
99
+ comment?: TypeDocComment;
100
+ children?: TypeDocReflection[];
101
+ }
102
+ export interface TypeDocReflection {
103
+ id: number;
104
+ name: string;
105
+ variant: string;
106
+ kind: number;
107
+ flags: TypeDocFlags;
108
+ comment?: TypeDocComment;
109
+ signatures?: TypeDocSignature[];
110
+ children?: TypeDocReflection[];
111
+ type?: TypeDocType;
112
+ typeParameters?: TypeDocTypeParameter[];
113
+ sources?: Array<{
114
+ fileName: string;
115
+ line: number;
116
+ character: number;
117
+ }>;
118
+ extendedTypes?: TypeDocType[];
119
+ implementedTypes?: TypeDocType[];
120
+ inheritedFrom?: {
121
+ type: string;
122
+ target: number;
123
+ name: string;
124
+ };
125
+ defaultValue?: string;
126
+ }
127
+ export interface TypeDocFlags {
128
+ isOptional?: boolean;
129
+ isReadonly?: boolean;
130
+ isPrivate?: boolean;
131
+ isProtected?: boolean;
132
+ isStatic?: boolean;
133
+ isAbstract?: boolean;
134
+ }
135
+ export interface TypeDocComment {
136
+ summary?: Array<{
137
+ kind: string;
138
+ text: string;
139
+ }>;
140
+ blockTags?: Array<{
141
+ tag: string;
142
+ content: Array<{
143
+ kind: string;
144
+ text: string;
145
+ }>;
146
+ }>;
147
+ }
148
+ export interface TypeDocSignature {
149
+ id: number;
150
+ name: string;
151
+ variant: string;
152
+ kind: number;
153
+ flags: TypeDocFlags;
154
+ comment?: TypeDocComment;
155
+ parameters?: TypeDocParameter[];
156
+ type?: TypeDocType;
157
+ typeParameter?: TypeDocTypeParameter[];
158
+ }
159
+ export interface TypeDocParameter {
160
+ id: number;
161
+ name: string;
162
+ variant: string;
163
+ kind: number;
164
+ flags: TypeDocFlags;
165
+ type?: TypeDocType;
166
+ comment?: TypeDocComment;
167
+ defaultValue?: string;
168
+ }
169
+ export interface TypeDocTypeParameter {
170
+ id: number;
171
+ name: string;
172
+ variant: string;
173
+ kind: number;
174
+ flags: TypeDocFlags;
175
+ type?: TypeDocType;
176
+ default?: TypeDocType;
177
+ }
178
+ export interface TypeDocType {
179
+ type: string;
180
+ name?: string;
181
+ value?: unknown;
182
+ types?: TypeDocType[];
183
+ declaration?: TypeDocReflection;
184
+ typeArguments?: TypeDocType[];
185
+ target?: number | TypeDocType;
186
+ elementType?: TypeDocType;
187
+ package?: string;
188
+ qualifiedName?: string;
189
+ operator?: string;
190
+ objectType?: TypeDocType;
191
+ indexType?: TypeDocType;
192
+ checkType?: TypeDocType;
193
+ extendsType?: TypeDocType;
194
+ trueType?: TypeDocType;
195
+ falseType?: TypeDocType;
196
+ }
197
+ /** TypeDoc kind constants (TypeDoc 2.0) */
198
+ export declare const KIND: {
199
+ readonly Project: 1;
200
+ readonly Module: 2;
201
+ readonly Namespace: 4;
202
+ readonly Enum: 8;
203
+ readonly EnumMember: 16;
204
+ readonly Variable: 32;
205
+ readonly Function: 64;
206
+ readonly Class: 128;
207
+ readonly Interface: 256;
208
+ readonly Constructor: 512;
209
+ readonly Property: 1024;
210
+ readonly Method: 2048;
211
+ readonly CallSignature: 4096;
212
+ readonly IndexSignature: 8192;
213
+ readonly ConstructorSignature: 16384;
214
+ readonly Parameter: 32768;
215
+ readonly TypeLiteral: 65536;
216
+ readonly TypeParameter: 131072;
217
+ readonly Accessor: 262144;
218
+ readonly GetSignature: 524288;
219
+ readonly SetSignature: 1048576;
220
+ readonly TypeAlias: 2097152;
221
+ readonly Reference: 16777216;
222
+ };
223
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,27 @@
1
+ /** TypeDoc kind constants (TypeDoc 2.0) */
2
+ export const KIND = {
3
+ Project: 1,
4
+ Module: 2,
5
+ Namespace: 4,
6
+ Enum: 8,
7
+ EnumMember: 16,
8
+ Variable: 32,
9
+ Function: 64,
10
+ Class: 128,
11
+ Interface: 256,
12
+ Constructor: 512,
13
+ Property: 1024,
14
+ Method: 2048,
15
+ CallSignature: 4096,
16
+ IndexSignature: 8192,
17
+ ConstructorSignature: 16384,
18
+ Parameter: 32768,
19
+ TypeLiteral: 65536,
20
+ TypeParameter: 131072,
21
+ Accessor: 262144,
22
+ GetSignature: 524288,
23
+ SetSignature: 1048576,
24
+ TypeAlias: 2097152,
25
+ Reference: 16777216,
26
+ };
27
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmNA,2CAA2C;AAC3C,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,KAAK;IAC3B,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,MAAM;IACrB,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;CACX,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { ApiComment, ApiExportKind, TypeDocComment, TypeDocType } from './types.js';
2
+ /** Convert camelCase/PascalCase to kebab-case for URL slugs. */
3
+ export declare function slugify(name: string): string;
4
+ /** Extract plain text from TypeDoc comment parts. */
5
+ export declare function extractCommentText(parts?: Array<{
6
+ kind: string;
7
+ text: string;
8
+ }>): string | undefined;
9
+ /**
10
+ * Strip markdown code fences from example blocks.
11
+ * TypeDoc includes ```language ... ``` markers in examples.
12
+ */
13
+ export declare function stripCodeFences(text: string): string;
14
+ /** Parse a TypeDoc comment into our ApiComment structure. */
15
+ export declare function parseComment(comment?: TypeDocComment): ApiComment | undefined;
16
+ /** Extract @category tag from a TypeDoc comment. */
17
+ export declare function extractCategory(comment?: TypeDocComment): string | undefined;
18
+ /** Convert a TypeDoc type to a human-readable string. */
19
+ export declare function typeToString(type?: TypeDocType): string;
20
+ /** Map a TypeDoc kind number to our ApiExportKind. */
21
+ export declare function kindToApiKind(kind: number): ApiExportKind;
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,MAAM,GAAG,SAAS,CAgBpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,GAAG,SAAS,CAgCxB;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,GAAG,SAAS,CAUpB;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CA8DvD;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAiBzD"}
package/dist/utils.js ADDED
@@ -0,0 +1,164 @@
1
+ import { KIND } from './types.js';
2
+ /** Convert camelCase/PascalCase to kebab-case for URL slugs. */
3
+ export function slugify(name) {
4
+ return name
5
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
6
+ .replace(/[^a-zA-Z0-9]+/g, '-')
7
+ .toLowerCase()
8
+ .replace(/^-|-$/g, '');
9
+ }
10
+ /** Extract plain text from TypeDoc comment parts. */
11
+ export function extractCommentText(parts) {
12
+ if (!parts || parts.length === 0)
13
+ return undefined;
14
+ return (parts
15
+ .map((p) => {
16
+ // TypeDoc's TSDoc parser mangles `*\/` (the JSDoc workaround for
17
+ // literal `*/` inside block comments) into `*\` — it drops the `/`.
18
+ // Within code blocks, restore `*\` at end-of-line to `*/`.
19
+ if (p.kind === 'code') {
20
+ return p.text.replace(/\*\\$/gm, '*/');
21
+ }
22
+ return p.text;
23
+ })
24
+ .join('')
25
+ .trim() || undefined);
26
+ }
27
+ /**
28
+ * Strip markdown code fences from example blocks.
29
+ * TypeDoc includes ```language ... ``` markers in examples.
30
+ */
31
+ export function stripCodeFences(text) {
32
+ const match = text.match(/^```\w*\n?([\s\S]*?)\n?```$/);
33
+ if (match) {
34
+ return match[1].trim();
35
+ }
36
+ return text;
37
+ }
38
+ /** Parse a TypeDoc comment into our ApiComment structure. */
39
+ export function parseComment(comment) {
40
+ if (!comment)
41
+ return undefined;
42
+ const result = {};
43
+ if (comment.summary) {
44
+ result.summary = extractCommentText(comment.summary);
45
+ }
46
+ if (comment.blockTags) {
47
+ for (const tag of comment.blockTags) {
48
+ const text = extractCommentText(tag.content);
49
+ switch (tag.tag) {
50
+ case '@remarks':
51
+ result.remarks = text;
52
+ break;
53
+ case '@example':
54
+ result.examples = result.examples || [];
55
+ if (text)
56
+ result.examples.push(stripCodeFences(text));
57
+ break;
58
+ case '@see':
59
+ result.see = result.see || [];
60
+ if (text)
61
+ result.see.push(text);
62
+ break;
63
+ case '@deprecated':
64
+ result.deprecated = text || 'Deprecated';
65
+ break;
66
+ }
67
+ }
68
+ }
69
+ return Object.keys(result).length > 0 ? result : undefined;
70
+ }
71
+ /** Extract @category tag from a TypeDoc comment. */
72
+ export function extractCategory(comment) {
73
+ if (!comment?.blockTags)
74
+ return undefined;
75
+ for (const tag of comment.blockTags) {
76
+ if (tag.tag === '@category') {
77
+ return extractCommentText(tag.content);
78
+ }
79
+ }
80
+ return undefined;
81
+ }
82
+ /** Convert a TypeDoc type to a human-readable string. */
83
+ export function typeToString(type) {
84
+ if (!type)
85
+ return 'unknown';
86
+ switch (type.type) {
87
+ case 'intrinsic':
88
+ return type.name || 'unknown';
89
+ case 'reference': {
90
+ let result = type.name || 'unknown';
91
+ if (type.typeArguments && type.typeArguments.length > 0) {
92
+ result += `<${type.typeArguments.map(typeToString).join(', ')}>`;
93
+ }
94
+ return result;
95
+ }
96
+ case 'literal':
97
+ return JSON.stringify(type.value);
98
+ case 'union':
99
+ return type.types?.map(typeToString).join(' | ') || 'unknown';
100
+ case 'intersection':
101
+ return type.types?.map(typeToString).join(' & ') || 'unknown';
102
+ case 'array':
103
+ return `${typeToString(type.elementType)}[]`;
104
+ case 'tuple':
105
+ return `[${type.types?.map(typeToString).join(', ') || ''}]`;
106
+ case 'reflection':
107
+ if (type.declaration?.signatures) {
108
+ const sig = type.declaration.signatures[0];
109
+ const params = sig.parameters
110
+ ?.map((p) => `${p.name}: ${typeToString(p.type)}`)
111
+ .join(', ') || '';
112
+ return `(${params}) => ${typeToString(sig.type)}`;
113
+ }
114
+ if (type.declaration?.children) {
115
+ const props = type.declaration.children
116
+ .map((c) => `${c.name}: ${typeToString(c.type)}`)
117
+ .join('; ');
118
+ return `{ ${props} }`;
119
+ }
120
+ return '{ ... }';
121
+ case 'indexedAccess':
122
+ return `${typeToString(type.objectType)}[${typeToString(type.indexType)}]`;
123
+ case 'conditional':
124
+ return `${typeToString(type.checkType)} extends ${typeToString(type.extendsType)} ? ${typeToString(type.trueType)} : ${typeToString(type.falseType)}`;
125
+ case 'mapped':
126
+ return '{ [key: string]: ... }';
127
+ case 'typeOperator':
128
+ return `${type.operator || ''} ${typeToString(type.target)}`;
129
+ case 'query':
130
+ return `typeof ${typeToString(type.target)}`;
131
+ case 'predicate':
132
+ return 'boolean';
133
+ case 'rest':
134
+ return `...${typeToString(type.elementType)}`;
135
+ case 'optional':
136
+ return `${typeToString(type.elementType)}?`;
137
+ case 'templateLiteral':
138
+ return 'string';
139
+ case 'namedTupleMember':
140
+ return type.name || 'unknown';
141
+ default:
142
+ return type.name || 'unknown';
143
+ }
144
+ }
145
+ /** Map a TypeDoc kind number to our ApiExportKind. */
146
+ export function kindToApiKind(kind) {
147
+ switch (kind) {
148
+ case KIND.Function:
149
+ return 'function';
150
+ case KIND.Class:
151
+ return 'class';
152
+ case KIND.Interface:
153
+ return 'interface';
154
+ case KIND.TypeAlias:
155
+ return 'type';
156
+ case KIND.Enum:
157
+ return 'enum';
158
+ case KIND.Variable:
159
+ return 'variable';
160
+ default:
161
+ return 'variable';
162
+ }
163
+ }
164
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAChC,KAA6C;IAE7C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,OAAO,CACL,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,iEAAiE;QACjE,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;SACR,IAAI,EAAE,IAAI,SAAS,CACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACxD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,YAAY,CAC1B,OAAwB;IAExB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAK,UAAU;oBACb,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACxC,IAAI,IAAI;wBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtD,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;oBAC9B,IAAI,IAAI;wBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,YAAY,CAAC;oBACzC,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAC7B,OAAwB;IAExB,IAAI,CAAC,OAAO,EAAE,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC5B,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAChC,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;YACpC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACnE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAChE,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAChE,KAAK,OAAO;YACV,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/C,KAAK,OAAO;YACV,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAC/D,KAAK,YAAY;YACf,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,MAAM,GACV,GAAG,CAAC,UAAU;oBACZ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;qBACjD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,OAAO,IAAI,MAAM,QAAQ,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;qBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;qBAChD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,KAAK,KAAK,IAAI,CAAC;YACxB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QAC7E,KAAK,aAAa;YAChB,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxJ,KAAK,QAAQ;YACX,OAAO,wBAAwB,CAAC;QAClC,KAAK,cAAc;YACjB,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAqB,CAAC,EAAE,CAAC;QAC9E,KAAK,OAAO;YACV,OAAO,UAAU,YAAY,CAAC,IAAI,CAAC,MAAqB,CAAC,EAAE,CAAC;QAC9D,KAAK,WAAW;YACd,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,KAAK,UAAU;YACb,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9C,KAAK,iBAAiB;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAChC;YACE,OAAO,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAClC,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,QAAQ;YAChB,OAAO,UAAU,CAAC;QACpB,KAAK,IAAI,CAAC,KAAK;YACb,OAAO,OAAO,CAAC;QACjB,KAAK,IAAI,CAAC,SAAS;YACjB,OAAO,WAAW,CAAC;QACrB,KAAK,IAAI,CAAC,SAAS;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,IAAI;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,QAAQ;YAChB,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,100 @@
1
+ {
2
+ "name": "vike-plugin-typedoc",
3
+ "version": "0.0.1",
4
+ "description": "Headless TypeDoc integration for Vike docs sites — parser, navigation, and context API",
5
+ "author": {
6
+ "name": "Craigory Coppola",
7
+ "url": "https://craigory.dev"
8
+ },
9
+ "license": "MIT",
10
+ "type": "module",
11
+ "main": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "import": "./dist/index.js",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./server": {
23
+ "types": "./dist/server.d.ts",
24
+ "import": "./dist/server.js",
25
+ "default": "./dist/server.js"
26
+ },
27
+ "./client": {
28
+ "types": "./dist/client.d.ts",
29
+ "import": "./dist/client.js",
30
+ "default": "./dist/client.js"
31
+ },
32
+ "./config": {
33
+ "types": "./dist/+config.d.ts",
34
+ "import": "./dist/+config.js",
35
+ "default": "./dist/+config.js"
36
+ },
37
+ "./__internal/hooks/onCreateGlobalContext": {
38
+ "types": "./dist/hooks/onCreateGlobalContext.d.ts",
39
+ "import": "./dist/hooks/onCreateGlobalContext.js",
40
+ "default": "./dist/hooks/onCreateGlobalContext.js"
41
+ },
42
+ "./__internal/hooks/onBeforePrerenderStart": {
43
+ "types": "./dist/hooks/onBeforePrerenderStart.d.ts",
44
+ "import": "./dist/hooks/onBeforePrerenderStart.js",
45
+ "default": "./dist/hooks/onBeforePrerenderStart.js"
46
+ }
47
+ },
48
+ "files": [
49
+ "dist"
50
+ ],
51
+ "dependencies": {
52
+ "unified": "^11.0.5",
53
+ "remark-parse": "^11.0.0",
54
+ "remark-breaks": "^4.0.0",
55
+ "remark-directive": "^3.0.1",
56
+ "remark-gfm": "^4.0.1",
57
+ "remark-rehype": "^11.1.2",
58
+ "rehype-stringify": "^10.0.1",
59
+ "rehype-typedoc": "0.0.1"
60
+ },
61
+ "peerDependencies": {
62
+ "react": ">=18",
63
+ "vike": ">=0.4.250",
64
+ "vike-react": ">=0.5"
65
+ },
66
+ "peerDependenciesMeta": {
67
+ "react": {
68
+ "optional": true
69
+ },
70
+ "vike": {
71
+ "optional": true
72
+ },
73
+ "vike-react": {
74
+ "optional": true
75
+ }
76
+ },
77
+ "devDependencies": {
78
+ "@types/node": "22.19.8",
79
+ "@types/react": "^19.2.9",
80
+ "react": "^19.2.3",
81
+ "typescript": "^5.7.2",
82
+ "vike": "^0.4.252",
83
+ "vike-react": "^0.6.19",
84
+ "vitest": "^1.3.1"
85
+ },
86
+ "homepage": "https://craigory.dev/functional-examples",
87
+ "repository": {
88
+ "type": "git",
89
+ "url": "https://github.com/AgentEnder/functional-examples.git"
90
+ },
91
+ "bugs": {
92
+ "url": "https://github.com/AgentEnder/functional-examples/issues"
93
+ },
94
+ "scripts": {
95
+ "build": "tsc -p tsconfig.lib.json",
96
+ "test": "vitest run",
97
+ "test:watch": "vitest",
98
+ "extract-docs": "typedoc --options typedoc.json"
99
+ }
100
+ }