diff --git a/apps/api-documenter/src/documenters/MarkdownDocumenter.ts b/apps/api-documenter/src/documenters/MarkdownDocumenter.ts index 7bcf4aec49a..bfefbbe212c 100644 --- a/apps/api-documenter/src/documenters/MarkdownDocumenter.ts +++ b/apps/api-documenter/src/documenters/MarkdownDocumenter.ts @@ -41,7 +41,9 @@ import { ApiTypeAlias, ExcerptToken, ApiOptionalMixin, - ApiInitializerMixin + ApiInitializerMixin, + ApiProtectedMixin, + ApiReadonlyMixin } from '@microsoft/api-extractor-model'; import { CustomDocNodes } from '../nodes/CustomDocNodeKind'; @@ -755,12 +757,12 @@ export class MarkdownDocumenter { const eventsTable: DocTable = new DocTable({ configuration, - headerTitles: ['Property', 'Type', 'Description'] + headerTitles: ['Property', 'Modifiers', 'Type', 'Description'] }); const propertiesTable: DocTable = new DocTable({ configuration, - headerTitles: ['Property', 'Type', 'Description'] + headerTitles: ['Property', 'Modifiers', 'Type', 'Description'] }); const methodsTable: DocTable = new DocTable({ @@ -787,6 +789,7 @@ export class MarkdownDocumenter { eventsTable.addRow( new DocTableRow({ configuration }, [ this._createTitleCell(apiMember), + this._createModifiersCell(apiMember), this._createPropertyTypeCell(apiMember), this._createDescriptionCell(apiMember) ]) @@ -795,6 +798,7 @@ export class MarkdownDocumenter { propertiesTable.addRow( new DocTableRow({ configuration }, [ this._createTitleCell(apiMember), + this._createModifiersCell(apiMember), this._createPropertyTypeCell(apiMember), this._createDescriptionCell(apiMember) ]) @@ -1007,9 +1011,27 @@ export class MarkdownDocumenter { const section: DocSection = new DocSection({ configuration }); + if (ApiProtectedMixin.isBaseClassOf(apiItem)) { + if (apiItem.isProtected) { + section.appendNode( + new DocParagraph({ configuration }, [new DocCodeSpan({ configuration, code: 'protected' })]) + ); + } + } + + if (ApiReadonlyMixin.isBaseClassOf(apiItem)) { + if (apiItem.isReadonly) { + section.appendNode( + new DocParagraph({ configuration }, [new DocCodeSpan({ configuration, code: 'readonly' })]) + ); + } + } + if (ApiStaticMixin.isBaseClassOf(apiItem)) { if (apiItem.isStatic) { - section.appendNodeInParagraph(new DocCodeSpan({ configuration, code: 'static' })); + section.appendNode( + new DocParagraph({ configuration }, [new DocCodeSpan({ configuration, code: 'static' })]) + ); } } diff --git a/apps/api-documenter/src/markdown/CustomMarkdownEmitter.ts b/apps/api-documenter/src/markdown/CustomMarkdownEmitter.ts index 413c7ae620b..edec714d34a 100644 --- a/apps/api-documenter/src/markdown/CustomMarkdownEmitter.ts +++ b/apps/api-documenter/src/markdown/CustomMarkdownEmitter.ts @@ -147,7 +147,7 @@ export class CustomMarkdownEmitter extends MarkdownEmitter { break; } default: - super.writeNode(docNode, context, false); + super.writeNode(docNode, context, docNodeSiblings); } } diff --git a/apps/api-documenter/src/markdown/MarkdownEmitter.ts b/apps/api-documenter/src/markdown/MarkdownEmitter.ts index 7b1299d833b..85d76d4f09a 100644 --- a/apps/api-documenter/src/markdown/MarkdownEmitter.ts +++ b/apps/api-documenter/src/markdown/MarkdownEmitter.ts @@ -141,9 +141,13 @@ export class MarkdownEmitter { const trimmedParagraph: DocParagraph = DocNodeTransforms.trimSpacesInParagraph(docParagraph); if (context.insideTable) { if (docNodeSiblings) { - writer.write('

'); - this.writeNodes(trimmedParagraph.nodes, context); - writer.write('

'); + // This tentative write is necessary to avoid writing empty paragraph tags (i.e. `

`). At the + // time this code runs, we do not know whether the `writeNodes` call below will actually write + // anything. Thus, we want to only write a `

` tag (as well as eventually a corresponding + // `

` tag) if something ends up being written within the tags. + writer.writeTentative('

', '

', () => { + this.writeNodes(trimmedParagraph.nodes, context); + }); } else { // Special case: If we are the only element inside this table cell, then we can omit the

container. this.writeNodes(trimmedParagraph.nodes, context); diff --git a/apps/api-documenter/src/utils/IndentedWriter.ts b/apps/api-documenter/src/utils/IndentedWriter.ts index 6b57676b530..cd5d1a31020 100644 --- a/apps/api-documenter/src/utils/IndentedWriter.ts +++ b/apps/api-documenter/src/utils/IndentedWriter.ts @@ -46,6 +46,9 @@ export class IndentedWriter { private readonly _indentStack: string[]; private _indentText: string; + private _beforeStack: string[]; + private _isWritingBeforeStack: boolean; + public constructor(builder?: IStringBuilder) { this._builder = builder === undefined ? new StringBuilder() : builder; @@ -55,6 +58,9 @@ export class IndentedWriter { this._indentStack = []; this._indentText = ''; + + this._beforeStack = []; + this._isWritingBeforeStack = false; } /** @@ -149,6 +155,30 @@ export class IndentedWriter { return ''; } + /** + * Writes `before` and `after` messages if and only if `mayWrite` writes anything. + * + * If `mayWrite` writes "CONTENT", this method will write "CONTENT". + * If `mayWrite` writes nothing, this method will write nothing. + */ + public writeTentative(before: string, after: string, mayWrite: () => void): void { + this._beforeStack.push(before); + + // If this function writes anything, then _all_ messages in the "before stack" will also be + // written. This means that the stack will be empty (as when we write a message from the stack, + // we remove it from the stack). + mayWrite(); + + // If the stack is not empty, it means that `mayWrite` didn't write anything. Pop the last- + // added message from the stack, we'll never write it. Otherwise, if the stack is empty, then + // write the "after" message. + if (this._beforeStack.length > 0) { + this._beforeStack.pop(); + } else { + this.write(after); + } + } + /** * Writes some text to the internal string buffer, applying indentation according * to the current indentation level. If the string contains multiple newlines, @@ -159,6 +189,10 @@ export class IndentedWriter { return; } + if (!this._isWritingBeforeStack) { + this._writeBeforeStack(); + } + // If there are no newline characters, then append the string verbatim if (!/[\r\n]/.test(message)) { this._writeLinePart(message); @@ -186,7 +220,10 @@ export class IndentedWriter { public writeLine(message: string = ''): void { if (message.length > 0) { this.write(message); + } else if (!this._isWritingBeforeStack) { + this._writeBeforeStack(); } + this._writeNewLine(); } @@ -218,6 +255,21 @@ export class IndentedWriter { this._builder.append(s); } + /** + * Writes all messages in our before stack, processing them in FIFO order. This stack is + * populated by the `writeTentative` method. + */ + private _writeBeforeStack(): void { + this._isWritingBeforeStack = true; + + for (const message of this._beforeStack) { + this.write(message); + } + + this._isWritingBeforeStack = false; + this._beforeStack = []; + } + private _updateIndentText(): void { this._indentText = this._indentStack.join(''); } diff --git a/apps/api-extractor/src/generators/ApiModelGenerator.ts b/apps/api-extractor/src/generators/ApiModelGenerator.ts index 3c849eba5e2..5fae347ee5b 100644 --- a/apps/api-extractor/src/generators/ApiModelGenerator.ts +++ b/apps/api-extractor/src/generators/ApiModelGenerator.ts @@ -609,6 +609,7 @@ export class ApiModelGenerator { const apiItemMetadata: ApiItemMetadata = this._collector.fetchApiItemMetadata(astDeclaration); const docComment: tsdoc.DocComment | undefined = apiItemMetadata.tsdocComment; const releaseTag: ReleaseTag = apiItemMetadata.effectiveReleaseTag; + const isReadonly: boolean = this._isReadonly(astDeclaration); apiIndexSignature = new ApiIndexSignature({ docComment, @@ -616,7 +617,8 @@ export class ApiModelGenerator { parameters, overloadIndex, excerptTokens, - returnTypeTokenRange + returnTypeTokenRange, + isReadonly }); parentApiItem.addMember(apiIndexSignature); @@ -862,7 +864,7 @@ export class ApiModelGenerator { const isOptional: boolean = (astDeclaration.astSymbol.followedSymbol.flags & ts.SymbolFlags.Optional) !== 0; const isProtected: boolean = (astDeclaration.modifierFlags & ts.ModifierFlags.Protected) !== 0; - const isReadonly: boolean = this._determineReadonly(astDeclaration); + const isReadonly: boolean = this._isReadonly(astDeclaration); apiProperty = new ApiProperty({ name, @@ -909,7 +911,7 @@ export class ApiModelGenerator { const releaseTag: ReleaseTag = apiItemMetadata.effectiveReleaseTag; const isOptional: boolean = (astDeclaration.astSymbol.followedSymbol.flags & ts.SymbolFlags.Optional) !== 0; - const isReadonly: boolean = this._determineReadonly(astDeclaration); + const isReadonly: boolean = this._isReadonly(astDeclaration); apiPropertySignature = new ApiPropertySignature({ name, @@ -1003,7 +1005,7 @@ export class ApiModelGenerator { const apiItemMetadata: ApiItemMetadata = this._collector.fetchApiItemMetadata(astDeclaration); const docComment: tsdoc.DocComment | undefined = apiItemMetadata.tsdocComment; const releaseTag: ReleaseTag = apiItemMetadata.effectiveReleaseTag; - const isReadonly: boolean = this._determineReadonly(astDeclaration); + const isReadonly: boolean = this._isReadonly(astDeclaration); apiVariable = new ApiVariable({ name, @@ -1087,21 +1089,34 @@ export class ApiModelGenerator { return parameters; } - private _determineReadonly(astDeclaration: AstDeclaration): boolean { - const apiItemMetadata: ApiItemMetadata = this._collector.fetchApiItemMetadata(astDeclaration); - const docComment: tsdoc.DocComment | undefined = apiItemMetadata.tsdocComment; - const declarationMetadata: DeclarationMetadata = this._collector.fetchDeclarationMetadata(astDeclaration); - //Line 1: sees whether the readonly or const modifiers are present - //Line 2: sees if the TSDoc comment for @readonly is present - //Line 3: sees whether a getter is present for a property with no setter - //Line 4: sees if the var declaration has Const keyword - return ( - (astDeclaration.modifierFlags & (ts.ModifierFlags.Readonly + ts.ModifierFlags.Const)) !== 0 || - (docComment !== undefined && docComment.modifierTagSet.hasTagName('@readonly')) || - (declarationMetadata.ancillaryDeclarations.length === 0 && - astDeclaration.declaration.kind === ts.SyntaxKind.GetAccessor) || - (ts.isVariableDeclaration(astDeclaration.declaration) && - TypeScriptInternals.isVarConst(astDeclaration.declaration)) - ); + private _isReadonly(astDeclaration: AstDeclaration): boolean { + switch (astDeclaration.declaration.kind) { + case ts.SyntaxKind.GetAccessor: + case ts.SyntaxKind.IndexSignature: + case ts.SyntaxKind.PropertyDeclaration: + case ts.SyntaxKind.PropertySignature: + case ts.SyntaxKind.SetAccessor: + case ts.SyntaxKind.VariableDeclaration: { + const apiItemMetadata: ApiItemMetadata = this._collector.fetchApiItemMetadata(astDeclaration); + const docComment: tsdoc.DocComment | undefined = apiItemMetadata.tsdocComment; + const declarationMetadata: DeclarationMetadata = + this._collector.fetchDeclarationMetadata(astDeclaration); + + const hasReadonlyModifier: boolean = (astDeclaration.modifierFlags & ts.ModifierFlags.Readonly) !== 0; + const hasReadonlyDocTag: boolean = !!docComment?.modifierTagSet?.hasTagName('@readonly'); + const isGetterWithNoSetter: boolean = + ts.isGetAccessorDeclaration(astDeclaration.declaration) && + declarationMetadata.ancillaryDeclarations.length === 0; + const isVarConst: boolean = + ts.isVariableDeclaration(astDeclaration.declaration) && + TypeScriptInternals.isVarConst(astDeclaration.declaration); + + return hasReadonlyModifier || hasReadonlyDocTag || isGetterWithNoSetter || isVarConst; + } + default: { + // Readonly-ness does not make sense for any other declaration kind. + return false; + } + } } } diff --git a/build-tests/api-documenter-test/etc/api-documenter-test.api.json b/build-tests/api-documenter-test/etc/api-documenter-test.api.json index 90764316f67..da1af672e6a 100644 --- a/build-tests/api-documenter-test/etc/api-documenter-test.api.json +++ b/build-tests/api-documenter-test/etc/api-documenter-test.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", @@ -704,6 +704,35 @@ "isStatic": false, "isProtected": false }, + { + "kind": "Property", + "canonicalReference": "api-documenter-test!DocClass1.multipleModifiersProperty:member", + "docComment": "/**\n * Some property with multiple modifiers.\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "protected static readonly multipleModifiersProperty: " + }, + { + "kind": "Content", + "text": "boolean" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "multipleModifiersProperty", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": true, + "isProtected": true + }, { "kind": "Method", "canonicalReference": "api-documenter-test!DocClass1#optionalParamFunction:member(1)", @@ -753,12 +782,12 @@ }, { "kind": "Property", - "canonicalReference": "api-documenter-test!DocClass1#readonlyProperty:member", - "docComment": "", + "canonicalReference": "api-documenter-test!DocClass1#protectedProperty:member", + "docComment": "/**\n * Some protected property.\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "get readonlyProperty(): " + "text": "protected protectedProperty: " }, { "kind": "Content", @@ -769,40 +798,39 @@ "text": ";" } ], - "isReadonly": true, + "isReadonly": false, "isOptional": false, "releaseTag": "Public", - "name": "readonlyProperty", + "name": "protectedProperty", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 }, "isStatic": false, - "isProtected": false + "isProtected": true }, { "kind": "Property", - "canonicalReference": "api-documenter-test!DocClass1#regularProperty:member", - "docComment": "/**\n * This is a regular property that happens to use the SystemEvent type.\n */\n", + "canonicalReference": "api-documenter-test!DocClass1#readonlyProperty:member", + "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "regularProperty: " + "text": "get readonlyProperty(): " }, { - "kind": "Reference", - "text": "SystemEvent", - "canonicalReference": "api-documenter-test!SystemEvent:class" + "kind": "Content", + "text": "string" }, { "kind": "Content", "text": ";" } ], - "isReadonly": false, + "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "regularProperty", + "name": "readonlyProperty", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 @@ -812,31 +840,32 @@ }, { "kind": "Property", - "canonicalReference": "api-documenter-test!DocClass1.staticReadonlyThing:member", - "docComment": "", + "canonicalReference": "api-documenter-test!DocClass1#regularProperty:member", + "docComment": "/**\n * This is a regular property that happens to use the SystemEvent type.\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "static readonly staticReadonlyThing: " + "text": "regularProperty: " }, { - "kind": "Content", - "text": "boolean" + "kind": "Reference", + "text": "SystemEvent", + "canonicalReference": "api-documenter-test!SystemEvent:class" }, { "kind": "Content", "text": ";" } ], - "isReadonly": true, + "isReadonly": false, "isOptional": false, "releaseTag": "Public", - "name": "staticReadonlyThing", + "name": "regularProperty", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 }, - "isStatic": true, + "isStatic": false, "isProtected": false }, { @@ -1766,6 +1795,7 @@ "text": ";" } ], + "isReadonly": false, "returnTypeTokenRange": { "startIndex": 3, "endIndex": 4 diff --git a/build-tests/api-documenter-test/etc/api-documenter-test.api.md b/build-tests/api-documenter-test/etc/api-documenter-test.api.md index e9e1412b999..22fa1fef52d 100644 --- a/build-tests/api-documenter-test/etc/api-documenter-test.api.md +++ b/build-tests/api-documenter-test/etc/api-documenter-test.api.md @@ -40,12 +40,12 @@ export class DocClass1 extends DocBaseClass implements IDocInterface1, IDocInter malformedEvent: SystemEvent; // @eventProperty readonly modifiedEvent: SystemEvent; + protected static readonly multipleModifiersProperty: boolean; optionalParamFunction(x?: number): void; + protected protectedProperty: string; // (undocumented) get readonlyProperty(): string; regularProperty: SystemEvent; - // (undocumented) - static readonly staticReadonlyThing: boolean; static sumWithExample(x: number, y: number): number; tableExample(): void; // (undocumented) diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.md index e6c3fa4b49d..4ae28213699 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.md @@ -29,15 +29,16 @@ The constructor for this class is marked as internal. Third-party code should no | Property | Modifiers | Type | Description | | --- | --- | --- | --- | | [malformedEvent](./api-documenter-test.docclass1.malformedevent.md) | | [SystemEvent](./api-documenter-test.systemevent.md) | This event should have been marked as readonly. | -| [modifiedEvent](./api-documenter-test.docclass1.modifiedevent.md) | | [SystemEvent](./api-documenter-test.systemevent.md) | This event is fired whenever the object is modified. | +| [modifiedEvent](./api-documenter-test.docclass1.modifiedevent.md) | readonly | [SystemEvent](./api-documenter-test.systemevent.md) | This event is fired whenever the object is modified. | ## Properties | Property | Modifiers | Type | Description | | --- | --- | --- | --- | -| [readonlyProperty](./api-documenter-test.docclass1.readonlyproperty.md) | | string | | +| [multipleModifiersProperty](./api-documenter-test.docclass1.multiplemodifiersproperty.md) |

protected

readonly

static

| boolean | Some property with multiple modifiers. | +| [protectedProperty](./api-documenter-test.docclass1.protectedproperty.md) | protected | string | Some protected property. | +| [readonlyProperty](./api-documenter-test.docclass1.readonlyproperty.md) | readonly | string | | | [regularProperty](./api-documenter-test.docclass1.regularproperty.md) | | [SystemEvent](./api-documenter-test.systemevent.md) | This is a regular property that happens to use the SystemEvent type. | -| [staticReadonlyThing](./api-documenter-test.docclass1.staticreadonlything.md) | static | boolean | | | [writeableProperty](./api-documenter-test.docclass1.writeableproperty.md) | | string | | | [writeonlyProperty](./api-documenter-test.docclass1.writeonlyproperty.md) | | string | API Extractor will surface an ae-missing-getter finding for this property. | @@ -49,7 +50,7 @@ The constructor for this class is marked as internal. Third-party code should no | [exampleFunction(a, b)](./api-documenter-test.docclass1.examplefunction.md) | | This is an overloaded function. | | [exampleFunction(x)](./api-documenter-test.docclass1.examplefunction_1.md) | | This is also an overloaded function. | | [genericWithConstraintAndDefault(x)](./api-documenter-test.docclass1.genericwithconstraintanddefault.md) | | This is a method with a complex type parameter. | -| [interestingEdgeCases()](./api-documenter-test.docclass1.interestingedgecases.md) | | Example: "{ \\"maxItemsToShow\\": 123 }"The regular expression used to validate the constraints is /^\[a-zA-Z0-9\\-\_\]+$/ | +| [interestingEdgeCases()](./api-documenter-test.docclass1.interestingedgecases.md) | |

Example: "{ \\"maxItemsToShow\\": 123 }"

The regular expression used to validate the constraints is /^\[a-zA-Z0-9\\-\_\]+$/

| | [optionalParamFunction(x)](./api-documenter-test.docclass1.optionalparamfunction.md) | | This is a function with an optional parameter. | | [sumWithExample(x, y)](./api-documenter-test.docclass1.sumwithexample.md) | static | Returns the sum of two numbers. | | [tableExample()](./api-documenter-test.docclass1.tableexample.md) | | An example with tables: | diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.multiplemodifiersproperty.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.multiplemodifiersproperty.md new file mode 100644 index 00000000000..852ce939e10 --- /dev/null +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.multiplemodifiersproperty.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [api-documenter-test](./api-documenter-test.md) > [DocClass1](./api-documenter-test.docclass1.md) > [multipleModifiersProperty](./api-documenter-test.docclass1.multiplemodifiersproperty.md) + +## DocClass1.multipleModifiersProperty property + +Some property with multiple modifiers. + +Signature: + +```typescript +protected static readonly multipleModifiersProperty: boolean; +``` diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.staticreadonlything.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.protectedproperty.md similarity index 58% rename from build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.staticreadonlything.md rename to build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.protectedproperty.md index ecb46a0668b..1520c48dc75 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.staticreadonlything.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.protectedproperty.md @@ -1,11 +1,13 @@ -[Home](./index.md) > [api-documenter-test](./api-documenter-test.md) > [DocClass1](./api-documenter-test.docclass1.md) > [staticReadonlyThing](./api-documenter-test.docclass1.staticreadonlything.md) +[Home](./index.md) > [api-documenter-test](./api-documenter-test.md) > [DocClass1](./api-documenter-test.docclass1.md) > [protectedProperty](./api-documenter-test.docclass1.protectedproperty.md) -## DocClass1.staticReadonlyThing property +## DocClass1.protectedProperty property + +Some protected property. Signature: ```typescript -static readonly staticReadonlyThing: boolean; +protected protectedProperty: string; ``` diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docenum.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docenum.md index 54a5b4a9e4f..876add8c2a7 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docenum.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.docenum.md @@ -18,6 +18,6 @@ export declare enum DocEnum | Member | Value | Description | | --- | --- | --- | | One | 1 | These are some docs for One | -| Two | 2 | These are some docs for Two.[DocEnum.One](./api-documenter-test.docenum.md) is a direct link to another enum member. | +| Two | 2 |

These are some docs for Two.

[DocEnum.One](./api-documenter-test.docenum.md) is a direct link to another enum member.

| | Zero | 0 | These are some docs for Zero | diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface1.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface1.md index aef6e27fba1..6c820eb9c87 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface1.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface1.md @@ -13,7 +13,7 @@ export interface IDocInterface1 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| [regularProperty](./api-documenter-test.idocinterface1.regularproperty.md) | [SystemEvent](./api-documenter-test.systemevent.md) | Does something | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [regularProperty](./api-documenter-test.idocinterface1.regularproperty.md) | | [SystemEvent](./api-documenter-test.systemevent.md) | Does something | diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface3.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface3.md index 3da3486adfa..0bff0e7ba91 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface3.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface3.md @@ -15,11 +15,11 @@ export interface IDocInterface3 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| ["\[not.a.symbol\]"](./api-documenter-test.idocinterface3.__not.a.symbol__.md) | string | An identifier that does need quotes. It misleadingly looks like an ECMAScript symbol. | -| [\[EcmaSmbols.example\]](./api-documenter-test.idocinterface3._ecmasmbols.example_.md) | string | ECMAScript symbol | -| [redundantQuotes](./api-documenter-test.idocinterface3.redundantquotes.md) | string | A quoted identifier with redundant quotes. | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| ["\[not.a.symbol\]"](./api-documenter-test.idocinterface3.__not.a.symbol__.md) | | string | An identifier that does need quotes. It misleadingly looks like an ECMAScript symbol. | +| [\[EcmaSmbols.example\]](./api-documenter-test.idocinterface3._ecmasmbols.example_.md) | | string | ECMAScript symbol | +| [redundantQuotes](./api-documenter-test.idocinterface3.redundantquotes.md) | | string | A quoted identifier with redundant quotes. | ## Methods diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface4.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface4.md index 0338865b6fb..c57e796aee0 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface4.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface4.md @@ -15,10 +15,10 @@ export interface IDocInterface4 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| [Context](./api-documenter-test.idocinterface4.context.md) | ({ children }: { children: string; }) => boolean | Test newline rendering when code blocks are used in tables | -| [generic](./api-documenter-test.idocinterface4.generic.md) | [Generic](./api-documenter-test.generic.md)<number> | make sure html entities are escaped in tables. | -| [numberOrFunction](./api-documenter-test.idocinterface4.numberorfunction.md) | number \| (() => number) | a union type with a function | -| [stringOrNumber](./api-documenter-test.idocinterface4.stringornumber.md) | string \| number | a union type | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [Context](./api-documenter-test.idocinterface4.context.md) | | ({ children }: { children: string; }) => boolean | Test newline rendering when code blocks are used in tables | +| [generic](./api-documenter-test.idocinterface4.generic.md) | | [Generic](./api-documenter-test.generic.md)<number> | make sure html entities are escaped in tables. | +| [numberOrFunction](./api-documenter-test.idocinterface4.numberorfunction.md) | | number \| (() => number) | a union type with a function | +| [stringOrNumber](./api-documenter-test.idocinterface4.stringornumber.md) | | string \| number | a union type | diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface5.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface5.md index 687b39f2867..9053af2cfba 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface5.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface5.md @@ -14,7 +14,7 @@ export interface IDocInterface5 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| [regularProperty](./api-documenter-test.idocinterface5.regularproperty.md) | string | Property of type string that does something | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [regularProperty](./api-documenter-test.idocinterface5.regularproperty.md) | | string | Property of type string that does something | diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface6.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface6.md index bc4e5bc899e..b9d96a22ed8 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface6.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface6.md @@ -14,14 +14,14 @@ export interface IDocInterface6 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| [arrayProperty](./api-documenter-test.idocinterface6.arrayproperty.md) | [IDocInterface1](./api-documenter-test.idocinterface1.md)\[\] | | -| [intersectionProperty](./api-documenter-test.idocinterface6.intersectionproperty.md) | [IDocInterface1](./api-documenter-test.idocinterface1.md) & [IDocInterface2](./api-documenter-test.idocinterface2.md) | | -| [regularProperty](./api-documenter-test.idocinterface6.regularproperty.md) | number | Property of type number that does something | -| [tupleProperty](./api-documenter-test.idocinterface6.tupleproperty.md) | \[[IDocInterface1](./api-documenter-test.idocinterface1.md), [IDocInterface2](./api-documenter-test.idocinterface2.md)\] | | -| [typeReferenceProperty](./api-documenter-test.idocinterface6.typereferenceproperty.md) | [Generic](./api-documenter-test.generic.md)<[IDocInterface1](./api-documenter-test.idocinterface1.md)> | | -| [unionProperty](./api-documenter-test.idocinterface6.unionproperty.md) | [IDocInterface1](./api-documenter-test.idocinterface1.md) \| [IDocInterface2](./api-documenter-test.idocinterface2.md) | | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [arrayProperty](./api-documenter-test.idocinterface6.arrayproperty.md) | | [IDocInterface1](./api-documenter-test.idocinterface1.md)\[\] | | +| [intersectionProperty](./api-documenter-test.idocinterface6.intersectionproperty.md) | | [IDocInterface1](./api-documenter-test.idocinterface1.md) & [IDocInterface2](./api-documenter-test.idocinterface2.md) | | +| [regularProperty](./api-documenter-test.idocinterface6.regularproperty.md) | | number | Property of type number that does something | +| [tupleProperty](./api-documenter-test.idocinterface6.tupleproperty.md) | | \[[IDocInterface1](./api-documenter-test.idocinterface1.md), [IDocInterface2](./api-documenter-test.idocinterface2.md)\] | | +| [typeReferenceProperty](./api-documenter-test.idocinterface6.typereferenceproperty.md) | | [Generic](./api-documenter-test.generic.md)<[IDocInterface1](./api-documenter-test.idocinterface1.md)> | | +| [unionProperty](./api-documenter-test.idocinterface6.unionproperty.md) | | [IDocInterface1](./api-documenter-test.idocinterface1.md) \| [IDocInterface2](./api-documenter-test.idocinterface2.md) | | ## Methods diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface7.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface7.md index 122ab2bb909..39f6bb81fea 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface7.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.idocinterface7.md @@ -14,11 +14,11 @@ export interface IDocInterface7 ## Properties -| Property | Type | Description | -| --- | --- | --- | -| [optionalField?](./api-documenter-test.idocinterface7.optionalfield.md) | boolean | (Optional) Description of optionalField | -| [optionalReadonlyField?](./api-documenter-test.idocinterface7.optionalreadonlyfield.md) | boolean | (Optional) Description of optionalReadonlyField | -| [optionalUndocumentedField?](./api-documenter-test.idocinterface7.optionalundocumentedfield.md) | boolean | (Optional) | +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [optionalField?](./api-documenter-test.idocinterface7.optionalfield.md) | | boolean | (Optional) Description of optionalField | +| [optionalReadonlyField?](./api-documenter-test.idocinterface7.optionalreadonlyfield.md) | readonly | boolean | (Optional) Description of optionalReadonlyField | +| [optionalUndocumentedField?](./api-documenter-test.idocinterface7.optionalundocumentedfield.md) | | boolean | (Optional) | ## Methods diff --git a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.md b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.md index 55397ec2ff8..8ac3f68444c 100644 --- a/build-tests/api-documenter-test/etc/markdown/api-documenter-test.md +++ b/build-tests/api-documenter-test/etc/markdown/api-documenter-test.md @@ -13,17 +13,17 @@ This project tests various documentation generation scenarios and doc comment sy | Class | Description | | --- | --- | | [DecoratorExample](./api-documenter-test.decoratorexample.md) | | -| [DocBaseClass](./api-documenter-test.docbaseclass.md) | Example base class | +| [DocBaseClass](./api-documenter-test.docbaseclass.md) |

Example base class

| | [DocClass1](./api-documenter-test.docclass1.md) | This is an example class. | | [DocClassInterfaceMerge](./api-documenter-test.docclassinterfacemerge.md) | Class that merges with interface | | [Generic](./api-documenter-test.generic.md) | Generic class. | -| [SystemEvent](./api-documenter-test.systemevent.md) | A class used to exposed events. | +| [SystemEvent](./api-documenter-test.systemevent.md) |

A class used to exposed events.

| ## Enumerations | Enumeration | Description | | --- | --- | -| [DocEnum](./api-documenter-test.docenum.md) | Docs for DocEnum | +| [DocEnum](./api-documenter-test.docenum.md) |

Docs for DocEnum

| | [DocEnumNamespaceMerge](./api-documenter-test.docenumnamespacemerge.md) | Enum that merges with namespace | ## Functions @@ -42,8 +42,8 @@ This project tests various documentation generation scenarios and doc comment sy | [DocClassInterfaceMerge](./api-documenter-test.docclassinterfacemerge.md) | Interface that merges with class | | [IDocInterface1](./api-documenter-test.idocinterface1.md) | | | [IDocInterface2](./api-documenter-test.idocinterface2.md) | | -| [IDocInterface3](./api-documenter-test.idocinterface3.md) | Some less common TypeScript declaration kinds. | -| [IDocInterface4](./api-documenter-test.idocinterface4.md) | Type union in an interface. | +| [IDocInterface3](./api-documenter-test.idocinterface3.md) |

Some less common TypeScript declaration kinds.

| +| [IDocInterface4](./api-documenter-test.idocinterface4.md) |

Type union in an interface.

| | [IDocInterface5](./api-documenter-test.idocinterface5.md) | Interface without inline tag to test custom TOC | | [IDocInterface6](./api-documenter-test.idocinterface6.md) | Interface without inline tag to test custom TOC with injection | | [IDocInterface7](./api-documenter-test.idocinterface7.md) | Interface for testing optional properties | diff --git a/build-tests/api-documenter-test/etc/markdown/index.md b/build-tests/api-documenter-test/etc/markdown/index.md index 7688a1d4bb3..1eb428e99a5 100644 --- a/build-tests/api-documenter-test/etc/markdown/index.md +++ b/build-tests/api-documenter-test/etc/markdown/index.md @@ -8,5 +8,5 @@ | Package | Description | | --- | --- | -| [api-documenter-test](./api-documenter-test.md) | api-extractor-test-05This project tests various documentation generation scenarios and doc comment syntaxes. | +| [api-documenter-test](./api-documenter-test.md) |

api-extractor-test-05

This project tests various documentation generation scenarios and doc comment syntaxes.

| diff --git a/build-tests/api-documenter-test/etc/yaml/api-documenter-test/docclass1.yml b/build-tests/api-documenter-test/etc/yaml/api-documenter-test/docclass1.yml index 5914b86ab2b..c1149bb8c2e 100644 --- a/build-tests/api-documenter-test/etc/yaml/api-documenter-test/docclass1.yml +++ b/build-tests/api-documenter-test/etc/yaml/api-documenter-test/docclass1.yml @@ -19,6 +19,32 @@ isPreview: false isDeprecated: false type: class properties: + - name: multipleModifiersProperty + uid: 'api-documenter-test!DocClass1.multipleModifiersProperty:member' + package: api-documenter-test! + fullName: multipleModifiersProperty + summary: Some property with multiple modifiers. + remarks: '' + example: [] + isPreview: false + isDeprecated: false + syntax: + content: 'protected static readonly multipleModifiersProperty: boolean;' + return: + type: boolean + - name: protectedProperty + uid: 'api-documenter-test!DocClass1#protectedProperty:member' + package: api-documenter-test! + fullName: protectedProperty + summary: Some protected property. + remarks: '' + example: [] + isPreview: false + isDeprecated: false + syntax: + content: 'protected protectedProperty: string;' + return: + type: string - name: readonlyProperty uid: 'api-documenter-test!DocClass1#readonlyProperty:member' package: api-documenter-test! @@ -45,19 +71,6 @@ properties: content: 'regularProperty: SystemEvent;' return: type: '' - - name: staticReadonlyThing - uid: 'api-documenter-test!DocClass1.staticReadonlyThing:member' - package: api-documenter-test! - fullName: staticReadonlyThing - summary: '' - remarks: '' - example: [] - isPreview: false - isDeprecated: false - syntax: - content: 'static readonly staticReadonlyThing: boolean;' - return: - type: boolean - name: writeableProperty uid: 'api-documenter-test!DocClass1#writeableProperty:member' package: api-documenter-test! diff --git a/build-tests/api-documenter-test/src/DocClass1.ts b/build-tests/api-documenter-test/src/DocClass1.ts index 08c5764ca10..221cc7862c2 100644 --- a/build-tests/api-documenter-test/src/DocClass1.ts +++ b/build-tests/api-documenter-test/src/DocClass1.ts @@ -169,7 +169,15 @@ export class DocClass1 extends DocBaseClass implements IDocInterface1, IDocInter super(); } - static readonly staticReadonlyThing: boolean; + /** + * Some protected property. + */ + protected protectedProperty: string; + + /** + * Some property with multiple modifiers. + */ + protected static readonly multipleModifiersProperty: boolean; /** * This is an overloaded function. diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict/api-extractor-scenarios.api.json index f8fb3950fd3..15d21093905 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict2/api-extractor-scenarios.api.json index 7b945bd7b3d..13fc823e445 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/ambientNameConflict2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/ancillaryDeclarations/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/ancillaryDeclarations/api-extractor-scenarios.api.json index f51afd1122a..dc2a0908811 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/ancillaryDeclarations/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/ancillaryDeclarations/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/apiItemKinds/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/apiItemKinds/api-extractor-scenarios.api.json index 6d6ade1472a..8de3dee8084 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/apiItemKinds/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/apiItemKinds/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/bundledPackages/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/bundledPackages/api-extractor-scenarios.api.json index bbbb9e9b9fa..f06c0ef3955 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/bundledPackages/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/bundledPackages/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport/api-extractor-scenarios.api.json index 27887678ec4..18e5df66989 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport2/api-extractor-scenarios.api.json index 515f18204ca..48a2c25fb89 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/circularImport2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint/api-extractor-scenarios.api.json index bc260ed67a6..2ddcd94bcd4 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json index 0d605caaa0b..14319542b2d 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint3/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint3/api-extractor-scenarios.api.json index 17482fd5d84..cd9e37d93ba 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint3/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint3/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint4/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint4/api-extractor-scenarios.api.json index eaccdd37969..45ad0c1c0da 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint4/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/defaultExportOfEntryPoint4/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences/api-extractor-scenarios.api.json index 76c94b52b79..4ccfd7d2936 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences2/api-extractor-scenarios.api.json index 36fb5846706..ac73eed8be7 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences3/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences3/api-extractor-scenarios.api.json index e923066ee18..d571b9b5007 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences3/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/docReferences3/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType/api-extractor-scenarios.api.json index 1e10260a919..22c6d529f22 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType2/api-extractor-scenarios.api.json index 928f05ac718..564c7b70b61 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType3/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType3/api-extractor-scenarios.api.json index 671e0cc52aa..5f8b4e07e2a 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType3/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/dynamicImportType3/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/ecmaScriptPrivateFields/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/ecmaScriptPrivateFields/api-extractor-scenarios.api.json index f0a10cc2f0b..dbb4a5ec3e0 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/ecmaScriptPrivateFields/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/ecmaScriptPrivateFields/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/enumSorting/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/enumSorting/api-extractor-scenarios.api.json index 217d6a28cf4..d2faaaf6ddd 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/enumSorting/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/enumSorting/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/excerptTokens/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/excerptTokens/api-extractor-scenarios.api.json index 2b8de636ef0..06618818269 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/excerptTokens/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/excerptTokens/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportDuplicate/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportDuplicate/api-extractor-scenarios.api.json index 927f84c4026..e8ef7fafe38 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportDuplicate/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportDuplicate/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportEquals/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportEquals/api-extractor-scenarios.api.json index 61b6e35cefd..384bbe35cea 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportEquals/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportEquals/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs/api-extractor-scenarios.api.json index 1cc85f0032c..0c8f7cfee5f 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs2/api-extractor-scenarios.api.json index 7742d23a688..fc67ce054b7 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportStarAs2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal/api-extractor-scenarios.api.json index b1eb10ea631..33359e87daa 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal2/api-extractor-scenarios.api.json index b1eb10ea631..33359e87daa 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternal2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternalDefault/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternalDefault/api-extractor-scenarios.api.json index e45043a3750..6270a70daef 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternalDefault/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportImportedExternalDefault/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar/api-extractor-scenarios.api.json index 90874a6fbc8..34410a430fb 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar2/api-extractor-scenarios.api.json index 6848852e3c3..876cc39e167 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar3/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar3/api-extractor-scenarios.api.json index 6848852e3c3..876cc39e167 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar3/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/exportStar3/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/functionOverload/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/functionOverload/api-extractor-scenarios.api.json index c6a0eefd17a..0e1499bd192 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/functionOverload/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/functionOverload/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/importEquals/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/importEquals/api-extractor-scenarios.api.json index 68a453bc58e..c7fd110c62c 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/importEquals/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/importEquals/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/importType/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/importType/api-extractor-scenarios.api.json index b23608efeeb..198da231a40 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/importType/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/importType/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/inconsistentReleaseTags/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/inconsistentReleaseTags/api-extractor-scenarios.api.json index 0b2047d65a6..1c0fc7510ad 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/inconsistentReleaseTags/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/inconsistentReleaseTags/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/internationalCharacters/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/internationalCharacters/api-extractor-scenarios.api.json index a92869f57a8..0f2f17b021f 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/internationalCharacters/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/internationalCharacters/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/namedDefaultImport/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/namedDefaultImport/api-extractor-scenarios.api.json index 10a252e777a..75915bd6498 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/namedDefaultImport/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/namedDefaultImport/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/preapproved/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/preapproved/api-extractor-scenarios.api.json index b1eb10ea631..33359e87daa 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/preapproved/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/preapproved/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.json index 2facbcc3767..42af2ebf181 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", @@ -173,27 +173,27 @@ "preserveMemberOrder": false, "members": [ { - "kind": "Interface", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface", + "kind": "Class", + "canonicalReference": "api-extractor-scenarios!MyClass:class", "docComment": "/**\n * @public\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "export interface _IInternalThing " + "text": "export declare class MyClass " } ], "releaseTag": "Public", - "name": "_IInternalThing", + "name": "MyClass", "preserveMemberOrder": false, "members": [ { - "kind": "PropertySignature", - "canonicalReference": "api-extractor-scenarios!_IInternalThing#title:member", + "kind": "Property", + "canonicalReference": "api-extractor-scenarios!MyClass#_onlyGetter:member", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "title: " + "text": "get _onlyGetter(): " }, { "kind": "Content", @@ -204,71 +204,104 @@ "text": ";" } ], - "isReadonly": false, + "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "title", + "name": "_onlyGetter", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "api-extractor-scenarios!FOO:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ + }, + "isStatic": false, + "isProtected": false + }, { - "kind": "Content", - "text": "FOO = " + "kind": "Property", + "canonicalReference": "api-extractor-scenarios!MyClass#readonlyModifier:member", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "readonly readonlyModifier: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "readonlyModifier", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false }, { - "kind": "Content", - "text": "\"foo\"" + "kind": "Property", + "canonicalReference": "api-extractor-scenarios!MyClass#tsDocReadonly:member", + "docComment": "/**\n * @readonly\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "tsDocReadonly: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "tsDocReadonly", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isStatic": false, + "isProtected": false } ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isReadonly": true, - "releaseTag": "Public", - "name": "FOO", - "variableTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } + "implementsTokenRanges": [] }, { - "kind": "Class", - "canonicalReference": "api-extractor-scenarios!MyClass:class", + "kind": "Interface", + "canonicalReference": "api-extractor-scenarios!MyInterface:interface", "docComment": "/**\n * @public\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "export declare class MyClass " + "text": "export interface MyInterface " } ], "releaseTag": "Public", - "name": "MyClass", + "name": "MyInterface", "preserveMemberOrder": false, "members": [ { "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass#_onlyHasGetterThing:member", + "canonicalReference": "api-extractor-scenarios!MyInterface#_onlyGetter:member", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "get _onlyHasGetterThing(): " + "text": "get _onlyGetter(): " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", @@ -278,7 +311,7 @@ "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "_onlyHasGetterThing", + "name": "_onlyGetter", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 @@ -287,61 +320,61 @@ "isProtected": false }, { - "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass#_writableThing:member", + "kind": "IndexSignature", + "canonicalReference": "api-extractor-scenarios!MyInterface:index(1)", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "get _writableThing(): " - }, - { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "text": "readonly [x: " }, { "kind": "Content", - "text": ";" + "text": "number" }, { "kind": "Content", - "text": "\n\nset _writableThing(value: " + "text": "]: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "void" }, { "kind": "Content", - "text": ");" + "text": ";" } ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "_writableThing", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 + "isReadonly": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 }, - "isStatic": false, - "isProtected": false + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "x", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] }, { - "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass.declaredReadonlyThing:member", + "kind": "PropertySignature", + "canonicalReference": "api-extractor-scenarios!MyInterface#readonlyModifier:member", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "static readonly declaredReadonlyThing: " + "text": "readonly readonlyModifier: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", @@ -351,37 +384,34 @@ "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "declaredReadonlyThing", + "name": "readonlyModifier", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 - }, - "isStatic": true, - "isProtected": false + } }, { "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass#tsDocReadonlyThing:member", - "docComment": "/**\n * Technically isn't but for testing purposes\n *\n * @readonly\n */\n", + "canonicalReference": "api-extractor-scenarios!MyInterface#tsDocReadonly:member", + "docComment": "/**\n * @readonly\n */\n", "excerptTokens": [ { "kind": "Content", - "text": "tsDocReadonlyThing: " + "text": "set tsDocReadonly(value: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", - "text": ";" + "text": ");" } ], "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "tsDocReadonlyThing", + "name": "tsDocReadonly", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 @@ -390,7 +420,55 @@ "isProtected": false } ], - "implementsTokenRanges": [] + "extendsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "api-extractor-scenarios!READONLY_VARIABLE:var", + "docComment": "/**\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "READONLY_VARIABLE = " + }, + { + "kind": "Content", + "text": "\"Hello world!\"" + } + ], + "initializerTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isReadonly": true, + "releaseTag": "Public", + "name": "READONLY_VARIABLE", + "variableTypeTokenRange": { + "startIndex": 0, + "endIndex": 0 + } + }, + { + "kind": "Variable", + "canonicalReference": "api-extractor-scenarios!TSDOC_READONLY_VARIABLE:var", + "docComment": "/**\n * @public @readonly\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "TSDOC_READONLY_VARIABLE: " + }, + { + "kind": "Content", + "text": "string" + } + ], + "isReadonly": true, + "releaseTag": "Public", + "name": "TSDOC_READONLY_VARIABLE", + "variableTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } } ] } diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.md b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.md index a3b886324d9..50b0d1f6853 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.md +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.md @@ -5,26 +5,33 @@ ```ts // @public (undocumented) -export const FOO = "foo"; - -// @public (undocumented) -export interface _IInternalThing { +export class MyClass { // (undocumented) - title: string; + get _onlyGetter(): string; + // (undocumented) + readonly readonlyModifier: string; + // (undocumented) + tsDocReadonly: string; } // @public (undocumented) -export class MyClass { +export interface MyInterface { // (undocumented) - static readonly declaredReadonlyThing: _IInternalThing; + readonly [x: number]: void; // (undocumented) - get _onlyHasGetterThing(): _IInternalThing; - tsDocReadonlyThing: _IInternalThing; + get _onlyGetter(): string; // (undocumented) - get _writableThing(): _IInternalThing; - set _writableThing(value: _IInternalThing); + readonly readonlyModifier: string; + // (undocumented) + set tsDocReadonly(value: string); } +// @public (undocumented) +export const READONLY_VARIABLE = "Hello world!"; + +// @public (undocumented) +export let TSDOC_READONLY_VARIABLE: string; + // (No @packageDocumentation comment for this package) ``` diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/rollup.d.ts b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/rollup.d.ts index d133028f380..34b82b0af57 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/rollup.d.ts +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/rollup.d.ts @@ -1,22 +1,27 @@ /** @public */ -export declare const FOO = "foo"; +export declare class MyClass { + get _onlyGetter(): string; + readonly readonlyModifier: string; + /** @readonly */ + tsDocReadonly: string; +} /** @public */ -export declare interface _IInternalThing { - title: string; +export declare interface MyInterface { + get _onlyGetter(): string; + readonly readonlyModifier: string; + /** @readonly */ + set tsDocReadonly(value: string); + readonly [x: number]: void; } /** @public */ -export declare class MyClass { - get _writableThing(): _IInternalThing; - set _writableThing(value: _IInternalThing); - get _onlyHasGetterThing(): _IInternalThing; - static readonly declaredReadonlyThing: _IInternalThing; - /** - * Technically isn't but for testing purposes - * @readonly - */ - tsDocReadonlyThing: _IInternalThing; -} +export declare const READONLY_VARIABLE = "Hello world!"; + +/** + * @public + * @readonly + */ +export declare let TSDOC_READONLY_VARIABLE: string; export { } diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/spanSorting/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/spanSorting/api-extractor-scenarios.api.json index 6e62d5d4667..e59358c5b10 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/spanSorting/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/spanSorting/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf/api-extractor-scenarios.api.json index d7cfe6e7bb6..ca123080893 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf2/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf2/api-extractor-scenarios.api.json index 58336890617..99213e236ab 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf2/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf2/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf3/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf3/api-extractor-scenarios.api.json index 7ca3f35aa65..4632c0ca9ff 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf3/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/typeOf3/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/etc/test-outputs/typeParameters/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/typeParameters/api-extractor-scenarios.api.json index b3f7925e727..a7758beb154 100644 --- a/build-tests/api-extractor-scenarios/etc/test-outputs/typeParameters/api-extractor-scenarios.api.json +++ b/build-tests/api-extractor-scenarios/etc/test-outputs/typeParameters/api-extractor-scenarios.api.json @@ -2,7 +2,7 @@ "metadata": { "toolPackage": "@microsoft/api-extractor", "toolVersion": "[test mode]", - "schemaVersion": 1008, + "schemaVersion": 1009, "oldestForwardsCompatibleVersion": 1001, "tsdocConfig": { "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json", diff --git a/build-tests/api-extractor-scenarios/src/readonlyDeclarations/config/api-extractor-overrides.json b/build-tests/api-extractor-scenarios/src/readonlyDeclarations/config/api-extractor-overrides.json new file mode 100644 index 00000000000..f287d642746 --- /dev/null +++ b/build-tests/api-extractor-scenarios/src/readonlyDeclarations/config/api-extractor-overrides.json @@ -0,0 +1,10 @@ +{ + "messages": { + "extractorMessageReporting": { + // Purposefully disabled for the `MyInterface.tsDocReadonly` test case. + "ae-missing-getter": { + "logLevel": "none" + } + } + } +} diff --git a/build-tests/api-extractor-scenarios/src/readonlyDeclarations/index.ts b/build-tests/api-extractor-scenarios/src/readonlyDeclarations/index.ts index 9d627cc9b4c..d964044840e 100644 --- a/build-tests/api-extractor-scenarios/src/readonlyDeclarations/index.ts +++ b/build-tests/api-extractor-scenarios/src/readonlyDeclarations/index.ts @@ -2,30 +2,34 @@ // See LICENSE in the project root for license information. /** @public */ -export interface _IInternalThing { - title: string; -} +export const READONLY_VARIABLE = 'Hello world!'; -/** @public */ -export const FOO = 'foo'; +/** + * @public + * @readonly + */ +export let TSDOC_READONLY_VARIABLE: string; /** @public */ export class MyClass { - public get _writableThing(): _IInternalThing { - return { title: 'thing' }; + get _onlyGetter(): string { + return 'Hello world!'; } - public set _writableThing(value: _IInternalThing) {} + readonly readonlyModifier: string; - public get _onlyHasGetterThing(): _IInternalThing { - return { title: 'thing' }; - } + /** @readonly */ + tsDocReadonly: string; +} + +/** @public */ +export interface MyInterface { + get _onlyGetter(): string; + + readonly readonlyModifier: string; - static readonly declaredReadonlyThing: _IInternalThing; + /** @readonly */ + set tsDocReadonly(value: string); - /** - * Technically isn't but for testing purposes - * @readonly - */ - public tsDocReadonlyThing: _IInternalThing; + readonly [x: number]: void; } diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 17784b5b2a9..956480b95df 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -5,13 +5,13 @@ importers: typescript-newest-test: specifiers: '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.2.tgz - '@rushstack/heft': file:rushstack-heft-0.45.14.tgz + '@rushstack/heft': file:rushstack-heft-0.46.0.tgz eslint: ~8.7.0 tslint: ~5.20.1 typescript: ~4.6.3 devDependencies: '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.2.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.14.tgz + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.46.0.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 @@ -19,13 +19,13 @@ importers: typescript-v3-test: specifiers: '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.2.tgz - '@rushstack/heft': file:rushstack-heft-0.45.14.tgz + '@rushstack/heft': file:rushstack-heft-0.46.0.tgz eslint: ~8.7.0 tslint: ~5.20.1 typescript: ~4.6.3 devDependencies: '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.2.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.14.tgz + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.46.0.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 @@ -1804,15 +1804,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.45.14.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.14.tgz} + file:../temp/tarballs/rushstack-heft-0.46.0.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.46.0.tgz} name: '@rushstack/heft' - version: 0.45.14 + version: 0.46.0 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.8.9.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.48.0.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.8.10.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.49.0.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.3.13.tgz '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.12.1.tgz '@types/tapable': 1.0.6 @@ -1827,21 +1827,21 @@ packages: true-case-path: 2.2.1 dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.8.9.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.8.9.tgz} + file:../temp/tarballs/rushstack-heft-config-file-0.8.10.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.8.10.tgz} name: '@rushstack/heft-config-file' - version: 0.8.9 + version: 0.8.10 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.48.0.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.49.0.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.3.13.tgz jsonpath-plus: 4.0.0 dev: true - file:../temp/tarballs/rushstack-node-core-library-3.48.0.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.48.0.tgz} + file:../temp/tarballs/rushstack-node-core-library-3.49.0.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.49.0.tgz} name: '@rushstack/node-core-library' - version: 3.48.0 + version: 3.49.0 dependencies: '@types/node': 12.20.24 colors: 1.2.5 diff --git a/common/changes/@microsoft/api-documenter/empty-paragraph-bug-fix_2022-06-17-23-02.json b/common/changes/@microsoft/api-documenter/empty-paragraph-bug-fix_2022-06-17-23-02.json new file mode 100644 index 00000000000..a1c472227f9 --- /dev/null +++ b/common/changes/@microsoft/api-documenter/empty-paragraph-bug-fix_2022-06-17-23-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-documenter", + "comment": "Show protected and readonly modifiers for relevant API items", + "type": "minor" + } + ], + "packageName": "@microsoft/api-documenter" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor-model/empty-paragraph-bug-fix_2022-06-17-23-02.json b/common/changes/@microsoft/api-extractor-model/empty-paragraph-bug-fix_2022-06-17-23-02.json new file mode 100644 index 00000000000..ca08d1d7363 --- /dev/null +++ b/common/changes/@microsoft/api-extractor-model/empty-paragraph-bug-fix_2022-06-17-23-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-extractor-model", + "comment": "Update model to reflect that index signatures can also be readonly", + "type": "minor" + } + ], + "packageName": "@microsoft/api-extractor-model" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/empty-paragraph-bug-fix_2022-06-17-23-02.json b/common/changes/@microsoft/api-extractor/empty-paragraph-bug-fix_2022-06-17-23-02.json new file mode 100644 index 00000000000..8f8249adc5b --- /dev/null +++ b/common/changes/@microsoft/api-extractor/empty-paragraph-bug-fix_2022-06-17-23-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-extractor", + "comment": "Improve logic that determines whether an API item is readonly", + "type": "patch" + } + ], + "packageName": "@microsoft/api-extractor" +} \ No newline at end of file diff --git a/common/reviews/api/api-extractor-model.api.md b/common/reviews/api/api-extractor-model.api.md index a4b8a228509..39181dc5eb5 100644 --- a/common/reviews/api/api-extractor-model.api.md +++ b/common/reviews/api/api-extractor-model.api.md @@ -742,7 +742,7 @@ export interface IApiFunctionOptions extends IApiNameMixinOptions, IApiTypeParam } // @public -export interface IApiIndexSignatureOptions extends IApiParameterListMixinOptions, IApiReleaseTagMixinOptions, IApiReturnTypeMixinOptions, IApiDeclaredItemOptions { +export interface IApiIndexSignatureOptions extends IApiParameterListMixinOptions, IApiReleaseTagMixinOptions, IApiReturnTypeMixinOptions, IApiReadonlyMixinOptions, IApiDeclaredItemOptions { } // @public diff --git a/libraries/api-extractor-model/src/model/ApiIndexSignature.ts b/libraries/api-extractor-model/src/model/ApiIndexSignature.ts index b2ad57b68a3..e30925d43d0 100644 --- a/libraries/api-extractor-model/src/model/ApiIndexSignature.ts +++ b/libraries/api-extractor-model/src/model/ApiIndexSignature.ts @@ -11,6 +11,7 @@ import { IApiDeclaredItemOptions, ApiDeclaredItem } from '../items/ApiDeclaredIt import { IApiParameterListMixinOptions, ApiParameterListMixin } from '../mixins/ApiParameterListMixin'; import { IApiReleaseTagMixinOptions, ApiReleaseTagMixin } from '../mixins/ApiReleaseTagMixin'; import { IApiReturnTypeMixinOptions, ApiReturnTypeMixin } from '../mixins/ApiReturnTypeMixin'; +import { IApiReadonlyMixinOptions, ApiReadonlyMixin } from '../mixins/ApiReadonlyMixin'; /** * Constructor options for {@link ApiIndexSignature}. @@ -20,6 +21,7 @@ export interface IApiIndexSignatureOptions extends IApiParameterListMixinOptions, IApiReleaseTagMixinOptions, IApiReturnTypeMixinOptions, + IApiReadonlyMixinOptions, IApiDeclaredItemOptions {} /** @@ -45,7 +47,7 @@ export interface IApiIndexSignatureOptions * @public */ export class ApiIndexSignature extends ApiParameterListMixin( - ApiReleaseTagMixin(ApiReturnTypeMixin(ApiDeclaredItem)) + ApiReleaseTagMixin(ApiReturnTypeMixin(ApiReadonlyMixin(ApiDeclaredItem))) ) { public constructor(options: IApiIndexSignatureOptions) { super(options); diff --git a/libraries/api-extractor-model/src/model/DeserializerContext.ts b/libraries/api-extractor-model/src/model/DeserializerContext.ts index a5caaacd79f..710ed6c4f79 100644 --- a/libraries/api-extractor-model/src/model/DeserializerContext.ts +++ b/libraries/api-extractor-model/src/model/DeserializerContext.ts @@ -68,13 +68,20 @@ export enum ApiJsonSchemaVersion { */ V_1008 = 1008, + /** + * Add an `isReadonly` field to `ApiIndexSignature` to track whether the item is readonly. + * + * When loading older JSON files, the values defaults to `false`. + */ + V_1009 = 1009, + /** * The current latest .api.json schema version. * * IMPORTANT: When incrementing this number, consider whether `OLDEST_SUPPORTED` or `OLDEST_FORWARDS_COMPATIBLE` * should be updated. */ - LATEST = V_1008, + LATEST = V_1009, /** * The oldest .api.json schema version that is still supported for backwards compatibility.