@microsoft/api-documenter 7.26.28 → 7.26.30

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/CHANGELOG.json CHANGED
@@ -1,6 +1,42 @@
1
1
  {
2
2
  "name": "@microsoft/api-documenter",
3
3
  "entries": [
4
+ {
5
+ "version": "7.26.30",
6
+ "tag": "@microsoft/api-documenter_v7.26.30",
7
+ "date": "Wed, 23 Jul 2025 20:55:57 GMT",
8
+ "comments": {
9
+ "dependency": [
10
+ {
11
+ "comment": "Updating dependency \"@microsoft/api-extractor-model\" to `7.30.7`"
12
+ },
13
+ {
14
+ "comment": "Updating dependency \"@rushstack/node-core-library\" to `5.14.0`"
15
+ },
16
+ {
17
+ "comment": "Updating dependency \"@rushstack/terminal\" to `0.15.4`"
18
+ },
19
+ {
20
+ "comment": "Updating dependency \"@rushstack/ts-command-line\" to `5.0.2`"
21
+ },
22
+ {
23
+ "comment": "Updating dependency \"@rushstack/heft\" to `0.74.1`"
24
+ }
25
+ ]
26
+ }
27
+ },
28
+ {
29
+ "version": "7.26.29",
30
+ "tag": "@microsoft/api-documenter_v7.26.29",
31
+ "date": "Tue, 24 Jun 2025 00:11:43 GMT",
32
+ "comments": {
33
+ "patch": [
34
+ {
35
+ "comment": "Ensure a new line is inserted after rendering a table"
36
+ }
37
+ ]
38
+ }
39
+ },
4
40
  {
5
41
  "version": "7.26.28",
6
42
  "tag": "@microsoft/api-documenter_v7.26.28",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # Change Log - @microsoft/api-documenter
2
2
 
3
- This log was last generated on Sat, 21 Jun 2025 00:13:15 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 23 Jul 2025 20:55:57 GMT and should not be manually modified.
4
+
5
+ ## 7.26.30
6
+ Wed, 23 Jul 2025 20:55:57 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 7.26.29
11
+ Tue, 24 Jun 2025 00:11:43 GMT
12
+
13
+ ### Patches
14
+
15
+ - Ensure a new line is inserted after rendering a table
4
16
 
5
17
  ## 7.26.28
6
18
  Sat, 21 Jun 2025 00:13:15 GMT
@@ -99,7 +99,7 @@ class CustomMarkdownEmitter extends MarkdownEmitter_1.MarkdownEmitter {
99
99
  }
100
100
  writer.write('</tbody>');
101
101
  writer.write('</table>');
102
- writer.writeLine();
102
+ writer.ensureSkippedLine();
103
103
  break;
104
104
  }
105
105
  case CustomDocNodeKind_1.CustomDocNodeKind.EmphasisSpan: {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomMarkdownEmitter.js","sourceRoot":"","sources":["../../src/markdown/CustomMarkdownEmitter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport type { DocNode, DocLinkTag, StringBuilder } from '@microsoft/tsdoc';\nimport type { ApiModel, IResolveDeclarationReferenceResult, ApiItem } from '@microsoft/api-extractor-model';\nimport { Colorize } from '@rushstack/terminal';\n\nimport { CustomDocNodeKind } from '../nodes/CustomDocNodeKind';\nimport type { DocHeading } from '../nodes/DocHeading';\nimport type { DocNoteBox } from '../nodes/DocNoteBox';\nimport type { DocTable } from '../nodes/DocTable';\nimport type { DocTableCell } from '../nodes/DocTableCell';\nimport type { DocEmphasisSpan } from '../nodes/DocEmphasisSpan';\nimport {\n MarkdownEmitter,\n type IMarkdownEmitterContext,\n type IMarkdownEmitterOptions\n} from './MarkdownEmitter';\nimport type { IndentedWriter } from '../utils/IndentedWriter';\n\nexport interface ICustomMarkdownEmitterOptions extends IMarkdownEmitterOptions {\n contextApiItem: ApiItem | undefined;\n\n onGetFilenameForApiItem: (apiItem: ApiItem) => string | undefined;\n}\n\nexport class CustomMarkdownEmitter extends MarkdownEmitter {\n private _apiModel: ApiModel;\n\n public constructor(apiModel: ApiModel) {\n super();\n\n this._apiModel = apiModel;\n }\n\n public emit(\n stringBuilder: StringBuilder,\n docNode: DocNode,\n options: ICustomMarkdownEmitterOptions\n ): string {\n return super.emit(stringBuilder, docNode, options);\n }\n\n /** @override */\n protected writeNode(docNode: DocNode, context: IMarkdownEmitterContext, docNodeSiblings: boolean): void {\n const writer: IndentedWriter = context.writer;\n\n switch (docNode.kind) {\n case CustomDocNodeKind.Heading: {\n const docHeading: DocHeading = docNode as DocHeading;\n writer.ensureSkippedLine();\n\n let prefix: string;\n switch (docHeading.level) {\n case 1:\n prefix = '##';\n break;\n case 2:\n prefix = '###';\n break;\n case 3:\n prefix = '###';\n break;\n default:\n prefix = '####';\n }\n\n writer.writeLine(prefix + ' ' + this.getEscapedText(docHeading.title));\n writer.writeLine();\n break;\n }\n case CustomDocNodeKind.NoteBox: {\n const docNoteBox: DocNoteBox = docNode as DocNoteBox;\n writer.ensureNewLine();\n\n writer.increaseIndent('> ');\n\n this.writeNode(docNoteBox.content, context, false);\n writer.ensureNewLine();\n\n writer.decreaseIndent();\n\n writer.writeLine();\n break;\n }\n case CustomDocNodeKind.Table: {\n const docTable: DocTable = docNode as DocTable;\n // GitHub's markdown renderer chokes on tables that don't have a blank line above them,\n // whereas VS Code's renderer is totally fine with it.\n writer.ensureSkippedLine();\n\n // Markdown table rows can have inconsistent cell counts. Size the table based on the longest row.\n let columnCount: number = 0;\n if (docTable.header) {\n columnCount = docTable.header.cells.length;\n }\n for (const row of docTable.rows) {\n if (row.cells.length > columnCount) {\n columnCount = row.cells.length;\n }\n }\n\n writer.write('<table>');\n if (docTable.header) {\n writer.write('<thead><tr>');\n for (let i: number = 0; i < columnCount; ++i) {\n writer.write('<th>');\n writer.ensureNewLine();\n writer.writeLine();\n const cell: DocTableCell | undefined = docTable.header.cells[i];\n if (cell) {\n this.writeNode(cell.content, context, false);\n }\n writer.ensureNewLine();\n writer.writeLine();\n writer.write('</th>');\n }\n writer.write('</tr></thead>');\n }\n writer.writeLine();\n\n writer.write('<tbody>');\n for (const row of docTable.rows) {\n writer.write('<tr>');\n for (const cell of row.cells) {\n writer.write('<td>');\n writer.ensureNewLine();\n writer.writeLine();\n this.writeNode(cell.content, context, false);\n writer.ensureNewLine();\n writer.writeLine();\n writer.write('</td>');\n }\n writer.write('</tr>');\n writer.writeLine();\n }\n writer.write('</tbody>');\n writer.write('</table>');\n writer.writeLine();\n\n break;\n }\n case CustomDocNodeKind.EmphasisSpan: {\n const docEmphasisSpan: DocEmphasisSpan = docNode as DocEmphasisSpan;\n const oldBold: boolean = context.boldRequested;\n const oldItalic: boolean = context.italicRequested;\n context.boldRequested = docEmphasisSpan.bold;\n context.italicRequested = docEmphasisSpan.italic;\n this.writeNodes(docEmphasisSpan.nodes, context);\n context.boldRequested = oldBold;\n context.italicRequested = oldItalic;\n break;\n }\n default:\n super.writeNode(docNode, context, docNodeSiblings);\n }\n }\n\n /** @override */\n protected writeLinkTagWithCodeDestination(\n docLinkTag: DocLinkTag,\n context: IMarkdownEmitterContext<ICustomMarkdownEmitterOptions>\n ): void {\n const options: ICustomMarkdownEmitterOptions = context.options;\n\n const result: IResolveDeclarationReferenceResult = this._apiModel.resolveDeclarationReference(\n docLinkTag.codeDestination!,\n options.contextApiItem\n );\n\n if (result.resolvedApiItem) {\n const filename: string | undefined = options.onGetFilenameForApiItem(result.resolvedApiItem);\n\n if (filename) {\n let linkText: string = docLinkTag.linkText || '';\n if (linkText.length === 0) {\n // Generate a name such as Namespace1.Namespace2.MyClass.myMethod()\n linkText = result.resolvedApiItem.getScopedNameWithinPackage();\n }\n if (linkText.length > 0) {\n const encodedLinkText: string = this.getEscapedText(linkText.replace(/\\s+/g, ' '));\n\n context.writer.write('[');\n context.writer.write(encodedLinkText);\n context.writer.write(`](${filename!})`);\n } else {\n console.log(Colorize.yellow('WARNING: Unable to determine link text'));\n }\n }\n } else if (result.errorMessage) {\n console.log(\n Colorize.yellow(\n `WARNING: Unable to resolve reference \"${docLinkTag.codeDestination!.emitAsTsdoc()}\": ` +\n result.errorMessage\n )\n );\n }\n }\n}\n"]}
1
+ {"version":3,"file":"CustomMarkdownEmitter.js","sourceRoot":"","sources":["../../src/markdown/CustomMarkdownEmitter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport type { DocNode, DocLinkTag, StringBuilder } from '@microsoft/tsdoc';\nimport type { ApiModel, IResolveDeclarationReferenceResult, ApiItem } from '@microsoft/api-extractor-model';\nimport { Colorize } from '@rushstack/terminal';\n\nimport { CustomDocNodeKind } from '../nodes/CustomDocNodeKind';\nimport type { DocHeading } from '../nodes/DocHeading';\nimport type { DocNoteBox } from '../nodes/DocNoteBox';\nimport type { DocTable } from '../nodes/DocTable';\nimport type { DocTableCell } from '../nodes/DocTableCell';\nimport type { DocEmphasisSpan } from '../nodes/DocEmphasisSpan';\nimport {\n MarkdownEmitter,\n type IMarkdownEmitterContext,\n type IMarkdownEmitterOptions\n} from './MarkdownEmitter';\nimport type { IndentedWriter } from '../utils/IndentedWriter';\n\nexport interface ICustomMarkdownEmitterOptions extends IMarkdownEmitterOptions {\n contextApiItem: ApiItem | undefined;\n\n onGetFilenameForApiItem: (apiItem: ApiItem) => string | undefined;\n}\n\nexport class CustomMarkdownEmitter extends MarkdownEmitter {\n private _apiModel: ApiModel;\n\n public constructor(apiModel: ApiModel) {\n super();\n\n this._apiModel = apiModel;\n }\n\n public emit(\n stringBuilder: StringBuilder,\n docNode: DocNode,\n options: ICustomMarkdownEmitterOptions\n ): string {\n return super.emit(stringBuilder, docNode, options);\n }\n\n /** @override */\n protected writeNode(docNode: DocNode, context: IMarkdownEmitterContext, docNodeSiblings: boolean): void {\n const writer: IndentedWriter = context.writer;\n\n switch (docNode.kind) {\n case CustomDocNodeKind.Heading: {\n const docHeading: DocHeading = docNode as DocHeading;\n writer.ensureSkippedLine();\n\n let prefix: string;\n switch (docHeading.level) {\n case 1:\n prefix = '##';\n break;\n case 2:\n prefix = '###';\n break;\n case 3:\n prefix = '###';\n break;\n default:\n prefix = '####';\n }\n\n writer.writeLine(prefix + ' ' + this.getEscapedText(docHeading.title));\n writer.writeLine();\n break;\n }\n case CustomDocNodeKind.NoteBox: {\n const docNoteBox: DocNoteBox = docNode as DocNoteBox;\n writer.ensureNewLine();\n\n writer.increaseIndent('> ');\n\n this.writeNode(docNoteBox.content, context, false);\n writer.ensureNewLine();\n\n writer.decreaseIndent();\n\n writer.writeLine();\n break;\n }\n case CustomDocNodeKind.Table: {\n const docTable: DocTable = docNode as DocTable;\n // GitHub's markdown renderer chokes on tables that don't have a blank line above them,\n // whereas VS Code's renderer is totally fine with it.\n writer.ensureSkippedLine();\n\n // Markdown table rows can have inconsistent cell counts. Size the table based on the longest row.\n let columnCount: number = 0;\n if (docTable.header) {\n columnCount = docTable.header.cells.length;\n }\n for (const row of docTable.rows) {\n if (row.cells.length > columnCount) {\n columnCount = row.cells.length;\n }\n }\n\n writer.write('<table>');\n if (docTable.header) {\n writer.write('<thead><tr>');\n for (let i: number = 0; i < columnCount; ++i) {\n writer.write('<th>');\n writer.ensureNewLine();\n writer.writeLine();\n const cell: DocTableCell | undefined = docTable.header.cells[i];\n if (cell) {\n this.writeNode(cell.content, context, false);\n }\n writer.ensureNewLine();\n writer.writeLine();\n writer.write('</th>');\n }\n writer.write('</tr></thead>');\n }\n writer.writeLine();\n\n writer.write('<tbody>');\n for (const row of docTable.rows) {\n writer.write('<tr>');\n for (const cell of row.cells) {\n writer.write('<td>');\n writer.ensureNewLine();\n writer.writeLine();\n this.writeNode(cell.content, context, false);\n writer.ensureNewLine();\n writer.writeLine();\n writer.write('</td>');\n }\n writer.write('</tr>');\n writer.writeLine();\n }\n writer.write('</tbody>');\n writer.write('</table>');\n writer.ensureSkippedLine();\n\n break;\n }\n case CustomDocNodeKind.EmphasisSpan: {\n const docEmphasisSpan: DocEmphasisSpan = docNode as DocEmphasisSpan;\n const oldBold: boolean = context.boldRequested;\n const oldItalic: boolean = context.italicRequested;\n context.boldRequested = docEmphasisSpan.bold;\n context.italicRequested = docEmphasisSpan.italic;\n this.writeNodes(docEmphasisSpan.nodes, context);\n context.boldRequested = oldBold;\n context.italicRequested = oldItalic;\n break;\n }\n default:\n super.writeNode(docNode, context, docNodeSiblings);\n }\n }\n\n /** @override */\n protected writeLinkTagWithCodeDestination(\n docLinkTag: DocLinkTag,\n context: IMarkdownEmitterContext<ICustomMarkdownEmitterOptions>\n ): void {\n const options: ICustomMarkdownEmitterOptions = context.options;\n\n const result: IResolveDeclarationReferenceResult = this._apiModel.resolveDeclarationReference(\n docLinkTag.codeDestination!,\n options.contextApiItem\n );\n\n if (result.resolvedApiItem) {\n const filename: string | undefined = options.onGetFilenameForApiItem(result.resolvedApiItem);\n\n if (filename) {\n let linkText: string = docLinkTag.linkText || '';\n if (linkText.length === 0) {\n // Generate a name such as Namespace1.Namespace2.MyClass.myMethod()\n linkText = result.resolvedApiItem.getScopedNameWithinPackage();\n }\n if (linkText.length > 0) {\n const encodedLinkText: string = this.getEscapedText(linkText.replace(/\\s+/g, ' '));\n\n context.writer.write('[');\n context.writer.write(encodedLinkText);\n context.writer.write(`](${filename!})`);\n } else {\n console.log(Colorize.yellow('WARNING: Unable to determine link text'));\n }\n }\n } else if (result.errorMessage) {\n console.log(\n Colorize.yellow(\n `WARNING: Unable to resolve reference \"${docLinkTag.codeDestination!.emitAsTsdoc()}\": ` +\n result.errorMessage\n )\n );\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/api-documenter",
3
- "version": "7.26.28",
3
+ "version": "7.26.30",
4
4
  "description": "Read JSON files from api-extractor, generate documentation pages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,15 +18,16 @@
18
18
  "@microsoft/tsdoc": "~0.15.1",
19
19
  "js-yaml": "~3.13.1",
20
20
  "resolve": "~1.22.1",
21
- "@microsoft/api-extractor-model": "7.30.6",
22
- "@rushstack/node-core-library": "5.13.1",
23
- "@rushstack/ts-command-line": "5.0.1",
24
- "@rushstack/terminal": "0.15.3"
21
+ "@rushstack/node-core-library": "5.14.0",
22
+ "@microsoft/api-extractor-model": "7.30.7",
23
+ "@rushstack/ts-command-line": "5.0.2",
24
+ "@rushstack/terminal": "0.15.4"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/js-yaml": "3.12.1",
28
28
  "@types/resolve": "1.20.2",
29
- "@rushstack/heft": "0.74.0",
29
+ "eslint": "~9.25.1",
30
+ "@rushstack/heft": "0.74.1",
30
31
  "local-node-rig": "1.0.0"
31
32
  },
32
33
  "scripts": {