@typespec/tspd 0.75.0-dev.1 → 0.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/src/gen-extern-signatures/components/function-signature-type.js +0 -1
  2. package/dist/src/gen-extern-signatures/components/function-signature-type.js.map +1 -1
  3. package/dist/src/gen-extern-signatures/components/function-signature-type.jsx +0 -1
  4. package/dist/src/gen-extern-signatures/components/function-signature-type.jsx.map +1 -1
  5. package/dist/src/gen-extern-signatures/gen-extern-signatures.d.ts.map +1 -1
  6. package/dist/src/gen-extern-signatures/gen-extern-signatures.js.map +1 -1
  7. package/dist/src/ref-doc/emitters/docusaurus.d.ts +2 -2
  8. package/dist/src/ref-doc/emitters/docusaurus.d.ts.map +1 -1
  9. package/dist/src/ref-doc/emitters/docusaurus.js +2 -8
  10. package/dist/src/ref-doc/emitters/docusaurus.js.map +1 -1
  11. package/dist/src/ref-doc/emitters/markdown.d.ts +9 -2
  12. package/dist/src/ref-doc/emitters/markdown.d.ts.map +1 -1
  13. package/dist/src/ref-doc/emitters/markdown.js +88 -4
  14. package/dist/src/ref-doc/emitters/markdown.js.map +1 -1
  15. package/dist/src/ref-doc/emitters/starlight.d.ts +2 -2
  16. package/dist/src/ref-doc/emitters/starlight.d.ts.map +1 -1
  17. package/dist/src/ref-doc/emitters/starlight.js +83 -8
  18. package/dist/src/ref-doc/emitters/starlight.js.map +1 -1
  19. package/dist/src/ref-doc/experimental.d.ts.map +1 -1
  20. package/dist/src/ref-doc/experimental.js +9 -1
  21. package/dist/src/ref-doc/experimental.js.map +1 -1
  22. package/dist/src/ref-doc/extractor.d.ts +5 -0
  23. package/dist/src/ref-doc/extractor.d.ts.map +1 -1
  24. package/dist/src/ref-doc/extractor.js +186 -8
  25. package/dist/src/ref-doc/extractor.js.map +1 -1
  26. package/dist/src/ref-doc/types.d.ts +27 -1
  27. package/dist/src/ref-doc/types.d.ts.map +1 -1
  28. package/dist/src/ref-doc/utils/type-signature.d.ts.map +1 -1
  29. package/dist/src/ref-doc/utils/type-signature.js +19 -2
  30. package/dist/src/ref-doc/utils/type-signature.js.map +1 -1
  31. package/package.json +27 -29
@@ -34,6 +34,16 @@ export function renderToAstroStarlightMarkdown(refDoc, options = {}) {
34
34
  if (linter) {
35
35
  files["linter.md"] = linter;
36
36
  }
37
+
38
+ // Render sub-exports
39
+ if (refDoc.subExports) {
40
+ for (const [exportPath, subExport] of refDoc.subExports) {
41
+ const subFiles = renderSubExport(renderer, refDoc, exportPath, subExport, options);
42
+ for (const [name, content] of Object.entries(subFiles)) {
43
+ files[name] = content;
44
+ }
45
+ }
46
+ }
37
47
  return files;
38
48
  }
