diff --git a/package.json b/package.json index 7a801dfccb52..f0dc364341a8 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "cross-env": "^7.0.3", "cross-fetch": "^3.1.5", "cspell": "^6.0.0", - "downlevel-dts": ">=0.10.0", + "downlevel-dts": ">=0.11.0", "eslint": "^8.15.0", "eslint-plugin-deprecation": "^1.3.2", "eslint-plugin-eslint-comments": "^3.2.0", @@ -108,10 +108,10 @@ "ts-node": "10.7.0", "tslint": "^6.1.3", "tsx": "^3.12.1", - "typescript": ">=3.3.1 <5.0.0" + "typescript": ">=3.3.1 <4.9.5 || 5.0.1-rc" }, "resolutions": { - "typescript": "~4.9.3", + "typescript": "~5.0.1-rc", "@types/node": "^18.11.9", "@jest/create-cache-key-function": "^29", "@jest/reporters": "^29", diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index 9cf100b2c42a..a66586a0dd63 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -46,7 +46,7 @@ "@babel/core": "*", "@babel/eslint-parser": "*", "@babel/parser": "*", - "@microsoft/api-extractor": "^7.23.2", + "@microsoft/api-extractor": "^7.34.4", "@types/babel__core": "*", "glob": "*", "jest-diff": "*", diff --git a/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts b/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts index 33237a8ae4e2..bc8fc8a4a3f5 100644 --- a/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts +++ b/packages/eslint-plugin/src/rules/no-redundant-type-constituents.ts @@ -82,6 +82,10 @@ function describeLiteralType(type: ts.Type): string { return JSON.stringify(type.value); } + if (util.isTypeBigIntLiteralType(type)) { + return `${type.value.negative ? '-' : ''}${type.value.base10Value}n`; + } + if (type.isLiteral()) { return type.value.toString(); } @@ -102,10 +106,6 @@ function describeLiteralType(type: ts.Type): string { return 'template literal type'; } - if (util.isTypeBigIntLiteralType(type)) { - return `${type.value.negative ? '-' : ''}${type.value.base10Value}n`; - } - if (tsutils.isBooleanLiteralType(type, true)) { return 'true'; } diff --git a/packages/scope-manager/src/lib/decorators.legacy.ts b/packages/scope-manager/src/lib/decorators.legacy.ts new file mode 100644 index 000000000000..8a02028b68e9 --- /dev/null +++ b/packages/scope-manager/src/lib/decorators.legacy.ts @@ -0,0 +1,14 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { TYPE } from './base-config'; + +export const decorators_legacy = { + ClassDecorator: TYPE, + PropertyDecorator: TYPE, + MethodDecorator: TYPE, + ParameterDecorator: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/decorators.ts b/packages/scope-manager/src/lib/decorators.ts new file mode 100644 index 000000000000..cbeb41eba291 --- /dev/null +++ b/packages/scope-manager/src/lib/decorators.ts @@ -0,0 +1,20 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { TYPE } from './base-config'; + +export const decorators = { + ClassMemberDecoratorContext: TYPE, + DecoratorContext: TYPE, + ClassDecoratorContext: TYPE, + ClassMethodDecoratorContext: TYPE, + ClassGetterDecoratorContext: TYPE, + ClassSetterDecoratorContext: TYPE, + ClassAccessorDecoratorContext: TYPE, + ClassAccessorDecoratorTarget: TYPE, + ClassAccessorDecoratorResult: TYPE, + ClassFieldDecoratorContext: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/dom.iterable.ts b/packages/scope-manager/src/lib/dom.iterable.ts index 1d43661478b4..10c5d0eada18 100644 --- a/packages/scope-manager/src/lib/dom.iterable.ts +++ b/packages/scope-manager/src/lib/dom.iterable.ts @@ -10,6 +10,7 @@ export const dom_iterable = { AudioParam: TYPE, AudioParamMap: TYPE, BaseAudioContext: TYPE, + CSSKeyframesRule: TYPE, CSSRuleList: TYPE, CSSStyleDeclaration: TYPE, Cache: TYPE, @@ -31,6 +32,9 @@ export const dom_iterable = { Headers: TYPE, IDBDatabase: TYPE, IDBObjectStore: TYPE, + MIDIInputMap: TYPE, + MIDIOutput: TYPE, + MIDIOutputMap: TYPE, MediaKeyStatusMap: TYPE, MediaList: TYPE, MessageEvent: TYPE, diff --git a/packages/scope-manager/src/lib/dom.ts b/packages/scope-manager/src/lib/dom.ts index 1087a238dfca..5976f8794927 100644 --- a/packages/scope-manager/src/lib/dom.ts +++ b/packages/scope-manager/src/lib/dom.ts @@ -38,6 +38,7 @@ export const dom = { CanvasRenderingContext2DSettings: TYPE, ChannelMergerOptions: TYPE, ChannelSplitterOptions: TYPE, + CheckVisibilityOptions: TYPE, ClientQueryOptions: TYPE, ClipboardEventInit: TYPE, ClipboardItemOptions: TYPE, @@ -115,6 +116,7 @@ export const dom = { ImageBitmapOptions: TYPE, ImageBitmapRenderingContextSettings: TYPE, ImageDataSettings: TYPE, + ImageEncodeOptions: TYPE, ImportMeta: TYPE, InputEventInit: TYPE, IntersectionObserverEntryInit: TYPE, @@ -128,6 +130,9 @@ export const dom = { LockInfo: TYPE, LockManagerSnapshot: TYPE, LockOptions: TYPE, + MIDIConnectionEventInit: TYPE, + MIDIMessageEventInit: TYPE, + MIDIOptions: TYPE, MediaCapabilitiesDecodingInfo: TYPE, MediaCapabilitiesEncodingInfo: TYPE, MediaCapabilitiesInfo: TYPE, @@ -354,6 +359,7 @@ export const dom = { CSSContainerRule: TYPE_VALUE, CSSCounterStyleRule: TYPE_VALUE, CSSFontFaceRule: TYPE_VALUE, + CSSFontFeatureValuesRule: TYPE_VALUE, CSSFontPaletteValuesRule: TYPE_VALUE, CSSGroupingRule: TYPE_VALUE, CSSImportRule: TYPE_VALUE, @@ -441,8 +447,6 @@ export const dom = { DeviceOrientationEvent: TYPE_VALUE, DocumentEventMap: TYPE, Document: TYPE_VALUE, - DocumentAndElementEventHandlersEventMap: TYPE, - DocumentAndElementEventHandlers: TYPE, DocumentFragment: TYPE_VALUE, DocumentOrShadowRoot: TYPE, DocumentTimeline: TYPE_VALUE, @@ -628,6 +632,17 @@ export const dom = { Location: TYPE_VALUE, Lock: TYPE_VALUE, LockManager: TYPE_VALUE, + MIDIAccessEventMap: TYPE, + MIDIAccess: TYPE_VALUE, + MIDIConnectionEvent: TYPE_VALUE, + MIDIInputEventMap: TYPE, + MIDIInput: TYPE_VALUE, + MIDIInputMap: TYPE_VALUE, + MIDIMessageEvent: TYPE_VALUE, + MIDIOutput: TYPE_VALUE, + MIDIOutputMap: TYPE_VALUE, + MIDIPortEventMap: TYPE, + MIDIPort: TYPE_VALUE, MathMLElementEventMap: TYPE, MathMLElement: TYPE_VALUE, MediaCapabilities: TYPE_VALUE, @@ -1078,6 +1093,7 @@ export const dom = { HTMLElementTagNameMap: TYPE, HTMLElementDeprecatedTagNameMap: TYPE, SVGElementTagNameMap: TYPE, + MathMLElementTagNameMap: TYPE, ElementTagNameMap: TYPE, AlgorithmIdentifier: TYPE, BigInteger: TYPE, @@ -1117,7 +1133,6 @@ export const dom = { HeadersInit: TYPE, IDBValidKey: TYPE, ImageBitmapSource: TYPE, - InsertPosition: TYPE, Int32List: TYPE, LineAndPositionSetting: TYPE, MediaProvider: TYPE, @@ -1182,6 +1197,7 @@ export const dom = { EndingType: TYPE, FileSystemHandleKind: TYPE, FillMode: TYPE, + FontDisplay: TYPE, FontFaceLoadStatus: TYPE, FontFaceSetLoadStatus: TYPE, FullscreenNavigationUI: TYPE, @@ -1195,12 +1211,16 @@ export const dom = { IDBTransactionMode: TYPE, ImageOrientation: TYPE, ImageSmoothingQuality: TYPE, + InsertPosition: TYPE, IterationCompositeOperation: TYPE, KeyFormat: TYPE, KeyType: TYPE, KeyUsage: TYPE, LineAlignSetting: TYPE, LockMode: TYPE, + MIDIPortConnectionState: TYPE, + MIDIPortDeviceState: TYPE, + MIDIPortType: TYPE, MediaDecodingType: TYPE, MediaDeviceKind: TYPE, MediaEncodingType: TYPE, diff --git a/packages/scope-manager/src/lib/es2015.symbol.wellknown.ts b/packages/scope-manager/src/lib/es2015.symbol.wellknown.ts index 94fd4ac4e70f..94e522cfe03d 100644 --- a/packages/scope-manager/src/lib/es2015.symbol.wellknown.ts +++ b/packages/scope-manager/src/lib/es2015.symbol.wellknown.ts @@ -12,6 +12,7 @@ export const es2015_symbol_wellknown = { SymbolConstructor: TYPE, Symbol: TYPE, Array: TYPE, + ReadonlyArray: TYPE, Date: TYPE, Map: TYPE, WeakMap: TYPE, diff --git a/packages/scope-manager/src/lib/es2022.regexp.ts b/packages/scope-manager/src/lib/es2022.regexp.ts new file mode 100644 index 000000000000..85998ffe3682 --- /dev/null +++ b/packages/scope-manager/src/lib/es2022.regexp.ts @@ -0,0 +1,14 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { TYPE } from './base-config'; + +export const es2022_regexp = { + RegExpMatchArray: TYPE, + RegExpExecArray: TYPE, + RegExpIndicesArray: TYPE, + RegExp: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/es2022.ts b/packages/scope-manager/src/lib/es2022.ts index 0956c0111d6c..1e5eb867a2b6 100644 --- a/packages/scope-manager/src/lib/es2022.ts +++ b/packages/scope-manager/src/lib/es2022.ts @@ -9,6 +9,7 @@ import { es2022_array } from './es2022.array'; import { es2022_error } from './es2022.error'; import { es2022_intl } from './es2022.intl'; import { es2022_object } from './es2022.object'; +import { es2022_regexp } from './es2022.regexp'; import { es2022_sharedmemory } from './es2022.sharedmemory'; import { es2022_string } from './es2022.string'; @@ -20,4 +21,5 @@ export const es2022 = { ...es2022_object, ...es2022_sharedmemory, ...es2022_string, + ...es2022_regexp, } as Record; diff --git a/packages/scope-manager/src/lib/es2023.array.ts b/packages/scope-manager/src/lib/es2023.array.ts new file mode 100644 index 000000000000..029b058a8cdd --- /dev/null +++ b/packages/scope-manager/src/lib/es2023.array.ts @@ -0,0 +1,23 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { TYPE } from './base-config'; + +export const es2023_array = { + Array: TYPE, + ReadonlyArray: TYPE, + Int8Array: TYPE, + Uint8Array: TYPE, + Uint8ClampedArray: TYPE, + Int16Array: TYPE, + Uint16Array: TYPE, + Int32Array: TYPE, + Uint32Array: TYPE, + Float32Array: TYPE, + Float64Array: TYPE, + BigInt64Array: TYPE, + BigUint64Array: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/es2023.full.ts b/packages/scope-manager/src/lib/es2023.full.ts new file mode 100644 index 000000000000..b8a3c9310b6e --- /dev/null +++ b/packages/scope-manager/src/lib/es2023.full.ts @@ -0,0 +1,19 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { dom } from './dom'; +import { dom_iterable } from './dom.iterable'; +import { es2023 } from './es2023'; +import { scripthost } from './scripthost'; +import { webworker_importscripts } from './webworker.importscripts'; + +export const es2023_full = { + ...es2023, + ...dom, + ...webworker_importscripts, + ...scripthost, + ...dom_iterable, +} as Record; diff --git a/packages/scope-manager/src/lib/es2023.ts b/packages/scope-manager/src/lib/es2023.ts new file mode 100644 index 000000000000..9e98d3766115 --- /dev/null +++ b/packages/scope-manager/src/lib/es2023.ts @@ -0,0 +1,13 @@ +// THIS CODE WAS AUTOMATICALLY GENERATED +// DO NOT EDIT THIS CODE BY HAND +// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: +// npx nx generate-lib @typescript-eslint/scope-manager + +import type { ImplicitLibVariableOptions } from '../variable'; +import { es2022 } from './es2022'; +import { es2023_array } from './es2023.array'; + +export const es2023 = { + ...es2022, + ...es2023_array, +} as Record; diff --git a/packages/scope-manager/src/lib/es5.ts b/packages/scope-manager/src/lib/es5.ts index cef8eb253ce6..94c6eff46d0b 100644 --- a/packages/scope-manager/src/lib/es5.ts +++ b/packages/scope-manager/src/lib/es5.ts @@ -5,8 +5,12 @@ import type { ImplicitLibVariableOptions } from '../variable'; import { TYPE, TYPE_VALUE } from './base-config'; +import { decorators } from './decorators'; +import { decorators_legacy } from './decorators.legacy'; export const es5 = { + ...decorators, + ...decorators_legacy, Symbol: TYPE, PropertyKey: TYPE, PropertyDescriptor: TYPE, @@ -57,10 +61,6 @@ export const es5 = { Array: TYPE_VALUE, ArrayConstructor: TYPE, TypedPropertyDescriptor: TYPE, - ClassDecorator: TYPE, - PropertyDecorator: TYPE, - MethodDecorator: TYPE, - ParameterDecorator: TYPE, PromiseConstructorLike: TYPE, PromiseLike: TYPE, Promise: TYPE, diff --git a/packages/scope-manager/src/lib/esnext.ts b/packages/scope-manager/src/lib/esnext.ts index 31ac2762267a..72089f282dcc 100644 --- a/packages/scope-manager/src/lib/esnext.ts +++ b/packages/scope-manager/src/lib/esnext.ts @@ -4,10 +4,10 @@ // npx nx generate-lib @typescript-eslint/scope-manager import type { ImplicitLibVariableOptions } from '../variable'; -import { es2022 } from './es2022'; +import { es2023 } from './es2023'; import { esnext_intl } from './esnext.intl'; export const esnext = { - ...es2022, + ...es2023, ...esnext_intl, } as Record; diff --git a/packages/scope-manager/src/lib/index.ts b/packages/scope-manager/src/lib/index.ts index dfee880fa16e..a91568b6be6e 100644 --- a/packages/scope-manager/src/lib/index.ts +++ b/packages/scope-manager/src/lib/index.ts @@ -3,6 +3,8 @@ // RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE: // npx nx generate-lib @typescript-eslint/scope-manager +import { decorators } from './decorators'; +import { decorators_legacy } from './decorators.legacy'; import { dom } from './dom'; import { dom_iterable } from './dom.iterable'; import { es5 } from './es5'; @@ -64,8 +66,12 @@ import { es2022_error } from './es2022.error'; import { es2022_full } from './es2022.full'; import { es2022_intl } from './es2022.intl'; import { es2022_object } from './es2022.object'; +import { es2022_regexp } from './es2022.regexp'; import { es2022_sharedmemory } from './es2022.sharedmemory'; import { es2022_string } from './es2022.string'; +import { es2023 } from './es2023'; +import { es2023_array } from './es2023.array'; +import { es2023_full } from './es2023.full'; import { esnext } from './esnext'; import { esnext_array } from './esnext.array'; import { esnext_asynciterable } from './esnext.asynciterable'; @@ -94,6 +100,7 @@ const lib = { es2020, es2021, es2022, + es2023, esnext, dom, 'dom.iterable': dom_iterable, @@ -144,6 +151,8 @@ const lib = { 'es2022.object': es2022_object, 'es2022.sharedmemory': es2022_sharedmemory, 'es2022.string': es2022_string, + 'es2022.regexp': es2022_regexp, + 'es2023.array': es2023_array, 'esnext.array': esnext_array, 'esnext.symbol': esnext_symbol, 'esnext.asynciterable': esnext_asynciterable, @@ -152,6 +161,8 @@ const lib = { 'esnext.string': esnext_string, 'esnext.promise': esnext_promise, 'esnext.weakref': esnext_weakref, + decorators, + 'decorators.legacy': decorators_legacy, 'es2016.full': es2016_full, 'es2017.full': es2017_full, 'es2018.full': es2018_full, @@ -159,6 +170,7 @@ const lib = { 'es2020.full': es2020_full, 'es2021.full': es2021_full, 'es2022.full': es2022_full, + 'es2023.full': es2023_full, 'esnext.full': esnext_full, lib: libBase, } as const; diff --git a/packages/scope-manager/src/lib/webworker.ts b/packages/scope-manager/src/lib/webworker.ts index bddb6bf9aa4d..5e2aaad12f41 100644 --- a/packages/scope-manager/src/lib/webworker.ts +++ b/packages/scope-manager/src/lib/webworker.ts @@ -41,6 +41,7 @@ export const webworker = { FilePropertyBag: TYPE, FileSystemGetDirectoryOptions: TYPE, FileSystemGetFileOptions: TYPE, + FileSystemReadWriteOptions: TYPE, FileSystemRemoveOptions: TYPE, FontFaceDescriptors: TYPE, FontFaceSetLoadEventInit: TYPE, @@ -56,6 +57,7 @@ export const webworker = { ImageBitmapOptions: TYPE, ImageBitmapRenderingContextSettings: TYPE, ImageDataSettings: TYPE, + ImageEncodeOptions: TYPE, ImportMeta: TYPE, JsonWebKey: TYPE, KeyAlgorithm: TYPE, @@ -196,6 +198,7 @@ export const webworker = { FileSystemDirectoryHandle: TYPE_VALUE, FileSystemFileHandle: TYPE_VALUE, FileSystemHandle: TYPE_VALUE, + FileSystemSyncAccessHandle: TYPE_VALUE, FontFace: TYPE_VALUE, FontFaceSetEventMap: TYPE, FontFaceSet: TYPE_VALUE, @@ -441,6 +444,7 @@ export const webworker = { DocumentVisibilityState: TYPE, EndingType: TYPE, FileSystemHandleKind: TYPE, + FontDisplay: TYPE, FontFaceLoadStatus: TYPE, FontFaceSetLoadStatus: TYPE, FrameType: TYPE, diff --git a/packages/type-utils/src/typeFlagUtils.ts b/packages/type-utils/src/typeFlagUtils.ts index 134fdcf4ece1..aa71d702b19a 100644 --- a/packages/type-utils/src/typeFlagUtils.ts +++ b/packages/type-utils/src/typeFlagUtils.ts @@ -5,6 +5,7 @@ import * as ts from 'typescript'; * Gets all of the type flags in a type, iterating through unions automatically */ export function getTypeFlags(type: ts.Type): ts.TypeFlags { + // @ts-expect-error Since typescript 5.0, this is invalid, but uses 0 as the default value of TypeFlags. let flags: ts.TypeFlags = 0; for (const t of unionTypeParts(type)) { flags |= t.flags; diff --git a/packages/types/src/lib.ts b/packages/types/src/lib.ts index 880bafe5b5e6..c1c60650ffd4 100644 --- a/packages/types/src/lib.ts +++ b/packages/types/src/lib.ts @@ -15,6 +15,7 @@ type Lib = | 'es2020' | 'es2021' | 'es2022' + | 'es2023' | 'esnext' | 'dom' | 'dom.iterable' @@ -65,6 +66,8 @@ type Lib = | 'es2022.object' | 'es2022.sharedmemory' | 'es2022.string' + | 'es2022.regexp' + | 'es2023.array' | 'esnext.array' | 'esnext.symbol' | 'esnext.asynciterable' @@ -73,6 +76,8 @@ type Lib = | 'esnext.string' | 'esnext.promise' | 'esnext.weakref' + | 'decorators' + | 'decorators.legacy' | 'es2016.full' | 'es2017.full' | 'es2018.full' @@ -80,6 +85,7 @@ type Lib = | 'es2020.full' | 'es2021.full' | 'es2022.full' + | 'es2023.full' | 'esnext.full' | 'lib'; diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 4f7a89d97c14..4d07c341bb2a 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -2553,8 +2553,8 @@ export class Converter { : undefined, initializer: this.convertChild( - // eslint-disable-next-line deprecation/deprecation -- TODO breaking change remove this from the AST - node.initializer, + // @ts-expect-error TODO breaking change remove this from the AST + node.initializer as ts.Node, ) || undefined, readonly: hasModifier(SyntaxKind.ReadonlyKeyword, node) || undefined, static: hasModifier(SyntaxKind.StaticKeyword, node) || undefined, diff --git a/packages/typescript-estree/src/create-program/createDefaultProgram.ts b/packages/typescript-estree/src/create-program/createDefaultProgram.ts index a2de81399d20..b533746fff60 100644 --- a/packages/typescript-estree/src/create-program/createDefaultProgram.ts +++ b/packages/typescript-estree/src/create-program/createDefaultProgram.ts @@ -45,6 +45,7 @@ function createDefaultProgram( ); if (parseSettings.moduleResolver) { + // eslint-disable-next-line deprecation/deprecation -- intentional for older TS versions compilerHost.resolveModuleNames = getModuleResolver( parseSettings.moduleResolver, ).resolveModuleNames; diff --git a/packages/typescript-estree/src/create-program/getWatchProgramsForProjects.ts b/packages/typescript-estree/src/create-program/getWatchProgramsForProjects.ts index d9d4de9c833f..c1263ce342a2 100644 --- a/packages/typescript-estree/src/create-program/getWatchProgramsForProjects.ts +++ b/packages/typescript-estree/src/create-program/getWatchProgramsForProjects.ts @@ -270,6 +270,7 @@ function createWatchProgram( ) as WatchCompilerHostOfConfigFile; if (parseSettings.moduleResolver) { + // eslint-disable-next-line deprecation/deprecation -- intentional for older TS versions watchCompilerHost.resolveModuleNames = getModuleResolver( parseSettings.moduleResolver, ).resolveModuleNames; diff --git a/packages/typescript-estree/src/getModifiers.ts b/packages/typescript-estree/src/getModifiers.ts index a584a7659a77..24ef670a2c0b 100644 --- a/packages/typescript-estree/src/getModifiers.ts +++ b/packages/typescript-estree/src/getModifiers.ts @@ -23,8 +23,10 @@ export function getModifiers( } return ( - // eslint-disable-next-line deprecation/deprecation -- intentional fallback for older TS versions - node.modifiers?.filter((m): m is ts.Modifier => !ts.isDecorator(m)) + // @ts-expect-error intentional fallback for older TS versions + (node.modifiers as ts.Modifier[])?.filter( + (m): m is ts.Modifier => !ts.isDecorator(m), + ) ); } @@ -47,7 +49,7 @@ export function getDecorators( } return ( - // eslint-disable-next-line deprecation/deprecation -- intentional fallback for older TS versions - node.decorators?.filter(ts.isDecorator) + // @ts-expect-error intentional fallback for older TS versions + (node.decorators as ts.Node[])?.filter(ts.isDecorator) ); } diff --git a/packages/typescript-estree/src/node-utils.ts b/packages/typescript-estree/src/node-utils.ts index 2b7351b0408f..4be3ae8e3739 100644 --- a/packages/typescript-estree/src/node-utils.ts +++ b/packages/typescript-estree/src/node-utils.ts @@ -4,6 +4,9 @@ import { getModifiers } from './getModifiers'; import { xhtmlEntities } from './jsx/xhtml-entities'; import type { TSESTree } from './ts-estree'; import { AST_NODE_TYPES, AST_TOKEN_TYPES } from './ts-estree'; +import { typescriptVersionIsAtLeast } from './version-check'; + +const isAtLeast50 = typescriptVersionIsAtLeast['5.0']; const SyntaxKind = ts.SyntaxKind; @@ -433,12 +436,19 @@ export function isChildUnwrappableOptionalChain( export function getTokenType( token: ts.Identifier | ts.Token, ): Exclude { - if ('originalKeywordKind' in token && token.originalKeywordKind) { - if (token.originalKeywordKind === SyntaxKind.NullKeyword) { + let keywordKind: ts.SyntaxKind | undefined; + if (isAtLeast50 && token.kind === SyntaxKind.Identifier) { + keywordKind = ts.identifierToKeywordKind(token as ts.Identifier); + } else if ('originalKeywordKind' in token) { + // eslint-disable-next-line deprecation/deprecation -- intentional fallback for older TS versions + keywordKind = token.originalKeywordKind; + } + if (keywordKind) { + if (keywordKind === SyntaxKind.NullKeyword) { return AST_TOKEN_TYPES.Null; } else if ( - token.originalKeywordKind >= SyntaxKind.FirstFutureReservedWord && - token.originalKeywordKind <= SyntaxKind.LastKeyword + keywordKind >= SyntaxKind.FirstFutureReservedWord && + keywordKind <= SyntaxKind.LastKeyword ) { return AST_TOKEN_TYPES.Identifier; } @@ -663,7 +673,11 @@ export function firstDefined( } export function identifierIsThisKeyword(id: ts.Identifier): boolean { - return id.originalKeywordKind === SyntaxKind.ThisKeyword; + return ( + // eslint-disable-next-line deprecation/deprecation -- intentional for older TS versions + (isAtLeast50 ? ts.identifierToKeywordKind(id) : id.originalKeywordKind) === + SyntaxKind.ThisKeyword + ); } export function isThisIdentifier( diff --git a/packages/typescript-estree/src/parseSettings/warnAboutTSVersion.ts b/packages/typescript-estree/src/parseSettings/warnAboutTSVersion.ts index 13eef19e7964..65ff64fd072d 100644 --- a/packages/typescript-estree/src/parseSettings/warnAboutTSVersion.ts +++ b/packages/typescript-estree/src/parseSettings/warnAboutTSVersion.ts @@ -12,7 +12,7 @@ const SUPPORTED_TYPESCRIPT_VERSIONS = '>=3.3.1 <5.0.0'; * The semver package will ignore prerelease ranges, and we don't want to explicitly document every one * List them all separately here, so we can automatically create the full string */ -const SUPPORTED_PRERELEASE_RANGES: string[] = []; +const SUPPORTED_PRERELEASE_RANGES: string[] = ['5.0.1-rc']; const ACTIVE_TYPESCRIPT_VERSION = ts.version; const isRunningSupportedTypeScriptVersion = semver.satisfies( ACTIVE_TYPESCRIPT_VERSION, diff --git a/packages/typescript-estree/src/ts-estree/ts-nodes.ts b/packages/typescript-estree/src/ts-estree/ts-nodes.ts index 0ba5414e1376..fe1042260d8d 100644 --- a/packages/typescript-estree/src/ts-estree/ts-nodes.ts +++ b/packages/typescript-estree/src/ts-estree/ts-nodes.ts @@ -182,7 +182,9 @@ export type TSNode = | ts.ExportAssignment | ts.SourceFile | ts.Bundle + // eslint-disable-next-line deprecation/deprecation -- intentional for old TS versions | ts.InputFiles + // eslint-disable-next-line deprecation/deprecation -- intentional for old TS versions | ts.UnparsedSource | ts.JsonMinusNumericLiteral | ts.TemplateLiteralTypeNode diff --git a/packages/typescript-estree/src/version-check.ts b/packages/typescript-estree/src/version-check.ts index 194636cb5870..62bef222eb5c 100644 --- a/packages/typescript-estree/src/version-check.ts +++ b/packages/typescript-estree/src/version-check.ts @@ -24,6 +24,8 @@ const versions = [ '4.6', '4.7', '4.8', + '4.9', + '5.0', ] as const; type Versions = typeof versions extends ArrayLike ? U : never; diff --git a/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap index 45d71e343243..16ece4e44606 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap @@ -2,11 +2,14 @@ exports[`convert deeplyCopy should convert array of nodes 1`] = ` { + "ambientModuleNames": undefined, "amdDependencies": [], "bindDiagnostics": [], "bindSuggestionDiagnostics": undefined, "checkJsDirective": undefined, + "classifiableNames": undefined, "commentDirectives": undefined, + "endFlowNode": undefined, "endOfFileToken": { "loc": { "end": { @@ -32,6 +35,8 @@ exports[`convert deeplyCopy should convert array of nodes 1`] = ` "foo" => "foo", "T" => "T", }, + "impliedNodeFormat": undefined, + "imports": undefined, "isDeclarationFile": false, "languageVariant": 1, "languageVersion": 99, @@ -49,14 +54,21 @@ exports[`convert deeplyCopy should convert array of nodes 1`] = ` "line": 1, }, }, + "moduleAugmentations": undefined, "nodeCount": 8, + "originalFileName": "", + "packageJsonLocations": undefined, + "packageJsonScope": undefined, "parseDiagnostics": [], + "path": "", "pragmas": Map {}, "range": [ 0, 12, ], "referencedFiles": [], + "resolvedModules": undefined, + "resolvedPath": "", "scriptKind": 4, "setExternalModuleIndicator": [Function], "statements": [ @@ -169,6 +181,7 @@ exports[`convert deeplyCopy should convert array of nodes 1`] = ` "type": "ExpressionStatement", }, ], + "symbolCount": 0, "text": "new foo()", "type": "TSSourceFile", "typeReferenceDirectives": [], @@ -191,6 +204,7 @@ exports[`convert deeplyCopy should convert node correctly 1`] = ` }, "name": { "escapedText": "foo", + "flowNode": undefined, "loc": { "end": { "column": 8, @@ -201,7 +215,6 @@ exports[`convert deeplyCopy should convert node correctly 1`] = ` "line": 1, }, }, - "originalKeywordKind": undefined, "range": [ 5, 8, diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap index 085bedfe4f56..bb7cc284704c 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap @@ -1352,7 +1352,14 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/class-decorators/fixtures/class-decorator-factory/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/class-decorators/fixtures/class-parameter-property/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/class-decorators/fixtures/class-parameter-property/fixture 1`] = ` +TSError { + "column": 14, + "index": 97, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/class-decorators/fixtures/export-default-class-decorator/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; @@ -1797,21 +1804,77 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/namespaces-and-modules/fixtures/shorthand-ambient-module-declaration/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/_error_/parameter-array-pattern-decorator/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/_error_/parameter-array-pattern-decorator/fixture 1`] = ` +TSError { + "column": 6, + "index": 91, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/_error_/parameter-rest-element-decorator/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/_error_/parameter-rest-element-decorator/fixture 1`] = ` +TSError { + "column": 6, + "index": 91, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-constructor/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-constructor/fixture 1`] = ` +TSError { + "column": 14, + "index": 103, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-decorator-instance-member/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-decorator-instance-member/fixture 1`] = ` +TSError { + "column": 6, + "index": 91, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-decorator-static-member/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-decorator-static-member/fixture 1`] = ` +TSError { + "column": 13, + "index": 104, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-instance-member/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-instance-member/fixture 1`] = ` +TSError { + "column": 8, + "index": 97, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-static-member/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-decorator-static-member/fixture 1`] = ` +TSError { + "column": 15, + "index": 110, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; -exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-object-pattern-decorator/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/parameter-decorators/fixtures/parameter-object-pattern-decorator/fixture 1`] = ` +TSError { + "column": 6, + "index": 91, + "lineNumber": 4, + "message": "Decorators are not valid here.", +} +`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/legacy-fixtures/property-decorators/fixtures/property-decorator-factory-instance-member/fixture 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; diff --git a/packages/typescript-estree/tests/lib/convert.test.ts b/packages/typescript-estree/tests/lib/convert.test.ts index fb3ac3f63139..7b5cf272252f 100644 --- a/packages/typescript-estree/tests/lib/convert.test.ts +++ b/packages/typescript-estree/tests/lib/convert.test.ts @@ -21,6 +21,7 @@ describe('convert', () => { function fakeUnknownKind(node: ts.Node): void { ts.forEachChild(node, fakeUnknownKind); // @ts-expect-error -- intentionally writing to a readonly field + // eslint-disable-next-line deprecation/deprecation node.kind = ts.SyntaxKind.UnparsedPrologue; } diff --git a/packages/website/src/components/editor/LoadedEditor.tsx b/packages/website/src/components/editor/LoadedEditor.tsx index 48ea1c591776..c8a734c78efc 100644 --- a/packages/website/src/components/editor/LoadedEditor.tsx +++ b/packages/website/src/components/editor/LoadedEditor.tsx @@ -113,6 +113,7 @@ export const LoadedEditor: React.FC = ({ jsx, parseTSConfig(tsconfig).compilerOptions, ); + // @ts-expect-error Monaco typescript.CompilerOptions is incompatible with typescript 5.0 types webLinter.updateCompilerOptions(config); sandboxInstance.setCompilerSettings(config); }, [jsx, sandboxInstance, tsconfig, webLinter]); diff --git a/packages/website/src/components/editor/config.ts b/packages/website/src/components/editor/config.ts index 2428a5502699..39cb1db3cd9b 100644 --- a/packages/website/src/components/editor/config.ts +++ b/packages/website/src/components/editor/config.ts @@ -28,6 +28,7 @@ export function createCompilerOptions( const options = config.options as Monaco.languages.typescript.CompilerOptions; if (!options.lib) { + // @ts-expect-error Monaco typescript.CompilerOptions is incompatible with typescript 5.0 types options.lib = [window.ts.getDefaultLibFileName(options)]; } diff --git a/packages/website/src/components/editor/useSandboxServices.ts b/packages/website/src/components/editor/useSandboxServices.ts index a6f4cbb7dfff..01fb9e76608d 100644 --- a/packages/website/src/components/editor/useSandboxServices.ts +++ b/packages/website/src/components/editor/useSandboxServices.ts @@ -109,6 +109,7 @@ export const useSandboxServices = ( const system = sandboxInstance.tsvfs.createSystem(libEntries); + // @ts-expect-error Monaco typescript.CompilerOptions is incompatible with typescript 5.0 types const webLinter = new WebLinter(system, compilerOptions, lintUtils); onLoaded( diff --git a/patches/typescript+4.9.3.patch b/patches/typescript+5.0.1-rc.patch similarity index 72% rename from patches/typescript+4.9.3.patch rename to patches/typescript+5.0.1-rc.patch index 520a9fde9363..3630b2660994 100644 --- a/patches/typescript+4.9.3.patch +++ b/patches/typescript+5.0.1-rc.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/typescript/lib/typescript.d.ts b/node_modules/typescript/lib/typescript.d.ts -index 54e4c65..aa00912 100644 +index 2201712..6e04c82 100644 --- a/node_modules/typescript/lib/typescript.d.ts +++ b/node_modules/typescript/lib/typescript.d.ts -@@ -428,8 +428,8 @@ declare namespace ts { +@@ -368,8 +368,8 @@ declare namespace ts { JSDocFunctionType = 320, JSDocVariadicType = 321, JSDocNamepathType = 322, @@ -12,23 +12,23 @@ index 54e4c65..aa00912 100644 JSDocComment = 323, JSDocText = 324, JSDocTypeLiteral = 325, -@@ -4395,7 +4395,13 @@ declare namespace ts { +@@ -4517,7 +4517,13 @@ declare namespace ts { function symbolName(symbol: Symbol): string; function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined; function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined; + /** -+ * @deprecated don't use this directly as it does not exist pre-4.8; instead use getModifiers from `@typescript-eslint/type-utils`. ++ * @deprecated don't use this directly as it does not exist pre-4.8; instead use getDecorators from `@typescript-eslint/type-utils`. + */ function getDecorators(node: HasDecorators): readonly Decorator[] | undefined; + /** -+ * @deprecated don't use this directly as it does not exist pre-4.8; instead use getDecorators from `@typescript-eslint/type-utils`. ++ * @deprecated don't use this directly as it does not exist pre-4.8; instead use getModifiers from `@typescript-eslint/type-utils`. + */ function getModifiers(node: HasModifiers): readonly Modifier[] | undefined; /** * Gets the JSDoc parameter tags for the node if present. -@@ -4857,7 +4863,13 @@ declare namespace ts { - } - declare namespace ts { +@@ -5022,7 +5028,13 @@ declare namespace ts { + function isModuleName(node: Node): node is ModuleName; + function isBinaryOperatorToken(node: Node): node is BinaryOperatorToken; function setTextRange(range: T, location: TextRange | undefined): T; + /** + * @deprecated don't use this directly as it does not exist pre-4.8; instead use getModifiers from `@typescript-eslint/type-utils`. @@ -38,14 +38,5 @@ index 54e4c65..aa00912 100644 + * @deprecated don't use this directly as it does not exist pre-4.8; instead use getDecorators from `@typescript-eslint/type-utils`. + */ function canHaveDecorators(node: Node): node is HasDecorators; - } - declare namespace ts { -@@ -7958,7 +7970,7 @@ declare namespace ts { - * const decorators = ts.canHaveDecorators(node) ? ts.getDecorators(node) : undefined; - * ``` - */ -- readonly decorators?: undefined; -+ readonly decorators?: NodeArray | undefined; - /** - * @deprecated `modifiers` has been removed from `Node` and moved to the `Node` subtypes that support them. - * Use `ts.canHaveModifiers()` to test whether a `Node` can have modifiers. + /** + * Invokes a callback for each child of the given node. The 'cbNode' callback is invoked for all child nodes diff --git a/yarn.lock b/yarn.lock index 31a9e6628397..5706bfa56324 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2404,29 +2404,29 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== -"@microsoft/api-extractor-model@7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.24.3.tgz#406b0447a47eb185e0da4df865bdb0b939d57325" - integrity sha512-JElpLULqYDXQb0YIKKQhOJaNWBXsYeYu5J51Z4O6RGbOq7Tby9ViVfpDuXVXa87AMOSR5WKuaxG/5SnQVVNxiw== +"@microsoft/api-extractor-model@7.26.4": + version "7.26.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.26.4.tgz#77f2c17140249b846a61eea41e565289cc77181f" + integrity sha512-PDCgCzXDo+SLY5bsfl4bS7hxaeEtnXj7XtuzEE+BtALp7B5mK/NrS2kHWU69pohgsRmEALycQdaQPXoyT2i5MQ== dependencies: - "@microsoft/tsdoc" "0.14.1" + "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.0" + "@rushstack/node-core-library" "3.55.2" -"@microsoft/api-extractor@^7.23.2": - version "7.32.0" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.32.0.tgz#b3c82a20873aeab21be59ce7113ef377c78baab1" - integrity sha512-BfvPpeVzWLFTdairVItzWQGsZr82fR4RH+8Q4I7t0f9xq66v4Qz9K+u25jbL5R42X01b/vvJMuRhX5KhU8J1Ug== +"@microsoft/api-extractor@^7.34.4": + version "7.34.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.34.4.tgz#80677b5059b437bc07e9e55832c0cbde671c16a1" + integrity sha512-HOdcci2nT40ejhwPC3Xja9G+WSJmWhCUKKryRfQYsmE9cD+pxmBaKBKCbuS9jUcl6bLLb4Gz+h7xEN5r0QiXnQ== dependencies: - "@microsoft/api-extractor-model" "7.24.3" - "@microsoft/tsdoc" "0.14.1" + "@microsoft/api-extractor-model" "7.26.4" + "@microsoft/tsdoc" "0.14.2" "@microsoft/tsdoc-config" "~0.16.1" - "@rushstack/node-core-library" "3.53.0" - "@rushstack/rig-package" "0.3.16" - "@rushstack/ts-command-line" "4.12.4" + "@rushstack/node-core-library" "3.55.2" + "@rushstack/rig-package" "0.3.18" + "@rushstack/ts-command-line" "4.13.2" colors "~1.2.1" lodash "~4.17.15" - resolve "~1.17.0" + resolve "~1.22.1" semver "~7.3.0" source-map "~0.6.1" typescript "~4.8.4" @@ -2446,6 +2446,11 @@ resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== +"@microsoft/tsdoc@0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" + integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -3062,32 +3067,31 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rushstack/node-core-library@3.53.0": - version "3.53.0" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.53.0.tgz#b4b812bc2e207e4fd3939991f8675335dab50978" - integrity sha512-FXk3eDtTHKnaUq+fLyNY867ioRhMa6CJDJO5hZ3wuGlxm184nckAFiU+hx027AodjpnqjX6pYF0zZGq7k7P/vg== +"@rushstack/node-core-library@3.55.2": + version "3.55.2" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.55.2.tgz#d951470bac98171de13a8a351d4537c63fbfd0b6" + integrity sha512-SaLe/x/Q/uBVdNFK5V1xXvsVps0y7h1sN7aSJllQyFbugyOaxhNRF25bwEDnicARNEjJw0pk0lYnJQ9Kr6ev0A== dependencies: - "@types/node" "12.20.24" colors "~1.2.1" fs-extra "~7.0.1" import-lazy "~4.0.0" jju "~1.4.0" - resolve "~1.17.0" + resolve "~1.22.1" semver "~7.3.0" z-schema "~5.0.2" -"@rushstack/rig-package@0.3.16": - version "0.3.16" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.16.tgz#522279411059e05aeec0930d4ff86b707c720cfc" - integrity sha512-FoSQng2RtapEUe+CBPKxbpZUhUht5s2+mMiztRH95qqp81dsUpfEWojtV6XrUVyWIRk2/cY1CDZUKJWxMrT26Q== +"@rushstack/rig-package@0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.18.tgz#2b59eb8ed482e8cd6ad8d396414bf3200efdd682" + integrity sha512-SGEwNTwNq9bI3pkdd01yCaH+gAsHqs0uxfGvtw9b0LJXH52qooWXnrFTRRLG1aL9pf+M2CARdrA9HLHJys3jiQ== dependencies: - resolve "~1.17.0" + resolve "~1.22.1" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.12.4": - version "4.12.4" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.4.tgz#e4bedd4890bca415f90fec8f33c51404c4039410" - integrity sha512-ckZHEfPiJCmBdWd/syve5zu2TNsPIqbFie3jWzM/izZa6ZOkDwex/K1ww+kJ12hFBnN44lMD7voJvKXajUCEDA== +"@rushstack/ts-command-line@4.13.2": + version "4.13.2" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.2.tgz#2dfdcf418d58256671433b1da4a3b67e1814cc7a" + integrity sha512-bCU8qoL9HyWiciltfzg7GqdfODUeda/JpI0602kbN5YH22rzTxyqYvv7aRLENCM7XCQ1VRs7nMkEqgJUOU8Sag== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3632,7 +3636,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@12.20.24", "@types/node@^17.0.5", "@types/node@^18.11.9": +"@types/node@*", "@types/node@^17.0.5", "@types/node@^18.11.9": version "18.11.9" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== @@ -6143,10 +6147,10 @@ dotenv@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== -downlevel-dts@>=0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/downlevel-dts/-/downlevel-dts-0.10.0.tgz#d2be7b4408a1f9eb3a39e15a361f8ea4f175facc" - integrity sha512-AZ7tnUy4XJArsjv6Bcuivvxx+weMvOGHF6seu7e7PVOqMDHMSlfgMl1kt+F4Y2+5TmDwKWHOdimM1DZKihQs8Q== +downlevel-dts@>=0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/downlevel-dts/-/downlevel-dts-0.11.0.tgz#514a2d723009c5845730c1db6c994484c596ed9c" + integrity sha512-vo835pntK7kzYStk7xUHDifiYJvXxVhUapt85uk2AI94gUUAQX9HNRtrcMHNSc3YHJUEHGbYIGsM99uIbgAtxw== dependencies: semver "^7.3.2" shelljs "^0.8.3" @@ -12111,7 +12115,7 @@ resolve.exports@1.1.0, resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.3.2, resolve@~1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -12128,13 +12132,6 @@ resolve@^2.0.0-next.3: is-core-module "^2.2.0" path-parse "^1.0.6" -resolve@~1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - resolve@~1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" @@ -13461,10 +13458,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@*, "typescript@>=3.3.1 <5.0.0", "typescript@^3 || ^4", typescript@next, typescript@~4.8.4, typescript@~4.9.3: - version "4.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" - integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== +typescript@*, "typescript@>=3.3.1 <4.9.5 || 5.0.1-rc", "typescript@^3 || ^4", typescript@next, typescript@~4.8.4, typescript@~5.0.1-rc: + version "5.0.1-rc" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.1-rc.tgz#f2ccabbdb9646b43b5e006dc6f7b0eaf9a222c8b" + integrity sha512-zh75jY8gPo/y7fpmlTVN2bb2MigoLx4hGk+Cla9pY6lgSTvzJrmQQrRt5S80VTsEt6biWPZJgLK2nm6f0Ya+mA== ua-parser-js@^0.7.30: version "0.7.31"