From 6fe783c20aebe26ef42b526e4a59a9be84dd5643 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Tue, 17 May 2022 05:09:29 +0900 Subject: [PATCH] feat: update to TypeScript 4.7-rc (#4829) --- package.json | 4 +- .../rules/no-unnecessary-type-arguments.ts | 3 +- .../scope-manager/src/lib/dom.iterable.ts | 4 ++ packages/scope-manager/src/lib/dom.ts | 48 +++++++++++++++++-- .../scope-manager/src/lib/es2020.bigint.ts | 2 + packages/scope-manager/src/lib/es2020.date.ts | 13 +++++ .../scope-manager/src/lib/es2020.number.ts | 13 +++++ packages/scope-manager/src/lib/es2020.ts | 4 ++ .../scope-manager/src/lib/es2022.object.ts | 2 +- .../scope-manager/src/lib/esnext.bigint.ts | 2 + packages/scope-manager/src/lib/index.ts | 4 ++ packages/scope-manager/src/lib/webworker.ts | 14 +++++- packages/types/src/lib.ts | 2 + packages/typescript-estree/src/parser.ts | 4 +- .../src/ts-estree/estree-to-ts-node-types.ts | 3 +- .../lib/__snapshots__/convert.test.ts.snap | 3 +- packages/utils/src/ast-utils/helpers.ts | 8 +--- .../utils/src/eslint-utils/applyDefault.ts | 4 +- yarn.lock | 8 ++-- 19 files changed, 121 insertions(+), 24 deletions(-) create mode 100644 packages/scope-manager/src/lib/es2020.date.ts create mode 100644 packages/scope-manager/src/lib/es2020.number.ts diff --git a/package.json b/package.json index 2f2454b96d2..4a575479313 100644 --- a/package.json +++ b/package.json @@ -112,10 +112,10 @@ "tmp": "^0.2.1", "ts-node": "^10.7.0", "tslint": "^6.1.3", - "typescript": ">=3.3.1 <4.7.0" + "typescript": ">=3.3.1 <4.6.0 || 4.7.1-rc" }, "resolutions": { - "typescript": "4.6.4", + "typescript": "4.7.1-rc", "@types/node": "^17.0.31", "pretty-format": "^28.1.0", "//": "Pin jest to v28 across the repo", diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts b/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts index 892305d3191..24ac41558ad 100644 --- a/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts +++ b/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts @@ -12,7 +12,8 @@ type ParameterCapableTSNode = | ts.TypeReferenceNode | ts.ExpressionWithTypeArguments | ts.JsxOpeningElement - | ts.JsxSelfClosingElement; + | ts.JsxSelfClosingElement + | ts.TypeQueryNode; type MessageIds = 'unnecessaryTypeParameter'; diff --git a/packages/scope-manager/src/lib/dom.iterable.ts b/packages/scope-manager/src/lib/dom.iterable.ts index c0bddff75dd..094303434e3 100644 --- a/packages/scope-manager/src/lib/dom.iterable.ts +++ b/packages/scope-manager/src/lib/dom.iterable.ts @@ -18,6 +18,7 @@ export const dom_iterable = { DOMStringList: TYPE, DOMTokenList: TYPE, DataTransferItemList: TYPE, + EventCounts: TYPE, FileList: TYPE, FontFaceSet: TYPE, FormData: TYPE, @@ -29,6 +30,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 8f4910d08f1..e862fbc92d4 100644 --- a/packages/scope-manager/src/lib/dom.ts +++ b/packages/scope-manager/src/lib/dom.ts @@ -127,6 +127,9 @@ export const dom = { LockInfo: TYPE, LockManagerSnapshot: TYPE, LockOptions: TYPE, + MIDIConnectionEventInit: TYPE, + MIDIMessageEventInit: TYPE, + MIDIOptions: TYPE, MediaCapabilitiesDecodingInfo: TYPE, MediaCapabilitiesEncodingInfo: TYPE, MediaCapabilitiesInfo: TYPE, @@ -157,6 +160,7 @@ export const dom = { MouseEventInit: TYPE, MultiCacheQueryOptions: TYPE, MutationObserverInit: TYPE, + NavigationPreloadState: TYPE, NotificationAction: TYPE, NotificationOptions: TYPE, OfflineAudioCompletionEventInit: TYPE, @@ -206,6 +210,10 @@ export const dom = { RTCDataChannelEventInit: TYPE, RTCDataChannelInit: TYPE, RTCDtlsFingerprint: TYPE, + RTCEncodedAudioFrameMetadata: TYPE, + RTCEncodedVideoFrameMetadata: TYPE, + RTCErrorEventInit: TYPE, + RTCErrorInit: TYPE, RTCIceCandidateInit: TYPE, RTCIceCandidatePairStats: TYPE, RTCIceServer: TYPE, @@ -280,7 +288,9 @@ export const dom = { ULongRange: TYPE, UnderlyingSink: TYPE, UnderlyingSource: TYPE, + VideoColorSpaceInit: TYPE, VideoConfiguration: TYPE, + VideoFrameMetadata: TYPE, WaveShaperOptions: TYPE, WebGLContextAttributes: TYPE, WebGLContextEventInit: TYPE, @@ -449,6 +459,7 @@ export const dom = { ElementInternals: TYPE_VALUE, ErrorEvent: TYPE_VALUE, Event: TYPE_VALUE, + EventCounts: TYPE_VALUE, EventListener: TYPE, EventListenerObject: TYPE, EventSourceEventMap: TYPE, @@ -504,7 +515,7 @@ export const dom = { HTMLDataElement: TYPE_VALUE, HTMLDataListElement: TYPE_VALUE, HTMLDetailsElement: TYPE_VALUE, - HTMLDialogElement: TYPE, + HTMLDialogElement: TYPE_VALUE, HTMLDirectoryElement: TYPE_VALUE, HTMLDivElement: TYPE_VALUE, HTMLDocument: TYPE_VALUE, @@ -609,6 +620,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, @@ -653,6 +675,7 @@ export const dom = { MutationObserver: TYPE_VALUE, MutationRecord: TYPE_VALUE, NamedNodeMap: TYPE_VALUE, + NavigationPreloadManager: TYPE_VALUE, Navigator: TYPE_VALUE, NavigatorAutomationInformation: TYPE, NavigatorConcurrentHardware: TYPE, @@ -660,6 +683,7 @@ export const dom = { NavigatorCookies: TYPE, NavigatorID: TYPE, NavigatorLanguage: TYPE, + NavigatorLocks: TYPE, NavigatorNetworkInformation: TYPE, NavigatorOnLine: TYPE, NavigatorPlugins: TYPE, @@ -736,7 +760,12 @@ export const dom = { RTCDataChannelEvent: TYPE_VALUE, RTCDtlsTransportEventMap: TYPE, RTCDtlsTransport: TYPE_VALUE, + RTCEncodedAudioFrame: TYPE_VALUE, + RTCEncodedVideoFrame: TYPE_VALUE, + RTCError: TYPE_VALUE, + RTCErrorEvent: TYPE_VALUE, RTCIceCandidate: TYPE_VALUE, + RTCIceTransportEventMap: TYPE, RTCIceTransport: TYPE_VALUE, RTCPeerConnectionEventMap: TYPE, RTCPeerConnection: TYPE_VALUE, @@ -745,6 +774,8 @@ export const dom = { RTCRtpReceiver: TYPE_VALUE, RTCRtpSender: TYPE_VALUE, RTCRtpTransceiver: TYPE_VALUE, + RTCSctpTransportEventMap: TYPE, + RTCSctpTransport: TYPE_VALUE, RTCSessionDescription: TYPE_VALUE, RTCStatsReport: TYPE_VALUE, RTCTrackEvent: TYPE_VALUE, @@ -934,6 +965,7 @@ export const dom = { VTTCue: TYPE_VALUE, VTTRegion: TYPE_VALUE, ValidityState: TYPE_VALUE, + VideoColorSpace: TYPE_VALUE, VideoPlaybackQuality: TYPE_VALUE, VisualViewportEventMap: TYPE, VisualViewport: TYPE_VALUE, @@ -941,7 +973,6 @@ export const dom = { WEBGL_compressed_texture_astc: TYPE, WEBGL_compressed_texture_etc: TYPE, WEBGL_compressed_texture_etc1: TYPE, - WEBGL_compressed_texture_pvrtc: TYPE, WEBGL_compressed_texture_s3tc: TYPE, WEBGL_compressed_texture_s3tc_srgb: TYPE, WEBGL_debug_renderer_info: TYPE, @@ -1040,6 +1071,7 @@ export const dom = { UnderlyingSourceCancelCallback: TYPE, UnderlyingSourcePullCallback: TYPE, UnderlyingSourceStartCallback: TYPE, + VideoFrameRequestCallback: TYPE, VoidFunction: TYPE, HTMLElementTagNameMap: TYPE, HTMLElementDeprecatedTagNameMap: TYPE, @@ -1055,7 +1087,6 @@ export const dom = { CSSNumberish: TYPE, CanvasImageSource: TYPE, ClipboardItemData: TYPE, - ClipboardItemDataType: TYPE, ClipboardItems: TYPE, ConstrainBoolean: TYPE, ConstrainDOMString: TYPE, @@ -1170,6 +1201,9 @@ export const dom = { KeyUsage: TYPE, LineAlignSetting: TYPE, LockMode: TYPE, + MIDIPortConnectionState: TYPE, + MIDIPortDeviceState: TYPE, + MIDIPortType: TYPE, MediaDecodingType: TYPE, MediaDeviceKind: TYPE, MediaEncodingType: TYPE, @@ -1181,7 +1215,7 @@ export const dom = { MediaSessionAction: TYPE, MediaSessionPlaybackState: TYPE, MediaStreamTrackState: TYPE, - NavigationType: TYPE, + NavigationTimingType: TYPE, NotificationDirection: TYPE, NotificationPermission: TYPE, OrientationLockType: TYPE, @@ -1203,6 +1237,8 @@ export const dom = { RTCDataChannelState: TYPE, RTCDegradationPreference: TYPE, RTCDtlsTransportState: TYPE, + RTCEncodedVideoFrameType: TYPE, + RTCErrorDetailType: TYPE, RTCIceCandidateType: TYPE, RTCIceComponent: TYPE, RTCIceConnectionState: TYPE, @@ -1217,6 +1253,7 @@ export const dom = { RTCPriorityType: TYPE, RTCRtcpMuxPolicy: TYPE, RTCRtpTransceiverDirection: TYPE, + RTCSctpTransportState: TYPE, RTCSdpType: TYPE, RTCSignalingState: TYPE, RTCStatsIceCandidatePairState: TYPE, @@ -1250,7 +1287,10 @@ export const dom = { TouchType: TYPE, TransferFunction: TYPE, UserVerificationRequirement: TYPE, + VideoColorPrimaries: TYPE, VideoFacingModeEnum: TYPE, + VideoMatrixCoefficients: TYPE, + VideoTransferCharacteristics: TYPE, WebGLPowerPreference: TYPE, WorkerType: TYPE, XMLHttpRequestResponseType: TYPE, diff --git a/packages/scope-manager/src/lib/es2020.bigint.ts b/packages/scope-manager/src/lib/es2020.bigint.ts index b9a36a904b9..3444dc701a2 100644 --- a/packages/scope-manager/src/lib/es2020.bigint.ts +++ b/packages/scope-manager/src/lib/es2020.bigint.ts @@ -4,9 +4,11 @@ // npx nx generate-lib @typescript-eslint/scope-manager import { ImplicitLibVariableOptions } from '../variable'; +import { es2020_intl } from './es2020.intl'; import { TYPE, TYPE_VALUE } from './base-config'; export const es2020_bigint = { + ...es2020_intl, BigIntToLocaleStringOptions: TYPE, BigInt: TYPE_VALUE, BigIntConstructor: TYPE, diff --git a/packages/scope-manager/src/lib/es2020.date.ts b/packages/scope-manager/src/lib/es2020.date.ts new file mode 100644 index 00000000000..1a5ed0d23f3 --- /dev/null +++ b/packages/scope-manager/src/lib/es2020.date.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 { ImplicitLibVariableOptions } from '../variable'; +import { es2020_intl } from './es2020.intl'; +import { TYPE } from './base-config'; + +export const es2020_date = { + ...es2020_intl, + Date: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/es2020.number.ts b/packages/scope-manager/src/lib/es2020.number.ts new file mode 100644 index 00000000000..04ba01bc4bf --- /dev/null +++ b/packages/scope-manager/src/lib/es2020.number.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 { ImplicitLibVariableOptions } from '../variable'; +import { es2020_intl } from './es2020.intl'; +import { TYPE } from './base-config'; + +export const es2020_number = { + ...es2020_intl, + Number: TYPE, +} as Record; diff --git a/packages/scope-manager/src/lib/es2020.ts b/packages/scope-manager/src/lib/es2020.ts index 5870ed38981..3a89464f456 100644 --- a/packages/scope-manager/src/lib/es2020.ts +++ b/packages/scope-manager/src/lib/es2020.ts @@ -6,6 +6,8 @@ import { ImplicitLibVariableOptions } from '../variable'; import { es2019 } from './es2019'; import { es2020_bigint } from './es2020.bigint'; +import { es2020_date } from './es2020.date'; +import { es2020_number } from './es2020.number'; import { es2020_promise } from './es2020.promise'; import { es2020_sharedmemory } from './es2020.sharedmemory'; import { es2020_string } from './es2020.string'; @@ -15,6 +17,8 @@ import { es2020_intl } from './es2020.intl'; export const es2020 = { ...es2019, ...es2020_bigint, + ...es2020_date, + ...es2020_number, ...es2020_promise, ...es2020_sharedmemory, ...es2020_string, diff --git a/packages/scope-manager/src/lib/es2022.object.ts b/packages/scope-manager/src/lib/es2022.object.ts index 085508ad391..650a01c3835 100644 --- a/packages/scope-manager/src/lib/es2022.object.ts +++ b/packages/scope-manager/src/lib/es2022.object.ts @@ -7,5 +7,5 @@ import { ImplicitLibVariableOptions } from '../variable'; import { TYPE } from './base-config'; export const es2022_object = { - Object: TYPE, + ObjectConstructor: TYPE, } as Record; diff --git a/packages/scope-manager/src/lib/esnext.bigint.ts b/packages/scope-manager/src/lib/esnext.bigint.ts index 1b8afa30f38..079bc59bf87 100644 --- a/packages/scope-manager/src/lib/esnext.bigint.ts +++ b/packages/scope-manager/src/lib/esnext.bigint.ts @@ -4,9 +4,11 @@ // npx nx generate-lib @typescript-eslint/scope-manager import { ImplicitLibVariableOptions } from '../variable'; +import { es2020_intl } from './es2020.intl'; import { TYPE, TYPE_VALUE } from './base-config'; export const esnext_bigint = { + ...es2020_intl, BigIntToLocaleStringOptions: TYPE, BigInt: TYPE_VALUE, BigIntConstructor: TYPE, diff --git a/packages/scope-manager/src/lib/index.ts b/packages/scope-manager/src/lib/index.ts index 96a840e477c..ab0328f7cf0 100644 --- a/packages/scope-manager/src/lib/index.ts +++ b/packages/scope-manager/src/lib/index.ts @@ -46,11 +46,13 @@ import { es2019_object } from './es2019.object'; import { es2019_string } from './es2019.string'; import { es2019_symbol } from './es2019.symbol'; import { es2020_bigint } from './es2020.bigint'; +import { es2020_date } from './es2020.date'; import { es2020_promise } from './es2020.promise'; import { es2020_sharedmemory } from './es2020.sharedmemory'; import { es2020_string } from './es2020.string'; import { es2020_symbol_wellknown } from './es2020.symbol.wellknown'; import { es2020_intl } from './es2020.intl'; +import { es2020_number } from './es2020.number'; import { es2021_promise } from './es2021.promise'; import { es2021_string } from './es2021.string'; import { es2021_weakref } from './es2021.weakref'; @@ -121,11 +123,13 @@ const lib = { 'es2019.string': es2019_string, 'es2019.symbol': es2019_symbol, 'es2020.bigint': es2020_bigint, + 'es2020.date': es2020_date, 'es2020.promise': es2020_promise, 'es2020.sharedmemory': es2020_sharedmemory, 'es2020.string': es2020_string, 'es2020.symbol.wellknown': es2020_symbol_wellknown, 'es2020.intl': es2020_intl, + 'es2020.number': es2020_number, 'es2021.promise': es2021_promise, 'es2021.string': es2021_string, 'es2021.weakref': es2021_weakref, diff --git a/packages/scope-manager/src/lib/webworker.ts b/packages/scope-manager/src/lib/webworker.ts index d6c158ff9a0..55e4f2b58c5 100644 --- a/packages/scope-manager/src/lib/webworker.ts +++ b/packages/scope-manager/src/lib/webworker.ts @@ -69,6 +69,7 @@ export const webworker = { MediaEncodingConfiguration: TYPE, MessageEventInit: TYPE, MultiCacheQueryOptions: TYPE, + NavigationPreloadState: TYPE, NotificationAction: TYPE, NotificationEventInit: TYPE, NotificationOptions: TYPE, @@ -84,6 +85,8 @@ export const webworker = { PushSubscriptionOptionsInit: TYPE, QueuingStrategy: TYPE, QueuingStrategyInit: TYPE, + RTCEncodedAudioFrameMetadata: TYPE, + RTCEncodedVideoFrameMetadata: TYPE, ReadableStreamDefaultReadDoneResult: TYPE, ReadableStreamDefaultReadValueResult: TYPE, ReadableWritablePair: TYPE, @@ -106,6 +109,7 @@ export const webworker = { Transformer: TYPE, UnderlyingSink: TYPE, UnderlyingSource: TYPE, + VideoColorSpaceInit: TYPE, VideoConfiguration: TYPE, WebGLContextAttributes: TYPE, WebGLContextEventInit: TYPE, @@ -206,9 +210,11 @@ export const webworker = { MessageEvent: TYPE_VALUE, MessagePortEventMap: TYPE, MessagePort: TYPE_VALUE, + NavigationPreloadManager: TYPE_VALUE, NavigatorConcurrentHardware: TYPE, NavigatorID: TYPE, NavigatorLanguage: TYPE, + NavigatorLocks: TYPE, NavigatorNetworkInformation: TYPE, NavigatorOnLine: TYPE, NavigatorStorage: TYPE, @@ -246,6 +252,8 @@ export const webworker = { PushMessageData: TYPE_VALUE, PushSubscription: TYPE_VALUE, PushSubscriptionOptions: TYPE_VALUE, + RTCEncodedAudioFrame: TYPE_VALUE, + RTCEncodedVideoFrame: TYPE_VALUE, ReadableStream: TYPE_VALUE, ReadableStreamDefaultController: TYPE_VALUE, ReadableStreamDefaultReader: TYPE_VALUE, @@ -276,11 +284,11 @@ export const webworker = { TransformStreamDefaultController: TYPE_VALUE, URL: TYPE_VALUE, URLSearchParams: TYPE_VALUE, + VideoColorSpace: TYPE_VALUE, WEBGL_color_buffer_float: TYPE, WEBGL_compressed_texture_astc: TYPE, WEBGL_compressed_texture_etc: TYPE, WEBGL_compressed_texture_etc1: TYPE, - WEBGL_compressed_texture_pvrtc: TYPE, WEBGL_compressed_texture_s3tc: TYPE, WEBGL_compressed_texture_s3tc_srgb: TYPE, WEBGL_debug_renderer_info: TYPE, @@ -421,6 +429,7 @@ export const webworker = { PredefinedColorSpace: TYPE, PremultiplyAlpha: TYPE, PushEncryptionKeyName: TYPE, + RTCEncodedVideoFrameType: TYPE, ReferrerPolicy: TYPE, RequestCache: TYPE, RequestCredentials: TYPE, @@ -433,6 +442,9 @@ export const webworker = { ServiceWorkerState: TYPE, ServiceWorkerUpdateViaCache: TYPE, TransferFunction: TYPE, + VideoColorPrimaries: TYPE, + VideoMatrixCoefficients: TYPE, + VideoTransferCharacteristics: TYPE, WebGLPowerPreference: TYPE, WorkerType: TYPE, XMLHttpRequestResponseType: TYPE, diff --git a/packages/types/src/lib.ts b/packages/types/src/lib.ts index 3e362ad33cb..9310996e516 100644 --- a/packages/types/src/lib.ts +++ b/packages/types/src/lib.ts @@ -47,11 +47,13 @@ type Lib = | 'es2019.string' | 'es2019.symbol' | 'es2020.bigint' + | 'es2020.date' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020.intl' + | 'es2020.number' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' diff --git a/packages/typescript-estree/src/parser.ts b/packages/typescript-estree/src/parser.ts index f0e6ce46d3c..a0c952b4db5 100644 --- a/packages/typescript-estree/src/parser.ts +++ b/packages/typescript-estree/src/parser.ts @@ -30,12 +30,12 @@ const log = debug('typescript-eslint:typescript-estree:parser'); * This needs to be kept in sync with the top-level README.md in the * typescript-eslint monorepo */ -const SUPPORTED_TYPESCRIPT_VERSIONS = '>=3.3.1 <4.7.0'; +const SUPPORTED_TYPESCRIPT_VERSIONS = '>=3.3.1 <4.8.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[] = ['4.7.0-beta', '4.7.1-rc']; const ACTIVE_TYPESCRIPT_VERSION = ts.version; const isRunningSupportedTypeScriptVersion = semver.satisfies( ACTIVE_TYPESCRIPT_VERSION, diff --git a/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts b/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts index 9c71608424b..0398d1991c2 100644 --- a/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts +++ b/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts @@ -217,7 +217,8 @@ export interface EstreeToTsNodeTypes { | ts.JsxOpeningElement | ts.JsxSelfClosingElement | ts.NewExpression - | ts.CallExpression; + | ts.CallExpression + | ts.TypeQueryNode; [AST_NODE_TYPES.TSTypePredicate]: ts.TypePredicateNode; [AST_NODE_TYPES.TSTypeQuery]: ts.TypeQueryNode; [AST_NODE_TYPES.TSTypeReference]: ts.TypeReferenceNode; 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 ef7abcee4f4..0ea5f89cdcd 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap @@ -49,7 +49,7 @@ Object { "line": 1, }, }, - "nodeCount": 7, + "nodeCount": 8, "parseDiagnostics": Array [], "pragmas": Map {}, "range": Array [ @@ -58,6 +58,7 @@ Object { ], "referencedFiles": Array [], "scriptKind": 4, + "setExternalModuleIndicator": [Function], "statements": Array [ Object { "expression": Object { diff --git a/packages/utils/src/ast-utils/helpers.ts b/packages/utils/src/ast-utils/helpers.ts index baf4daf6810..fa2b8bb9f5c 100644 --- a/packages/utils/src/ast-utils/helpers.ts +++ b/packages/utils/src/ast-utils/helpers.ts @@ -26,9 +26,7 @@ export const isNodeOfTypeWithConditions = < ): (( node: TSESTree.Node | null | undefined, ) => node is TSESTree.Node & { type: NodeType } & Conditions) => { - const entries = Object.entries(conditions) as ObjectEntries< - TSESTree.Node & { type: NodeType } - >; + const entries = Object.entries(conditions) as ObjectEntries; return ( node: TSESTree.Node | null | undefined, @@ -46,9 +44,7 @@ export const isTokenOfTypeWithConditions = < ): (( token: TSESTree.Token | null | undefined, ) => token is TSESTree.Token & { type: TokenType } & Conditions) => { - const entries = Object.entries(conditions) as ObjectEntries< - TSESTree.Token & { type: TokenType } - >; + const entries = Object.entries(conditions) as ObjectEntries; return ( token: TSESTree.Token | null | undefined, diff --git a/packages/utils/src/eslint-utils/applyDefault.ts b/packages/utils/src/eslint-utils/applyDefault.ts index 6b3282080a8..85cd3b3653b 100644 --- a/packages/utils/src/eslint-utils/applyDefault.ts +++ b/packages/utils/src/eslint-utils/applyDefault.ts @@ -20,7 +20,9 @@ function applyDefault( return options; } - options.forEach((opt, i) => { + // For avoiding the type error + // `This expression is not callable. Type 'unknown' has no call signatures.ts(2349)` + (options as unknown[]).forEach((opt: unknown, i: number) => { if (userOptions[i] !== undefined) { const userOpt = userOptions[i]; diff --git a/yarn.lock b/yarn.lock index e88677c0ef5..be39b2bb047 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14094,10 +14094,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@*, typescript@4.6.4, "typescript@>=3.3.1 <4.7.0", typescript@^4.4.3, typescript@^4.5.3, typescript@^4.5.5, typescript@~4.6.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" - integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== +typescript@*, typescript@4.7.1-rc, "typescript@>=3.3.1 <4.6.0 || 4.7.1-rc", typescript@^4.4.3, typescript@^4.5.3, typescript@^4.5.5, typescript@~4.6.3: + version "4.7.1-rc" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.1-rc.tgz#23a0517d36c56de887b4457f29e2d265647bbd7c" + integrity sha512-EQd2NVelDe6ZVc2sO1CSpuSs+RHzY8c2n/kTNQAHw4um/eAXY+ZY4IKoUpNK0wO6C5hN+XcUXR7yqT8VbwwNIQ== ua-parser-js@^0.7.30: version "0.7.31"