39
49
  function renderIndexFile(renderer, refDoc) {
@@ -142,6 +152,77 @@ function renderLinter(renderer, refDoc) {
142
152
  const content = ["---", `title: "Linter usage"`, "---", renderer.linterUsage(refDoc)];
143
153
  return renderMarkdowDoc(content, 2);
144
154
  }
155
+ function renderSubExport(renderer, refDoc, exportPath, subExport, options) {
156
+ const files = {};
157
+ // Use the export path as a directory prefix (e.g., "./streams" -> "streams/")
158
+ const dirPrefix = exportPath.replace(/^\.\//, "") + "/";
159
+ const displayName = exportPath.replace(/^\.\//, "");
160
+
161
+ // Decorators
162
+ if (subExport.namespaces.some(x => x.decorators.length > 0)) {
163
+ const content = ["---", `title: "Decorators (${displayName})"`, `description: "Decorators exported by ${refDoc.name}/${displayName}"`, "toc_min_heading_level: 2", "toc_max_heading_level: 3"];
164
+ if (options.llmstxt) {
165
+ content.push("llmstxt: true");
166
+ }
167
+ content.push("---");
168
+ content.push(renderer.decoratorsSection(subExport));
169
+ files[`${dirPrefix}decorators.md`] = renderMarkdowDoc(content, 2);
170
+ }
171
+
172
+ // Interfaces and Operations
173
+ if (subExport.namespaces.some(x => x.operations.length > 0 || x.interfaces.length > 0)) {
174
+ const content = ["---", `title: "Interfaces and Operations (${displayName})"`, `description: "Interfaces and Operations exported by ${refDoc.name}/${displayName}"`];
175
+ if (options.llmstxt) {
176
+ content.push("llmstxt: true");
177
+ }
178
+ content.push("---");
179
+ content.push(groupByNamespace(subExport.namespaces, namespace => {
180
+ if (namespace.operations.length === 0 && namespace.interfaces.length === 0) {
181
+ return undefined;
182
+ }
183
+ const nsContent = [];
184
+ for (const iface of namespace.interfaces) {
185
+ nsContent.push(renderer.interface(iface), "");
186
+ }
187
+ for (const operation of namespace.operations) {
188
+ nsContent.push(renderer.operation(operation), "");
189
+ }
190
+ return nsContent;
191
+ }));
192
+ files[`${dirPrefix}interfaces.md`] = renderMarkdowDoc(content, 2);
193
+ }
194
+
195
+ // Data types (models, enums, unions, scalars)
196
+ if (subExport.namespaces.some(x => x.models.length > 0 || x.enums.length > 0 || x.unions.length > 0 || x.scalars.length > 0)) {
197
+ const content = ["---", `title: "Data types (${displayName})"`, `description: "Data types exported by ${refDoc.name}/${displayName}"`];
198
+ if (options.llmstxt) {
199
+ content.push("llmstxt: true");
200
+ }
201
+ content.push("---");
202
+ content.push(groupByNamespace(subExport.namespaces, namespace => {
203
+ const modelCount = namespace.models.length + namespace.enums.length + namespace.unions.length + namespace.scalars.length;
204
+ if (modelCount === 0) {
205
+ return undefined;
206
+ }
207
+ const nsContent = [];
208
+ for (const model of namespace.models) {
209
+ nsContent.push(renderer.model(model), "");
210
+ }
211
+ for (const e of namespace.enums) {
212
+ nsContent.push(renderer.enum(e), "");
213
+ }
214
+ for (const union of namespace.unions) {
215
+ nsContent.push(renderer.union(union), "");
216
+ }
217
+ for (const scalar of namespace.scalars) {
218
+ nsContent.push(renderer.scalar(scalar), "");
219
+ }
220
+ return nsContent;
221
+ }));
222
+ files[`${dirPrefix}data-types.md`] = renderMarkdowDoc(content, 2);
223
+ }
224
+ return files;
225
+ }
145
226
  export class StarlightRenderer extends MarkdownRenderer {
146
227
  headingTitle(item) {
147
228
  // Set an explicit anchor id.
@@ -175,14 +256,8 @@ export class StarlightRenderer extends MarkdownRenderer {
175
256
  return "";
176
257
  }
177
258
  }
178
- linterRuleLink(url) {
179
- const homepage = this.refDoc.packageJson.docusaurusWebsite;
180
- if (homepage && url.includes(homepage)) {
181
- const fromRoot = url.replace(homepage, "");
182
- return `${fromRoot}.md`;
183
- } else {
184
- return url;
185
- }
259
+ linterRuleLink(rule) {
260
+ return `../rules/${rule.rule.name}.md`;
186
261
  }
187
262
  deprecationNotice(notice) {
188
263
  return [":::caution", `**Deprecated**: ${notice.message}`, ":::"];
@@ -1 +1 @@
1
- {"version":3,"names":["codeblock","inlinecode","renderMarkdowDoc","section","MarkdownRenderer","groupByNamespace","renderToAstroStarlightMarkdown","refDoc","options","renderer","StarlightRenderer","files","renderIndexFile","decoratorFile","renderDecoratorFile","llmstxt","interfaceFile","renderInterfacesFile","dataTypes","renderDataTypes","emitter","renderEmitter","linter","renderLinter","content","description","install","namespaces","namespace","decorators","length","push","toc","interfaces","operations","models","some","x","undefined","title","name","decoratorsSection","iface","interface","operation","modelCount","enums","unions","scalars","model","e","enum","union","scalar","emitterUsage","linterUsage","headingTitle","item","id","anchorId","tabs","label","filename","type","kind","linterRuleLink","url","homepage","packageJson","docusaurusWebsite","includes","fromRoot","replace","deprecationNotice","notice","message","result","tab","join"],"sources":["../../../../src/ref-doc/emitters/starlight.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["codeblock","inlinecode","renderMarkdowDoc","section","MarkdownRenderer","groupByNamespace","renderToAstroStarlightMarkdown","refDoc","options","renderer","StarlightRenderer","files","renderIndexFile","decoratorFile","renderDecoratorFile","llmstxt","interfaceFile","renderInterfacesFile","dataTypes","renderDataTypes","emitter","renderEmitter","linter","renderLinter","subExports","exportPath","subExport","subFiles","renderSubExport","name","content","Object","entries","description","install","namespaces","namespace","decorators","length","push","toc","interfaces","operations","models","some","x","undefined","title","decoratorsSection","iface","interface","operation","modelCount","enums","unions","scalars","model","e","enum","union","scalar","emitterUsage","linterUsage","dirPrefix","replace","displayName","nsContent","headingTitle","item","id","anchorId","tabs","label","filename","type","kind","linterRuleLink","rule","deprecationNotice","notice","message","result","tab","join"],"sources":["../../../../src/ref-doc/emitters/starlight.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../src/ref-doc/experimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAyB,oBAAoB,EAAkB,MAAM,gBAAgB,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CA0BhC;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,CAAC,kBAAkB,EAAE,SAAS,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,CAelE"}
1
+ {"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../../../src/ref-doc/experimental.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAGX,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAyB,oBAAoB,EAAkB,MAAM,gBAAgB,CAAC;AAE7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAgChC;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,CAAC,kBAAkB,EAAE,SAAS,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,CAelE"}
@@ -20,8 +20,16 @@ export async function generateLibraryDocs(libraryPath, outputDir, options = {})
20
20
  });
21
21
  const config = await prettier.resolveConfig(libraryPath);
22
22
  for (const [name, content] of Object.entries(files)) {
23
+ const filePath = joinPaths(outputDir, name);
24
+ // Ensure parent directory exists for sub-export files
25
+ const dir = filePath.substring(0, filePath.lastIndexOf("/"));
26
+ if (dir !== outputDir) {
27
+ await mkdir(dir, {
28
+ recursive: true
29
+ });
30
+ }
23
31
  const formatted = await formatMarkdown(name, content, config);
24
- await writeFile(joinPaths(outputDir, name), formatted);
32
+ await writeFile(filePath, formatted);
25
33
  }
26
34
  const readme = await formatMarkdown(joinPaths(libraryPath, "README.md"), await renderReadme(refDoc, libraryPath), config ?? {});
27
35
  await writeFile(joinPaths(libraryPath, "README.md"), readme);
@@ -1 +1 @@
1
- {"version":3,"names":["compile","createDiagnosticCollector","joinPaths","NodeHost","mkdir","writeFile","prettier","generateJsApiDocs","renderReadme","renderToAstroStarlightMarkdown","extractLibraryRefDocs","extractRefDocs","writeTypekitDocs","readPackageJson","generateLibraryDocs","libraryPath","outputDir","options","diagnostics","pkgJson","refDoc","pipe","files","recursive","config","resolveConfig","name","content","Object","entries","formatted","formatMarkdown","readme","skipJSApi","typekits","main","resolveLibraryRefDocsBase","tspMain","program","parseOptions","comments","docs","diag","add","wrap","undefined","filename","format","parser","e","console","error"],"sources":["../../../src/ref-doc/experimental.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["compile","createDiagnosticCollector","joinPaths","NodeHost","mkdir","writeFile","prettier","generateJsApiDocs","renderReadme","renderToAstroStarlightMarkdown","extractLibraryRefDocs","extractRefDocs","writeTypekitDocs","readPackageJson","generateLibraryDocs","libraryPath","outputDir","options","diagnostics","pkgJson","refDoc","pipe","files","recursive","config","resolveConfig","name","content","Object","entries","filePath","dir","substring","lastIndexOf","formatted","formatMarkdown","readme","skipJSApi","typekits","main","resolveLibraryRefDocsBase","tspMain","program","parseOptions","comments","docs","diag","add","wrap","undefined","filename","format","parser","e","console","error"],"sources":["../../../src/ref-doc/experimental.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,11 @@ export interface ExtractRefDocOptions {
6
6
  include?: string[];
7
7
  exclude?: string[];
8
8
  };
9
+ /**
10
+ * Filter to restrict which types are included based on their source file path.
11
+ * When provided, only types declared in files for which this returns true will be included.
12
+ */
13
+ sourceFilter?: (sourcePath: string) => boolean;
9
14
  }
10
15
  export declare function extractRefDocs(program: Program, options?: ExtractRefDocOptions): [TypeSpecRefDocBase, readonly Diagnostic[]];
11
16
  //# sourceMappingURL=extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/ref-doc/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,UAAU,EAyBV,OAAO,EASR,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAmBL,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAmBpB,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAuCzD;AAOD,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAmCD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACjC,CAAC,kBAAkB,EAAE,SAAS,UAAU,EAAE,CAAC,CAqG7C"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/ref-doc/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,UAAU,EAyBV,OAAO,EAUR,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAqBL,qBAAqB,EACrB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAmBpB,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CA+CzD;AAyDD,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAyCD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,oBAAyB,GACjC,CAAC,kBAAkB,EAAE,SAAS,UAAU,EAAE,CAAC,CAuI7C"}
@@ -25,6 +25,7 @@ export async function extractLibraryRefDocs(libraryPath) {
25
25
  getNamedTypeRefDoc: type => undefined
26
26
  };
27
27
  const tspMain = getExport(pkgJson, ".", "typespec");
28
+ let mainSourceFiles;
28
29
  if (tspMain) {
29
30
  const main = resolvePath(libraryPath, tspMain);
30
31
  const program = await compile(NodeHost, main, {
@@ -33,6 +34,7 @@ export async function extractLibraryRefDocs(libraryPath) {
33
34
  docs: true
34
35
  }
35
36
  });
37
+ mainSourceFiles = new Set(program.sourceFiles.keys());
36
38
  const tspEmitter = diagnostics.pipe(extractRefDocs(program));
37
39
  Object.assign(refDoc, tspEmitter);
38
40
  for (const diag of program.diagnostics ?? []) {
@@ -53,12 +55,58 @@ export async function extractLibraryRefDocs(libraryPath) {
53
55
  refDoc.linter = extractLinterRefDoc(lib.name, resolveLinterDefinition(lib.name, linter));
54
56
  }
55
57
  }
58
+
59
+ // Extract sub-exports
60
+ const subExports = await extractSubExports(libraryPath, pkgJson, diagnostics, mainSourceFiles);
61
+ if (subExports.size > 0) {
62
+ refDoc.subExports = subExports;
63
+ }
56
64
  return diagnostics.wrap(refDoc);
57
65
  }
58
66
  async function readPackageJson(libraryPath) {
59
67
  const buffer = await readFile(joinPaths(libraryPath, "package.json"));
60
68
  return JSON.parse(buffer.toString());
61
69
  }
70
+ async function extractSubExports(libraryPath, pkgJson, diagnostics, mainSourceFiles) {
71
+ const subExports = new Map();
72
+ const exports = pkgJson.exports;
73
+ if (!exports || typeof exports !== "object") {
74
+ return subExports;
75
+ }
76
+ for (const [exportPath, exportValue] of Object.entries(exports)) {
77
+ // Skip the main export — already handled
78
+ if (exportPath === ".") continue;
79
+
80
+ // Only process exports that have a typespec condition
81
+ const tspEntry = exportValue?.typespec;
82
+ if (!tspEntry) continue;
83
+ const main = resolvePath(libraryPath, tspEntry);
84
+ try {
85
+ const program = await compile(NodeHost, main, {
86
+ parseOptions: {
87
+ comments: true,
88
+ docs: true
89
+ }
90
+ });
91
+ const subRefDoc = diagnostics.pipe(extractRefDocs(program, {
92
+ sourceFilter: mainSourceFiles ? sourcePath => !mainSourceFiles.has(sourcePath) : undefined
93
+ }));
94
+ // Only include if it actually has content
95
+ if (subRefDoc.namespaces.length > 0) {
96
+ subExports.set(exportPath, {
97
+ path: exportPath,
98
+ ...subRefDoc
99
+ });
100
+ }
101
+ for (const diag of program.diagnostics ?? []) {
102
+ diagnostics.add(diag);
103
+ }
104
+ } catch {
105
+ // Skip sub-exports that fail to compile
106
+ }
107
+ }
108
+ return subExports;
109
+ }
62
110
  function resolveNamespaces(program, options) {
63
111
  const diagnostics = createDiagnosticCollector();
64
112
  let namespaceTypes = [];
@@ -77,6 +125,12 @@ function resolveNamespaces(program, options) {
77
125
  if (namespace.name === "Private") {
78
126
  return;
79
127
  }
128
+ if (options.sourceFilter && namespace.node) {
129
+ const loc = getSourceLocation(namespace.node);
130
+ if (!loc.isSynthetic && !options.sourceFilter(loc.file.path)) {
131
+ return;
132
+ }
133
+ }
80
134
  namespaceTypes.push(namespace);
81
135
  }
82
136
  });
@@ -111,48 +165,68 @@ export function extractRefDocs(program, options = {}) {
111
165
  typeMapping.set(type, refDoc);
112
166
  array.push(refDoc);
113
167
  }
168
+ function isIncludedBySourceFilter(type) {
169
+ if (!options.sourceFilter) return true;
170
+ const loc = getSourceLocation(type);
171
+ if (loc.isSynthetic) return true;
172
+ return options.sourceFilter(loc.file.path);
173
+ }
114
174
  navigateTypesInNamespace(namespace, {
115
175
  decorator(dec) {
176
+ if (hasInternalModifier(dec)) return;
177
+ if (!isIncludedBySourceFilter(dec)) return;
116
178
  collectType(dec, extractDecoratorRefDoc(program, dec), namespaceDoc.decorators);
117
179
  },
118
180
  operation(operation) {
181
+ if (hasInternalModifier(operation)) return;
119
182
  if (!isDeclaredType(operation)) {
120
183
  return;
121
184
  }
185
+ if (!isIncludedBySourceFilter(operation)) return;
122
186
  if (operation.interface === undefined) {
123
187
  collectType(operation, extractOperationRefDoc(program, operation, undefined), namespaceDoc.operations);
124
188
  }
125
189
  },
126
190
  interface(iface) {
191
+ if (hasInternalModifier(iface)) return;
127
192
  if (!isDeclaredType(iface)) {
128
193
  return;
129
194
  }
195
+ if (!isIncludedBySourceFilter(iface)) return;
130
196
  collectType(iface, extractInterfaceRefDocs(program, iface), namespaceDoc.interfaces);
131
197
  },
132
198
  model(model) {
199
+ if (hasInternalModifier(model)) return;
133
200
  if (!isDeclaredType(model)) {
134
201
  return;
135
202
  }
136
203
  if (model.name === "") {
137
204
  return;
138
205
  }
206
+ if (!isIncludedBySourceFilter(model)) return;
139
207
  collectType(model, extractModelRefDocs(program, model), namespaceDoc.models);
140
208
  },
141
209
  enum(e) {
210
+ if (hasInternalModifier(e)) return;
142
211
  if (!isDeclaredType(e)) {
143
212
  return;
144
213
  }
214
+ if (!isIncludedBySourceFilter(e)) return;
145
215
  collectType(e, extractEnumRefDoc(program, e), namespaceDoc.enums);
146
216
  },
147
217
  union(union) {
218
+ if (hasInternalModifier(union)) return;
148
219
  if (!isDeclaredType(union)) {
149
220
  return;
150
221
  }
151
222
  if (union.name !== undefined) {
223
+ if (!isIncludedBySourceFilter(union)) return;
152
224
  collectType(union, extractUnionRefDocs(program, union), namespaceDoc.unions);
153
225
  }
154
226
  },
155
227
  scalar(scalar) {
228
+ if (hasInternalModifier(scalar)) return;
229
+ if (!isIncludedBySourceFilter(scalar)) return;
156
230
  collectType(scalar, extractScalarRefDocs(program, scalar), namespaceDoc.scalars);
157
231
  }
158
232
  }, {
@@ -160,8 +234,11 @@ export function extractRefDocs(program, options = {}) {
160
234
  skipSubNamespaces: true
161
235
  });
162
236
  }
163
- sort(namespaces);
164
- for (const namespace of namespaces) {
237
+
238
+ // Remove namespaces that have no content after filtering
239
+ const filteredNamespaces = namespaces.filter(ns => ns.decorators.length > 0 || ns.operations.length > 0 || ns.interfaces.length > 0 || ns.models.length > 0 || ns.enums.length > 0 || ns.unions.length > 0 || ns.scalars.length > 0);
240
+ sort(filteredNamespaces);
241
+ for (const namespace of filteredNamespaces) {
165
242
  sort(namespace.decorators);
166
243
  sort(namespace.enums);
167
244
  sort(namespace.interfaces);
@@ -174,10 +251,18 @@ export function extractRefDocs(program, options = {}) {
174
251
  arr.sort((a, b) => a.id.localeCompare(b.id, "en"));
175
252
  }
176
253
  return diagnostics.wrap({
177
- namespaces,
254
+ namespaces: filteredNamespaces,
178
255
  getNamedTypeRefDoc: type => typeMapping.get(type)
179
256
  });
180
257
  }
258
+
259
+ /** Check if a type's declaration has the `internal` modifier. */
260
+ function hasInternalModifier(type) {
261
+ const node = type.node;
262
+ if (node === undefined) return false;
263
+ if (!("modifiers" in node)) return false;
264
+ return node.modifiers.some(m => m.kind === SyntaxKind.InternalKeyword);
265
+ }
181
266
  function extractTemplateParameterDocs(program, type) {
182
267
  if (isTemplateDeclaration(type)) {
183
268
  const templateParamsDocs = getTemplateParameterDocs(type);
@@ -408,6 +493,17 @@ function extractUnionRefDocs(program, type) {
408
493
  type,
409
494
  templateParameters: extractTemplateParameterDocs(program, type),
410
495
  doc: doc,
496
+ examples: extractExamples(type),
497
+ variants: new Map([...type.variants.values()].filter(v => typeof v.name === "string").map(v => [v.name, extractUnionVariantRefDocs(program, v)]))
498
+ };
499
+ }
500
+ function extractUnionVariantRefDocs(program, type) {
501
+ const doc = extractMainDoc(program, type);
502
+ return {
503
+ ...extractBase(program, type),
504
+ signature: getTypeSignature(type),
505
+ type,
506
+ doc: doc,
411
507
  examples: extractExamples(type)
412
508
  };
413
509
  }
@@ -531,13 +627,95 @@ function getDocContent(content) {
531
627
  }
532
628
  function extractEmitterOptionsRefDoc(options) {
533
629
  return Object.entries(options.properties).map(([name, value]) => {
534
- return {
535
- name,
536
- type: value.enum ? value.enum.map(x => typeof x === "string" ? `"${x}"` : x).join(" | ") : value.type,
537
- doc: value.description ?? ""
538
- };
630
+ return extractEmitterOptionInfo(name, value);
539
631
  });
540
632
  }
633
+ function extractEmitterOptionInfo(name, prop) {
634
+ // Handle oneOf: extract variants
635
+ if (prop.oneOf) {
636
+ return extractOneOfEmitterOption(name, prop);
637
+ }
638
+ const option = {
639
+ name,
640
+ type: resolveEmitterOptionType(prop),
641
+ doc: resolveDescription(prop.description)
642
+ };
643
+ if (prop.enum) {
644
+ option.allowedValues = prop.enum.map(x => typeof x === "string" ? `"${x}"` : String(x));
645
+ } else if (prop.type === "array" && prop.items?.enum) {
646
+ option.allowedValues = prop.items.enum.map(x => typeof x === "string" ? `"${x}"` : String(x));
647
+ }
648
+ if (prop.default !== undefined) {
649
+ option.default = JSON.stringify(prop.default);
650
+ }
651
+ if (prop.deprecated !== undefined) {
652
+ option.deprecated = typeof prop.deprecated === "string" ? prop.deprecated : "";
653
+ }
654
+ if (prop.type === "object" && prop.properties) {
655
+ option.nestedOptions = Object.entries(prop.properties).map(([subName, subProp]) => extractEmitterOptionInfo(subName, subProp));
656
+ }
657
+ return option;
658
+ }
659
+ function extractOneOfEmitterOption(name, prop) {
660
+ const rawVariants = prop.oneOf;
661
+ const variants = [];
662
+ for (const variant of rawVariants) {
663
+ const v = {
664
+ type: resolveEmitterOptionType(variant)
665
+ };
666
+ if (variant.enum) {
667
+ v.allowedValues = variant.enum.map(x => typeof x === "string" ? `"${x}"` : String(x));
668
+ }
669
+ if (variant.default !== undefined) {
670
+ v.default = JSON.stringify(variant.default);
671
+ }
672
+ if (variant.description) {
673
+ v.doc = resolveDescription(variant.description);
674
+ }
675
+ if (variant.type === "object" && variant.properties) {
676
+ v.nestedOptions = Object.entries(variant.properties).map(([subName, subProp]) => extractEmitterOptionInfo(subName, subProp));
677
+ }
678
+ variants.push(v);
679
+ }
680
+ const option = {
681
+ name,
682
+ type: rawVariants.map(v => resolveEmitterOptionType(v)).join(" | "),
683
+ doc: resolveDescription(prop.description),
684
+ variants
685
+ };
686
+ if (prop.default !== undefined) {
687
+ option.default = JSON.stringify(prop.default);
688
+ }
689
+ return option;
690
+ }
691
+ function resolveEmitterOptionType(prop) {
692
+ if (prop.oneOf) {
693
+ return prop.oneOf.map(s => resolveEmitterOptionType(s)).join(" | ");
694
+ }
695
+ if (prop.type === "array") {
696
+ if (prop.items) {
697
+ if (prop.items.enum) {
698
+ const values = prop.items.enum.map(x => typeof x === "string" ? `"${x}"` : String(x)).join(" | ");
699
+ return `(${values})[]`;
700
+ }
701
+ const itemType = prop.items.type ?? "unknown";
702
+ return `${itemType}[]`;
703
+ }
704
+ return "array";
705
+ }
706
+ if (prop.type === "object" && prop.properties) {
707
+ const keys = Object.keys(prop.properties);
708
+ return `object { ${keys.join(", ")} }`;
709
+ }
710
+ if (prop.enum) {
711
+ return prop.enum.map(x => typeof x === "string" ? `"${x}"` : String(x)).join(" | ");
712
+ }
713
+ return prop.type ?? "unknown";
714
+ }
715
+ function resolveDescription(description) {
716
+ if (description === undefined) return "";
717
+ return Array.isArray(description) ? description.join("\n") : description;
718
+ }
541
719
  function extractLinterRefDoc(libName, linter) {
542
720
  return {
543
721
  ruleSets: linter.ruleSets && extractLinterRuleSetsRefDoc(libName, linter.ruleSets),