From 9775da9ba8209fc7d6f1ffeaffb9aa236cce2b01 Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Fri, 17 Jun 2022 15:59:54 -0700 Subject: [PATCH 1/9] Multiple changes --- .../src/documenters/MarkdownDocumenter.ts | 30 ++- .../src/markdown/CustomMarkdownEmitter.ts | 2 +- .../src/markdown/MarkdownEmitter.ts | 16 +- .../src/utils/IndentedWriter.ts | 49 ++++ .../src/generators/ApiModelGenerator.ts | 55 +++-- .../etc/api-documenter-test.api.json | 74 ++++-- .../etc/api-documenter-test.api.md | 4 +- .../markdown/api-documenter-test.docclass1.md | 9 +- ...est.docclass1.multiplemodifiersproperty.md | 13 ++ ...enter-test.docclass1.protectedproperty.md} | 8 +- .../markdown/api-documenter-test.docenum.md | 2 +- .../api-documenter-test.idocinterface1.md | 6 +- .../api-documenter-test.idocinterface3.md | 10 +- .../api-documenter-test.idocinterface4.md | 12 +- .../api-documenter-test.idocinterface5.md | 6 +- .../api-documenter-test.idocinterface6.md | 16 +- .../api-documenter-test.idocinterface7.md | 10 +- .../etc/markdown/api-documenter-test.md | 10 +- .../api-documenter-test/etc/markdown/index.md | 2 +- .../yaml/api-documenter-test/docclass1.yml | 39 ++-- .../api-documenter-test/src/DocClass1.ts | 10 +- .../api-extractor-scenarios.api.json | 211 +++++++++++++++--- .../api-extractor-scenarios.api.md | 29 ++- .../readonlyDeclarations/rollup.d.ts | 33 +-- .../config/api-extractor-overrides.json | 10 + .../src/readonlyDeclarations/index.ts | 38 ++-- .../workspace/common/pnpm-lock.yaml | 22 +- common/reviews/api/api-extractor-model.api.md | 2 +- .../src/model/ApiIndexSignature.ts | 4 +- 29 files changed, 532 insertions(+), 200 deletions(-) create mode 100644 build-tests/api-documenter-test/etc/markdown/api-documenter-test.docclass1.multiplemodifiersproperty.md rename build-tests/api-documenter-test/etc/markdown/{api-documenter-test.docclass1.staticreadonlything.md => api-documenter-test.docclass1.protectedproperty.md} (58%) create mode 100644 build-tests/api-extractor-scenarios/src/readonlyDeclarations/config/api-extractor-overrides.json 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..9ee372635b8 100644 --- a/apps/api-documenter/src/markdown/MarkdownEmitter.ts +++ b/apps/api-documenter/src/markdown/MarkdownEmitter.ts @@ -141,9 +141,21 @@ export class MarkdownEmitter { const trimmedParagraph: DocParagraph = DocNodeTransforms.trimSpacesInParagraph(docParagraph); if (context.insideTable) { if (docNodeSiblings) { - writer.write('

'); + // This deferred 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 else ends up being subsequently written. + writer.deferredWrite('

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

'); + + if (writer.hasDeferred) { + // We know nothing has been written after the `deferredWrite`, so clear any deferred messages and + // don't write a closing `

` tag. + writer.clearDeferred(); + } else { + // We know the starting `

` tag has been written, so write a closing `

` tag. + writer.write('

'); + } } 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..a33d330a614 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 _deferredChunks: string[]; + private _isWritingDeferred: boolean; + public constructor(builder?: IStringBuilder) { this._builder = builder === undefined ? new StringBuilder() : builder; @@ -55,6 +58,9 @@ export class IndentedWriter { this._indentStack = []; this._indentText = ''; + + this._deferredChunks = []; + this._isWritingDeferred = false; } /** @@ -149,12 +155,38 @@ export class IndentedWriter { return ''; } + /** + * Defers a message to be written to the internal string buffer on the next call to either + * `write` or `writeLine`. + */ + public deferredWrite(message: string): void { + this._deferredChunks.push(message); + } + + /** + * Returns whether or not there exist deferred messages to be written. + */ + public get hasDeferred(): boolean { + return this._deferredChunks.length > 0; + } + + /** + * Clears any deferred messages to be written. + */ + public clearDeferred(): void { + this._deferredChunks = []; + } + /** * Writes some text to the internal string buffer, applying indentation according * to the current indentation level. If the string contains multiple newlines, * each line will be indented separately. */ public write(message: string): void { + if (!this._isWritingDeferred) { + this._writeDeferred(); + } + if (message.length === 0) { return; } @@ -186,7 +218,10 @@ export class IndentedWriter { public writeLine(message: string = ''): void { if (message.length > 0) { this.write(message); + } else if (!this._isWritingDeferred) { + this._writeDeferred(); } + this._writeNewLine(); } @@ -218,6 +253,20 @@ export class IndentedWriter { this._builder.append(s); } + /** + * Writes each deferred message, processing the messages in FIFO order. + */ + private _writeDeferred(): void { + this._isWritingDeferred = true; + + for (const chunk of this._deferredChunks) { + this.write(chunk); + } + + this._isWritingDeferred = false; + this.clearDeferred(); + } + 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..e4eb198fe46 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..75e020e0cd6 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 @@ -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/readonlyDeclarations/api-extractor-scenarios.api.json b/build-tests/api-extractor-scenarios/etc/test-outputs/readonlyDeclarations/api-extractor-scenarios.api.json index 2facbcc3767..e181f7c3003 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 @@ -258,17 +258,16 @@ "members": [ { "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass#_onlyHasGetterThing:member", + "canonicalReference": "api-extractor-scenarios!MyClass#_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 +277,7 @@ "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "_onlyHasGetterThing", + "name": "_onlyGetter", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 @@ -288,60 +287,90 @@ }, { "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass#_writableThing:member", + "canonicalReference": "api-extractor-scenarios!MyClass#readonlyModifier:member", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "get _writableThing(): " + "text": "readonly readonlyModifier: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "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": "Property", + "canonicalReference": "api-extractor-scenarios!MyClass#tsDocReadonly:member", + "docComment": "/**\n * @readonly\n */\n", + "excerptTokens": [ { "kind": "Content", - "text": "\n\nset _writableThing(value: " + "text": "tsDocReadonly: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", - "text": ");" + "text": ";" } ], - "isReadonly": false, + "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "_writableThing", + "name": "tsDocReadonly", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 }, "isStatic": false, "isProtected": false - }, + } + ], + "implementsTokenRanges": [] + }, + { + "kind": "Interface", + "canonicalReference": "api-extractor-scenarios!MyInterface:interface", + "docComment": "/**\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "export interface MyInterface " + } + ], + "releaseTag": "Public", + "name": "MyInterface", + "members": [ { "kind": "Property", - "canonicalReference": "api-extractor-scenarios!MyClass.declaredReadonlyThing:member", + "canonicalReference": "api-extractor-scenarios!MyInterface#_onlyGetter:member", "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "static readonly declaredReadonlyThing: " + "text": "get _onlyGetter(): " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", @@ -351,27 +380,70 @@ "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "declaredReadonlyThing", + "name": "_onlyGetter", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 }, - "isStatic": true, + "isStatic": false, "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", + "kind": "IndexSignature", + "canonicalReference": "api-extractor-scenarios!MyInterface:index(1)", + "docComment": "", + "excerptTokens": [ + { + "kind": "Content", + "text": "readonly [x: " + }, + { + "kind": "Content", + "text": "number" + }, + { + "kind": "Content", + "text": "]: " + }, + { + "kind": "Content", + "text": "void" + }, + { + "kind": "Content", + "text": ";" + } + ], + "isReadonly": true, + "returnTypeTokenRange": { + "startIndex": 3, + "endIndex": 4 + }, + "releaseTag": "Public", + "overloadIndex": 1, + "parameters": [ + { + "parameterName": "x", + "parameterTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, + "isOptional": false + } + ] + }, + { + "kind": "PropertySignature", + "canonicalReference": "api-extractor-scenarios!MyInterface#readonlyModifier:member", + "docComment": "", "excerptTokens": [ { "kind": "Content", - "text": "tsDocReadonlyThing: " + "text": "readonly readonlyModifier: " }, { - "kind": "Reference", - "text": "_IInternalThing", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface" + "kind": "Content", + "text": "string" }, { "kind": "Content", @@ -381,7 +453,34 @@ "isReadonly": true, "isOptional": false, "releaseTag": "Public", - "name": "tsDocReadonlyThing", + "name": "readonlyModifier", + "propertyTypeTokenRange": { + "startIndex": 1, + "endIndex": 2 + } + }, + { + "kind": "Property", + "canonicalReference": "api-extractor-scenarios!MyInterface#tsDocReadonly:member", + "docComment": "/**\n * @readonly\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "set tsDocReadonly(value: " + }, + { + "kind": "Content", + "text": "string" + }, + { + "kind": "Content", + "text": ");" + } + ], + "isReadonly": true, + "isOptional": false, + "releaseTag": "Public", + "name": "tsDocReadonly", "propertyTypeTokenRange": { "startIndex": 1, "endIndex": 2 @@ -390,7 +489,47 @@ "isProtected": false } ], - "implementsTokenRanges": [] + "extendsTokenRanges": [] + }, + { + "kind": "Variable", + "canonicalReference": "api-extractor-scenarios!READONLY_VARIABLE:var", + "docComment": "/**\n * @public\n */\n", + "excerptTokens": [ + { + "kind": "Content", + "text": "READONLY_VARIABLE = \"Hello world!\"" + } + ], + "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/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 3756a5aec7b..3e60942987f 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -4,28 +4,28 @@ importers: typescript-newest-test: specifiers: - '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.1.tgz - '@rushstack/heft': file:rushstack-heft-0.45.10.tgz + '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.0.tgz + '@rushstack/heft': file:rushstack-heft-0.45.6.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.1.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.10.tgz + '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.0.tgz_eslint@8.7.0+typescript@4.6.3 + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.6.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 typescript-v3-test: specifiers: - '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.1.tgz - '@rushstack/heft': file:rushstack-heft-0.45.10.tgz + '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.0.tgz + '@rushstack/heft': file:rushstack-heft-0.45.6.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.1.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.10.tgz + '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.0.tgz_eslint@8.7.0+typescript@4.6.3 + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.6.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 @@ -1803,10 +1803,10 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.45.10.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.10.tgz} + file:../temp/tarballs/rushstack-heft-0.45.6.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.6.tgz} name: '@rushstack/heft' - version: 0.45.10 + version: 0.45.6 engines: {node: '>=10.13.0'} hasBin: true dependencies: 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); From b62940245c09e7a9c4a6b07283fa72c9c5f48a06 Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Fri, 17 Jun 2022 16:02:42 -0700 Subject: [PATCH 2/9] Ran rush change --- .../empty-paragraph-bug-fix_2022-06-17-23-02.json | 10 ++++++++++ .../empty-paragraph-bug-fix_2022-06-17-23-02.json | 10 ++++++++++ .../empty-paragraph-bug-fix_2022-06-17-23-02.json | 10 ++++++++++ 3 files changed, 30 insertions(+) create mode 100644 common/changes/@microsoft/api-documenter/empty-paragraph-bug-fix_2022-06-17-23-02.json create mode 100644 common/changes/@microsoft/api-extractor-model/empty-paragraph-bug-fix_2022-06-17-23-02.json create mode 100644 common/changes/@microsoft/api-extractor/empty-paragraph-bug-fix_2022-06-17-23-02.json 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..4ea20e6313e --- /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..c5ea6b2cab5 --- /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 reflex 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..540bd96a21a --- /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": "Improvement to logic that determines whether an API item is readonly.", + "type": "patch" + } + ], + "packageName": "@microsoft/api-extractor" +} \ No newline at end of file From 4c69bb4c19a7245a2c94fedc7d6ffd94e720bfbe Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Fri, 17 Jun 2022 16:38:16 -0700 Subject: [PATCH 3/9] Ran rush rebuild --- .../workspace/common/pnpm-lock.yaml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) 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 3e60942987f..5252bab9e1f 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -4,28 +4,28 @@ importers: typescript-newest-test: specifiers: - '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.0.tgz - '@rushstack/heft': file:rushstack-heft-0.45.6.tgz + '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.1.tgz + '@rushstack/heft': file:rushstack-heft-0.45.8.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.0.tgz_eslint@8.7.0+typescript@4.6.3 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.6.tgz + '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.1.tgz_eslint@8.7.0+typescript@4.6.4 + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.8.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 typescript-v3-test: specifiers: - '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.0.tgz - '@rushstack/heft': file:rushstack-heft-0.45.6.tgz + '@rushstack/eslint-config': file:rushstack-eslint-config-2.6.1.tgz + '@rushstack/heft': file:rushstack-heft-0.45.8.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.0.tgz_eslint@8.7.0+typescript@4.6.3 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.6.tgz + '@rushstack/eslint-config': file:../temp/tarballs/rushstack-eslint-config-2.6.1.tgz_eslint@8.7.0+typescript@4.6.4 + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.8.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 @@ -1803,10 +1803,10 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.45.6.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.6.tgz} + file:../temp/tarballs/rushstack-heft-0.45.8.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.8.tgz} name: '@rushstack/heft' - version: 0.45.6 + version: 0.45.8 engines: {node: '>=10.13.0'} hasBin: true dependencies: From b270527434d0ac4f0a08e124372ae10dbf12a82f Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Sun, 26 Jun 2022 10:12:03 -0700 Subject: [PATCH 4/9] Rebase off latest master --- .../api-extractor-scenarios.api.json | 81 +---- .../workspace/common/pnpm-lock.yaml | 277 +++++++++--------- 2 files changed, 149 insertions(+), 209 deletions(-) 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 e181f7c3003..5a9a09557aa 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 @@ -172,76 +172,6 @@ "name": "", "preserveMemberOrder": false, "members": [ - { - "kind": "Interface", - "canonicalReference": "api-extractor-scenarios!_IInternalThing:interface", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "export interface _IInternalThing " - } - ], - "releaseTag": "Public", - "name": "_IInternalThing", - "preserveMemberOrder": false, - "members": [ - { - "kind": "PropertySignature", - "canonicalReference": "api-extractor-scenarios!_IInternalThing#title:member", - "docComment": "", - "excerptTokens": [ - { - "kind": "Content", - "text": "title: " - }, - { - "kind": "Content", - "text": "string" - }, - { - "kind": "Content", - "text": ";" - } - ], - "isReadonly": false, - "isOptional": false, - "releaseTag": "Public", - "name": "title", - "propertyTypeTokenRange": { - "startIndex": 1, - "endIndex": 2 - } - } - ], - "extendsTokenRanges": [] - }, - { - "kind": "Variable", - "canonicalReference": "api-extractor-scenarios!FOO:var", - "docComment": "/**\n * @public\n */\n", - "excerptTokens": [ - { - "kind": "Content", - "text": "FOO = " - }, - { - "kind": "Content", - "text": "\"foo\"" - } - ], - "initializerTokenRange": { - "startIndex": 1, - "endIndex": 2 - }, - "isReadonly": true, - "releaseTag": "Public", - "name": "FOO", - "variableTypeTokenRange": { - "startIndex": 0, - "endIndex": 0 - } - }, { "kind": "Class", "canonicalReference": "api-extractor-scenarios!MyClass:class", @@ -358,6 +288,7 @@ ], "releaseTag": "Public", "name": "MyInterface", + "preserveMemberOrder": false, "members": [ { "kind": "Property", @@ -498,9 +429,17 @@ "excerptTokens": [ { "kind": "Content", - "text": "READONLY_VARIABLE = \"Hello world!\"" + "text": "READONLY_VARIABLE = " + }, + { + "kind": "Content", + "text": "\"Hello world!\"" } ], + "initializerTokenRange": { + "startIndex": 1, + "endIndex": 2 + }, "isReadonly": true, "releaseTag": "Public", "name": "READONLY_VARIABLE", 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 5252bab9e1f..b8375802f02 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.1.tgz - '@rushstack/heft': file:rushstack-heft-0.45.8.tgz + '@rushstack/heft': file:rushstack-heft-0.45.12.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.1.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.8.tgz + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.12.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.1.tgz - '@rushstack/heft': file:rushstack-heft-0.45.8.tgz + '@rushstack/heft': file:rushstack-heft-0.45.12.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.1.tgz_eslint@8.7.0+typescript@4.6.4 - '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.8.tgz + '@rushstack/heft': file:../temp/tarballs/rushstack-heft-0.45.12.tgz eslint: 8.7.0 tslint: 5.20.1_typescript@4.6.4 typescript: 4.6.4 @@ -83,7 +83,7 @@ packages: dev: true /@microsoft/tsdoc-config/0.16.1: - resolution: {integrity: sha1-TeEZdsEgKFTEYY82S/SZtL4z5lc=} + resolution: {integrity: sha512-2RqkwiD4uN6MLnHFljqBlZIXlt/SaUT6cuogU1w2ARw4nKuuppSmR0+s+NC+7kXBQykd9zzu0P4HtBpZT5zBpQ==} dependencies: '@microsoft/tsdoc': 0.14.1 ajv: 6.12.6 @@ -92,11 +92,11 @@ packages: dev: true /@microsoft/tsdoc/0.14.1: - resolution: {integrity: sha1-FV7yEGVCeQGZTnZdqKC6DqrouL0=} + resolution: {integrity: sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==} dev: true /@nodelib/fs.scandir/2.1.5: - resolution: {integrity: sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=} + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -104,12 +104,12 @@ packages: dev: true /@nodelib/fs.stat/2.0.5: - resolution: {integrity: sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=} + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} dev: true /@nodelib/fs.walk/1.2.7: - resolution: {integrity: sha1-lMI9sY7kZT4Smr0m+wb4cKyeHuI=} + resolution: {integrity: sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 @@ -117,23 +117,23 @@ packages: dev: true /@types/argparse/1.0.38: - resolution: {integrity: sha1-qB/YYG1IH4c6OADG665PHXaKVqk=} + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} dev: true /@types/json-schema/7.0.11: - resolution: {integrity: sha1-1CG2xSejA398hEM/0sQingFoY9M=} + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true /@types/node/12.20.24: - resolution: {integrity: sha1-w3rGnLKUivtM75X0JPoAN5camlw=} + resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} dev: true /@types/tapable/1.0.6: - resolution: {integrity: sha1-qcpLcKGLJwzLK8Cqr+/R1Ia36nQ=} + resolution: {integrity: sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==} dev: true /@typescript-eslint/eslint-plugin/5.20.0_23004d42fbd5528f9acbab1c00aa1b82: - resolution: {integrity: sha1-AiUxpjlkD/P6r68lHRzgCi7wAKE=} + resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -160,7 +160,7 @@ packages: dev: true /@typescript-eslint/experimental-utils/5.20.0_eslint@8.7.0+typescript@4.6.4: - resolution: {integrity: sha1-ftWTvtQEJNnEFg8/hsP29W1sh68=} + resolution: {integrity: sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -173,7 +173,7 @@ packages: dev: true /@typescript-eslint/parser/5.20.0_eslint@8.7.0+typescript@4.6.4: - resolution: {integrity: sha1-SZHE7gNEMVwq/Cpi8VZWX2icjQs=} + resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -193,7 +193,7 @@ packages: dev: true /@typescript-eslint/scope-manager/5.20.0: - resolution: {integrity: sha1-ecf7hZjSlC5Fs8iBztlTGYGMeYA=} + resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.20.0 @@ -201,7 +201,7 @@ packages: dev: true /@typescript-eslint/type-utils/5.20.0_eslint@8.7.0+typescript@4.6.4: - resolution: {integrity: sha1-FRwhy+mjeKNGhXNQNuXd/AAiO+M=} + resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -220,12 +220,12 @@ packages: dev: true /@typescript-eslint/types/5.20.0: - resolution: {integrity: sha1-+jnDwqp4ZWgwIxjxy1H89kJYwgw=} + resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@typescript-eslint/typescript-estree/5.20.0_typescript@4.6.4: - resolution: {integrity: sha1-q3NoarGMh4G78knJRZpV3JQX1rA=} + resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -246,7 +246,7 @@ packages: dev: true /@typescript-eslint/utils/5.20.0_eslint@8.7.0+typescript@4.6.4: - resolution: {integrity: sha1-uOlZ7RHsobLVQU4SQX/ZTK41F6U=} + resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -264,7 +264,7 @@ packages: dev: true /@typescript-eslint/visitor-keys/5.20.0: - resolution: {integrity: sha1-cCNrXGtn+6+LL1i/NBS3bB6CbCo=} + resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.20.0 @@ -314,7 +314,7 @@ packages: dev: true /anymatch/3.1.2: - resolution: {integrity: sha1-wFV8CWrzLxBhmPT04qODU343hxY=} + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 @@ -332,7 +332,7 @@ packages: dev: true /array-includes/3.1.5: - resolution: {integrity: sha1-LDIAENuNMQMf0qX2s7vUsarTG9s=} + resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -343,12 +343,12 @@ packages: dev: true /array-union/2.1.0: - resolution: {integrity: sha1-t5hCCtvrHego2ErNii4j0+/oXo0=} + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} dev: true /array.prototype.flatmap/1.3.0: - resolution: {integrity: sha1-p+jtQiX0eIpwzZEKvPB5HnalU08=} + resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -362,7 +362,7 @@ packages: dev: true /binary-extensions/2.2.0: - resolution: {integrity: sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=} + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true @@ -374,7 +374,7 @@ packages: dev: true /braces/3.0.2: - resolution: {integrity: sha1-NFThpGLujVmeI23zNs2epPiv4Qc=} + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 @@ -386,7 +386,7 @@ packages: dev: true /call-bind/1.0.2: - resolution: {integrity: sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=} + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.1 @@ -415,7 +415,7 @@ packages: dev: true /chokidar/3.4.3: - resolution: {integrity: sha1-wd84IxRI5FykrFiObHlXO6alfVs=} + resolution: {integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 @@ -451,7 +451,7 @@ packages: dev: true /colors/1.2.5: - resolution: {integrity: sha1-icetmjdLwDDfgBMkH2gTbtiDWvw=} + resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} engines: {node: '>=0.1.90'} dev: true @@ -489,7 +489,7 @@ packages: dev: true /define-properties/1.1.4: - resolution: {integrity: sha1-CxTXvX++svNXLDp+2oDqXVf7BbE=} + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} dependencies: has-property-descriptors: 1.0.0 @@ -502,14 +502,14 @@ packages: dev: true /dir-glob/3.0.1: - resolution: {integrity: sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=} + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true /doctrine/2.1.0: - resolution: {integrity: sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=} + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 @@ -523,7 +523,7 @@ packages: dev: true /es-abstract/1.20.1: - resolution: {integrity: sha1-AnKSzW70S9ErGRO4KBFvVHh9GBQ=} + resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -552,13 +552,13 @@ packages: dev: true /es-shim-unscopables/1.0.0: - resolution: {integrity: sha1-cC5jIZMgHj7fhxNjXQg9N45RAkE=} + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true /es-to-primitive/1.2.1: - resolution: {integrity: sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=} + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.4 @@ -577,7 +577,7 @@ packages: dev: true /eslint-plugin-promise/6.0.0_eslint@8.7.0: - resolution: {integrity: sha1-AXZSwHyYFkE6QeEcMK3ELD1V/xg=} + resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -586,7 +586,7 @@ packages: dev: true /eslint-plugin-react/7.27.1_eslint@8.7.0: - resolution: {integrity: sha1-RpICRCUGYW93qFTZG6uq4ewXS0U=} + resolution: {integrity: sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -609,14 +609,14 @@ packages: dev: true /eslint-plugin-tsdoc/0.2.16: - resolution: {integrity: sha1-o9MfuceVX6o8ZqQ91D2nY18cXg0=} + resolution: {integrity: sha512-F/RWMnyDQuGlg82vQEFHQtGyWi7++XJKdYNn0ulIbyMOFqYIjoJOUdE6olORxgwgLkpJxsCJpJbTHgxJ/ggfXw==} dependencies: '@microsoft/tsdoc': 0.14.1 '@microsoft/tsdoc-config': 0.16.1 dev: true /eslint-scope/5.1.1: - resolution: {integrity: sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=} + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 @@ -725,7 +725,7 @@ packages: dev: true /estraverse/4.3.0: - resolution: {integrity: sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=} + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} dev: true @@ -744,7 +744,7 @@ packages: dev: true /fast-glob/3.2.5: - resolution: {integrity: sha1-eTmvKmVt55pPGQGQPuityqfLlmE=} + resolution: {integrity: sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==} engines: {node: '>=8'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -764,7 +764,7 @@ packages: dev: true /fastq/1.11.0: - resolution: {integrity: sha1-u5+5VaBxMKkY62PB9RYcwypdCFg=} + resolution: {integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==} dependencies: reusify: 1.0.4 dev: true @@ -777,7 +777,7 @@ packages: dev: true /fill-range/7.0.1: - resolution: {integrity: sha1-GRmmp8df44ssfHflGYU12prN2kA=} + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 @@ -796,7 +796,7 @@ packages: dev: true /fs-extra/7.0.1: - resolution: {integrity: sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=} + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.6 @@ -809,9 +809,10 @@ packages: dev: true /fsevents/2.1.3: - resolution: {integrity: sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=} + resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + deprecated: '"Please update to latest v2.3 or v2.2"' requiresBuild: true dev: true optional: true @@ -821,7 +822,7 @@ packages: dev: true /function.prototype.name/1.1.5: - resolution: {integrity: sha1-zOBQX+H/uAUD5vnkbMZORqEqliE=} + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -835,11 +836,11 @@ packages: dev: true /functions-have-names/1.2.3: - resolution: {integrity: sha1-BAT+TuK6L2B/Dg7DyAuumUEzuDQ=} + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /get-intrinsic/1.1.1: - resolution: {integrity: sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=} + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 @@ -847,7 +848,7 @@ packages: dev: true /get-symbol-description/1.0.0: - resolution: {integrity: sha1-f9uByQAQH71WTdXxowr1qtweWNY=} + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -855,12 +856,12 @@ packages: dev: true /glob-escape/0.0.2: - resolution: {integrity: sha1-nCf3gh7RwTd1gvPv2VWOP2dWKO0=} + resolution: {integrity: sha512-L/cXYz8x7qer1HAyUQ+mbjcUsJVdpRxpAf7CwqHoNBs9vTpABlGfNN4tzkDxt+u3Z7ZncVyKlCNPtzb0R/7WbA==} engines: {node: '>= 0.10'} dev: true /glob-parent/5.1.2: - resolution: {integrity: sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=} + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 @@ -874,7 +875,7 @@ packages: dev: true /glob/7.0.6: - resolution: {integrity: sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=} + resolution: {integrity: sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -910,7 +911,7 @@ packages: dev: true /globby/11.0.4: - resolution: {integrity: sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=} + resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} engines: {node: '>=10'} dependencies: array-union: 2.1.0 @@ -922,11 +923,11 @@ packages: dev: true /graceful-fs/4.2.6: - resolution: {integrity: sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=} + resolution: {integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==} dev: true /has-bigints/1.0.2: - resolution: {integrity: sha1-CHG9Pj1RYm9soJZmaLo11WAtbqo=} + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag/3.0.0: @@ -940,18 +941,18 @@ packages: dev: true /has-property-descriptors/1.0.0: - resolution: {integrity: sha1-YQcIYAYG02lh7QTBlhk7amB/qGE=} + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.1.1 dev: true /has-symbols/1.0.3: - resolution: {integrity: sha1-u3ssQ0klHc6HsSX3vfh0qnyLOfg=} + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} dev: true /has-tostringtag/1.0.0: - resolution: {integrity: sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=} + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 @@ -978,7 +979,7 @@ packages: dev: true /import-lazy/4.0.0: - resolution: {integrity: sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=} + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} dev: true @@ -999,7 +1000,7 @@ packages: dev: true /internal-slot/1.0.3: - resolution: {integrity: sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=} + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.1.1 @@ -1008,25 +1009,25 @@ packages: dev: true /is-bigint/1.0.2: - resolution: {integrity: sha1-/7OBRCUDI1rSReqJ5Fs9v/BA7lo=} + resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} dev: true /is-binary-path/2.1.0: - resolution: {integrity: sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=} + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true /is-boolean-object/1.1.1: - resolution: {integrity: sha1-PAh48DXLghIo01DS4eNnGXFqPeg=} + resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 dev: true /is-callable/1.2.4: - resolution: {integrity: sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=} + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} engines: {node: '>= 0.4'} dev: true @@ -1037,7 +1038,7 @@ packages: dev: true /is-date-object/1.0.4: - resolution: {integrity: sha1-VQz8wDr62gXuo90wmBx7CVUfc+U=} + resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==} engines: {node: '>= 0.4'} dev: true @@ -1061,22 +1062,22 @@ packages: dev: true /is-negative-zero/2.0.2: - resolution: {integrity: sha1-e/bwOigAO4s5Zd46wm9mTXZfMVA=} + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} dev: true /is-number-object/1.0.5: - resolution: {integrity: sha1-bt+u7XlQz/Ga/tzp+/yp7m3Sies=} + resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} engines: {node: '>= 0.4'} dev: true /is-number/7.0.0: - resolution: {integrity: sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=} + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} dev: true /is-regex/1.1.4: - resolution: {integrity: sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=} + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1084,27 +1085,27 @@ packages: dev: true /is-shared-array-buffer/1.0.2: - resolution: {integrity: sha1-jyWcVztgtqMtQFihoHQwwKc0THk=} + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 dev: true /is-string/1.0.7: - resolution: {integrity: sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=} + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 dev: true /is-symbol/1.0.4: - resolution: {integrity: sha1-ptrJO2NbBjymhyI23oiRClevE5w=} + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-weakref/1.0.2: - resolution: {integrity: sha1-lSnzg6kzggXol2XgOS78LxAPBvI=} + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true @@ -1114,7 +1115,7 @@ packages: dev: true /jju/1.4.0: - resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true /js-tokens/4.0.0: @@ -1145,18 +1146,18 @@ packages: dev: true /jsonfile/4.0.0: - resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.6 dev: true /jsonpath-plus/4.0.0: - resolution: {integrity: sha1-lUtp+qPYsH8wri+eYBF2pLDSgG4=} + resolution: {integrity: sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==} engines: {node: '>=10.0'} dev: true /jsx-ast-utils/2.4.1: - resolution: {integrity: sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4=} + resolution: {integrity: sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==} engines: {node: '>=4.0'} dependencies: array-includes: 3.1.5 @@ -1172,11 +1173,11 @@ packages: dev: true /lodash.get/4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} dev: true /lodash.isequal/4.5.0: - resolution: {integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA=} + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: true /lodash.merge/4.6.2: @@ -1184,26 +1185,26 @@ packages: dev: true /loose-envify/1.4.0: - resolution: {integrity: sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=} + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /lru-cache/6.0.0: - resolution: {integrity: sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=} + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true /merge2/1.4.1: - resolution: {integrity: sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=} + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} dev: true /micromatch/4.0.4: - resolution: {integrity: sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=} + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 @@ -1242,26 +1243,26 @@ packages: dev: true /normalize-path/3.0.0: - resolution: {integrity: sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=} + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true /object-assign/4.1.1: - resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} dev: true /object-inspect/1.12.2: - resolution: {integrity: sha1-wGQfJjlFMvKKuNeWq5VOQ8AJqOo=} + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true /object-keys/1.1.1: - resolution: {integrity: sha1-HEfyct8nfzsdrwYWd9nILiMixg4=} + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} dev: true /object.assign/4.1.2: - resolution: {integrity: sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=} + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1271,7 +1272,7 @@ packages: dev: true /object.entries/1.1.5: - resolution: {integrity: sha1-4azdF8TeLNltWghIfPuduE2IGGE=} + resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1280,7 +1281,7 @@ packages: dev: true /object.fromentries/2.0.5: - resolution: {integrity: sha1-ezeyBRCcIedB5gVyf+iwrV+gglE=} + resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1289,14 +1290,14 @@ packages: dev: true /object.hasown/1.1.1: - resolution: {integrity: sha1-rR7sxg0D9JRgYAQw2X8jiCz1kqM=} + resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} dependencies: define-properties: 1.1.4 es-abstract: 1.20.1 dev: true /object.values/1.1.5: - resolution: {integrity: sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=} + resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1344,12 +1345,12 @@ packages: dev: true /path-type/4.0.0: - resolution: {integrity: sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=} + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true /picomatch/2.3.0: - resolution: {integrity: sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=} + resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} dev: true @@ -1359,13 +1360,13 @@ packages: dev: true /prettier/2.3.1: - resolution: {integrity: sha1-dpA8P4xESbyaxZes76JNxa1MvqY=} + resolution: {integrity: sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==} engines: {node: '>=10.13.0'} hasBin: true dev: true /prop-types/15.7.2: - resolution: {integrity: sha1-UsQedbjIfnK52TYOAga5ncv/psU=} + resolution: {integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -1378,22 +1379,22 @@ packages: dev: true /queue-microtask/1.2.3: - resolution: {integrity: sha1-SSkii7xyTfrEPg77BYyve2z7YkM=} + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true /react-is/16.13.1: - resolution: {integrity: sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=} + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /readdirp/3.5.0: - resolution: {integrity: sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=} + resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.0 dev: true /regexp.prototype.flags/1.4.3: - resolution: {integrity: sha1-h8qzD4D2ZmAYGju3v1mBqHKzZ6w=} + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1412,13 +1413,13 @@ packages: dev: true /resolve/1.17.0: - resolution: {integrity: sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=} + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} dependencies: path-parse: 1.0.7 dev: true /resolve/1.19.0: - resolution: {integrity: sha1-GvW/YwQJc0oGfK4pMYqsf6KaJnw=} + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.4.0 path-parse: 1.0.7 @@ -1432,14 +1433,14 @@ packages: dev: true /resolve/2.0.0-next.3: - resolution: {integrity: sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY=} + resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} dependencies: is-core-module: 2.4.0 path-parse: 1.0.7 dev: true /reusify/1.0.4: - resolution: {integrity: sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=} + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true @@ -1451,7 +1452,7 @@ packages: dev: true /run-parallel/1.2.0: - resolution: {integrity: sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=} + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true @@ -1462,12 +1463,12 @@ packages: dev: true /semver/6.3.0: - resolution: {integrity: sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=} + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true dev: true /semver/7.3.5: - resolution: {integrity: sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=} + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -1487,7 +1488,7 @@ packages: dev: true /side-channel/1.0.4: - resolution: {integrity: sha1-785cj9wQTudRslxY1CkAEfpeos8=} + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 @@ -1495,7 +1496,7 @@ packages: dev: true /slash/3.0.0: - resolution: {integrity: sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=} + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true @@ -1504,12 +1505,12 @@ packages: dev: true /string-argv/0.3.1: - resolution: {integrity: sha1-leL77AQnrhkYSTX4FtdKqkxcGdo=} + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} dev: true /string.prototype.matchall/4.0.7: - resolution: {integrity: sha1-jm7LDYofsf2kcNgazsstugV6SB0=} + resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 @@ -1522,7 +1523,7 @@ packages: dev: true /string.prototype.trimend/1.0.5: - resolution: {integrity: sha1-kUpluqqyX73U7ikcp93lfoacuNA=} + resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 @@ -1530,7 +1531,7 @@ packages: dev: true /string.prototype.trimstart/1.0.5: - resolution: {integrity: sha1-VGbZO6WM+iE0g5+B1/QkN+jAH+8=} + resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} dependencies: call-bind: 1.0.2 define-properties: 1.1.4 @@ -1564,7 +1565,7 @@ packages: dev: true /tapable/1.1.3: - resolution: {integrity: sha1-ofzMBrWNth/XpF2i2kT186Pme6I=} + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} dev: true @@ -1573,18 +1574,18 @@ packages: dev: true /timsort/0.3.0: - resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} + resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} dev: true /to-regex-range/5.0.1: - resolution: {integrity: sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=} + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true /true-case-path/2.2.1: - resolution: {integrity: sha1-xb8EpbvsP9EYvkCERhs6J8TXlr8=} + resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} dev: true /tslib/1.14.1: @@ -1624,7 +1625,7 @@ packages: dev: true /tsutils/3.21.0_typescript@4.6.4: - resolution: {integrity: sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=} + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' @@ -1652,7 +1653,7 @@ packages: dev: true /unbox-primitive/1.0.2: - resolution: {integrity: sha1-KQMgIQV9Xmzb0IxRKcIm3/jtb54=} + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 has-bigints: 1.0.2 @@ -1661,7 +1662,7 @@ packages: dev: true /universalify/0.1.2: - resolution: {integrity: sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=} + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true @@ -1676,12 +1677,12 @@ packages: dev: true /validator/13.7.0: - resolution: {integrity: sha1-T5ZYuhO6jz2C7ogdNRZInqhcCFc=} + resolution: {integrity: sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==} engines: {node: '>= 0.10'} dev: true /which-boxed-primitive/1.0.2: - resolution: {integrity: sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=} + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.2 is-boolean-object: 1.1.1 @@ -1708,11 +1709,11 @@ packages: dev: true /yallist/4.0.0: - resolution: {integrity: sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=} + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true /z-schema/5.0.3: - resolution: {integrity: sha1-aPr7m3Nfx/PInquz5aY1O017STU=} + resolution: {integrity: sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==} engines: {node: '>=8.0.0'} hasBin: true dependencies: @@ -1803,15 +1804,15 @@ packages: - typescript dev: true - file:../temp/tarballs/rushstack-heft-0.45.8.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.8.tgz} + file:../temp/tarballs/rushstack-heft-0.45.12.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-0.45.12.tgz} name: '@rushstack/heft' - version: 0.45.8 + version: 0.45.12 engines: {node: '>=10.13.0'} hasBin: true dependencies: - '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.8.6.tgz - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.45.7.tgz + '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.8.7.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.46.0.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.3.12.tgz '@rushstack/ts-command-line': file:../temp/tarballs/rushstack-ts-command-line-4.12.0.tgz '@types/tapable': 1.0.6 @@ -1826,21 +1827,21 @@ packages: true-case-path: 2.2.1 dev: true - file:../temp/tarballs/rushstack-heft-config-file-0.8.6.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.8.6.tgz} + file:../temp/tarballs/rushstack-heft-config-file-0.8.7.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-heft-config-file-0.8.7.tgz} name: '@rushstack/heft-config-file' - version: 0.8.6 + version: 0.8.7 engines: {node: '>=10.13.0'} dependencies: - '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.45.7.tgz + '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.46.0.tgz '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.3.12.tgz jsonpath-plus: 4.0.0 dev: true - file:../temp/tarballs/rushstack-node-core-library-3.45.7.tgz: - resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.45.7.tgz} + file:../temp/tarballs/rushstack-node-core-library-3.46.0.tgz: + resolution: {tarball: file:../temp/tarballs/rushstack-node-core-library-3.46.0.tgz} name: '@rushstack/node-core-library' - version: 3.45.7 + version: 3.46.0 dependencies: '@types/node': 12.20.24 colors: 1.2.5 From 3aa4a8cdcd8003e404abcd262112c862487a0f80 Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Sun, 26 Jun 2022 17:54:07 -0700 Subject: [PATCH 5/9] Change deferredWrite to writeTentative API --- .../src/markdown/MarkdownEmitter.ts | 18 ++--- .../src/utils/IndentedWriter.ts | 73 ++++++++++--------- 2 files changed, 43 insertions(+), 48 deletions(-) diff --git a/apps/api-documenter/src/markdown/MarkdownEmitter.ts b/apps/api-documenter/src/markdown/MarkdownEmitter.ts index 9ee372635b8..85d76d4f09a 100644 --- a/apps/api-documenter/src/markdown/MarkdownEmitter.ts +++ b/apps/api-documenter/src/markdown/MarkdownEmitter.ts @@ -141,21 +141,13 @@ export class MarkdownEmitter { const trimmedParagraph: DocParagraph = DocNodeTransforms.trimSpacesInParagraph(docParagraph); if (context.insideTable) { if (docNodeSiblings) { - // This deferred write is necessary to avoid writing empty paragraph tags (i.e. `

`). At the + // 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 else ends up being subsequently written. - writer.deferredWrite('

'); - this.writeNodes(trimmedParagraph.nodes, context); - - if (writer.hasDeferred) { - // We know nothing has been written after the `deferredWrite`, so clear any deferred messages and - // don't write a closing `

` tag. - writer.clearDeferred(); - } else { - // We know the starting `

` tag has been written, so write a closing `

` tag. - writer.write('

'); - } + // `

` 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 a33d330a614..cd5d1a31020 100644 --- a/apps/api-documenter/src/utils/IndentedWriter.ts +++ b/apps/api-documenter/src/utils/IndentedWriter.ts @@ -46,8 +46,8 @@ export class IndentedWriter { private readonly _indentStack: string[]; private _indentText: string; - private _deferredChunks: string[]; - private _isWritingDeferred: boolean; + private _beforeStack: string[]; + private _isWritingBeforeStack: boolean; public constructor(builder?: IStringBuilder) { this._builder = builder === undefined ? new StringBuilder() : builder; @@ -59,8 +59,8 @@ export class IndentedWriter { this._indentStack = []; this._indentText = ''; - this._deferredChunks = []; - this._isWritingDeferred = false; + this._beforeStack = []; + this._isWritingBeforeStack = false; } /** @@ -156,25 +156,27 @@ export class IndentedWriter { } /** - * Defers a message to be written to the internal string buffer on the next call to either - * `write` or `writeLine`. + * 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 deferredWrite(message: string): void { - this._deferredChunks.push(message); - } - - /** - * Returns whether or not there exist deferred messages to be written. - */ - public get hasDeferred(): boolean { - return this._deferredChunks.length > 0; - } - - /** - * Clears any deferred messages to be written. - */ - public clearDeferred(): void { - this._deferredChunks = []; + 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); + } } /** @@ -183,14 +185,14 @@ export class IndentedWriter { * each line will be indented separately. */ public write(message: string): void { - if (!this._isWritingDeferred) { - this._writeDeferred(); - } - if (message.length === 0) { 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); @@ -218,8 +220,8 @@ export class IndentedWriter { public writeLine(message: string = ''): void { if (message.length > 0) { this.write(message); - } else if (!this._isWritingDeferred) { - this._writeDeferred(); + } else if (!this._isWritingBeforeStack) { + this._writeBeforeStack(); } this._writeNewLine(); @@ -254,17 +256,18 @@ export class IndentedWriter { } /** - * Writes each deferred message, processing the messages in FIFO order. + * Writes all messages in our before stack, processing them in FIFO order. This stack is + * populated by the `writeTentative` method. */ - private _writeDeferred(): void { - this._isWritingDeferred = true; + private _writeBeforeStack(): void { + this._isWritingBeforeStack = true; - for (const chunk of this._deferredChunks) { - this.write(chunk); + for (const message of this._beforeStack) { + this.write(message); } - this._isWritingDeferred = false; - this.clearDeferred(); + this._isWritingBeforeStack = false; + this._beforeStack = []; } private _updateIndentText(): void { From f634a498d91aba18ba35eb0f7ee8d1eb13bdd821 Mon Sep 17 00:00:00 2001 From: Zack Elliott Date: Sun, 26 Jun 2022 18:02:52 -0700 Subject: [PATCH 6/9] Update ApiJsonSchemaVersion --- .../src/generators/ApiModelGenerator.ts | 2 +- .../etc/api-documenter-test.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../apiItemKinds/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../circularImport/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../docReferences/api-extractor-scenarios.api.json | 2 +- .../docReferences2/api-extractor-scenarios.api.json | 2 +- .../docReferences3/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../enumSorting/api-extractor-scenarios.api.json | 2 +- .../excerptTokens/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../exportEquals/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../exportStar/api-extractor-scenarios.api.json | 2 +- .../exportStar2/api-extractor-scenarios.api.json | 2 +- .../exportStar3/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../importEquals/api-extractor-scenarios.api.json | 2 +- .../importType/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../preapproved/api-extractor-scenarios.api.json | 2 +- .../api-extractor-scenarios.api.json | 2 +- .../spanSorting/api-extractor-scenarios.api.json | 2 +- .../typeOf/api-extractor-scenarios.api.json | 2 +- .../typeOf2/api-extractor-scenarios.api.json | 2 +- .../typeOf3/api-extractor-scenarios.api.json | 2 +- .../typeParameters/api-extractor-scenarios.api.json | 2 +- .../src/model/DeserializerContext.ts | 13 ++++++++++--- 46 files changed, 55 insertions(+), 48 deletions(-) diff --git a/apps/api-extractor/src/generators/ApiModelGenerator.ts b/apps/api-extractor/src/generators/ApiModelGenerator.ts index e4eb198fe46..5fae347ee5b 100644 --- a/apps/api-extractor/src/generators/ApiModelGenerator.ts +++ b/apps/api-extractor/src/generators/ApiModelGenerator.ts @@ -1103,7 +1103,7 @@ export class ApiModelGenerator { this._collector.fetchDeclarationMetadata(astDeclaration); const hasReadonlyModifier: boolean = (astDeclaration.modifierFlags & ts.ModifierFlags.Readonly) !== 0; - const hasReadonlyDocTag: boolean = !!docComment?.modifierTagSet.hasTagName('@readonly'); + const hasReadonlyDocTag: boolean = !!docComment?.modifierTagSet?.hasTagName('@readonly'); const isGetterWithNoSetter: boolean = ts.isGetAccessorDeclaration(astDeclaration.declaration) && declarationMetadata.ancillaryDeclarations.length === 0; 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 75e020e0cd6..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", 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 5a9a09557aa..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", 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/libraries/api-extractor-model/src/model/DeserializerContext.ts b/libraries/api-extractor-model/src/model/DeserializerContext.ts index a5caaacd79f..77e9547022b 100644 --- a/libraries/api-extractor-model/src/model/DeserializerContext.ts +++ b/libraries/api-extractor-model/src/model/DeserializerContext.ts @@ -49,14 +49,14 @@ export enum ApiJsonSchemaVersion { * Add an `isReadonly` field to `ApiProperty`, `ApiPropertySignature`, and `ApiVariable` to * track whether the item is readonly. * - * When loading older JSON files, the values default to `false`. + * When loading older JSON files, the values defaults to `false`. */ V_1006 = 1006, /** * Add `ApiItemContainerMixin.preserveMemberOrder` to support enums that preserve their original sort order. * - * When loading older JSON files, the value default to `false`. + * When loading older JSON files, the value defaults to `false`. */ V_1007 = 1007, @@ -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. From 2289676eea2e0eab7a99b6d1e059669b18c23e16 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 29 Jun 2022 20:45:31 -0700 Subject: [PATCH 7/9] Fix minor grammar issue from PR feedback --- .../api-extractor-model/src/model/DeserializerContext.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/api-extractor-model/src/model/DeserializerContext.ts b/libraries/api-extractor-model/src/model/DeserializerContext.ts index 77e9547022b..710ed6c4f79 100644 --- a/libraries/api-extractor-model/src/model/DeserializerContext.ts +++ b/libraries/api-extractor-model/src/model/DeserializerContext.ts @@ -49,14 +49,14 @@ export enum ApiJsonSchemaVersion { * Add an `isReadonly` field to `ApiProperty`, `ApiPropertySignature`, and `ApiVariable` to * track whether the item is readonly. * - * When loading older JSON files, the values defaults to `false`. + * When loading older JSON files, the values default to `false`. */ V_1006 = 1006, /** * Add `ApiItemContainerMixin.preserveMemberOrder` to support enums that preserve their original sort order. * - * When loading older JSON files, the value defaults to `false`. + * When loading older JSON files, the value default to `false`. */ V_1007 = 1007, From 01c29fc94c4264e07921f520098379196a70d654 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 29 Jun 2022 20:46:37 -0700 Subject: [PATCH 8/9] Tune up change log --- .../empty-paragraph-bug-fix_2022-06-17-23-02.json | 2 +- .../empty-paragraph-bug-fix_2022-06-17-23-02.json | 2 +- .../api-extractor/empty-paragraph-bug-fix_2022-06-17-23-02.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 index 4ea20e6313e..a1c472227f9 100644 --- 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 @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/api-documenter", - "comment": "Show protected and readonly modifiers for relevant API items.", + "comment": "Show protected and readonly modifiers for relevant API items", "type": "minor" } ], 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 index c5ea6b2cab5..ca08d1d7363 100644 --- 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 @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/api-extractor-model", - "comment": "Update model to reflex that index signatures can also be readonly.", + "comment": "Update model to reflect that index signatures can also be readonly", "type": "minor" } ], 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 index 540bd96a21a..8f8249adc5b 100644 --- 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 @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/api-extractor", - "comment": "Improvement to logic that determines whether an API item is readonly.", + "comment": "Improve logic that determines whether an API item is readonly", "type": "patch" } ], From 6a7315a77ec45163618689183fb02f0b2da68f77 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Wed, 29 Jun 2022 21:03:43 -0700 Subject: [PATCH 9/9] rebuild --- .../workspace/common/pnpm-lock.yaml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) 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