@typespec/tspd 0.75.0-dev.0 → 0.75.0-dev.6

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 (70) hide show
  1. package/dist/src/gen-extern-signatures/components/dollar-functions-type.d.ts +10 -0
  2. package/dist/src/gen-extern-signatures/components/dollar-functions-type.d.ts.map +1 -0
  3. package/dist/src/gen-extern-signatures/components/dollar-functions-type.js +40 -0
  4. package/dist/src/gen-extern-signatures/components/dollar-functions-type.js.map +1 -0
  5. package/dist/src/gen-extern-signatures/components/dollar-functions-type.jsx +18 -0
  6. package/dist/src/gen-extern-signatures/components/dollar-functions-type.jsx.map +1 -0
  7. package/dist/src/gen-extern-signatures/components/entity-signature-tests.d.ts +12 -0
  8. package/dist/src/gen-extern-signatures/components/entity-signature-tests.d.ts.map +1 -0
  9. package/dist/src/gen-extern-signatures/components/entity-signature-tests.js +40 -0
  10. package/dist/src/gen-extern-signatures/components/entity-signature-tests.js.map +1 -0
  11. package/dist/src/gen-extern-signatures/components/entity-signature-tests.jsx +25 -0
  12. package/dist/src/gen-extern-signatures/components/entity-signature-tests.jsx.map +1 -0
  13. package/dist/src/gen-extern-signatures/components/entity-signatures.d.ts +13 -0
  14. package/dist/src/gen-extern-signatures/components/entity-signatures.d.ts.map +1 -0
  15. package/dist/src/gen-extern-signatures/components/entity-signatures.js +144 -0
  16. package/dist/src/gen-extern-signatures/components/entity-signatures.js.map +1 -0
  17. package/dist/src/gen-extern-signatures/components/entity-signatures.jsx +75 -0
  18. package/dist/src/gen-extern-signatures/components/entity-signatures.jsx.map +1 -0
  19. package/dist/src/gen-extern-signatures/components/function-signature-type.d.ts +15 -0
  20. package/dist/src/gen-extern-signatures/components/function-signature-type.d.ts.map +1 -0
  21. package/dist/src/gen-extern-signatures/components/function-signature-type.js +372 -0
  22. package/dist/src/gen-extern-signatures/components/function-signature-type.js.map +1 -0
  23. package/dist/src/gen-extern-signatures/components/function-signature-type.jsx +281 -0
  24. package/dist/src/gen-extern-signatures/components/function-signature-type.jsx.map +1 -0
  25. package/dist/src/gen-extern-signatures/external-packages/compiler.d.ts +2 -0
  26. package/dist/src/gen-extern-signatures/external-packages/compiler.d.ts.map +1 -1
  27. package/dist/src/gen-extern-signatures/external-packages/compiler.js +1 -1
  28. package/dist/src/gen-extern-signatures/external-packages/compiler.js.map +1 -1
  29. package/dist/src/gen-extern-signatures/gen-extern-signatures.d.ts.map +1 -1
  30. package/dist/src/gen-extern-signatures/gen-extern-signatures.js +32 -9
  31. package/dist/src/gen-extern-signatures/gen-extern-signatures.js.map +1 -1
  32. package/dist/src/gen-extern-signatures/types.d.ts +11 -1
  33. package/dist/src/gen-extern-signatures/types.d.ts.map +1 -1
  34. package/dist/src/ref-doc/emitters/docusaurus.d.ts +2 -2
  35. package/dist/src/ref-doc/emitters/docusaurus.d.ts.map +1 -1
  36. package/dist/src/ref-doc/emitters/docusaurus.js +2 -8
  37. package/dist/src/ref-doc/emitters/docusaurus.js.map +1 -1
  38. package/dist/src/ref-doc/emitters/markdown.d.ts +9 -2
  39. package/dist/src/ref-doc/emitters/markdown.d.ts.map +1 -1
  40. package/dist/src/ref-doc/emitters/markdown.js +88 -4
  41. package/dist/src/ref-doc/emitters/markdown.js.map +1 -1
  42. package/dist/src/ref-doc/emitters/starlight.d.ts +2 -2
  43. package/dist/src/ref-doc/emitters/starlight.d.ts.map +1 -1
  44. package/dist/src/ref-doc/emitters/starlight.js +83 -8
  45. package/dist/src/ref-doc/emitters/starlight.js.map +1 -1
  46. package/dist/src/ref-doc/experimental.d.ts.map +1 -1
  47. package/dist/src/ref-doc/experimental.js +9 -1
  48. package/dist/src/ref-doc/experimental.js.map +1 -1
  49. package/dist/src/ref-doc/extractor.d.ts +5 -0
  50. package/dist/src/ref-doc/extractor.d.ts.map +1 -1
  51. package/dist/src/ref-doc/extractor.js +186 -8
  52. package/dist/src/ref-doc/extractor.js.map +1 -1
  53. package/dist/src/ref-doc/types.d.ts +27 -1
  54. package/dist/src/ref-doc/types.d.ts.map +1 -1
  55. package/dist/src/ref-doc/utils/type-signature.d.ts.map +1 -1
  56. package/dist/src/ref-doc/utils/type-signature.js +24 -1
  57. package/dist/src/ref-doc/utils/type-signature.js.map +1 -1
  58. package/package.json +27 -29
  59. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.d.ts +0 -8
  60. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.d.ts.map +0 -1
  61. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.js +0 -17
  62. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.js.map +0 -1
  63. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.jsx +0 -12
  64. package/dist/src/gen-extern-signatures/components/decorator-signature-tests.jsx.map +0 -1
  65. package/dist/src/gen-extern-signatures/components/decorators-signatures.d.ts +0 -12
  66. package/dist/src/gen-extern-signatures/components/decorators-signatures.d.ts.map +0 -1
  67. package/dist/src/gen-extern-signatures/components/decorators-signatures.js +0 -108
  68. package/dist/src/gen-extern-signatures/components/decorators-signatures.js.map +0 -1
  69. package/dist/src/gen-extern-signatures/components/decorators-signatures.jsx +0 -60
  70. package/dist/src/gen-extern-signatures/components/decorators-signatures.jsx.map +0 -1
@@ -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),