From 1a705eecfec7bef0a9701a4434e52eb07793e536 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 25 Jul 2022 20:00:51 -0400 Subject: [PATCH 1/9] fix!: rename typeParameters to typeArguments where needed --- .../src/expression/CallExpression/spec.ts | 2 +- .../src/expression/NewExpression/spec.ts | 2 +- .../ast-spec/src/type/TSTypeQuery/spec.ts | 2 +- .../ast-spec/src/type/TSTypeReference/spec.ts | 2 +- .../eslint-plugin/src/rules/array-type.ts | 10 ++-- packages/eslint-plugin/src/rules/ban-types.ts | 2 +- .../rules/consistent-generic-constructors.ts | 14 ++--- .../rules/consistent-indexed-object-style.ts | 2 +- .../src/rules/func-call-spacing.ts | 2 +- .../src/rules/no-array-constructor.ts | 2 +- .../src/rules/no-extra-parens.ts | 2 +- .../src/rules/no-invalid-void-type.ts | 4 +- .../eslint-plugin/src/rules/no-type-alias.ts | 2 +- .../src/rules/prefer-reduce-type-parameter.ts | 2 +- .../src/referencer/ClassVisitor.ts | 4 +- .../src/referencer/Referencer.ts | 8 +-- .../src/referencer/TypeVisitor.ts | 2 +- packages/typescript-estree/src/convert.ts | 57 +++++++++++-------- packages/visitor-keys/src/visitor-keys.ts | 8 +-- 19 files changed, 69 insertions(+), 60 deletions(-) diff --git a/packages/ast-spec/src/expression/CallExpression/spec.ts b/packages/ast-spec/src/expression/CallExpression/spec.ts index bd71773a1be..68adc99bfb0 100644 --- a/packages/ast-spec/src/expression/CallExpression/spec.ts +++ b/packages/ast-spec/src/expression/CallExpression/spec.ts @@ -8,6 +8,6 @@ export interface CallExpression extends BaseNode { type: AST_NODE_TYPES.CallExpression; callee: LeftHandSideExpression; arguments: CallExpressionArgument[]; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; optional: boolean; } diff --git a/packages/ast-spec/src/expression/NewExpression/spec.ts b/packages/ast-spec/src/expression/NewExpression/spec.ts index bb75ae3f4b8..42c93108c75 100644 --- a/packages/ast-spec/src/expression/NewExpression/spec.ts +++ b/packages/ast-spec/src/expression/NewExpression/spec.ts @@ -8,5 +8,5 @@ export interface NewExpression extends BaseNode { type: AST_NODE_TYPES.NewExpression; callee: LeftHandSideExpression; arguments: Expression[]; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/type/TSTypeQuery/spec.ts b/packages/ast-spec/src/type/TSTypeQuery/spec.ts index 634c307ad2c..ef46ef0d19a 100644 --- a/packages/ast-spec/src/type/TSTypeQuery/spec.ts +++ b/packages/ast-spec/src/type/TSTypeQuery/spec.ts @@ -6,5 +6,5 @@ import type { EntityName } from '../../unions/EntityName'; export interface TSTypeQuery extends BaseNode { type: AST_NODE_TYPES.TSTypeQuery; exprName: EntityName; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/type/TSTypeReference/spec.ts b/packages/ast-spec/src/type/TSTypeReference/spec.ts index 9d88fe7f6b4..fa99b817fb8 100644 --- a/packages/ast-spec/src/type/TSTypeReference/spec.ts +++ b/packages/ast-spec/src/type/TSTypeReference/spec.ts @@ -5,6 +5,6 @@ import type { EntityName } from '../../unions/EntityName'; export interface TSTypeReference extends BaseNode { type: AST_NODE_TYPES.TSTypeReference; + typeArguments?: TSTypeParameterInstantiation; typeName: EntityName; - typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/eslint-plugin/src/rules/array-type.ts b/packages/eslint-plugin/src/rules/array-type.ts index c84afee195f..54ccef7c2db 100644 --- a/packages/eslint-plugin/src/rules/array-type.ts +++ b/packages/eslint-plugin/src/rules/array-type.ts @@ -30,14 +30,14 @@ function isSimpleType(node: TSESTree.Node): boolean { node.typeName.type === AST_NODE_TYPES.Identifier && node.typeName.name === 'Array' ) { - if (!node.typeParameters) { + if (!node.typeArguments) { return true; } - if (node.typeParameters.params.length === 1) { - return isSimpleType(node.typeParameters.params[0]); + if (node.typeArguments.params.length === 1) { + return isSimpleType(node.typeArguments.params[0]); } } else { - if (node.typeParameters) { + if (node.typeArguments) { return false; } return isSimpleType(node.typeName); @@ -204,7 +204,7 @@ export default util.createRule({ } const readonlyPrefix = isReadonlyArrayType ? 'readonly ' : ''; - const typeParams = node.typeParameters?.params; + const typeParams = node.typeArguments?.params; const messageId = currentOption === 'array' ? 'errorStringArray' diff --git a/packages/eslint-plugin/src/rules/ban-types.ts b/packages/eslint-plugin/src/rules/ban-types.ts index 16b73f2cf5b..e122c1baafe 100644 --- a/packages/eslint-plugin/src/rules/ban-types.ts +++ b/packages/eslint-plugin/src/rules/ban-types.ts @@ -225,7 +225,7 @@ export default util.createRule({ TSTypeReference(node): void { checkBannedTypes(node.typeName); - if (node.typeParameters) { + if (node.typeArguments) { checkBannedTypes(node); } }, diff --git a/packages/eslint-plugin/src/rules/consistent-generic-constructors.ts b/packages/eslint-plugin/src/rules/consistent-generic-constructors.ts index db95efa9a57..98a02ef070f 100644 --- a/packages/eslint-plugin/src/rules/consistent-generic-constructors.ts +++ b/packages/eslint-plugin/src/rules/consistent-generic-constructors.ts @@ -56,10 +56,10 @@ export default createRule({ return; } if (mode === 'type-annotation') { - if (!lhs && rhs.typeParameters) { - const { typeParameters, callee } = rhs; + if (!lhs && rhs.typeArguments) { + const { typeArguments, callee } = rhs; const typeAnnotation = - sourceCode.getText(callee) + sourceCode.getText(typeParameters); + sourceCode.getText(callee) + sourceCode.getText(typeArguments); context.report({ node, messageId: 'preferTypeAnnotation', @@ -78,7 +78,7 @@ export default createRule({ return sourceCode.getTokenAfter(node.key)!; } return [ - fixer.remove(typeParameters), + fixer.remove(typeArguments), fixer.insertTextAfter( getIDToAttachAnnotation(), ': ' + typeAnnotation, @@ -90,14 +90,14 @@ export default createRule({ return; } if (mode === 'constructor') { - if (lhs?.typeParameters && !rhs.typeParameters) { + if (lhs?.typeArguments && !rhs.typeArguments) { const hasParens = sourceCode.getTokenAfter(rhs.callee)?.value === '('; const extraComments = new Set( sourceCode.getCommentsInside(lhs.parent!), ); sourceCode - .getCommentsInside(lhs.typeParameters) + .getCommentsInside(lhs.typeArguments) .forEach(c => extraComments.delete(c)); context.report({ node, @@ -112,7 +112,7 @@ export default createRule({ } yield fixer.insertTextAfter( rhs.callee, - sourceCode.getText(lhs.typeParameters), + sourceCode.getText(lhs.typeArguments), ); if (!hasParens) { yield fixer.insertTextAfter(rhs.callee, '()'); diff --git a/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts b/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts index e4e73d89752..98f9b74b81e 100644 --- a/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts +++ b/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts @@ -106,7 +106,7 @@ export default createRule({ return; } - const params = node.typeParameters?.params; + const params = node.typeArguments?.params; if (params?.length !== 2) { return; } diff --git a/packages/eslint-plugin/src/rules/func-call-spacing.ts b/packages/eslint-plugin/src/rules/func-call-spacing.ts index 3817fe9af41..dca898ff718 100644 --- a/packages/eslint-plugin/src/rules/func-call-spacing.ts +++ b/packages/eslint-plugin/src/rules/func-call-spacing.ts @@ -82,7 +82,7 @@ export default util.createRule({ const closingParenToken = sourceCode.getLastToken(node)!; const lastCalleeTokenWithoutPossibleParens = sourceCode.getLastToken( - node.typeParameters ?? node.callee, + node.typeArguments ?? node.callee, )!; const openingParenToken = sourceCode.getFirstTokenBetween( lastCalleeTokenWithoutPossibleParens, diff --git a/packages/eslint-plugin/src/rules/no-array-constructor.ts b/packages/eslint-plugin/src/rules/no-array-constructor.ts index dfa7656d19b..d87bdbefee0 100644 --- a/packages/eslint-plugin/src/rules/no-array-constructor.ts +++ b/packages/eslint-plugin/src/rules/no-array-constructor.ts @@ -29,7 +29,7 @@ export default util.createRule({ node.arguments.length !== 1 && node.callee.type === AST_NODE_TYPES.Identifier && node.callee.name === 'Array' && - !node.typeParameters && + !node.typeArguments && !util.isOptionalCallExpression(node) ) { context.report({ diff --git a/packages/eslint-plugin/src/rules/no-extra-parens.ts b/packages/eslint-plugin/src/rules/no-extra-parens.ts index 24659aedfe4..8f018b2c4bf 100644 --- a/packages/eslint-plugin/src/rules/no-extra-parens.ts +++ b/packages/eslint-plugin/src/rules/no-extra-parens.ts @@ -78,7 +78,7 @@ export default util.createRule({ if ( node.arguments.length === 1 && - node.typeParameters?.params.some( + node.typeArguments?.params.some( param => param.type === AST_NODE_TYPES.TSImportType, ) ) { diff --git a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts index a6e798217ca..ee20f3eee7e 100644 --- a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts +++ b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts @@ -136,9 +136,9 @@ export default util.createRule<[Options], MessageIds>({ validUnionMembers.includes(member.type) || // allows any T<..., void, ...> here, checked by checkGenericTypeArgument (member.type === AST_NODE_TYPES.TSTypeReference && - member.typeParameters?.type === + member.typeArguments?.type === AST_NODE_TYPES.TSTypeParameterInstantiation && - member.typeParameters?.params + member.typeArguments?.params .map(param => param.type) .includes(AST_NODE_TYPES.TSVoidKeyword)), ); diff --git a/packages/eslint-plugin/src/rules/no-type-alias.ts b/packages/eslint-plugin/src/rules/no-type-alias.ts index ba656ea4124..9c091cd7dde 100644 --- a/packages/eslint-plugin/src/rules/no-type-alias.ts +++ b/packages/eslint-plugin/src/rules/no-type-alias.ts @@ -213,7 +213,7 @@ export default util.createRule({ const isValidGeneric = (type: TypeWithLabel): boolean => { return ( type.node.type === AST_NODE_TYPES.TSTypeReference && - type.node.typeParameters !== undefined + type.node.typeArguments !== undefined ); }; diff --git a/packages/eslint-plugin/src/rules/prefer-reduce-type-parameter.ts b/packages/eslint-plugin/src/rules/prefer-reduce-type-parameter.ts index d4f6501a89d..585e1fdc867 100644 --- a/packages/eslint-plugin/src/rules/prefer-reduce-type-parameter.ts +++ b/packages/eslint-plugin/src/rules/prefer-reduce-type-parameter.ts @@ -85,7 +85,7 @@ export default util.createRule({ ]), ]; - if (!callee.parent.typeParameters) { + if (!callee.parent.typeArguments) { fixes.push( fixer.insertTextAfter( callee, diff --git a/packages/scope-manager/src/referencer/ClassVisitor.ts b/packages/scope-manager/src/referencer/ClassVisitor.ts index 92dab53ca90..7e2dfc17c86 100644 --- a/packages/scope-manager/src/referencer/ClassVisitor.ts +++ b/packages/scope-manager/src/referencer/ClassVisitor.ts @@ -311,8 +311,8 @@ class ClassVisitor extends Visitor { this.#referencer.currentScope().referenceDualValueType(entityName); } - if (node.typeAnnotation.typeParameters) { - this.visitType(node.typeAnnotation.typeParameters); + if (node.typeAnnotation.typeArguments) { + this.visitType(node.typeAnnotation.typeArguments); } // everything is handled now diff --git a/packages/scope-manager/src/referencer/Referencer.ts b/packages/scope-manager/src/referencer/Referencer.ts index 84b0d96a255..52f2dc09681 100644 --- a/packages/scope-manager/src/referencer/Referencer.ts +++ b/packages/scope-manager/src/referencer/Referencer.ts @@ -381,8 +381,8 @@ class Referencer extends Visitor { } protected CallExpression(node: TSESTree.CallExpression): void { - this.visitChildren(node, ['typeParameters']); - this.visitType(node.typeParameters); + this.visitChildren(node, ['typeArguments']); + this.visitType(node.typeArguments); } protected CatchClause(node: TSESTree.CatchClause): void { @@ -557,8 +557,8 @@ class Referencer extends Visitor { } protected NewExpression(node: TSESTree.NewExpression): void { - this.visitChildren(node, ['typeParameters']); - this.visitType(node.typeParameters); + this.visitChildren(node, ['typeArguments']); + this.visitType(node.typeArguments); } protected PrivateIdentifier(): void { diff --git a/packages/scope-manager/src/referencer/TypeVisitor.ts b/packages/scope-manager/src/referencer/TypeVisitor.ts index ca80683538f..9fd00046f8a 100644 --- a/packages/scope-manager/src/referencer/TypeVisitor.ts +++ b/packages/scope-manager/src/referencer/TypeVisitor.ts @@ -272,7 +272,7 @@ class TypeVisitor extends Visitor { this.#referencer.currentScope().referenceValue(entityName); } - this.visit(node.typeParameters); + this.visit(node.typeArguments); } protected TSTypeAnnotation(node: TSESTree.TSTypeAnnotation): void { diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index be09a2b387d..a1bd4489e3b 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -361,7 +361,7 @@ export class Converter { * @param node parent used to create this node * @returns TypeParameterInstantiation node */ - private convertTypeArgumentsToTypeParameters( + private convertTypeArgumentsToTypeParameterInstantiation( typeArguments: ts.NodeArray, node: TSESTreeToTSNode, ): TSESTree.TSTypeParameterInstantiation { @@ -496,9 +496,12 @@ export class Converter { : null; } if ('typeArguments' in node) { - result.typeParameters = + result.typeArguments = node.typeArguments && 'pos' in node.typeArguments - ? this.convertTypeArgumentsToTypeParameters(node.typeArguments, node) + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) : null; } if ('typeParameters' in node) { @@ -1558,7 +1561,7 @@ export class Converter { return this.createNode(node, { type: AST_NODE_TYPES.TaggedTemplateExpression, typeParameters: node.typeArguments - ? this.convertTypeArgumentsToTypeParameters( + ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, ) @@ -1706,7 +1709,7 @@ export class Converter { if (superClass.types[0]?.typeArguments) { result.superTypeParameters = - this.convertTypeArgumentsToTypeParameters( + this.convertTypeArgumentsToTypeParameterInstantiation( superClass.types[0].typeArguments, superClass.types[0], ); @@ -2051,10 +2054,11 @@ export class Converter { }); if (node.typeArguments) { - result.typeParameters = this.convertTypeArgumentsToTypeParameters( - node.typeArguments, - node, - ); + result.typeArguments = + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ); } return this.convertChainExpression(result, node); @@ -2070,10 +2074,11 @@ export class Converter { : [], }); if (node.typeArguments) { - result.typeParameters = this.convertTypeArgumentsToTypeParameters( - node.typeArguments, - node, - ); + result.typeArguments = + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ); } return result; } @@ -2237,7 +2242,7 @@ export class Converter { openingElement: this.createNode(node, { type: AST_NODE_TYPES.JSXOpeningElement, typeParameters: node.typeArguments - ? this.convertTypeArgumentsToTypeParameters( + ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, ) @@ -2258,7 +2263,7 @@ export class Converter { return this.createNode(node, { type: AST_NODE_TYPES.JSXOpeningElement, typeParameters: node.typeArguments - ? this.convertTypeArgumentsToTypeParameters( + ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, ) @@ -2348,8 +2353,8 @@ export class Converter { return this.createNode(node, { type: AST_NODE_TYPES.TSTypeReference, typeName: this.convertType(node.typeName), - typeParameters: node.typeArguments - ? this.convertTypeArgumentsToTypeParameters( + typeArguments: node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, ) @@ -2437,9 +2442,12 @@ export class Converter { return this.createNode(node, { type: AST_NODE_TYPES.TSTypeQuery, exprName: this.convertType(node.exprName), - typeParameters: + typeArguments: node.typeArguments && - this.convertTypeArgumentsToTypeParameters(node.typeArguments, node), + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ), }); } @@ -2619,10 +2627,11 @@ export class Converter { }); if (node.typeArguments) { - result.typeParameters = this.convertTypeArgumentsToTypeParameters( - node.typeArguments, - node, - ); + result.typeParameters = + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ); } return result; } @@ -2711,7 +2720,7 @@ export class Converter { parameter: this.convertChild(node.argument), qualifier: this.convertChild(node.qualifier), typeParameters: node.typeArguments - ? this.convertTypeArgumentsToTypeParameters( + ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, ) diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index 4c3a26d4066..1909c8aa854 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -23,7 +23,7 @@ const additionalKeys: AdditionalKeys = { ArrayPattern: ['decorators', 'elements', 'typeAnnotation'], ArrowFunctionExpression: ['typeParameters', 'params', 'returnType', 'body'], AssignmentPattern: ['decorators', 'left', 'right', 'typeAnnotation'], - CallExpression: ['callee', 'typeParameters', 'arguments'], + CallExpression: ['callee', 'typeArguments', 'arguments'], ClassDeclaration: [ 'decorators', 'id', @@ -50,7 +50,7 @@ const additionalKeys: AdditionalKeys = { ImportDeclaration: ['specifiers', 'source', 'assertions'], ImportExpression: ['source', 'attributes'], MethodDefinition: ['decorators', 'key', 'value', 'typeParameters'], - NewExpression: ['callee', 'typeParameters', 'arguments'], + NewExpression: ['callee', 'typeArguments', 'arguments'], ObjectPattern: ['decorators', 'properties', 'typeAnnotation'], PropertyDefinition: ['decorators', 'key', 'typeAnnotation', 'value'], RestElement: ['decorators', 'argument', 'typeAnnotation'], @@ -142,8 +142,8 @@ const additionalKeys: AdditionalKeys = { TSTypeParameterDeclaration: ['params'], TSTypeParameterInstantiation: ['params'], TSTypePredicate: ['typeAnnotation', 'parameterName'], - TSTypeQuery: ['exprName', 'typeParameters'], - TSTypeReference: ['typeName', 'typeParameters'], + TSTypeQuery: ['exprName', 'typeArguments'], + TSTypeReference: ['typeName', 'typeArguments'], TSUndefinedKeyword: [], TSUnionType: ['types'], TSUnknownKeyword: [], From 72a743643d5f57cfa333c570e09ef93f77be73aa Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 25 Jul 2022 20:33:29 -0400 Subject: [PATCH 2/9] Fix type-utils > isUnsafeAssignment --- packages/type-utils/src/isUnsafeAssignment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/type-utils/src/isUnsafeAssignment.ts b/packages/type-utils/src/isUnsafeAssignment.ts index 926e215ae08..ecd236ad37a 100644 --- a/packages/type-utils/src/isUnsafeAssignment.ts +++ b/packages/type-utils/src/isUnsafeAssignment.ts @@ -55,7 +55,7 @@ export function isUnsafeAssignment( senderNode.callee.type === AST_NODE_TYPES.Identifier && senderNode.callee.name === 'Map' && senderNode.arguments.length === 0 && - senderNode.typeParameters == null + senderNode.typeArguments == null ) { // special case to handle `new Map()` // unfortunately Map's default empty constructor is typed to return `Map` :( From 52f7c96d2d2dabad3fa37c2ce4aa4ae61b51a5ed Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sun, 5 Feb 2023 01:14:49 -0500 Subject: [PATCH 3/9] Ignore the tets, why not --- .../tests/ast-alignment/fixtures-to-test.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts index 9c4d8a44bcc..c5d67a8846b 100644 --- a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts +++ b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts @@ -402,6 +402,20 @@ tester.addFixturePatternConfig('typescript/basics', { * SyntaxError: A JSON module can only be imported with `default`. */ 'export-with-import-assertions', + // https://github.com/typescript-eslint/typescript-eslint/pull/5384 + 'abstract-class-with-abstract-method', + 'abstract-class-with-optional-method', + 'class-with-mixin-reference', + 'class-with-mixin', + 'function-with-types-assignation', + 'nested-type-arguments', + 'never-type-param', + 'readonly-arrays', + 'symbol-type-param', + 'type-alias-declaration-with-constrained-type-parameter', + 'type-alias-declaration', + 'type-parameters-comments', + 'type-reference-comments', ], ignoreSourceType: [ /** @@ -482,6 +496,10 @@ tester.addFixturePatternConfig('typescript/expressions', { * @see https://github.com/babel/babel/pull/14211 */ 'satisfies-expression', + // https://github.com/typescript-eslint/typescript-eslint/pull/5384 + 'call-expression-type-arguments', + 'new-expression-type-arguments', + 'optional-call-expression-type-arguments', ], }); @@ -522,6 +540,15 @@ tester.addFixturePatternConfig('typescript/types', { 'optional-variance-out', 'optional-variance-in-out', 'optional-variance-in-and-out', + // https://github.com/typescript-eslint/typescript-eslint/pull/5384 + 'constructor-in-generic', + 'conditional-infer-nested', + 'conditional-infer-with-constraint', + 'function-in-generic', + 'intersection-type', + 'reference-generic', + 'reference-generic-nested', + 'typeof-with-type-parameters', ], }); @@ -531,11 +558,12 @@ tester.addFixturePatternConfig('typescript/declare', { tester.addFixturePatternConfig('typescript/namespaces-and-modules', { fileType: 'ts', + // https://github.com/typescript-eslint/typescript-eslint/pull/5384 + ignore: ['declare-namespace-with-exported-function'], ignoreSourceType: [ 'nested-internal-module', 'module-with-default-exports', 'ambient-module-declaration-with-import', - 'declare-namespace-with-exported-function', ], }); From c29fb7aadb808d7583eb3792bbadd56252991db4 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 7 Feb 2023 12:30:35 -0500 Subject: [PATCH 4/9] Corrected visitor-keys --- .../expression/TaggedTemplateExpression/spec.ts | 2 +- .../ast-spec/src/jsx/JSXOpeningElement/spec.ts | 2 +- .../scope-manager/src/referencer/Referencer.ts | 4 ++-- .../scope-manager/src/referencer/TypeVisitor.ts | 2 +- packages/typescript-estree/src/convert.ts | 6 +++--- .../tests/lib/__snapshots__/parse.test.ts.snap | 14 +++++++------- .../jsx-attr-and-text-with-url.src.js.shot | 2 +- .../comments/jsx-block-comment.src.js.shot | 2 +- .../comments/jsx-comment-after-jsx.src.js.shot | 2 +- ...sx-comment-after-self-closing-jsx.src.js.shot | 2 +- .../jsx-generic-with-comment-in-tag.src.js.shot | 16 ++++++++-------- .../jsx-tag-comment-after-prop.src.js.shot | 2 +- .../comments/jsx-tag-comments.src.js.shot | 2 +- ...x-text-with-multiline-non-comment.src.js.shot | 2 +- .../comments/jsx-text-with-url.src.js.shot | 12 ++++++------ .../comments/jsx-with-greather-than.src.js.shot | 2 +- .../comments/jsx-with-operators.src.js.shot | 2 +- .../templateStrings/deeply-nested.src.js.shot | 2 +- .../tagged-no-placeholders.src.js.shot | 2 +- .../tagged-template-string.src.js.shot | 2 +- .../self-closing-tag-inside-tag.src.js.shot | 4 ++-- .../jsx-useJSXTextNode/test-content.src.js.shot | 2 +- .../tests/snapshots/jsx/attributes.src.js.shot | 2 +- .../jsx/element-keyword-name.src.js.shot | 8 ++++---- .../snapshots/jsx/embedded-comment.src.js.shot | 2 +- .../jsx/embedded-conditional.src.js.shot | 6 +++--- .../embedded-invalid-js-identifier.src.js.shot | 4 ++-- .../snapshots/jsx/empty-placeholder.src.js.shot | 2 +- .../jsx/escape-patterns-ignored.src.js.shot | 2 +- .../jsx/escape-patterns-unknown.src.js.shot | 12 ++++++------ .../jsx/escape-patterns-valid.src.js.shot | 2 +- .../jsx/escape-patters-multi.src.js.shot | 2 +- ...invalid-namespace-value-with-dots.src.js.shot | 2 +- .../jsx/japanese-characters.src.js.shot | 2 +- .../snapshots/jsx/less-than-operator.src.js.shot | 2 +- .../jsx/member-expression-this.src.js.shot | 4 ++-- .../snapshots/jsx/member-expression.src.js.shot | 2 +- .../jsx/multiple-blank-spaces.src.js.shot | 2 +- .../jsx/namespace-this-name.src.js.shot | 2 +- ...aced-attribute-and-value-inserted.src.js.shot | 6 +++--- .../namespaced-name-and-attribute.src.js.shot | 2 +- .../jsx/self-closing-tag-inside-tag.src.js.shot | 4 ++-- .../snapshots/jsx/self-closing-tag.src.js.shot | 2 +- .../shorthand-fragment-with-child.src.js.shot | 2 +- .../tests/snapshots/jsx/spread-child.src.js.shot | 2 +- ...r-attribute-and-regular-attribute.src.js.shot | 2 +- .../jsx/spread-operator-attributes.src.js.shot | 2 +- .../jsx/tag-names-with-dots.src.js.shot | 2 +- .../tag-names-with-multi-dots-multi.src.js.shot | 4 ++-- .../jsx/tag-names-with-multi-dots.src.js.shot | 2 +- .../tests/snapshots/jsx/test-content.src.js.shot | 2 +- ...railing-spread-operator-attribute.src.js.shot | 2 +- .../tsx/generic-jsx-element.src.tsx.shot | 2 +- .../tsx/generic-jsx-opening-element.src.tsx.shot | 2 +- .../snapshots/tsx/react-typed-props.src.tsx.shot | 2 +- ...emplate-expression-type-arguments.src.ts.shot | 2 +- packages/visitor-keys/src/visitor-keys.ts | 6 +++--- 57 files changed, 97 insertions(+), 97 deletions(-) diff --git a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts index e3438484d9d..9721f616472 100644 --- a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts +++ b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts @@ -6,7 +6,7 @@ import type { TemplateLiteral } from '../TemplateLiteral/spec'; export interface TaggedTemplateExpression extends BaseNode { type: AST_NODE_TYPES.TaggedTemplateExpression; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; tag: LeftHandSideExpression; quasi: TemplateLiteral; } diff --git a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts index 710fade02fa..bd461fafb47 100644 --- a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts +++ b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts @@ -7,7 +7,7 @@ import type { JSXSpreadAttribute } from '../JSXSpreadAttribute/spec'; export interface JSXOpeningElement extends BaseNode { type: AST_NODE_TYPES.JSXOpeningElement; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; selfClosing: boolean; name: JSXTagNameExpression; attributes: (JSXAttribute | JSXSpreadAttribute)[]; diff --git a/packages/scope-manager/src/referencer/Referencer.ts b/packages/scope-manager/src/referencer/Referencer.ts index 81eba8afed7..17600d931c1 100644 --- a/packages/scope-manager/src/referencer/Referencer.ts +++ b/packages/scope-manager/src/referencer/Referencer.ts @@ -540,7 +540,7 @@ class Referencer extends Visitor { } else { this.visit(node.name); } - this.visitType(node.typeParameters); + this.visitType(node.typeArguments); for (const attr of node.attributes) { this.visit(attr); } @@ -613,7 +613,7 @@ class Referencer extends Visitor { ): void { this.visit(node.tag); this.visit(node.quasi); - this.visitType(node.typeParameters); + this.visitType(node.typeArguments); } protected TSAsExpression(node: TSESTree.TSAsExpression): void { diff --git a/packages/scope-manager/src/referencer/TypeVisitor.ts b/packages/scope-manager/src/referencer/TypeVisitor.ts index df11407d344..9daa2e64093 100644 --- a/packages/scope-manager/src/referencer/TypeVisitor.ts +++ b/packages/scope-manager/src/referencer/TypeVisitor.ts @@ -120,7 +120,7 @@ class TypeVisitor extends Visitor { protected TSImportType(node: TSESTree.TSImportType): void { // the TS parser allows any type to be the parameter, but it's a syntax error - so we can ignore it - this.visit(node.typeParameters); + this.visit(node.typeArguments); // the qualifier is just part of a standard EntityName, so it should not be visited } diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 94336d2d908..60c007695ae 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -1520,7 +1520,7 @@ export class Converter { case SyntaxKind.TaggedTemplateExpression: return this.createNode(node, { type: AST_NODE_TYPES.TaggedTemplateExpression, - typeParameters: node.typeArguments + typeArguments: node.typeArguments ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, @@ -2196,7 +2196,7 @@ export class Converter { */ openingElement: this.createNode(node, { type: AST_NODE_TYPES.JSXOpeningElement, - typeParameters: node.typeArguments + typeArguments: node.typeArguments ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, @@ -2217,7 +2217,7 @@ export class Converter { case SyntaxKind.JsxOpeningElement: return this.createNode(node, { type: AST_NODE_TYPES.JSXOpeningElement, - typeParameters: node.typeArguments + typeArguments: node.typeArguments ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, diff --git a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap index c290b538b20..bfb59526f59 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap @@ -156,7 +156,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .js file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -445,7 +445,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .js file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -1310,7 +1310,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .jsx file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -1599,7 +1599,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .jsx file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -2604,7 +2604,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .tsx file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -2893,7 +2893,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .tsx file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, @@ -3540,7 +3540,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .vue file - with ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": [ 10, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-attr-and-text-with-url.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-attr-and-text-with-url.src.js.shot index 0313f535de1..471a9b3f5af 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-attr-and-text-with-url.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-attr-and-text-with-url.src.js.shot @@ -182,7 +182,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 14, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-block-comment.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-block-comment.src.js.shot index 851f8980ab5..32fa8030284 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-block-comment.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-block-comment.src.js.shot @@ -189,7 +189,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 42, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-jsx.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-jsx.src.js.shot index 3d15f9abd76..cbd325e6663 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-jsx.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-jsx.src.js.shot @@ -112,7 +112,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 42, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-self-closing-jsx.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-self-closing-jsx.src.js.shot index d60cb362824..328d3e4f44d 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-self-closing-jsx.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-comment-after-self-closing-jsx.src.js.shot @@ -78,7 +78,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 42, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-generic-with-comment-in-tag.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-generic-with-comment-in-tag.src.js.shot index cbf278f9ee7..24933d4eb35 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-generic-with-comment-in-tag.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-generic-with-comment-in-tag.src.js.shot @@ -130,7 +130,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -314,7 +314,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -498,7 +498,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -718,7 +718,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -867,7 +867,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -1051,7 +1051,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -1235,7 +1235,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, @@ -1455,7 +1455,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 22, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comment-after-prop.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comment-after-prop.src.js.shot index d603a3fcee3..9a130e34a25 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comment-after-prop.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comment-after-prop.src.js.shot @@ -204,7 +204,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 38, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comments.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comments.src.js.shot index 177f12a1662..d2e8a0866ef 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comments.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-tag-comments.src.js.shot @@ -134,7 +134,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 42, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-multiline-non-comment.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-multiline-non-comment.src.js.shot index 34ae0afe27e..c29b923ccc4 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-multiline-non-comment.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-multiline-non-comment.src.js.shot @@ -140,7 +140,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 36, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-url.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-url.src.js.shot index b51fc4edf9c..bc9c958422b 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-url.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-text-with-url.src.js.shot @@ -127,7 +127,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 14, @@ -368,7 +368,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 106, @@ -477,7 +477,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 101, @@ -625,7 +625,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 159, @@ -734,7 +734,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 154, @@ -934,7 +934,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 213, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-with-greather-than.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-with-greather-than.src.js.shot index 308c14521e5..33ab24360d3 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-with-greather-than.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-with-greather-than.src.js.shot @@ -242,7 +242,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 53, diff --git a/packages/typescript-estree/tests/snapshots/comments/jsx-with-operators.src.js.shot b/packages/typescript-estree/tests/snapshots/comments/jsx-with-operators.src.js.shot index 2d5c27d4fe0..ac647daeb0c 100644 --- a/packages/typescript-estree/tests/snapshots/comments/jsx-with-operators.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/comments/jsx-with-operators.src.js.shot @@ -242,7 +242,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 53, diff --git a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/deeply-nested.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/deeply-nested.src.js.shot index 0fda53e60b5..68faebedae1 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/deeply-nested.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/deeply-nested.src.js.shot @@ -246,7 +246,7 @@ Object { "type": "Identifier", }, "type": "TaggedTemplateExpression", - "typeParameters": undefined, + "typeArguments": undefined, }, "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-no-placeholders.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-no-placeholders.src.js.shot index ddb0bc6e03f..57bd894722e 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-no-placeholders.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-no-placeholders.src.js.shot @@ -80,7 +80,7 @@ Object { "type": "Identifier", }, "type": "TaggedTemplateExpression", - "typeParameters": undefined, + "typeArguments": undefined, }, "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-template-string.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-template-string.src.js.shot index d929755df48..6fa83f0c4dd 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-template-string.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/templateStrings/tagged-template-string.src.js.shot @@ -329,7 +329,7 @@ Object { "type": "Identifier", }, "type": "TaggedTemplateExpression", - "typeParameters": undefined, + "typeArguments": undefined, }, "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/self-closing-tag-inside-tag.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/self-closing-tag-inside-tag.src.js.shot index 2e630050997..ec2c3c385f4 100644 --- a/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/self-closing-tag-inside-tag.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/self-closing-tag-inside-tag.src.js.shot @@ -76,7 +76,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 10, @@ -187,7 +187,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/test-content.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/test-content.src.js.shot index 326c3194f95..8b3399aabb3 100644 --- a/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/test-content.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx-useJSXTextNode/test-content.src.js.shot @@ -107,7 +107,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/attributes.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/attributes.src.js.shot index 0c7c49b765a..92e342c5179 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/attributes.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/attributes.src.js.shot @@ -267,7 +267,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/element-keyword-name.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/element-keyword-name.src.js.shot index a1526ac3de6..548252fb0d4 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/element-keyword-name.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/element-keyword-name.src.js.shot @@ -76,7 +76,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 10, @@ -154,7 +154,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 25, @@ -232,7 +232,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 42, @@ -343,7 +343,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/embedded-comment.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/embedded-comment.src.js.shot index 8d98282032a..607eccddea1 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/embedded-comment.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/embedded-comment.src.js.shot @@ -122,7 +122,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/embedded-conditional.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/embedded-conditional.src.js.shot index a0960faec84..dcd92a2aa34 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/embedded-conditional.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/embedded-conditional.src.js.shot @@ -104,7 +104,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 18, @@ -161,7 +161,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 10, @@ -255,7 +255,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/embedded-invalid-js-identifier.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/embedded-invalid-js-identifier.src.js.shot index e67cf324a95..2065b22414f 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/embedded-invalid-js-identifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/embedded-invalid-js-identifier.src.js.shot @@ -55,7 +55,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 5, @@ -164,7 +164,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/empty-placeholder.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/empty-placeholder.src.js.shot index d3b5a05c217..f8f282ee58d 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/empty-placeholder.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/empty-placeholder.src.js.shot @@ -122,7 +122,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-ignored.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-ignored.src.js.shot index 3db51530669..217da864a9c 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-ignored.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-ignored.src.js.shot @@ -466,7 +466,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-unknown.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-unknown.src.js.shot index 141520e983f..b51ec733950 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-unknown.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-unknown.src.js.shot @@ -108,7 +108,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, @@ -237,7 +237,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 25, @@ -366,7 +366,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 41, @@ -494,7 +494,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 62, @@ -622,7 +622,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 76, @@ -750,7 +750,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 98, diff --git a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-valid.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-valid.src.js.shot index 1856270c740..697e7ea63f4 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-valid.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/escape-patterns-valid.src.js.shot @@ -220,7 +220,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/escape-patters-multi.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/escape-patters-multi.src.js.shot index cc3c38b714c..a251373c1f2 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/escape-patters-multi.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/escape-patters-multi.src.js.shot @@ -162,7 +162,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/invalid-namespace-value-with-dots.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/invalid-namespace-value-with-dots.src.js.shot index 3d11bc184cc..40ea414fd5e 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/invalid-namespace-value-with-dots.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/invalid-namespace-value-with-dots.src.js.shot @@ -227,7 +227,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/japanese-characters.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/japanese-characters.src.js.shot index 862711b68f6..d347b3721aa 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/japanese-characters.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/japanese-characters.src.js.shot @@ -87,7 +87,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/less-than-operator.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/less-than-operator.src.js.shot index 9e4992cab3a..983584620f8 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/less-than-operator.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/less-than-operator.src.js.shot @@ -54,7 +54,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 1, diff --git a/packages/typescript-estree/tests/snapshots/jsx/member-expression-this.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/member-expression-this.src.js.shot index 588debdd0d6..54eca725b81 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/member-expression-this.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/member-expression-this.src.js.shot @@ -123,7 +123,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, @@ -232,7 +232,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 26, diff --git a/packages/typescript-estree/tests/snapshots/jsx/member-expression.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/member-expression.src.js.shot index 969318a5bb3..1d8af6bb59e 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/member-expression.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/member-expression.src.js.shot @@ -157,7 +157,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/multiple-blank-spaces.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/multiple-blank-spaces.src.js.shot index 17fa0430b73..676f0d14e3f 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/multiple-blank-spaces.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/multiple-blank-spaces.src.js.shot @@ -107,7 +107,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/namespace-this-name.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/namespace-this-name.src.js.shot index 46d67089584..626d2e884e6 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/namespace-this-name.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/namespace-this-name.src.js.shot @@ -88,7 +88,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/namespaced-attribute-and-value-inserted.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/namespaced-attribute-and-value-inserted.src.js.shot index cfb3f96c345..72b10bf99d3 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/namespaced-attribute-and-value-inserted.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/namespaced-attribute-and-value-inserted.src.js.shot @@ -130,7 +130,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 27, @@ -220,7 +220,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 24, @@ -400,7 +400,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/namespaced-name-and-attribute.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/namespaced-name-and-attribute.src.js.shot index b27c937e5a0..33826425d1c 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/namespaced-name-and-attribute.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/namespaced-name-and-attribute.src.js.shot @@ -160,7 +160,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag-inside-tag.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag-inside-tag.src.js.shot index cfb82c9a414..52b4f84aaaf 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag-inside-tag.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag-inside-tag.src.js.shot @@ -76,7 +76,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 10, @@ -187,7 +187,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag.src.js.shot index 9e5ea942a82..db91bb4b309 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/self-closing-tag.src.js.shot @@ -53,7 +53,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/shorthand-fragment-with-child.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/shorthand-fragment-with-child.src.js.shot index 96a50d1928e..0977720b8cc 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/shorthand-fragment-with-child.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/shorthand-fragment-with-child.src.js.shot @@ -55,7 +55,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 2, diff --git a/packages/typescript-estree/tests/snapshots/jsx/spread-child.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/spread-child.src.js.shot index 4227ac2e551..8847425bf6a 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/spread-child.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/spread-child.src.js.shot @@ -143,7 +143,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attribute-and-regular-attribute.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attribute-and-regular-attribute.src.js.shot index 0ba87aa2572..174212ad7e2 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attribute-and-regular-attribute.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attribute-and-regular-attribute.src.js.shot @@ -143,7 +143,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attributes.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attributes.src.js.shot index 402559dd631..62dd2c6ee85 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attributes.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/spread-operator-attributes.src.js.shot @@ -89,7 +89,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-dots.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-dots.src.js.shot index fbd0fba223a..b32233e492b 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-dots.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-dots.src.js.shot @@ -157,7 +157,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots-multi.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots-multi.src.js.shot index 7ef41034fc5..a34b4713708 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots-multi.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots-multi.src.js.shot @@ -320,7 +320,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 16, @@ -781,7 +781,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots.src.js.shot index 84eb1e17b29..ab7900f160f 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/tag-names-with-multi-dots.src.js.shot @@ -227,7 +227,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/test-content.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/test-content.src.js.shot index 4df5e2ed08b..1f9bc957ee7 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/test-content.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/test-content.src.js.shot @@ -107,7 +107,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/jsx/trailing-spread-operator-attribute.src.js.shot b/packages/typescript-estree/tests/snapshots/jsx/trailing-spread-operator-attribute.src.js.shot index d6e19fd1d05..5e8e61e1d6c 100644 --- a/packages/typescript-estree/tests/snapshots/jsx/trailing-spread-operator-attribute.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/jsx/trailing-spread-operator-attribute.src.js.shot @@ -231,7 +231,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 0, diff --git a/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-element.src.tsx.shot b/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-element.src.tsx.shot index 8cd3cfa65cc..b03aa8262dc 100644 --- a/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-element.src.tsx.shot +++ b/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-element.src.tsx.shot @@ -125,7 +125,7 @@ Object { ], "selfClosing": true, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 20, diff --git a/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-opening-element.src.tsx.shot b/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-opening-element.src.tsx.shot index d516de71c1c..8c80dfa91c0 100644 --- a/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-opening-element.src.tsx.shot +++ b/packages/typescript-estree/tests/snapshots/tsx/generic-jsx-opening-element.src.tsx.shot @@ -159,7 +159,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 20, diff --git a/packages/typescript-estree/tests/snapshots/tsx/react-typed-props.src.tsx.shot b/packages/typescript-estree/tests/snapshots/tsx/react-typed-props.src.tsx.shot index 759b87daf35..c8a1a895091 100644 --- a/packages/typescript-estree/tests/snapshots/tsx/react-typed-props.src.tsx.shot +++ b/packages/typescript-estree/tests/snapshots/tsx/react-typed-props.src.tsx.shot @@ -411,7 +411,7 @@ Object { ], "selfClosing": false, "type": "JSXOpeningElement", - "typeParameters": undefined, + "typeArguments": undefined, }, "range": Array [ 124, diff --git a/packages/typescript-estree/tests/snapshots/typescript/expressions/tagged-template-expression-type-arguments.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/expressions/tagged-template-expression-type-arguments.src.ts.shot index b61964c308b..487cf31a819 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/expressions/tagged-template-expression-type-arguments.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/expressions/tagged-template-expression-type-arguments.src.ts.shot @@ -80,7 +80,7 @@ Object { "type": "Identifier", }, "type": "TaggedTemplateExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 8, diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index 33625505207..a2df222f933 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -167,7 +167,7 @@ const additionalKeys: AdditionalKeys = { ImportDeclaration: ['specifiers', 'source', 'assertions'], ImportExpression: ['source', 'attributes'], JSXClosingFragment: [], - JSXOpeningElement: ['name', 'typeParameters', 'attributes'], + JSXOpeningElement: ['name', 'typeArguments', 'attributes'], JSXOpeningFragment: [], JSXSpreadChild: ['expression'], MethodDefinition: ['decorators', 'key', 'value', 'typeParameters'], @@ -176,7 +176,7 @@ const additionalKeys: AdditionalKeys = { PropertyDefinition: SharedVisitorKeys.PropertyDefinition, RestElement: ['decorators', 'argument', 'typeAnnotation'], StaticBlock: ['body'], - TaggedTemplateExpression: ['tag', 'typeParameters', 'quasi'], + TaggedTemplateExpression: ['tag', 'typeArguments', 'quasi'], TSAbstractAccessorProperty: SharedVisitorKeys.AbstractPropertyDefinition, TSAbstractKeyword: [], TSAbstractMethodDefinition: ['key', 'value'], @@ -202,7 +202,7 @@ const additionalKeys: AdditionalKeys = { TSExternalModuleReference: ['expression'], TSFunctionType: SharedVisitorKeys.FunctionType, TSImportEqualsDeclaration: ['id', 'moduleReference'], - TSImportType: ['argument', 'qualifier', 'typeParameters'], + TSImportType: ['argument', 'qualifier', 'typeArguments'], TSIndexedAccessType: ['indexType', 'objectType'], TSIndexSignature: ['parameters', 'typeAnnotation'], TSInferType: ['typeParameter'], From bd4b69af233ef0653878c58868658e1331562d7b Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 7 Feb 2023 12:57:40 -0500 Subject: [PATCH 5/9] Got implements, extends, and instantiation expressions --- packages/ast-spec/src/base/TSHeritageBase.ts | 2 +- .../expression/TSInstantiationExpression/spec.ts | 2 +- .../scope-manager/src/referencer/Referencer.ts | 4 ++-- .../declaration/generic-ref-implements.ts.shot | 12 +----------- .../class/declaration/implements-generic.ts.shot | 12 +----------- .../interface/extends-reference.ts.shot | 12 +----------- packages/typescript-estree/src/convert.ts | 2 +- ...-with-implements-generic-multiple.src.ts.shot | 2 +- .../class-with-implements-generic.src.ts.shot | 2 +- ...face-with-extends-type-parameters.src.ts.shot | 2 +- ...type-parameters-comments-heritage.src.ts.shot | 4 ++-- .../instantiation-expression.src.ts.shot | 16 ++++++++-------- packages/visitor-keys/src/visitor-keys.ts | 6 +++--- 13 files changed, 24 insertions(+), 54 deletions(-) diff --git a/packages/ast-spec/src/base/TSHeritageBase.ts b/packages/ast-spec/src/base/TSHeritageBase.ts index 683600ec01d..00d7724eba8 100644 --- a/packages/ast-spec/src/base/TSHeritageBase.ts +++ b/packages/ast-spec/src/base/TSHeritageBase.ts @@ -5,5 +5,5 @@ import type { BaseNode } from './BaseNode'; export interface TSHeritageBase extends BaseNode { // TODO(#1852) - this should be restricted to MemberExpression | Identifier expression: Expression; - typeParameters?: TSTypeParameterInstantiation; + typeArguments?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts index c0a9f9fd99b..2219a440bdf 100644 --- a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts +++ b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts @@ -6,5 +6,5 @@ import type { Expression } from '../../unions/Expression'; export interface TSInstantiationExpression extends BaseNode { type: AST_NODE_TYPES.TSInstantiationExpression; expression: Expression; - typeParameters: TSTypeParameterInstantiation; + typeArguments: TSTypeParameterInstantiation; } diff --git a/packages/scope-manager/src/referencer/Referencer.ts b/packages/scope-manager/src/referencer/Referencer.ts index 17600d931c1..0a2cd05586a 100644 --- a/packages/scope-manager/src/referencer/Referencer.ts +++ b/packages/scope-manager/src/referencer/Referencer.ts @@ -695,8 +695,8 @@ class Referencer extends Visitor { protected TSInstantiationExpression( node: TSESTree.TSInstantiationExpression, ): void { - this.visitChildren(node, ['typeParameters']); - this.visitType(node.typeParameters); + this.visitChildren(node, ['typeArguments']); + this.visitType(node.typeArguments); } protected TSInterfaceDeclaration( diff --git a/packages/scope-manager/tests/fixtures/class/declaration/generic-ref-implements.ts.shot b/packages/scope-manager/tests/fixtures/class/declaration/generic-ref-implements.ts.shot index 6198d70760b..d0281528f5b 100644 --- a/packages/scope-manager/tests/fixtures/class/declaration/generic-ref-implements.ts.shot +++ b/packages/scope-manager/tests/fixtures/class/declaration/generic-ref-implements.ts.shot @@ -36,16 +36,7 @@ ScopeManager { }, ], name: "A", - references: Array [ - Reference$2 { - identifier: Identifier<"A">, - isRead: true, - isTypeReference: true, - isValueReference: false, - isWrite: false, - resolved: Variable$4, - }, - ], + references: Array [], isValueVariable: false, isTypeVariable: true, }, @@ -78,7 +69,6 @@ ScopeManager { isWrite: false, resolved: null, }, - Reference$2, ], set: Map { "Foo" => Variable$3, diff --git a/packages/scope-manager/tests/fixtures/class/declaration/implements-generic.ts.shot b/packages/scope-manager/tests/fixtures/class/declaration/implements-generic.ts.shot index 9c4d0b28244..83662a59e8f 100644 --- a/packages/scope-manager/tests/fixtures/class/declaration/implements-generic.ts.shot +++ b/packages/scope-manager/tests/fixtures/class/declaration/implements-generic.ts.shot @@ -45,16 +45,7 @@ ScopeManager { }, ], name: "T", - references: Array [ - Reference$2 { - identifier: Identifier<"T">, - isRead: true, - isTypeReference: true, - isValueReference: false, - isWrite: false, - resolved: Variable$4, - }, - ], + references: Array [], isValueVariable: false, isTypeVariable: true, }, @@ -121,7 +112,6 @@ ScopeManager { isStrict: true, references: Array [ Reference$1, - Reference$2, ], set: Map { "B" => Variable$6, diff --git a/packages/scope-manager/tests/fixtures/type-declaration/type-parameters/interface/extends-reference.ts.shot b/packages/scope-manager/tests/fixtures/type-declaration/type-parameters/interface/extends-reference.ts.shot index 0ae78c63d47..bb1b7d91cf8 100644 --- a/packages/scope-manager/tests/fixtures/type-declaration/type-parameters/interface/extends-reference.ts.shot +++ b/packages/scope-manager/tests/fixtures/type-declaration/type-parameters/interface/extends-reference.ts.shot @@ -57,16 +57,7 @@ ScopeManager { }, ], name: "T", - references: Array [ - Reference$2 { - identifier: Identifier<"T">, - isRead: true, - isTypeReference: true, - isValueReference: false, - isWrite: false, - resolved: Variable$5, - }, - ], + references: Array [], isValueVariable: false, isTypeVariable: true, }, @@ -107,7 +98,6 @@ ScopeManager { isStrict: true, references: Array [ Reference$1, - Reference$2, ], set: Map { "T" => Variable$5, diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 60c007695ae..dda192fcfca 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -2586,7 +2586,7 @@ export class Converter { }); if (node.typeArguments) { - result.typeParameters = + result.typeArguments = this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic-multiple.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic-multiple.src.ts.shot index 4c1315fdf3e..e216fede002 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic-multiple.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic-multiple.src.ts.shot @@ -75,7 +75,7 @@ Object { 30, ], "type": "TSClassImplements", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 30, diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic.src.ts.shot index 4e1b5bdc39c..e04ad098f5a 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/class-with-implements-generic.src.ts.shot @@ -75,7 +75,7 @@ Object { 27, ], "type": "TSClassImplements", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 27, diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/interface-with-extends-type-parameters.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/interface-with-extends-type-parameters.src.ts.shot index b880c427018..f965e89d2ea 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/interface-with-extends-type-parameters.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/interface-with-extends-type-parameters.src.ts.shot @@ -57,7 +57,7 @@ Object { 31, ], "type": "TSInterfaceHeritage", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 31, diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/type-parameters-comments-heritage.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/type-parameters-comments-heritage.src.ts.shot index f29012a17a7..58f780fd8b1 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/type-parameters-comments-heritage.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/type-parameters-comments-heritage.src.ts.shot @@ -460,7 +460,7 @@ Object { 241, ], "type": "TSInterfaceHeritage", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 76, @@ -663,7 +663,7 @@ Object { 335, ], "type": "TSInterfaceHeritage", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 90, diff --git a/packages/typescript-estree/tests/snapshots/typescript/expressions/instantiation-expression.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/expressions/instantiation-expression.src.ts.shot index 015af04b8e6..86b38053433 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/expressions/instantiation-expression.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/expressions/instantiation-expression.src.ts.shot @@ -38,7 +38,7 @@ Object { 4, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 4, @@ -146,7 +146,7 @@ Object { 12, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 5, @@ -217,7 +217,7 @@ Object { 16, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 9, @@ -326,7 +326,7 @@ Object { 23, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 5, @@ -509,7 +509,7 @@ Object { 36, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 5, @@ -580,7 +580,7 @@ Object { 40, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 9, @@ -776,7 +776,7 @@ Object { 54, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 8, @@ -957,7 +957,7 @@ Object { 71, ], "type": "TSInstantiationExpression", - "typeParameters": Object { + "typeArguments": Object { "loc": Object { "end": Object { "column": 9, diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index a2df222f933..c4a616a7930 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -188,7 +188,7 @@ const additionalKeys: AdditionalKeys = { TSBigIntKeyword: [], TSBooleanKeyword: [], TSCallSignatureDeclaration: SharedVisitorKeys.FunctionType, - TSClassImplements: ['expression', 'typeParameters'], + TSClassImplements: ['expression', 'typeArguments'], TSConditionalType: ['checkType', 'extendsType', 'trueType', 'falseType'], TSConstructorType: SharedVisitorKeys.FunctionType, TSConstructSignatureDeclaration: SharedVisitorKeys.FunctionType, @@ -206,10 +206,10 @@ const additionalKeys: AdditionalKeys = { TSIndexedAccessType: ['indexType', 'objectType'], TSIndexSignature: ['parameters', 'typeAnnotation'], TSInferType: ['typeParameter'], - TSInstantiationExpression: ['expression', 'typeParameters'], + TSInstantiationExpression: ['expression', 'typeArguments'], TSInterfaceBody: ['body'], TSInterfaceDeclaration: ['id', 'typeParameters', 'extends', 'body'], - TSInterfaceHeritage: ['expression', 'typeParameters'], + TSInterfaceHeritage: ['expression', 'typeArguments'], TSIntersectionType: ['types'], TSIntrinsicKeyword: [], TSLiteralType: ['literal'], From f3e7d8eb49005504ba27bf3218a52470a350c5c0 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sat, 11 Feb 2023 08:30:22 -0500 Subject: [PATCH 6/9] chore: check package.json existence in package-packages.ts --- tests/integration/pack-packages.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/integration/pack-packages.ts b/tests/integration/pack-packages.ts index 6be072edb08..7674f70a173 100644 --- a/tests/integration/pack-packages.ts +++ b/tests/integration/pack-packages.ts @@ -30,10 +30,12 @@ const tarFolder = tmp.dirSync({ const tseslintPackages: PackageJSON['devDependencies'] = {}; for (const pkg of PACKAGES) { const packageDir = path.join(PACKAGES_DIR, pkg); - const packageJson: PackageJSON = require(path.join( - packageDir, - 'package.json', - )); + const packagePath = path.join(packageDir, 'package.json'); + if (!fs.existsSync(packagePath)) { + continue; + } + + const packageJson = require(packagePath) as PackageJSON; if (packageJson.private === true) { continue; } From b9529ccc260c759f6bbe288e1830f9b8cf224ed4 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 20 Feb 2023 22:45:58 -0500 Subject: [PATCH 7/9] Rename superTypeArguments/Parameters too --- packages/ast-spec/src/base/ClassBase.ts | 2 +- packages/typescript-estree/src/convert.ts | 2 +- packages/visitor-keys/src/visitor-keys.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ast-spec/src/base/ClassBase.ts b/packages/ast-spec/src/base/ClassBase.ts index 4878cfc87b6..e873728e966 100644 --- a/packages/ast-spec/src/base/ClassBase.ts +++ b/packages/ast-spec/src/base/ClassBase.ts @@ -61,7 +61,7 @@ export interface ClassBase extends BaseNode { * The generic type parameters passed to the superClass. * This is `undefined` if there are no generic type parameters passed. */ - superTypeParameters?: TSTypeParameterInstantiation; + superTypeParameter?: TSTypeParameterInstantiation; /** * The generic type parameters declared for the class. * This is `undefined` if there are no generic type parameters declared. diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 1848e843e65..87ed59bfb83 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -1716,7 +1716,7 @@ export class Converter { } if (superClass.types[0]?.typeArguments) { - result.superTypeParameters = + result.superTypeArguments = this.convertTypeArgumentsToTypeParameterInstantiation( superClass.types[0].typeArguments, superClass.types[0], diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index 209ee025169..0840d622d37 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -138,7 +138,7 @@ const SharedVisitorKeys = (() => { 'id', 'typeParameters', 'superClass', - 'superTypeParameters', + 'superTypeArguments', 'implements', 'body', ], From 64c24c294c6a9c8219cd41ef783d7c2973b15933 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 21 Feb 2023 15:16:25 -0500 Subject: [PATCH 8/9] Correct superTypeParameter/Argument(s) --- .../snapshots/1-TSESTree-AST.shot | 2 +- .../snapshots/5-AST-Alignment-AST.shot | 76 ++++++++++++++++++- .../snapshots/1-TSESTree-AST.shot | 2 +- .../snapshots/5-AST-Alignment-AST.shot | 3 +- .../snapshots/1-TSESTree-AST.shot | 2 +- .../snapshots/5-AST-Alignment-AST.shot | 3 +- .../snapshots/1-TSESTree-AST.shot | 2 +- .../snapshots/5-AST-Alignment-AST.shot | 3 +- .../snapshots/1-TSESTree-AST.shot | 4 +- .../snapshots/5-AST-Alignment-AST.shot | 20 ++--- .../tests/fixtures-with-differences-ast.shot | 1 + .../src/referencer/ClassVisitor.ts | 2 +- 12 files changed, 100 insertions(+), 20 deletions(-) diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot index 43fbb02d6c0..983182963c4 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot @@ -36,7 +36,7 @@ Program { end: { column: 21, line: 1 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSStringKeyword { diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot index d7a16a19520..be4f4f78362 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot @@ -2,5 +2,79 @@ exports[`AST Fixtures declaration ClassDeclaration extends-type-param AST Alignment - AST 1`] = ` "Snapshot Diff: -Compared values have no visual difference." +- TSESTree ++ Babel + + Program { + type: 'Program', + body: Array [ + ClassDeclaration { + type: 'ClassDeclaration', + body: ClassBody { + type: 'ClassBody', + body: Array [], + + range: [30, 32], + loc: { + start: { column: 30, line: 1 }, + end: { column: 32, line: 1 }, + }, + }, + id: Identifier { + type: 'Identifier', + name: 'Foo', + + range: [6, 9], + loc: { + start: { column: 6, line: 1 }, + end: { column: 9, line: 1 }, + }, + }, + superClass: Identifier { + type: 'Identifier', + name: 'Set', + + range: [18, 21], + loc: { + start: { column: 18, line: 1 }, + end: { column: 21, line: 1 }, + }, + }, +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { + type: 'TSTypeParameterInstantiation', + params: Array [ + TSStringKeyword { + type: 'TSStringKeyword', + + range: [22, 28], + loc: { + start: { column: 22, line: 1 }, + end: { column: 28, line: 1 }, + }, + }, + ], + + range: [21, 29], + loc: { + start: { column: 21, line: 1 }, + end: { column: 29, line: 1 }, + }, + }, + + range: [0, 32], + loc: { + start: { column: 0, line: 1 }, + end: { column: 32, line: 1 }, + }, + }, + ], + sourceType: 'script', + + range: [0, 33], + loc: { + start: { column: 0, line: 1 }, + end: { column: 0, line: 2 }, + }, + }" `; diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot index aac248040d8..35fc0f627fe 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot @@ -36,7 +36,7 @@ Program { end: { column: 24, line: 1 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot index f6d5a3c73b3..81a386031e3 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot @@ -40,7 +40,8 @@ exports[`AST Fixtures declaration ClassDeclaration type-parameters-extends-type- end: { column: 24, line: 1 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot index 3859f9dbe85..abcbcbaab3f 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot @@ -36,7 +36,7 @@ Program { end: { column: 34, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot index 543de450f92..ba4db0136d7 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot @@ -40,7 +40,8 @@ exports[`AST Fixtures legacy-fixtures basics class-with-extends-generic-multiple end: { column: 34, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot index 9251113d68d..e383b780989 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot @@ -36,7 +36,7 @@ Program { end: { column: 24, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot index ac8187f4368..e953f542bed 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot @@ -40,7 +40,8 @@ exports[`AST Fixtures legacy-fixtures basics class-with-extends-generic AST Alig end: { column: 24, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot index 3f999169805..9716e7b1536 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot @@ -36,7 +36,7 @@ Program { end: { column: 44, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSTypeReference { @@ -137,7 +137,7 @@ Program { end: { column: 13, line: 6 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { + superTypeArguments: TSTypeParameterInstantiation { type: "TSTypeParameterInstantiation", params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot index 389df1b34e7..4eddd8eb72b 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot @@ -40,7 +40,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A end: { column: 44, line: 3 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -142,7 +143,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A end: { column: 13, line: 6 }, }, }, - superTypeParameters: TSTypeParameterInstantiation { +- superTypeArguments: TSTypeParameterInstantiation { ++ superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -195,22 +197,22 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A loc: { start: { column: 26, line: 5 }, end: { column: 27, line: 5 }, - }, - }, +- }, +- }, - in: false, - name: Identifier { - type: 'Identifier', - name: 'A', -+ name: 'A', - +- - range: [168, 169], - loc: { - start: { column: 12, line: 5 }, - end: { column: 13, line: 5 }, -- }, -- }, + }, + }, - out: false, -- ++ name: 'A', + range: [168, 183], loc: { start: { column: 12, line: 5 }, diff --git a/packages/ast-spec/tests/fixtures-with-differences-ast.shot b/packages/ast-spec/tests/fixtures-with-differences-ast.shot index bb6c6b6d84d..018572d503d 100644 --- a/packages/ast-spec/tests/fixtures-with-differences-ast.shot +++ b/packages/ast-spec/tests/fixtures-with-differences-ast.shot @@ -2,6 +2,7 @@ exports[`AST Fixtures List fixtures with AST differences 1`] = ` Set { + "declaration/ClassDeclaration/fixtures/extends-type-param/fixture.ts", "declaration/ClassDeclaration/fixtures/implements-many/fixture.ts", "declaration/ClassDeclaration/fixtures/implements-one/fixture.ts", "declaration/ClassDeclaration/fixtures/type-param/fixture.ts", diff --git a/packages/scope-manager/src/referencer/ClassVisitor.ts b/packages/scope-manager/src/referencer/ClassVisitor.ts index 0f3b6a20e94..a01cc78191e 100644 --- a/packages/scope-manager/src/referencer/ClassVisitor.ts +++ b/packages/scope-manager/src/referencer/ClassVisitor.ts @@ -74,7 +74,7 @@ class ClassVisitor extends Visitor { // visit the type param declarations this.visitType(node.typeParameters); // then the usages - this.visitType(node.superTypeParameters); + this.visitType(node.superTypeArguments); node.implements?.forEach(imp => this.visitType(imp)); this.visit(node.body); From 627a88383bf0eab1c0f457b591d44cdf981b73ca Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Thu, 23 Feb 2023 01:22:10 -0500 Subject: [PATCH 9/9] Added deprecated properties too --- packages/ast-spec/src/base/ClassBase.ts | 4 + packages/ast-spec/src/base/TSHeritageBase.ts | 3 + .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 21 +- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../src/expression/CallExpression/spec.ts | 4 + .../src/expression/NewExpression/spec.ts | 3 + .../TSInstantiationExpression/spec.ts | 3 + .../TaggedTemplateExpression/spec.ts | 4 + .../src/jsx/JSXOpeningElement/spec.ts | 4 + .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 49 +++ .../snapshots/5-AST-Alignment-AST.shot | 50 ++- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../snapshots/1-TSESTree-AST.shot | 49 +++ .../snapshots/5-AST-Alignment-AST.shot | 52 ++- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 33 +- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 61 +-- .../snapshots/1-TSESTree-AST.shot | 41 ++ .../snapshots/5-AST-Alignment-AST.shot | 73 ++-- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../snapshots/1-TSESTree-AST.shot | 260 +++++++++++++ .../snapshots/5-AST-Alignment-AST.shot | 353 ++++++++++++++---- .../snapshots/1-TSESTree-AST.shot | 40 ++ .../snapshots/5-AST-Alignment-AST.shot | 72 ++-- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 29 ++ .../snapshots/5-AST-Alignment-AST.shot | 60 +-- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 61 +-- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 61 +-- .../snapshots/1-TSESTree-AST.shot | 110 ++++++ .../snapshots/5-AST-Alignment-AST.shot | 144 +++++-- .../snapshots/1-TSESTree-AST.shot | 31 ++ .../snapshots/5-AST-Alignment-AST.shot | 46 ++- .../snapshots/1-TSESTree-AST.shot | 120 ++++++ .../snapshots/5-AST-Alignment-AST.shot | 144 ++++++- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 37 +- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 40 +- .../snapshots/1-TSESTree-AST.shot | 50 +++ .../snapshots/5-AST-Alignment-AST.shot | 52 ++- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../snapshots/1-TSESTree-AST.shot | 50 +++ .../snapshots/5-AST-Alignment-AST.shot | 52 ++- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 41 ++ .../snapshots/5-AST-Alignment-AST.shot | 72 ++-- .../snapshots/1-TSESTree-AST.shot | 120 ++++++ .../snapshots/5-AST-Alignment-AST.shot | 250 ++++++++----- .../snapshots/1-TSESTree-AST.shot | 40 ++ .../snapshots/5-AST-Alignment-AST.shot | 71 ++-- .../snapshots/1-TSESTree-AST.shot | 39 ++ .../snapshots/5-AST-Alignment-AST.shot | 70 ++-- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 61 +-- .../snapshots/1-TSESTree-AST.shot | 90 +++++ .../snapshots/5-AST-Alignment-AST.shot | 152 +++++--- .../snapshots/1-TSESTree-AST.shot | 20 + .../snapshots/5-AST-Alignment-AST.shot | 51 +-- .../snapshots/1-TSESTree-AST.shot | 151 ++++++++ .../snapshots/5-AST-Alignment-AST.shot | 296 ++++++++++----- .../snapshots/1-TSESTree-AST.shot | 30 ++ .../snapshots/5-AST-Alignment-AST.shot | 31 +- .../ast-spec/src/type/TSImportType/spec.ts | 3 + .../ast-spec/src/type/TSTypeQuery/spec.ts | 3 + .../ast-spec/src/type/TSTypeReference/spec.ts | 4 + packages/typescript-estree/src/convert.ts | 85 +++-- .../lib/__snapshots__/convert.test.ts.snap | 114 ++++++ .../lib/__snapshots__/parse.test.ts.snap | 7 + 87 files changed, 4212 insertions(+), 735 deletions(-) diff --git a/packages/ast-spec/src/base/ClassBase.ts b/packages/ast-spec/src/base/ClassBase.ts index e269bd11df6..43e4da99d0a 100644 --- a/packages/ast-spec/src/base/ClassBase.ts +++ b/packages/ast-spec/src/base/ClassBase.ts @@ -62,6 +62,10 @@ export interface ClassBase extends BaseNode { * This is `undefined` if there are no generic type parameters passed. */ superTypeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `superTypeArguments`} instead. */ + superTypeParameters?: TSTypeParameterInstantiation; + /** * The generic type parameters declared for the class. * This is `undefined` if there are no generic type parameters declared. diff --git a/packages/ast-spec/src/base/TSHeritageBase.ts b/packages/ast-spec/src/base/TSHeritageBase.ts index 00d7724eba8..b102123ca60 100644 --- a/packages/ast-spec/src/base/TSHeritageBase.ts +++ b/packages/ast-spec/src/base/TSHeritageBase.ts @@ -6,4 +6,7 @@ export interface TSHeritageBase extends BaseNode { // TODO(#1852) - this should be restricted to MemberExpression | Identifier expression: Expression; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot index 983182963c4..313a1a2ca5c 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/1-TSESTree-AST.shot @@ -56,6 +56,26 @@ Program { end: { column: 29, line: 1 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [22, 28], + loc: { + start: { column: 22, line: 1 }, + end: { column: 28, line: 1 }, + }, + }, + ], + + range: [21, 29], + loc: { + start: { column: 21, line: 1 }, + end: { column: 29, line: 1 }, + }, + }, range: [0, 32], loc: { diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot index be4f4f78362..91f3d48279a 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/extends-type-param/snapshots/5-AST-Alignment-AST.shot @@ -41,7 +41,26 @@ exports[`AST Fixtures declaration ClassDeclaration extends-type-param AST Alignm }, }, - superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [22, 28], +- loc: { +- start: { column: 22, line: 1 }, +- end: { column: 28, line: 1 }, +- }, +- }, +- ], +- +- range: [21, 29], +- loc: { +- start: { column: 21, line: 1 }, +- end: { column: 29, line: 1 }, +- }, +- }, + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot index 35fc0f627fe..ef17890bb62 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/1-TSESTree-AST.shot @@ -66,6 +66,36 @@ Program { end: { column: 27, line: 1 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [25, 26], + loc: { + start: { column: 25, line: 1 }, + end: { column: 26, line: 1 }, + }, + }, + + range: [25, 26], + loc: { + start: { column: 25, line: 1 }, + end: { column: 26, line: 1 }, + }, + }, + ], + + range: [24, 27], + loc: { + start: { column: 24, line: 1 }, + end: { column: 27, line: 1 }, + }, + }, typeParameters: TSTypeParameterDeclaration { type: "TSTypeParameterDeclaration", params: Array [ diff --git a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot index 81a386031e3..5c6479136e9 100644 --- a/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/declaration/ClassDeclaration/fixtures/type-parameters-extends-type-param/snapshots/5-AST-Alignment-AST.shot @@ -41,7 +41,36 @@ exports[`AST Fixtures declaration ClassDeclaration type-parameters-extends-type- }, }, - superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [25, 26], +- loc: { +- start: { column: 25, line: 1 }, +- end: { column: 26, line: 1 }, +- }, +- }, +- +- range: [25, 26], +- loc: { +- start: { column: 25, line: 1 }, +- end: { column: 26, line: 1 }, +- }, +- }, +- ], +- +- range: [24, 27], +- loc: { +- start: { column: 24, line: 1 }, +- end: { column: 27, line: 1 }, +- }, +- }, + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/expression/CallExpression/spec.ts b/packages/ast-spec/src/expression/CallExpression/spec.ts index 68adc99bfb0..bfe6e8d8d90 100644 --- a/packages/ast-spec/src/expression/CallExpression/spec.ts +++ b/packages/ast-spec/src/expression/CallExpression/spec.ts @@ -9,5 +9,9 @@ export interface CallExpression extends BaseNode { callee: LeftHandSideExpression; arguments: CallExpressionArgument[]; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; + optional: boolean; } diff --git a/packages/ast-spec/src/expression/NewExpression/spec.ts b/packages/ast-spec/src/expression/NewExpression/spec.ts index fbb31d5dff3..dc0956c24a6 100644 --- a/packages/ast-spec/src/expression/NewExpression/spec.ts +++ b/packages/ast-spec/src/expression/NewExpression/spec.ts @@ -9,4 +9,7 @@ export interface NewExpression extends BaseNode { callee: LeftHandSideExpression; arguments: CallExpressionArgument[]; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts index 2219a440bdf..064dd30612f 100644 --- a/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts +++ b/packages/ast-spec/src/expression/TSInstantiationExpression/spec.ts @@ -7,4 +7,7 @@ export interface TSInstantiationExpression extends BaseNode { type: AST_NODE_TYPES.TSInstantiationExpression; expression: Expression; typeArguments: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts index 9721f616472..8bac918f4ca 100644 --- a/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts +++ b/packages/ast-spec/src/expression/TaggedTemplateExpression/spec.ts @@ -7,6 +7,10 @@ import type { TemplateLiteral } from '../TemplateLiteral/spec'; export interface TaggedTemplateExpression extends BaseNode { type: AST_NODE_TYPES.TaggedTemplateExpression; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; + tag: LeftHandSideExpression; quasi: TemplateLiteral; } diff --git a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts index bd461fafb47..d589842df98 100644 --- a/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts +++ b/packages/ast-spec/src/jsx/JSXOpeningElement/spec.ts @@ -8,6 +8,10 @@ import type { JSXSpreadAttribute } from '../JSXSpreadAttribute/spec'; export interface JSXOpeningElement extends BaseNode { type: AST_NODE_TYPES.JSXOpeningElement; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; + selfClosing: boolean; name: JSXTagNameExpression; attributes: (JSXAttribute | JSXSpreadAttribute)[]; diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/1-TSESTree-AST.shot index 524d612cc36..288e7b2ed70 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/1-TSESTree-AST.shot @@ -71,6 +71,26 @@ Program { end: { column: 34, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [147, 153], + loc: { + start: { column: 35, line: 4 }, + end: { column: 41, line: 4 }, + }, + }, + ], + + range: [146, 154], + loc: { + start: { column: 34, line: 4 }, + end: { column: 42, line: 4 }, + }, + }, range: [139, 154], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/5-AST-Alignment-AST.shot index 04eb35cf995..a39d1d8f6e2 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-abstract-method/snapshots/5-AST-Alignment-AST.shot @@ -51,17 +51,36 @@ exports[`AST Fixtures legacy-fixtures basics abstract-class-with-abstract-method typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Promise', -+ -+ range: [139, 146], -+ loc: { -+ start: { column: 27, line: 4 }, -+ end: { column: 34, line: 4 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [147, 153], +- loc: { +- start: { column: 35, line: 4 }, +- end: { column: 41, line: 4 }, +- }, +- }, +- ], +- +- range: [146, 154], +- loc: { +- start: { column: 34, line: 4 }, +- end: { column: 42, line: 4 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Promise', + + range: [139, 146], + loc: { + start: { column: 27, line: 4 }, + end: { column: 34, line: 4 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { @@ -79,16 +98,6 @@ exports[`AST Fixtures legacy-fixtures basics abstract-class-with-abstract-method loc: { start: { column: 34, line: 4 }, end: { column: 42, line: 4 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Promise', -- -- range: [139, 146], -- loc: { -- start: { column: 27, line: 4 }, -- end: { column: 34, line: 4 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/1-TSESTree-AST.shot index e26717d3ce7..2fc857bfdba 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/1-TSESTree-AST.shot @@ -72,6 +72,26 @@ Program { end: { column: 26, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [139, 145], + loc: { + start: { column: 27, line: 4 }, + end: { column: 33, line: 4 }, + }, + }, + ], + + range: [138, 146], + loc: { + start: { column: 26, line: 4 }, + end: { column: 34, line: 4 }, + }, + }, range: [131, 146], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/5-AST-Alignment-AST.shot index 433df074662..4db0ba1cb67 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/abstract-class-with-optional-method/snapshots/5-AST-Alignment-AST.shot @@ -49,17 +49,36 @@ exports[`AST Fixtures legacy-fixtures basics abstract-class-with-optional-method typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Promise', -+ -+ range: [131, 138], -+ loc: { -+ start: { column: 19, line: 4 }, -+ end: { column: 26, line: 4 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [139, 145], +- loc: { +- start: { column: 27, line: 4 }, +- end: { column: 33, line: 4 }, +- }, +- }, +- ], +- +- range: [138, 146], +- loc: { +- start: { column: 26, line: 4 }, +- end: { column: 34, line: 4 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Promise', + + range: [131, 138], + loc: { + start: { column: 19, line: 4 }, + end: { column: 26, line: 4 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { @@ -77,16 +96,6 @@ exports[`AST Fixtures legacy-fixtures basics abstract-class-with-optional-method loc: { start: { column: 26, line: 4 }, end: { column: 34, line: 4 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Promise', -- -- range: [131, 138], -- loc: { -- start: { column: 19, line: 4 }, -- end: { column: 26, line: 4 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot index abcbcbaab3f..ded2419b191 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/1-TSESTree-AST.shot @@ -85,6 +85,55 @@ Program { end: { column: 40, line: 3 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "C", + + range: [108, 109], + loc: { + start: { column: 35, line: 3 }, + end: { column: 36, line: 3 }, + }, + }, + + range: [108, 109], + loc: { + start: { column: 35, line: 3 }, + end: { column: 36, line: 3 }, + }, + }, + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "D", + + range: [111, 112], + loc: { + start: { column: 38, line: 3 }, + end: { column: 39, line: 3 }, + }, + }, + + range: [111, 112], + loc: { + start: { column: 38, line: 3 }, + end: { column: 39, line: 3 }, + }, + }, + ], + + range: [107, 113], + loc: { + start: { column: 34, line: 3 }, + end: { column: 40, line: 3 }, + }, + }, typeParameters: TSTypeParameterDeclaration { type: "TSTypeParameterDeclaration", params: Array [ diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot index ba4db0136d7..ca63e23a86a 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic-multiple/snapshots/5-AST-Alignment-AST.shot @@ -41,7 +41,55 @@ exports[`AST Fixtures legacy-fixtures basics class-with-extends-generic-multiple }, }, - superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'C', +- +- range: [108, 109], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 36, line: 3 }, +- }, +- }, +- +- range: [108, 109], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 36, line: 3 }, +- }, +- }, +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'D', +- +- range: [111, 112], +- loc: { +- start: { column: 38, line: 3 }, +- end: { column: 39, line: 3 }, +- }, +- }, +- +- range: [111, 112], +- loc: { +- start: { column: 38, line: 3 }, +- end: { column: 39, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 113], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 40, line: 3 }, +- }, +- }, + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot index e383b780989..0eb56ff8f7a 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/1-TSESTree-AST.shot @@ -66,6 +66,36 @@ Program { end: { column: 27, line: 3 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "B", + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + ], + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, typeParameters: TSTypeParameterDeclaration { type: "TSTypeParameterDeclaration", params: Array [ diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot index e953f542bed..a97ace5c3c1 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-extends-generic/snapshots/5-AST-Alignment-AST.shot @@ -41,7 +41,36 @@ exports[`AST Fixtures legacy-fixtures basics class-with-extends-generic AST Alig }, }, - superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'B', +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- ], +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/1-TSESTree-AST.shot index dcf40730ae2..9912ba6bbcc 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/1-TSESTree-AST.shot @@ -88,6 +88,55 @@ Program { end: { column: 30, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "S", + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [101, 102], + loc: { + start: { column: 28, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + + range: [101, 102], + loc: { + start: { column: 28, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + ], + + range: [97, 103], + loc: { + start: { column: 24, line: 3 }, + end: { column: 30, line: 3 }, + }, + }, range: [94, 103], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/5-AST-Alignment-AST.shot index 571df5af080..d85931ef054 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic-multiple/snapshots/5-AST-Alignment-AST.shot @@ -43,10 +43,58 @@ exports[`AST Fixtures legacy-fixtures basics class-with-implements-generic-multi loc: { start: { column: 21, line: 3 }, end: { column: 24, line: 3 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'S', +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [101, 102], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- +- range: [101, 102], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- ], +- +- range: [97, 103], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 30, line: 3 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/1-TSESTree-AST.shot index 47bebefba3a..75d8c33614f 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/1-TSESTree-AST.shot @@ -69,6 +69,36 @@ Program { end: { column: 27, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "S", + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + ], + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, range: [94, 100], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/5-AST-Alignment-AST.shot index 0e3f6c27017..2f3b5490a9d 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-implements-generic/snapshots/5-AST-Alignment-AST.shot @@ -43,10 +43,39 @@ exports[`AST Fixtures legacy-fixtures basics class-with-implements-generic AST A loc: { start: { column: 21, line: 3 }, end: { column: 24, line: 3 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'S', +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- ], +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/1-TSESTree-AST.shot index 7235ab55400..373d4e7bae5 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/1-TSESTree-AST.shot @@ -116,6 +116,36 @@ Program { end: { column: 32, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "M", + + range: [106, 107], + loc: { + start: { column: 33, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + + range: [106, 107], + loc: { + start: { column: 33, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + ], + + range: [105, 108], + loc: { + start: { column: 32, line: 3 }, + end: { column: 35, line: 3 }, + }, + }, range: [94, 108], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/5-AST-Alignment-AST.shot index e2b36d54588..1656c11934c 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin-reference/snapshots/5-AST-Alignment-AST.shot @@ -81,17 +81,46 @@ exports[`AST Fixtures legacy-fixtures basics class-with-mixin-reference AST Alig constraint: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Constructor', -+ -+ range: [94, 105], -+ loc: { -+ start: { column: 21, line: 3 }, -+ end: { column: 32, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'M', +- +- range: [106, 107], +- loc: { +- start: { column: 33, line: 3 }, +- end: { column: 34, line: 3 }, +- }, +- }, +- +- range: [106, 107], +- loc: { +- start: { column: 33, line: 3 }, +- end: { column: 34, line: 3 }, +- }, +- }, +- ], +- +- range: [105, 108], +- loc: { +- start: { column: 32, line: 3 }, +- end: { column: 35, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Constructor', + + range: [94, 105], + loc: { + start: { column: 21, line: 3 }, + end: { column: 32, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -121,17 +150,7 @@ exports[`AST Fixtures legacy-fixtures basics class-with-mixin-reference AST Alig end: { column: 35, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Constructor', -- range: [94, 105], -- loc: { -- start: { column: 21, line: 3 }, -- end: { column: 32, line: 3 }, -- }, -- }, -- range: [94, 108], loc: { start: { column: 21, line: 3 }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/1-TSESTree-AST.shot index af694a2c03a..62bbd5a6d78 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/1-TSESTree-AST.shot @@ -147,6 +147,27 @@ Program { end: { column: 32, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeLiteral { + type: "TSTypeLiteral", + members: Array [], + + range: [106, 108], + loc: { + start: { column: 33, line: 3 }, + end: { column: 35, line: 3 }, + }, + }, + ], + + range: [105, 109], + loc: { + start: { column: 32, line: 3 }, + end: { column: 36, line: 3 }, + }, + }, range: [94, 109], loc: { @@ -276,6 +297,26 @@ Program { end: { column: 22, line: 7 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [175, 178], + loc: { + start: { column: 18, line: 7 }, + end: { column: 21, line: 7 }, + }, + }, + ], + + range: [174, 179], + loc: { + start: { column: 17, line: 7 }, + end: { column: 22, line: 7 }, + }, + }, range: [173, 182], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/5-AST-Alignment-AST.shot index 9da848e193a..6b48e3e25a5 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/class-with-mixin/snapshots/5-AST-Alignment-AST.shot @@ -121,17 +121,37 @@ exports[`AST Fixtures legacy-fixtures basics class-with-mixin AST Alignment - AS constraint: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Constructor', -+ -+ range: [94, 105], -+ loc: { -+ start: { column: 21, line: 3 }, -+ end: { column: 32, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeLiteral { +- type: 'TSTypeLiteral', +- members: Array [], +- +- range: [106, 108], +- loc: { +- start: { column: 33, line: 3 }, +- end: { column: 35, line: 3 }, +- }, +- }, +- ], +- +- range: [105, 109], +- loc: { +- start: { column: 32, line: 3 }, +- end: { column: 36, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Constructor', + + range: [94, 105], + loc: { + start: { column: 21, line: 3 }, + end: { column: 32, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeLiteral { @@ -152,17 +172,7 @@ exports[`AST Fixtures legacy-fixtures basics class-with-mixin AST Alignment - AS end: { column: 36, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Constructor', -- range: [94, 105], -- loc: { -- start: { column: 21, line: 3 }, -- end: { column: 32, line: 3 }, -- }, -- }, -- range: [94, 109], loc: { start: { column: 21, line: 3 }, @@ -275,7 +285,26 @@ exports[`AST Fixtures legacy-fixtures basics class-with-mixin AST Alignment - AS }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSAnyKeyword { +- type: 'TSAnyKeyword', +- +- range: [175, 178], +- loc: { +- start: { column: 18, line: 7 }, +- end: { column: 21, line: 7 }, +- }, +- }, +- ], +- +- range: [174, 179], +- loc: { +- start: { column: 17, line: 7 }, +- end: { column: 22, line: 7 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSAnyKeyword { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/1-TSESTree-AST.shot index 32fac2ebda6..22ea837ae55 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/1-TSESTree-AST.shot @@ -172,6 +172,26 @@ Program { end: { column: 16, line: 6 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [145, 151], + loc: { + start: { column: 17, line: 6 }, + end: { column: 23, line: 6 }, + }, + }, + ], + + range: [144, 152], + loc: { + start: { column: 16, line: 6 }, + end: { column: 24, line: 6 }, + }, + }, range: [139, 152], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/5-AST-Alignment-AST.shot index e7c6b0513f4..543bea7d175 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/function-with-types-assignation/snapshots/5-AST-Alignment-AST.shot @@ -147,17 +147,36 @@ exports[`AST Fixtures legacy-fixtures basics function-with-types-assignation AST typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [139, 144], -+ loc: { -+ start: { column: 11, line: 6 }, -+ end: { column: 16, line: 6 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [145, 151], +- loc: { +- start: { column: 17, line: 6 }, +- end: { column: 23, line: 6 }, +- }, +- }, +- ], +- +- range: [144, 152], +- loc: { +- start: { column: 16, line: 6 }, +- end: { column: 24, line: 6 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [139, 144], + loc: { + start: { column: 11, line: 6 }, + end: { column: 16, line: 6 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { @@ -175,16 +194,6 @@ exports[`AST Fixtures legacy-fixtures basics function-with-types-assignation AST loc: { start: { column: 16, line: 6 }, end: { column: 24, line: 6 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [139, 144], -- loc: { -- start: { column: 11, line: 6 }, -- end: { column: 16, line: 6 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/1-TSESTree-AST.shot index 8f91816edeb..ba51eeaf2bc 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/1-TSESTree-AST.shot @@ -59,6 +59,36 @@ Program { end: { column: 31, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "J", + + range: [102, 103], + loc: { + start: { column: 29, line: 3 }, + end: { column: 30, line: 3 }, + }, + }, + + range: [102, 103], + loc: { + start: { column: 29, line: 3 }, + end: { column: 30, line: 3 }, + }, + }, + ], + + range: [101, 104], + loc: { + start: { column: 28, line: 3 }, + end: { column: 31, line: 3 }, + }, + }, range: [98, 104], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/5-AST-Alignment-AST.shot index 2114cc8d3d3..8743d1a6baf 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/interface-with-extends-type-parameters/snapshots/5-AST-Alignment-AST.shot @@ -36,7 +36,36 @@ exports[`AST Fixtures legacy-fixtures basics interface-with-extends-type-paramet }, }, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'J', +- +- range: [102, 103], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 30, line: 3 }, +- }, +- }, +- +- range: [102, 103], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 30, line: 3 }, +- }, +- }, +- ], +- +- range: [101, 104], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 31, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/1-TSESTree-AST.shot index 2b3200b0137..7cc4d89ca0c 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/1-TSESTree-AST.shot @@ -56,6 +56,26 @@ Program { end: { column: 34, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, range: [102, 115], loc: { @@ -81,6 +101,76 @@ Program { end: { column: 28, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + typeName: Identifier { + type: "Identifier", + name: "Array", + + range: [102, 107], + loc: { + start: { column: 29, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + + range: [102, 115], + loc: { + start: { column: 29, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + ], + + range: [101, 116], + loc: { + start: { column: 28, line: 3 }, + end: { column: 43, line: 3 }, + }, + }, range: [96, 116], loc: { @@ -106,6 +196,176 @@ Program { end: { column: 22, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + typeName: Identifier { + type: "Identifier", + name: "Array", + + range: [102, 107], + loc: { + start: { column: 29, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + + range: [102, 115], + loc: { + start: { column: 29, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + ], + + range: [101, 116], + loc: { + start: { column: 28, line: 3 }, + end: { column: 43, line: 3 }, + }, + }, + typeName: Identifier { + type: "Identifier", + name: "Array", + + range: [96, 101], + loc: { + start: { column: 23, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + typeName: Identifier { + type: "Identifier", + name: "Array", + + range: [102, 107], + loc: { + start: { column: 29, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [108, 114], + loc: { + start: { column: 35, line: 3 }, + end: { column: 41, line: 3 }, + }, + }, + ], + + range: [107, 115], + loc: { + start: { column: 34, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + + range: [102, 115], + loc: { + start: { column: 29, line: 3 }, + end: { column: 42, line: 3 }, + }, + }, + ], + + range: [101, 116], + loc: { + start: { column: 28, line: 3 }, + end: { column: 43, line: 3 }, + }, + }, + + range: [96, 116], + loc: { + start: { column: 23, line: 3 }, + end: { column: 43, line: 3 }, + }, + }, + ], + + range: [95, 117], + loc: { + start: { column: 22, line: 3 }, + end: { column: 44, line: 3 }, + }, + }, range: [90, 117], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/5-AST-Alignment-AST.shot index 3ddffd0f15b..7813a45fd01 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/nested-type-arguments/snapshots/5-AST-Alignment-AST.shot @@ -21,49 +21,306 @@ exports[`AST Fixtures legacy-fixtures basics nested-type-arguments AST Alignment typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [90, 95], -+ loc: { -+ start: { column: 17, line: 3 }, -+ end: { column: 22, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- typeName: Identifier { +- type: 'Identifier', +- name: 'Array', +- +- range: [102, 107], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 34, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- +- range: [102, 115], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- ], +- +- range: [101, 116], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 43, line: 3 }, +- }, +- }, +- typeName: Identifier { +- type: 'Identifier', +- name: 'Array', +- +- range: [96, 101], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 28, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- typeName: Identifier { +- type: 'Identifier', +- name: 'Array', +- +- range: [102, 107], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 34, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- +- range: [102, 115], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- ], +- +- range: [101, 116], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 43, line: 3 }, +- }, +- }, +- +- range: [96, 116], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 43, line: 3 }, +- }, +- }, +- ], +- +- range: [95, 117], +- loc: { +- start: { column: 22, line: 3 }, +- end: { column: 44, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [90, 95], + loc: { + start: { column: 17, line: 3 }, + end: { column: 22, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [96, 101], -+ loc: { -+ start: { column: 23, line: 3 }, -+ end: { column: 28, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- typeName: Identifier { +- type: 'Identifier', +- name: 'Array', +- +- range: [102, 107], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 34, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- +- range: [102, 115], +- loc: { +- start: { column: 29, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, +- ], +- +- range: [101, 116], +- loc: { +- start: { column: 28, line: 3 }, +- end: { column: 43, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [96, 101], + loc: { + start: { column: 23, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [102, 107], -+ loc: { -+ start: { column: 29, line: 3 }, -+ end: { column: 34, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [108, 114], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 41, line: 3 }, +- }, +- }, +- ], +- +- range: [107, 115], +- loc: { +- start: { column: 34, line: 3 }, +- end: { column: 42, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [102, 107], + loc: { + start: { column: 29, line: 3 }, + end: { column: 34, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { @@ -81,16 +338,6 @@ exports[`AST Fixtures legacy-fixtures basics nested-type-arguments AST Alignment loc: { start: { column: 34, line: 3 }, end: { column: 42, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [102, 107], -- loc: { -- start: { column: 29, line: 3 }, -- end: { column: 34, line: 3 }, }, }, @@ -106,16 +353,6 @@ exports[`AST Fixtures legacy-fixtures basics nested-type-arguments AST Alignment loc: { start: { column: 28, line: 3 }, end: { column: 43, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [96, 101], -- loc: { -- start: { column: 23, line: 3 }, -- end: { column: 28, line: 3 }, }, }, @@ -131,16 +368,6 @@ exports[`AST Fixtures legacy-fixtures basics nested-type-arguments AST Alignment loc: { start: { column: 22, line: 3 }, end: { column: 44, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [90, 95], -- loc: { -- start: { column: 17, line: 3 }, -- end: { column: 22, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/1-TSESTree-AST.shot index 80f127297b9..97820a6e6d8 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/1-TSESTree-AST.shot @@ -46,6 +46,26 @@ Program { end: { column: 8, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNeverKeyword { + type: "TSNeverKeyword", + + range: [82, 87], + loc: { + start: { column: 9, line: 3 }, + end: { column: 14, line: 3 }, + }, + }, + ], + + range: [81, 88], + loc: { + start: { column: 8, line: 3 }, + end: { column: 15, line: 3 }, + }, + }, range: [80, 88], loc: { @@ -141,6 +161,26 @@ Program { end: { column: 23, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNeverKeyword { + type: "TSNeverKeyword", + + range: [107, 112], + loc: { + start: { column: 17, line: 4 }, + end: { column: 22, line: 4 }, + }, + }, + ], + + range: [106, 113], + loc: { + start: { column: 16, line: 4 }, + end: { column: 23, line: 4 }, + }, + }, range: [90, 115], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/5-AST-Alignment-AST.shot index 69f5b1420ee..718e34a1d42 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/never-type-param/snapshots/5-AST-Alignment-AST.shot @@ -21,17 +21,36 @@ exports[`AST Fixtures legacy-fixtures basics never-type-param AST Alignment - AS typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'X', -+ -+ range: [80, 81], -+ loc: { -+ start: { column: 7, line: 3 }, -+ end: { column: 8, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNeverKeyword { +- type: 'TSNeverKeyword', +- +- range: [82, 87], +- loc: { +- start: { column: 9, line: 3 }, +- end: { column: 14, line: 3 }, +- }, +- }, +- ], +- +- range: [81, 88], +- loc: { +- start: { column: 8, line: 3 }, +- end: { column: 15, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'X', + + range: [80, 81], + loc: { + start: { column: 7, line: 3 }, + end: { column: 8, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNeverKeyword { @@ -49,16 +68,6 @@ exports[`AST Fixtures legacy-fixtures basics never-type-param AST Alignment - AS loc: { start: { column: 8, line: 3 }, end: { column: 15, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'X', -- -- range: [80, 81], -- loc: { -- start: { column: 7, line: 3 }, -- end: { column: 8, line: 3 }, }, }, @@ -137,7 +146,26 @@ exports[`AST Fixtures legacy-fixtures basics never-type-param AST Alignment - AS }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNeverKeyword { +- type: 'TSNeverKeyword', +- +- range: [107, 112], +- loc: { +- start: { column: 17, line: 4 }, +- end: { column: 22, line: 4 }, +- }, +- }, +- ], +- +- range: [106, 113], +- loc: { +- start: { column: 16, line: 4 }, +- end: { column: 23, line: 4 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNeverKeyword { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/1-TSESTree-AST.shot index 05c52034f33..d0e7554b413 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/1-TSESTree-AST.shot @@ -182,6 +182,26 @@ Program { end: { column: 31, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSStringKeyword { + type: "TSStringKeyword", + + range: [105, 111], + loc: { + start: { column: 32, line: 3 }, + end: { column: 38, line: 3 }, + }, + }, + ], + + range: [104, 112], + loc: { + start: { column: 31, line: 3 }, + end: { column: 39, line: 3 }, + }, + }, range: [91, 112], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/5-AST-Alignment-AST.shot index 5707e2c9883..398454beb2d 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/readonly-arrays/snapshots/5-AST-Alignment-AST.shot @@ -157,17 +157,36 @@ exports[`AST Fixtures legacy-fixtures basics readonly-arrays AST Alignment - AST typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'ReadonlyArray', -+ -+ range: [91, 104], -+ loc: { -+ start: { column: 18, line: 3 }, -+ end: { column: 31, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [105, 111], +- loc: { +- start: { column: 32, line: 3 }, +- end: { column: 38, line: 3 }, +- }, +- }, +- ], +- +- range: [104, 112], +- loc: { +- start: { column: 31, line: 3 }, +- end: { column: 39, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'ReadonlyArray', + + range: [91, 104], + loc: { + start: { column: 18, line: 3 }, + end: { column: 31, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSStringKeyword { @@ -185,16 +204,6 @@ exports[`AST Fixtures legacy-fixtures basics readonly-arrays AST Alignment - AST loc: { start: { column: 31, line: 3 }, end: { column: 39, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'ReadonlyArray', -- -- range: [91, 104], -- loc: { -- start: { column: 18, line: 3 }, -- end: { column: 31, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/1-TSESTree-AST.shot index f7e0ff55d34..b9b06647269 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/1-TSESTree-AST.shot @@ -76,6 +76,35 @@ Program { end: { column: 22, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSSymbolKeyword { + type: "TSSymbolKeyword", + + range: [96, 102], + loc: { + start: { column: 23, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + TSStringKeyword { + type: "TSStringKeyword", + + range: [104, 110], + loc: { + start: { column: 31, line: 3 }, + end: { column: 37, line: 3 }, + }, + }, + ], + + range: [95, 111], + loc: { + start: { column: 22, line: 3 }, + end: { column: 38, line: 3 }, + }, + }, range: [92, 111], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/5-AST-Alignment-AST.shot index 40ec3100c04..05b325e0ad0 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/symbol-type-param/snapshots/5-AST-Alignment-AST.shot @@ -42,17 +42,45 @@ exports[`AST Fixtures legacy-fixtures basics symbol-type-param AST Alignment - A typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Map', -+ -+ range: [92, 95], -+ loc: { -+ start: { column: 19, line: 3 }, -+ end: { column: 22, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSSymbolKeyword { +- type: 'TSSymbolKeyword', +- +- range: [96, 102], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [104, 110], +- loc: { +- start: { column: 31, line: 3 }, +- end: { column: 37, line: 3 }, +- }, +- }, +- ], +- +- range: [95, 111], +- loc: { +- start: { column: 22, line: 3 }, +- end: { column: 38, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Map', + + range: [92, 95], + loc: { + start: { column: 19, line: 3 }, + end: { column: 22, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSSymbolKeyword { @@ -79,16 +107,6 @@ exports[`AST Fixtures legacy-fixtures basics symbol-type-param AST Alignment - A loc: { start: { column: 22, line: 3 }, end: { column: 38, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Map', -- -- range: [92, 95], -- loc: { -- start: { column: 19, line: 3 }, -- end: { column: 22, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/1-TSESTree-AST.shot index 791f9f0f3d1..3ef2c4b3537 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/1-TSESTree-AST.shot @@ -61,6 +61,36 @@ Program { end: { column: 35, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [109, 110], + loc: { + start: { column: 36, line: 3 }, + end: { column: 37, line: 3 }, + }, + }, + + range: [109, 110], + loc: { + start: { column: 36, line: 3 }, + end: { column: 37, line: 3 }, + }, + }, + ], + + range: [108, 111], + loc: { + start: { column: 35, line: 3 }, + end: { column: 38, line: 3 }, + }, + }, range: [101, 111], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/5-AST-Alignment-AST.shot index c0e7eef9c93..168056ecf87 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration-with-constrained-type-parameter/snapshots/5-AST-Alignment-AST.shot @@ -26,17 +26,46 @@ exports[`AST Fixtures legacy-fixtures basics type-alias-declaration-with-constra TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Success', -+ -+ range: [101, 108], -+ loc: { -+ start: { column: 28, line: 3 }, -+ end: { column: 35, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [109, 110], +- loc: { +- start: { column: 36, line: 3 }, +- end: { column: 37, line: 3 }, +- }, +- }, +- +- range: [109, 110], +- loc: { +- start: { column: 36, line: 3 }, +- end: { column: 37, line: 3 }, +- }, +- }, +- ], +- +- range: [108, 111], +- loc: { +- start: { column: 35, line: 3 }, +- end: { column: 38, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Success', + + range: [101, 108], + loc: { + start: { column: 28, line: 3 }, + end: { column: 35, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -66,17 +95,7 @@ exports[`AST Fixtures legacy-fixtures basics type-alias-declaration-with-constra end: { column: 38, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Success', -- range: [101, 108], -- loc: { -- start: { column: 28, line: 3 }, -- end: { column: 35, line: 3 }, -- }, -- }, -- range: [101, 111], loc: { start: { column: 28, line: 3 }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/1-TSESTree-AST.shot index 3cdf1b18673..34a40d3d5f7 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/1-TSESTree-AST.shot @@ -61,6 +61,36 @@ Program { end: { column: 24, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + + range: [98, 99], + loc: { + start: { column: 25, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + ], + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, range: [90, 100], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/5-AST-Alignment-AST.shot index b01111ff543..6e0d8613180 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-alias-declaration/snapshots/5-AST-Alignment-AST.shot @@ -26,17 +26,46 @@ exports[`AST Fixtures legacy-fixtures basics type-alias-declaration AST Alignmen TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Success', -+ -+ range: [90, 97], -+ loc: { -+ start: { column: 17, line: 3 }, -+ end: { column: 24, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- +- range: [98, 99], +- loc: { +- start: { column: 25, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- ], +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Success', + + range: [90, 97], + loc: { + start: { column: 17, line: 3 }, + end: { column: 24, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -66,17 +95,7 @@ exports[`AST Fixtures legacy-fixtures basics type-alias-declaration AST Alignmen end: { column: 27, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Success', -- range: [90, 97], -- loc: { -- start: { column: 17, line: 3 }, -- end: { column: 24, line: 3 }, -- }, -- }, -- range: [90, 100], loc: { start: { column: 17, line: 3 }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/1-TSESTree-AST.shot index cfc729be3fc..4e35addc8df 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/1-TSESTree-AST.shot @@ -73,6 +73,26 @@ Program { end: { column: 28, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, + ], + + range: [96, 101], + loc: { + start: { column: 23, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, range: [84, 101], loc: { @@ -98,6 +118,96 @@ Program { end: { column: 10, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSImportType { + type: "TSImportType", + argument: TSLiteralType { + type: "TSLiteralType", + literal: Literal { + type: "Literal", + raw: "''", + value: "", + + range: [91, 93], + loc: { + start: { column: 18, line: 3 }, + end: { column: 20, line: 3 }, + }, + }, + + range: [91, 93], + loc: { + start: { column: 18, line: 3 }, + end: { column: 20, line: 3 }, + }, + }, + qualifier: Identifier { + type: "Identifier", + name: "B", + + range: [95, 96], + loc: { + start: { column: 22, line: 3 }, + end: { column: 23, line: 3 }, + }, + }, + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, + ], + + range: [96, 101], + loc: { + start: { column: 23, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [97, 100], + loc: { + start: { column: 24, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, + ], + + range: [96, 101], + loc: { + start: { column: 23, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, + + range: [84, 101], + loc: { + start: { column: 11, line: 3 }, + end: { column: 28, line: 3 }, + }, + }, + ], + + range: [83, 102], + loc: { + start: { column: 10, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, range: [82, 102], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/5-AST-Alignment-AST.shot index 82a2a6fb3e4..3d2a86f859c 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type-with-type-parameters-in-type-reference/snapshots/5-AST-Alignment-AST.shot @@ -23,17 +23,106 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type-with-type-paramete typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'A', -+ -+ range: [82, 83], -+ loc: { -+ start: { column: 9, line: 3 }, -+ end: { column: 10, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSImportType { +- type: 'TSImportType', +- argument: TSLiteralType { +- type: 'TSLiteralType', +- literal: Literal { +- type: 'Literal', +- raw: '\\\\'\\\\'', +- value: '', +- +- range: [91, 93], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 20, line: 3 }, +- }, +- }, +- +- range: [91, 93], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 20, line: 3 }, +- }, +- }, +- qualifier: Identifier { +- type: 'Identifier', +- name: 'B', +- +- range: [95, 96], +- loc: { +- start: { column: 22, line: 3 }, +- end: { column: 23, line: 3 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSAnyKeyword { +- type: 'TSAnyKeyword', +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, +- ], +- +- range: [96, 101], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 28, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSAnyKeyword { +- type: 'TSAnyKeyword', +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, +- ], +- +- range: [96, 101], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 28, line: 3 }, +- }, +- }, +- +- range: [84, 101], +- loc: { +- start: { column: 11, line: 3 }, +- end: { column: 28, line: 3 }, +- }, +- }, +- ], +- +- range: [83, 102], +- loc: { +- start: { column: 10, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'A', + + range: [82, 83], + loc: { + start: { column: 9, line: 3 }, + end: { column: 10, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSImportType { @@ -70,10 +159,29 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type-with-type-paramete loc: { start: { column: 22, line: 3 }, end: { column: 23, line: 3 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSAnyKeyword { +- type: 'TSAnyKeyword', +- +- range: [97, 100], +- loc: { +- start: { column: 24, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, +- ], +- +- range: [96, 101], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 28, line: 3 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSAnyKeyword { @@ -106,16 +214,6 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type-with-type-paramete loc: { start: { column: 10, line: 3 }, end: { column: 29, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'A', -- -- range: [82, 83], -- loc: { -- start: { column: 9, line: 3 }, -- end: { column: 10, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/1-TSESTree-AST.shot index 0b34c12b398..453dc72677f 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/1-TSESTree-AST.shot @@ -42,6 +42,7 @@ Program { }, qualifier: null, typeArguments: null, + typeParameters: null, range: [89, 100], loc: { @@ -137,6 +138,36 @@ Program { end: { column: 25, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "Y", + + range: [125, 126], + loc: { + start: { column: 23, line: 4 }, + end: { column: 24, line: 4 }, + }, + }, + + range: [125, 126], + loc: { + start: { column: 23, line: 4 }, + end: { column: 24, line: 4 }, + }, + }, + ], + + range: [124, 127], + loc: { + start: { column: 22, line: 4 }, + end: { column: 25, line: 4 }, + }, + }, range: [111, 127], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/5-AST-Alignment-AST.shot index 7decc408404..3c3c8c23b2f 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-import-type/snapshots/5-AST-Alignment-AST.shot @@ -30,18 +30,18 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type AST Alignment - AS - type: 'Literal', - raw: '\\\\'A\\\\'', - value: 'A', -- ++ argument: Literal { ++ type: 'Literal', ++ raw: '\\\\'A\\\\'', ++ value: 'A', + - range: [96, 99], - loc: { - start: { column: 23, line: 3 }, - end: { column: 26, line: 3 }, - }, - }, -+ argument: Literal { -+ type: 'Literal', -+ raw: '\\\\'A\\\\'', -+ value: 'A', - +- range: [96, 99], loc: { start: { column: 23, line: 3 }, @@ -50,6 +50,7 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type AST Alignment - AS }, - qualifier: null, - typeArguments: null, +- typeParameters: null, range: [89, 100], loc: { @@ -117,10 +118,39 @@ exports[`AST Fixtures legacy-fixtures basics type-import-type AST Alignment - AS loc: { start: { column: 21, line: 4 }, end: { column: 22, line: 4 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'Y', +- +- range: [125, 126], +- loc: { +- start: { column: 23, line: 4 }, +- end: { column: 24, line: 4 }, +- }, +- }, +- +- range: [125, 126], +- loc: { +- start: { column: 23, line: 4 }, +- end: { column: 24, line: 4 }, +- }, +- }, +- ], +- +- range: [124, 127], +- loc: { +- start: { column: 22, line: 4 }, +- end: { column: 25, line: 4 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot index 9716e7b1536..94eed9630d2 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/1-TSESTree-AST.shot @@ -66,6 +66,36 @@ Program { end: { column: 67, line: 3 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [128, 129], + loc: { + start: { column: 55, line: 3 }, + end: { column: 56, line: 3 }, + }, + }, + + range: [128, 129], + loc: { + start: { column: 55, line: 3 }, + end: { column: 56, line: 3 }, + }, + }, + ], + + range: [117, 140], + loc: { + start: { column: 44, line: 3 }, + end: { column: 67, line: 3 }, + }, + }, typeParameters: TSTypeParameterDeclaration { type: "TSTypeParameterDeclaration", params: Array [ @@ -167,6 +197,36 @@ Program { end: { column: 36, line: 6 }, }, }, + superTypeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [219, 220], + loc: { + start: { column: 24, line: 6 }, + end: { column: 25, line: 6 }, + }, + }, + + range: [219, 220], + loc: { + start: { column: 24, line: 6 }, + end: { column: 25, line: 6 }, + }, + }, + ], + + range: [208, 231], + loc: { + start: { column: 13, line: 6 }, + end: { column: 36, line: 6 }, + }, + }, typeParameters: TSTypeParameterDeclaration { type: "TSTypeParameterDeclaration", params: Array [ @@ -281,6 +341,36 @@ Program { end: { column: 72, line: 7 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [295, 296], + loc: { + start: { column: 60, line: 7 }, + end: { column: 61, line: 7 }, + }, + }, + + range: [295, 296], + loc: { + start: { column: 60, line: 7 }, + end: { column: 61, line: 7 }, + }, + }, + ], + + range: [284, 307], + loc: { + start: { column: 49, line: 7 }, + end: { column: 72, line: 7 }, + }, + }, range: [280, 307], loc: { @@ -393,6 +483,36 @@ Program { end: { column: 36, line: 9 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [387, 388], + loc: { + start: { column: 24, line: 9 }, + end: { column: 25, line: 9 }, + }, + }, + + range: [387, 388], + loc: { + start: { column: 24, line: 9 }, + end: { column: 25, line: 9 }, + }, + }, + ], + + range: [376, 399], + loc: { + start: { column: 13, line: 9 }, + end: { column: 36, line: 9 }, + }, + }, range: [373, 399], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot index 4eddd8eb72b..61551b391db 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments-heritage/snapshots/5-AST-Alignment-AST.shot @@ -41,7 +41,36 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A }, }, - superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [128, 129], +- loc: { +- start: { column: 55, line: 3 }, +- end: { column: 56, line: 3 }, +- }, +- }, +- +- range: [128, 129], +- loc: { +- start: { column: 55, line: 3 }, +- end: { column: 56, line: 3 }, +- }, +- }, +- ], +- +- range: [117, 140], +- loc: { +- start: { column: 44, line: 3 }, +- end: { column: 67, line: 3 }, +- }, +- }, + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -80,7 +109,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A - name: Identifier { - type: 'Identifier', - name: 'A', -- ++ name: 'A', + - range: [93, 94], - loc: { - start: { column: 20, line: 3 }, @@ -88,8 +118,7 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A - }, - }, - out: false, -+ name: 'A', - +- range: [93, 94], loc: { start: { column: 20, line: 3 }, @@ -141,10 +170,39 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A loc: { start: { column: 10, line: 6 }, end: { column: 13, line: 6 }, +- }, +- }, +- superTypeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [219, 220], +- loc: { +- start: { column: 24, line: 6 }, +- end: { column: 25, line: 6 }, +- }, +- }, +- +- range: [219, 220], +- loc: { +- start: { column: 24, line: 6 }, +- end: { column: 25, line: 6 }, +- }, +- }, +- ], +- +- range: [208, 231], +- loc: { +- start: { column: 13, line: 6 }, +- end: { column: 36, line: 6 }, }, }, -- superTypeArguments: TSTypeParameterInstantiation { -+ superTypeParameters: TSTypeParameterInstantiation { + superTypeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -197,8 +255,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A loc: { start: { column: 26, line: 5 }, end: { column: 27, line: 5 }, -- }, -- }, + }, + }, - in: false, - name: Identifier { - type: 'Identifier', @@ -208,8 +266,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A - loc: { - start: { column: 12, line: 5 }, - end: { column: 13, line: 5 }, - }, - }, +- }, +- }, - out: false, + name: 'A', @@ -259,10 +317,39 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A loc: { start: { column: 45, line: 7 }, end: { column: 49, line: 7 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [295, 296], +- loc: { +- start: { column: 60, line: 7 }, +- end: { column: 61, line: 7 }, +- }, +- }, +- +- range: [295, 296], +- loc: { +- start: { column: 60, line: 7 }, +- end: { column: 61, line: 7 }, +- }, +- }, +- ], +- +- range: [284, 307], +- loc: { +- start: { column: 49, line: 7 }, +- end: { column: 72, line: 7 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -375,10 +462,39 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments-heritage A loc: { start: { column: 10, line: 9 }, end: { column: 13, line: 9 }, +- }, +- }, +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [387, 388], +- loc: { +- start: { column: 24, line: 9 }, +- end: { column: 25, line: 9 }, +- }, +- }, +- +- range: [387, 388], +- loc: { +- start: { column: 24, line: 9 }, +- end: { column: 25, line: 9 }, +- }, +- }, +- ], +- +- range: [376, 399], +- loc: { +- start: { column: 13, line: 9 }, +- end: { column: 36, line: 9 }, }, }, -- typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/1-TSESTree-AST.shot index 89734d6a5d7..19505507e6e 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/1-TSESTree-AST.shot @@ -50,6 +50,36 @@ Program { end: { column: 38, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [93, 94], + loc: { + start: { column: 20, line: 3 }, + end: { column: 21, line: 3 }, + }, + }, + + range: [93, 94], + loc: { + start: { column: 20, line: 3 }, + end: { column: 21, line: 3 }, + }, + }, + ], + + range: [76, 111], + loc: { + start: { column: 3, line: 3 }, + end: { column: 38, line: 3 }, + }, + }, range: [73, 113], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/5-AST-Alignment-AST.shot index 6753b1231a9..dfa3331ca0d 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-parameters-comments/snapshots/5-AST-Alignment-AST.shot @@ -25,7 +25,36 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments AST Alignm }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [93, 94], +- loc: { +- start: { column: 20, line: 3 }, +- end: { column: 21, line: 3 }, +- }, +- }, +- +- range: [93, 94], +- loc: { +- start: { column: 20, line: 3 }, +- end: { column: 21, line: 3 }, +- }, +- }, +- ], +- +- range: [76, 111], +- loc: { +- start: { column: 3, line: 3 }, +- end: { column: 38, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -104,7 +133,8 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments AST Alignm - name: Identifier { - type: 'Identifier', - name: 'A', -- ++ name: 'A', + - range: [138, 139], - loc: { - start: { column: 23, line: 4 }, @@ -112,8 +142,7 @@ exports[`AST Fixtures legacy-fixtures basics type-parameters-comments AST Alignm - }, - }, - out: false, -+ name: 'A', - +- range: [138, 139], loc: { start: { column: 23, line: 4 }, diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/1-TSESTree-AST.shot index e33afb57cf9..75dbf16b8c1 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/1-TSESTree-AST.shot @@ -78,6 +78,26 @@ Program { end: { column: 29, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [127, 130], + loc: { + start: { column: 30, line: 4 }, + end: { column: 33, line: 4 }, + }, + }, + ], + + range: [126, 147], + loc: { + start: { column: 29, line: 4 }, + end: { column: 50, line: 4 }, + }, + }, range: [109, 147], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/5-AST-Alignment-AST.shot index dee6e4bbe42..3d1129c5acf 100644 --- a/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/basics/fixtures/type-reference-comments/snapshots/5-AST-Alignment-AST.shot @@ -80,26 +80,26 @@ exports[`AST Fixtures legacy-fixtures basics type-reference-comments AST Alignme loc: { start: { column: 12, line: 4 }, end: { column: 29, line: 4 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { -+ type: 'TSTypeParameterInstantiation', -+ params: Array [ -+ TSAnyKeyword { -+ type: 'TSAnyKeyword', -+ -+ range: [127, 130], -+ loc: { -+ start: { column: 30, line: 4 }, -+ end: { column: 33, line: 4 }, -+ }, -+ }, -+ ], -+ -+ range: [126, 147], -+ loc: { -+ start: { column: 29, line: 4 }, -+ end: { column: 50, line: 4 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: 'TSTypeParameterInstantiation', + params: Array [ + TSAnyKeyword { + type: 'TSAnyKeyword', + + range: [127, 130], + loc: { + start: { column: 30, line: 4 }, + end: { column: 33, line: 4 }, + }, + }, + ], + + range: [126, 147], + loc: { + start: { column: 29, line: 4 }, + end: { column: 50, line: 4 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/1-TSESTree-AST.shot index 68779b7e433..1b469748f96 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/1-TSESTree-AST.shot @@ -50,6 +50,36 @@ Program { end: { column: 6, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [77, 78], + loc: { + start: { column: 4, line: 3 }, + end: { column: 5, line: 3 }, + }, + }, + + range: [77, 78], + loc: { + start: { column: 4, line: 3 }, + end: { column: 5, line: 3 }, + }, + }, + ], + + range: [76, 79], + loc: { + start: { column: 3, line: 3 }, + end: { column: 6, line: 3 }, + }, + }, range: [73, 81], loc: { @@ -100,6 +130,26 @@ Program { end: { column: 11, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [87, 93], + loc: { + start: { column: 4, line: 4 }, + end: { column: 10, line: 4 }, + }, + }, + ], + + range: [86, 94], + loc: { + start: { column: 3, line: 4 }, + end: { column: 11, line: 4 }, + }, + }, range: [83, 96], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot index 3837b30fd4f..967a42b4d8d 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot @@ -25,7 +25,36 @@ exports[`AST Fixtures legacy-fixtures expressions call-expression-type-arguments }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [77, 78], +- loc: { +- start: { column: 4, line: 3 }, +- end: { column: 5, line: 3 }, +- }, +- }, +- +- range: [77, 78], +- loc: { +- start: { column: 4, line: 3 }, +- end: { column: 5, line: 3 }, +- }, +- }, +- ], +- +- range: [76, 79], +- loc: { +- start: { column: 3, line: 3 }, +- end: { column: 6, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -86,7 +115,26 @@ exports[`AST Fixtures legacy-fixtures expressions call-expression-type-arguments }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [87, 93], +- loc: { +- start: { column: 4, line: 4 }, +- end: { column: 10, line: 4 }, +- }, +- }, +- ], +- +- range: [86, 94], +- loc: { +- start: { column: 3, line: 4 }, +- end: { column: 11, line: 4 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNumberKeyword { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/1-TSESTree-AST.shot index 6368168abd7..b65621e0c46 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/1-TSESTree-AST.shot @@ -62,6 +62,36 @@ Program { end: { column: 18, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "B", + + range: [89, 90], + loc: { + start: { column: 16, line: 3 }, + end: { column: 17, line: 3 }, + }, + }, + + range: [89, 90], + loc: { + start: { column: 16, line: 3 }, + end: { column: 17, line: 3 }, + }, + }, + ], + + range: [88, 91], + loc: { + start: { column: 15, line: 3 }, + end: { column: 18, line: 3 }, + }, + }, range: [83, 93], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot index 02dafe0e054..47fd19df7a9 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/new-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot @@ -37,7 +37,36 @@ exports[`AST Fixtures legacy-fixtures expressions new-expression-type-arguments }, }, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'B', +- +- range: [89, 90], +- loc: { +- start: { column: 16, line: 3 }, +- end: { column: 17, line: 3 }, +- }, +- }, +- +- range: [89, 90], +- loc: { +- start: { column: 16, line: 3 }, +- end: { column: 17, line: 3 }, +- }, +- }, +- ], +- +- range: [88, 91], +- loc: { +- start: { column: 15, line: 3 }, +- end: { column: 18, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/1-TSESTree-AST.shot index be210555378..67168f76a86 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/1-TSESTree-AST.shot @@ -73,6 +73,36 @@ Program { end: { column: 11, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "A", + + range: [82, 83], + loc: { + start: { column: 9, line: 3 }, + end: { column: 10, line: 3 }, + }, + }, + + range: [82, 83], + loc: { + start: { column: 9, line: 3 }, + end: { column: 10, line: 3 }, + }, + }, + ], + + range: [81, 84], + loc: { + start: { column: 8, line: 3 }, + end: { column: 11, line: 3 }, + }, + }, range: [73, 86], loc: { @@ -153,6 +183,26 @@ Program { end: { column: 16, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [97, 103], + loc: { + start: { column: 9, line: 4 }, + end: { column: 15, line: 4 }, + }, + }, + ], + + range: [96, 104], + loc: { + start: { column: 8, line: 4 }, + end: { column: 16, line: 4 }, + }, + }, range: [88, 106], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot index 447f8d2e801..562cb823f8f 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/optional-call-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot @@ -48,7 +48,36 @@ exports[`AST Fixtures legacy-fixtures expressions optional-call-expression-type- }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'A', +- +- range: [82, 83], +- loc: { +- start: { column: 9, line: 3 }, +- end: { column: 10, line: 3 }, +- }, +- }, +- +- range: [82, 83], +- loc: { +- start: { column: 9, line: 3 }, +- end: { column: 10, line: 3 }, +- }, +- }, +- ], +- +- range: [81, 84], +- loc: { +- start: { column: 8, line: 3 }, +- end: { column: 11, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -139,7 +168,26 @@ exports[`AST Fixtures legacy-fixtures expressions optional-call-expression-type- }, optional: false, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [97, 103], +- loc: { +- start: { column: 9, line: 4 }, +- end: { column: 15, line: 4 }, +- }, +- }, +- ], +- +- range: [96, 104], +- loc: { +- start: { column: 8, line: 4 }, +- end: { column: 16, line: 4 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNumberKeyword { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/1-TSESTree-AST.shot index 70a97640656..737bf26abde 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/1-TSESTree-AST.shot @@ -74,6 +74,36 @@ Program { end: { column: 8, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "bar", + + range: [77, 80], + loc: { + start: { column: 4, line: 3 }, + end: { column: 7, line: 3 }, + }, + }, + + range: [77, 80], + loc: { + start: { column: 4, line: 3 }, + end: { column: 7, line: 3 }, + }, + }, + ], + + range: [76, 81], + loc: { + start: { column: 3, line: 3 }, + end: { column: 8, line: 3 }, + }, + }, range: [73, 86], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot index 2060aea5bc1..b36c5b7cb86 100644 --- a/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/expressions/fixtures/tagged-template-expression-type-arguments/snapshots/5-AST-Alignment-AST.shot @@ -49,7 +49,36 @@ exports[`AST Fixtures legacy-fixtures expressions tagged-template-expression-typ }, }, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'bar', +- +- range: [77, 80], +- loc: { +- start: { column: 4, line: 3 }, +- end: { column: 7, line: 3 }, +- }, +- }, +- +- range: [77, 80], +- loc: { +- start: { column: 4, line: 3 }, +- end: { column: 7, line: 3 }, +- }, +- }, +- ], +- +- range: [76, 81], +- loc: { +- start: { column: 3, line: 3 }, +- end: { column: 8, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/1-TSESTree-AST.shot index 2d098ab2dd2..eaf0d5dcc37 100644 --- a/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/1-TSESTree-AST.shot @@ -91,6 +91,26 @@ Program { end: { column: 53, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSAnyKeyword { + type: "TSAnyKeyword", + + range: [150, 153], + loc: { + start: { column: 54, line: 4 }, + end: { column: 57, line: 4 }, + }, + }, + ], + + range: [149, 154], + loc: { + start: { column: 53, line: 4 }, + end: { column: 58, line: 4 }, + }, + }, range: [140, 154], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/5-AST-Alignment-AST.shot index 19934106ad5..0e9179ec241 100644 --- a/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/namespaces-and-modules/fixtures/declare-namespace-with-exported-function/snapshots/5-AST-Alignment-AST.shot @@ -66,17 +66,36 @@ exports[`AST Fixtures legacy-fixtures namespaces-and-modules declare-namespace-w typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Selection', -+ -+ range: [140, 149], -+ loc: { -+ start: { column: 44, line: 4 }, -+ end: { column: 53, line: 4 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSAnyKeyword { +- type: 'TSAnyKeyword', +- +- range: [150, 153], +- loc: { +- start: { column: 54, line: 4 }, +- end: { column: 57, line: 4 }, +- }, +- }, +- ], +- +- range: [149, 154], +- loc: { +- start: { column: 53, line: 4 }, +- end: { column: 58, line: 4 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Selection', + + range: [140, 149], + loc: { + start: { column: 44, line: 4 }, + end: { column: 53, line: 4 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSAnyKeyword { @@ -96,16 +115,6 @@ exports[`AST Fixtures legacy-fixtures namespaces-and-modules declare-namespace-w end: { column: 58, line: 4 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Selection', -- -- range: [140, 149], -- loc: { -- start: { column: 44, line: 4 }, -- end: { column: 53, line: 4 }, -- }, -- }, range: [140, 154], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/1-TSESTree-AST.shot index 83f93e40ed7..9aeab0de28a 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/1-TSESTree-AST.shot @@ -201,6 +201,47 @@ Program { end: { column: 21, line: 7 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSInferType { + type: "TSInferType", + typeParameter: TSTypeParameter { + type: "TSTypeParameter", + in: false, + name: Identifier { + type: "Identifier", + name: "U", + + range: [176, 177], + loc: { + start: { column: 28, line: 7 }, + end: { column: 29, line: 7 }, + }, + }, + out: false, + + range: [176, 177], + loc: { + start: { column: 28, line: 7 }, + end: { column: 29, line: 7 }, + }, + }, + + range: [170, 177], + loc: { + start: { column: 22, line: 7 }, + end: { column: 29, line: 7 }, + }, + }, + ], + + range: [169, 178], + loc: { + start: { column: 21, line: 7 }, + end: { column: 30, line: 7 }, + }, + }, range: [162, 178], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/5-AST-Alignment-AST.shot index 1af19c84f19..d93041d6a5c 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-nested/snapshots/5-AST-Alignment-AST.shot @@ -167,17 +167,57 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-nested AST Alignme extendsType: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Promise', -+ -+ range: [162, 169], -+ loc: { -+ start: { column: 14, line: 7 }, -+ end: { column: 21, line: 7 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSInferType { +- type: 'TSInferType', +- typeParameter: TSTypeParameter { +- type: 'TSTypeParameter', +- in: false, +- name: Identifier { +- type: 'Identifier', +- name: 'U', +- +- range: [176, 177], +- loc: { +- start: { column: 28, line: 7 }, +- end: { column: 29, line: 7 }, +- }, +- }, +- out: false, +- +- range: [176, 177], +- loc: { +- start: { column: 28, line: 7 }, +- end: { column: 29, line: 7 }, +- }, +- }, +- +- range: [170, 177], +- loc: { +- start: { column: 22, line: 7 }, +- end: { column: 29, line: 7 }, +- }, +- }, +- ], +- +- range: [169, 178], +- loc: { +- start: { column: 21, line: 7 }, +- end: { column: 30, line: 7 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Promise', + + range: [162, 169], + loc: { + start: { column: 14, line: 7 }, + end: { column: 21, line: 7 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSInferType { @@ -217,16 +257,6 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-nested AST Alignme loc: { start: { column: 21, line: 7 }, end: { column: 30, line: 7 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Promise', -- -- range: [162, 169], -- loc: { -- start: { column: 14, line: 7 }, -- end: { column: 21, line: 7 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/1-TSESTree-AST.shot index 7ed8756b667..50862b4fa3e 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/1-TSESTree-AST.shot @@ -138,6 +138,36 @@ Program { end: { column: 62, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "U", + + range: [136, 137], + loc: { + start: { column: 63, line: 3 }, + end: { column: 64, line: 3 }, + }, + }, + + range: [136, 137], + loc: { + start: { column: 63, line: 3 }, + end: { column: 64, line: 3 }, + }, + }, + ], + + range: [135, 138], + loc: { + start: { column: 62, line: 3 }, + end: { column: 65, line: 3 }, + }, + }, range: [123, 138], loc: { @@ -364,6 +394,36 @@ Program { end: { column: 16, line: 5 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "U", + + range: [237, 238], + loc: { + start: { column: 17, line: 5 }, + end: { column: 18, line: 5 }, + }, + }, + + range: [237, 238], + loc: { + start: { column: 17, line: 5 }, + end: { column: 18, line: 5 }, + }, + }, + ], + + range: [236, 239], + loc: { + start: { column: 16, line: 5 }, + end: { column: 19, line: 5 }, + }, + }, range: [224, 239], loc: { @@ -581,6 +641,36 @@ Program { end: { column: 16, line: 8 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "U", + + range: [325, 326], + loc: { + start: { column: 17, line: 8 }, + end: { column: 18, line: 8 }, + }, + }, + + range: [325, 326], + loc: { + start: { column: 17, line: 8 }, + end: { column: 18, line: 8 }, + }, + }, + ], + + range: [324, 327], + loc: { + start: { column: 16, line: 8 }, + end: { column: 19, line: 8 }, + }, + }, range: [312, 327], loc: { @@ -798,6 +888,36 @@ Program { end: { column: 16, line: 11 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "U", + + range: [413, 414], + loc: { + start: { column: 17, line: 11 }, + end: { column: 18, line: 11 }, + }, + }, + + range: [413, 414], + loc: { + start: { column: 17, line: 11 }, + end: { column: 18, line: 11 }, + }, + }, + ], + + range: [412, 415], + loc: { + start: { column: 16, line: 11 }, + end: { column: 19, line: 11 }, + }, + }, range: [400, 415], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/5-AST-Alignment-AST.shot index 682603238f8..b09be3c8f53 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/conditional-infer-with-constraint/snapshots/5-AST-Alignment-AST.shot @@ -104,17 +104,46 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS trueType: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'MustBeNumber', -+ -+ range: [123, 135], -+ loc: { -+ start: { column: 50, line: 3 }, -+ end: { column: 62, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'U', +- +- range: [136, 137], +- loc: { +- start: { column: 63, line: 3 }, +- end: { column: 64, line: 3 }, +- }, +- }, +- +- range: [136, 137], +- loc: { +- start: { column: 63, line: 3 }, +- end: { column: 64, line: 3 }, +- }, +- }, +- ], +- +- range: [135, 138], +- loc: { +- start: { column: 62, line: 3 }, +- end: { column: 65, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'MustBeNumber', + + range: [123, 135], + loc: { + start: { column: 50, line: 3 }, + end: { column: 62, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -144,17 +173,7 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS end: { column: 65, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'MustBeNumber', -- range: [123, 135], -- loc: { -- start: { column: 50, line: 3 }, -- end: { column: 62, line: 3 }, -- }, -- }, -- range: [123, 138], loc: { start: { column: 50, line: 3 }, @@ -344,17 +363,46 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS trueType: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'MustBeNumber', -+ -+ range: [224, 236], -+ loc: { -+ start: { column: 4, line: 5 }, -+ end: { column: 16, line: 5 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'U', +- +- range: [237, 238], +- loc: { +- start: { column: 17, line: 5 }, +- end: { column: 18, line: 5 }, +- }, +- }, +- +- range: [237, 238], +- loc: { +- start: { column: 17, line: 5 }, +- end: { column: 18, line: 5 }, +- }, +- }, +- ], +- +- range: [236, 239], +- loc: { +- start: { column: 16, line: 5 }, +- end: { column: 19, line: 5 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'MustBeNumber', + + range: [224, 236], + loc: { + start: { column: 4, line: 5 }, + end: { column: 16, line: 5 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -382,16 +430,6 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS loc: { start: { column: 16, line: 5 }, end: { column: 19, line: 5 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'MustBeNumber', -- -- range: [224, 236], -- loc: { -- start: { column: 4, line: 5 }, -- end: { column: 16, line: 5 }, }, }, @@ -575,17 +613,46 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS trueType: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'MustBeNumber', -+ -+ range: [312, 324], -+ loc: { -+ start: { column: 4, line: 8 }, -+ end: { column: 16, line: 8 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'U', +- +- range: [325, 326], +- loc: { +- start: { column: 17, line: 8 }, +- end: { column: 18, line: 8 }, +- }, +- }, +- +- range: [325, 326], +- loc: { +- start: { column: 17, line: 8 }, +- end: { column: 18, line: 8 }, +- }, +- }, +- ], +- +- range: [324, 327], +- loc: { +- start: { column: 16, line: 8 }, +- end: { column: 19, line: 8 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'MustBeNumber', + + range: [312, 324], + loc: { + start: { column: 4, line: 8 }, + end: { column: 16, line: 8 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -615,17 +682,7 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS end: { column: 19, line: 8 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'MustBeNumber', -- range: [312, 324], -- loc: { -- start: { column: 4, line: 8 }, -- end: { column: 16, line: 8 }, -- }, -- }, -- range: [312, 327], loc: { start: { column: 4, line: 8 }, @@ -648,8 +705,7 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS - name: Identifier { - type: 'Identifier', - name: 'T', -+ name: 'T', - +- - range: [259, 260], - loc: { - start: { column: 8, line: 7 }, @@ -657,7 +713,8 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS - }, - }, - out: false, -- ++ name: 'T', + range: [259, 260], loc: { start: { column: 8, line: 7 }, @@ -806,17 +863,46 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS trueType: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'MustBeNumber', -+ -+ range: [400, 412], -+ loc: { -+ start: { column: 4, line: 11 }, -+ end: { column: 16, line: 11 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'U', +- +- range: [413, 414], +- loc: { +- start: { column: 17, line: 11 }, +- end: { column: 18, line: 11 }, +- }, +- }, +- +- range: [413, 414], +- loc: { +- start: { column: 17, line: 11 }, +- end: { column: 18, line: 11 }, +- }, +- }, +- ], +- +- range: [412, 415], +- loc: { +- start: { column: 16, line: 11 }, +- end: { column: 19, line: 11 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'MustBeNumber', + + range: [400, 412], + loc: { + start: { column: 4, line: 11 }, + end: { column: 16, line: 11 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -844,16 +930,6 @@ exports[`AST Fixtures legacy-fixtures types conditional-infer-with-constraint AS loc: { start: { column: 16, line: 11 }, end: { column: 19, line: 11 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'MustBeNumber', -- -- range: [400, 412], -- loc: { -- start: { column: 4, line: 11 }, -- end: { column: 16, line: 11 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/1-TSESTree-AST.shot index 734795c14ad..825b95c844b 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/1-TSESTree-AST.shot @@ -66,6 +66,46 @@ Program { end: { column: 12, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSConstructorType { + type: "TSConstructorType", + abstract: false, + params: Array [], + returnType: TSTypeAnnotation { + type: "TSTypeAnnotation", + typeAnnotation: TSStringKeyword { + type: "TSStringKeyword", + + range: [96, 102], + loc: { + start: { column: 23, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + + range: [93, 102], + loc: { + start: { column: 20, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + + range: [86, 102], + loc: { + start: { column: 13, line: 3 }, + end: { column: 29, line: 3 }, + }, + }, + ], + + range: [85, 103], + loc: { + start: { column: 12, line: 3 }, + end: { column: 30, line: 3 }, + }, + }, range: [80, 103], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/5-AST-Alignment-AST.shot index dc267ed0c5a..ec23f3c8380 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/constructor-in-generic/snapshots/5-AST-Alignment-AST.shot @@ -21,17 +21,56 @@ exports[`AST Fixtures legacy-fixtures types constructor-in-generic AST Alignment typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [80, 85], -+ loc: { -+ start: { column: 7, line: 3 }, -+ end: { column: 12, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSConstructorType { +- type: 'TSConstructorType', +- abstract: false, +- params: Array [], +- returnType: TSTypeAnnotation { +- type: 'TSTypeAnnotation', +- typeAnnotation: TSStringKeyword { +- type: 'TSStringKeyword', +- +- range: [96, 102], +- loc: { +- start: { column: 23, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- +- range: [93, 102], +- loc: { +- start: { column: 20, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- +- range: [86, 102], +- loc: { +- start: { column: 13, line: 3 }, +- end: { column: 29, line: 3 }, +- }, +- }, +- ], +- +- range: [85, 103], +- loc: { +- start: { column: 12, line: 3 }, +- end: { column: 30, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [80, 85], + loc: { + start: { column: 7, line: 3 }, + end: { column: 12, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSConstructorType { @@ -71,16 +110,6 @@ exports[`AST Fixtures legacy-fixtures types constructor-in-generic AST Alignment loc: { start: { column: 12, line: 3 }, end: { column: 30, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [80, 85], -- loc: { -- start: { column: 7, line: 3 }, -- end: { column: 12, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/1-TSESTree-AST.shot index aeda4a1ce3e..c58a7832ac1 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/1-TSESTree-AST.shot @@ -65,6 +65,45 @@ Program { end: { column: 12, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSFunctionType { + type: "TSFunctionType", + params: Array [], + returnType: TSTypeAnnotation { + type: "TSTypeAnnotation", + typeAnnotation: TSVoidKeyword { + type: "TSVoidKeyword", + + range: [92, 96], + loc: { + start: { column: 19, line: 3 }, + end: { column: 23, line: 3 }, + }, + }, + + range: [89, 96], + loc: { + start: { column: 16, line: 3 }, + end: { column: 23, line: 3 }, + }, + }, + + range: [86, 96], + loc: { + start: { column: 13, line: 3 }, + end: { column: 23, line: 3 }, + }, + }, + ], + + range: [85, 97], + loc: { + start: { column: 12, line: 3 }, + end: { column: 24, line: 3 }, + }, + }, range: [80, 97], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/5-AST-Alignment-AST.shot index 9ef037166e7..e36d96ae16a 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/function-in-generic/snapshots/5-AST-Alignment-AST.shot @@ -21,17 +21,55 @@ exports[`AST Fixtures legacy-fixtures types function-in-generic AST Alignment - typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [80, 85], -+ loc: { -+ start: { column: 7, line: 3 }, -+ end: { column: 12, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSFunctionType { +- type: 'TSFunctionType', +- params: Array [], +- returnType: TSTypeAnnotation { +- type: 'TSTypeAnnotation', +- typeAnnotation: TSVoidKeyword { +- type: 'TSVoidKeyword', +- +- range: [92, 96], +- loc: { +- start: { column: 19, line: 3 }, +- end: { column: 23, line: 3 }, +- }, +- }, +- +- range: [89, 96], +- loc: { +- start: { column: 16, line: 3 }, +- end: { column: 23, line: 3 }, +- }, +- }, +- +- range: [86, 96], +- loc: { +- start: { column: 13, line: 3 }, +- end: { column: 23, line: 3 }, +- }, +- }, +- ], +- +- range: [85, 97], +- loc: { +- start: { column: 12, line: 3 }, +- end: { column: 24, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [80, 85], + loc: { + start: { column: 7, line: 3 }, + end: { column: 12, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSFunctionType { @@ -70,16 +108,6 @@ exports[`AST Fixtures legacy-fixtures types function-in-generic AST Alignment - loc: { start: { column: 12, line: 3 }, end: { column: 24, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [80, 85], -- loc: { -- start: { column: 7, line: 3 }, -- end: { column: 12, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/1-TSESTree-AST.shot index 4da3639587f..0bafaaee4ce 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/1-TSESTree-AST.shot @@ -98,6 +98,36 @@ Program { end: { column: 43, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [117, 118], + loc: { + start: { column: 44, line: 3 }, + end: { column: 45, line: 3 }, + }, + }, + + range: [117, 118], + loc: { + start: { column: 44, line: 3 }, + end: { column: 45, line: 3 }, + }, + }, + ], + + range: [116, 119], + loc: { + start: { column: 43, line: 3 }, + end: { column: 46, line: 3 }, + }, + }, range: [106, 119], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/5-AST-Alignment-AST.shot index d8f070c681f..17ec5b0d84b 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/intersection-type/snapshots/5-AST-Alignment-AST.shot @@ -63,17 +63,46 @@ exports[`AST Fixtures legacy-fixtures types intersection-type AST Alignment - AS typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'LinkedList', -+ -+ range: [106, 116], -+ loc: { -+ start: { column: 33, line: 3 }, -+ end: { column: 43, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [117, 118], +- loc: { +- start: { column: 44, line: 3 }, +- end: { column: 45, line: 3 }, +- }, +- }, +- +- range: [117, 118], +- loc: { +- start: { column: 44, line: 3 }, +- end: { column: 45, line: 3 }, +- }, +- }, +- ], +- +- range: [116, 119], +- loc: { +- start: { column: 43, line: 3 }, +- end: { column: 46, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'LinkedList', + + range: [106, 116], + loc: { + start: { column: 33, line: 3 }, + end: { column: 43, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { @@ -103,17 +132,7 @@ exports[`AST Fixtures legacy-fixtures types intersection-type AST Alignment - AS end: { column: 46, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'LinkedList', -- range: [106, 116], -- loc: { -- start: { column: 33, line: 3 }, -- end: { column: 43, line: 3 }, -- }, -- }, -- range: [106, 119], loc: { start: { column: 33, line: 3 }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/1-TSESTree-AST.shot index 4e1efbfd532..753128d5502 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/1-TSESTree-AST.shot @@ -51,6 +51,26 @@ Program { end: { column: 18, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [92, 98], + loc: { + start: { column: 19, line: 3 }, + end: { column: 25, line: 3 }, + }, + }, + ], + + range: [91, 99], + loc: { + start: { column: 18, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, range: [86, 99], loc: { @@ -76,6 +96,76 @@ Program { end: { column: 12, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeArguments: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [92, 98], + loc: { + start: { column: 19, line: 3 }, + end: { column: 25, line: 3 }, + }, + }, + ], + + range: [91, 99], + loc: { + start: { column: 18, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + typeName: Identifier { + type: "Identifier", + name: "Array", + + range: [86, 91], + loc: { + start: { column: 13, line: 3 }, + end: { column: 18, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [92, 98], + loc: { + start: { column: 19, line: 3 }, + end: { column: 25, line: 3 }, + }, + }, + ], + + range: [91, 99], + loc: { + start: { column: 18, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + + range: [86, 99], + loc: { + start: { column: 13, line: 3 }, + end: { column: 26, line: 3 }, + }, + }, + ], + + range: [85, 100], + loc: { + start: { column: 12, line: 3 }, + end: { column: 27, line: 3 }, + }, + }, range: [80, 100], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/5-AST-Alignment-AST.shot index 64bf8f7cb98..43214d5f73f 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic-nested/snapshots/5-AST-Alignment-AST.shot @@ -21,33 +21,121 @@ exports[`AST Fixtures legacy-fixtures types reference-generic-nested AST Alignme typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [80, 85], -+ loc: { -+ start: { column: 7, line: 3 }, -+ end: { column: 12, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeArguments: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [92, 98], +- loc: { +- start: { column: 19, line: 3 }, +- end: { column: 25, line: 3 }, +- }, +- }, +- ], +- +- range: [91, 99], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- typeName: Identifier { +- type: 'Identifier', +- name: 'Array', +- +- range: [86, 91], +- loc: { +- start: { column: 13, line: 3 }, +- end: { column: 18, line: 3 }, +- }, +- }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [92, 98], +- loc: { +- start: { column: 19, line: 3 }, +- end: { column: 25, line: 3 }, +- }, +- }, +- ], +- +- range: [91, 99], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- +- range: [86, 99], +- loc: { +- start: { column: 13, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, +- ], +- +- range: [85, 100], +- loc: { +- start: { column: 12, line: 3 }, +- end: { column: 27, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [80, 85], + loc: { + start: { column: 7, line: 3 }, + end: { column: 12, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [86, 91], -+ loc: { -+ start: { column: 13, line: 3 }, -+ end: { column: 18, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [92, 98], +- loc: { +- start: { column: 19, line: 3 }, +- end: { column: 25, line: 3 }, +- }, +- }, +- ], +- +- range: [91, 99], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 26, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [86, 91], + loc: { + start: { column: 13, line: 3 }, + end: { column: 18, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNumberKeyword { @@ -67,17 +155,7 @@ exports[`AST Fixtures legacy-fixtures types reference-generic-nested AST Alignme end: { column: 26, line: 3 }, }, }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- range: [86, 91], -- loc: { -- start: { column: 13, line: 3 }, -- end: { column: 18, line: 3 }, -- }, -- }, -- range: [86, 99], loc: { start: { column: 13, line: 3 }, @@ -90,16 +168,6 @@ exports[`AST Fixtures legacy-fixtures types reference-generic-nested AST Alignme loc: { start: { column: 12, line: 3 }, end: { column: 27, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [80, 85], -- loc: { -- start: { column: 7, line: 3 }, -- end: { column: 12, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/1-TSESTree-AST.shot index b3699733228..1740c35076c 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/1-TSESTree-AST.shot @@ -46,6 +46,26 @@ Program { end: { column: 12, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSNumberKeyword { + type: "TSNumberKeyword", + + range: [86, 92], + loc: { + start: { column: 13, line: 3 }, + end: { column: 19, line: 3 }, + }, + }, + ], + + range: [85, 93], + loc: { + start: { column: 12, line: 3 }, + end: { column: 20, line: 3 }, + }, + }, range: [80, 93], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/5-AST-Alignment-AST.shot index 6b582c9fed5..998644e9180 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/reference-generic/snapshots/5-AST-Alignment-AST.shot @@ -21,17 +21,36 @@ exports[`AST Fixtures legacy-fixtures types reference-generic AST Alignment - AS typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'Array', -+ -+ range: [80, 85], -+ loc: { -+ start: { column: 7, line: 3 }, -+ end: { column: 12, line: 3 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSNumberKeyword { +- type: 'TSNumberKeyword', +- +- range: [86, 92], +- loc: { +- start: { column: 13, line: 3 }, +- end: { column: 19, line: 3 }, +- }, +- }, +- ], +- +- range: [85, 93], +- loc: { +- start: { column: 12, line: 3 }, +- end: { column: 20, line: 3 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'Array', + + range: [80, 85], + loc: { + start: { column: 7, line: 3 }, + end: { column: 12, line: 3 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSNumberKeyword { @@ -49,16 +68,6 @@ exports[`AST Fixtures legacy-fixtures types reference-generic AST Alignment - AS loc: { start: { column: 12, line: 3 }, end: { column: 20, line: 3 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'Array', -- -- range: [80, 85], -- loc: { -- start: { column: 7, line: 3 }, -- end: { column: 12, line: 3 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/1-TSESTree-AST.shot index efdbfb5b954..6e8c437206f 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/1-TSESTree-AST.shot @@ -133,6 +133,36 @@ Program { end: { column: 14, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [134, 135], + loc: { + start: { column: 15, line: 4 }, + end: { column: 16, line: 4 }, + }, + }, + + range: [134, 135], + loc: { + start: { column: 15, line: 4 }, + end: { column: 16, line: 4 }, + }, + }, + ], + + range: [133, 136], + loc: { + start: { column: 14, line: 4 }, + end: { column: 17, line: 4 }, + }, + }, range: [124, 136], loc: { @@ -182,6 +212,36 @@ Program { end: { column: 32, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [152, 153], + loc: { + start: { column: 33, line: 4 }, + end: { column: 34, line: 4 }, + }, + }, + + range: [152, 153], + loc: { + start: { column: 33, line: 4 }, + end: { column: 34, line: 4 }, + }, + }, + ], + + range: [151, 154], + loc: { + start: { column: 32, line: 4 }, + end: { column: 35, line: 4 }, + }, + }, range: [142, 154], loc: { @@ -231,6 +291,36 @@ Program { end: { column: 51, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [171, 172], + loc: { + start: { column: 52, line: 4 }, + end: { column: 53, line: 4 }, + }, + }, + + range: [171, 172], + loc: { + start: { column: 52, line: 4 }, + end: { column: 53, line: 4 }, + }, + }, + ], + + range: [170, 173], + loc: { + start: { column: 51, line: 4 }, + end: { column: 54, line: 4 }, + }, + }, range: [160, 173], loc: { @@ -280,6 +370,36 @@ Program { end: { column: 72, line: 4 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "T", + + range: [192, 193], + loc: { + start: { column: 73, line: 4 }, + end: { column: 74, line: 4 }, + }, + }, + + range: [192, 193], + loc: { + start: { column: 73, line: 4 }, + end: { column: 74, line: 4 }, + }, + }, + ], + + range: [191, 194], + loc: { + start: { column: 72, line: 4 }, + end: { column: 75, line: 4 }, + }, + }, range: [179, 194], loc: { @@ -398,6 +518,37 @@ Program { end: { column: 33, line: 5 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSLiteralType { + type: "TSLiteralType", + literal: Literal { + type: "Literal", + raw: "'heLLo'", + value: "heLLo", + + range: [232, 239], + loc: { + start: { column: 34, line: 5 }, + end: { column: 41, line: 5 }, + }, + }, + + range: [232, 239], + loc: { + start: { column: 34, line: 5 }, + end: { column: 41, line: 5 }, + }, + }, + ], + + range: [231, 240], + loc: { + start: { column: 33, line: 5 }, + end: { column: 42, line: 5 }, + }, + }, range: [211, 240], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/5-AST-Alignment-AST.shot index 33e03622c80..5819613357d 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/template-literal-type-4/snapshots/5-AST-Alignment-AST.shot @@ -96,7 +96,13 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen - 'cooked': ' - ', - 'raw': ' - ', - }, -- ++ range: [134, 135], ++ loc: { ++ start: { column: 15, line: 4 }, ++ end: { column: 16, line: 4 }, ++ }, ++ }, + - range: [173, 179], - loc: { - start: { column: 54, line: 4 }, @@ -129,13 +135,7 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen - typeName: Identifier { - type: 'Identifier', - name: 'T', -+ range: [134, 135], -+ loc: { -+ start: { column: 15, line: 4 }, -+ end: { column: 16, line: 4 }, -+ }, -+ }, - +- range: [134, 135], loc: { start: { column: 15, line: 4 }, @@ -155,34 +155,62 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + end: { column: 17, line: 4 }, }, - ], -+ }, - +- - range: [133, 136], -+ range: [124, 136], - loc: { +- loc: { - start: { column: 14, line: 4 }, -+ start: { column: 5, line: 4 }, - end: { column: 17, line: 4 }, +- end: { column: 17, line: 4 }, }, - }, +- }, - typeName: Identifier { - type: 'Identifier', - name: 'Uppercase', + +- range: [124, 133], ++ range: [124, 136], + loc: { + start: { column: 5, line: 4 }, +- end: { column: 14, line: 4 }, ++ end: { column: 17, line: 4 }, + }, + }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [134, 135], +- loc: { +- start: { column: 15, line: 4 }, +- end: { column: 16, line: 4 }, +- }, +- }, + TSTypeReference { + type: 'TSTypeReference', + typeName: Identifier { + type: 'Identifier', + name: 'Lowercase', -- range: [124, 133], -- loc: { -- start: { column: 5, line: 4 }, -- end: { column: 14, line: 4 }, +- range: [134, 135], +- loc: { +- start: { column: 15, line: 4 }, +- end: { column: 16, line: 4 }, +- }, + range: [142, 151], + loc: { + start: { column: 23, line: 4 }, + end: { column: 32, line: 4 }, -+ }, + }, +- ], +- +- range: [133, 136], +- loc: { +- start: { column: 14, line: 4 }, +- end: { column: 17, line: 4 }, }, - }, + typeParameters: TSTypeParameterInstantiation { @@ -236,34 +264,62 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + end: { column: 35, line: 4 }, }, - ], -+ }, - +- - range: [151, 154], -+ range: [142, 154], - loc: { +- loc: { - start: { column: 32, line: 4 }, -+ start: { column: 23, line: 4 }, - end: { column: 35, line: 4 }, +- end: { column: 35, line: 4 }, }, - }, +- }, - typeName: Identifier { - type: 'Identifier', - name: 'Lowercase', + +- range: [142, 151], ++ range: [142, 154], + loc: { + start: { column: 23, line: 4 }, +- end: { column: 32, line: 4 }, ++ end: { column: 35, line: 4 }, + }, + }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [152, 153], +- loc: { +- start: { column: 33, line: 4 }, +- end: { column: 34, line: 4 }, +- }, +- }, + TSTypeReference { + type: 'TSTypeReference', + typeName: Identifier { + type: 'Identifier', + name: 'Capitalize', -- range: [142, 151], -- loc: { -- start: { column: 23, line: 4 }, -- end: { column: 32, line: 4 }, +- range: [152, 153], +- loc: { +- start: { column: 33, line: 4 }, +- end: { column: 34, line: 4 }, +- }, + range: [160, 170], + loc: { + start: { column: 41, line: 4 }, + end: { column: 51, line: 4 }, -+ }, + }, +- ], +- +- range: [151, 154], +- loc: { +- start: { column: 32, line: 4 }, +- end: { column: 35, line: 4 }, }, - }, + typeParameters: TSTypeParameterInstantiation { @@ -317,34 +373,62 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + end: { column: 54, line: 4 }, }, - ], -+ }, - +- - range: [170, 173], -+ range: [160, 173], - loc: { +- loc: { - start: { column: 51, line: 4 }, -+ start: { column: 41, line: 4 }, - end: { column: 54, line: 4 }, +- end: { column: 54, line: 4 }, }, - }, +- }, - typeName: Identifier { - type: 'Identifier', - name: 'Capitalize', + +- range: [160, 170], ++ range: [160, 173], + loc: { + start: { column: 41, line: 4 }, +- end: { column: 51, line: 4 }, ++ end: { column: 54, line: 4 }, + }, + }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', +- +- range: [171, 172], +- loc: { +- start: { column: 52, line: 4 }, +- end: { column: 53, line: 4 }, +- }, +- }, + TSTypeReference { + type: 'TSTypeReference', + typeName: Identifier { + type: 'Identifier', + name: 'Uncapitalize', -- range: [160, 170], -- loc: { -- start: { column: 41, line: 4 }, -- end: { column: 51, line: 4 }, +- range: [171, 172], +- loc: { +- start: { column: 52, line: 4 }, +- end: { column: 53, line: 4 }, +- }, + range: [179, 191], + loc: { + start: { column: 60, line: 4 }, + end: { column: 72, line: 4 }, -+ }, + }, +- ], +- +- range: [170, 173], +- loc: { +- start: { column: 51, line: 4 }, +- end: { column: 54, line: 4 }, }, - }, + typeParameters: TSTypeParameterInstantiation { @@ -420,13 +504,24 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + 'cooked': '', + 'raw': '', + }, -+ + +- range: [179, 191], + range: [121, 124], -+ loc: { + loc: { +- start: { column: 60, line: 4 }, +- end: { column: 72, line: 4 }, + start: { column: 2, line: 4 }, + end: { column: 5, line: 4 }, -+ }, -+ }, + }, + }, +- typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'T', + TemplateElement { + type: 'TemplateElement', + tail: false, @@ -435,11 +530,14 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + 'raw': ' - ', + }, -- range: [179, 191], +- range: [192, 193], +- loc: { +- start: { column: 73, line: 4 }, +- end: { column: 74, line: 4 }, +- }, +- }, + range: [136, 142], - loc: { -- start: { column: 60, line: 4 }, -- end: { column: 72, line: 4 }, ++ loc: { + start: { column: 17, line: 4 }, + end: { column: 23, line: 4 }, + }, @@ -450,14 +548,21 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + value: Object { + 'cooked': ' - ', + 'raw': ' - ', - }, -+ ++ }, + +- range: [192, 193], +- loc: { +- start: { column: 73, line: 4 }, +- end: { column: 74, line: 4 }, +- }, +- }, +- ], + range: [154, 160], + loc: { + start: { column: 35, line: 4 }, + end: { column: 41, line: 4 }, + }, - }, ++ }, + TemplateElement { + type: 'TemplateElement', + tail: false, @@ -466,16 +571,15 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + 'raw': ' - ', + }, -- range: [179, 194], -- loc: { -- start: { column: 60, line: 4 }, -- end: { column: 75, line: 4 }, +- range: [191, 194], + range: [173, 179], -+ loc: { + loc: { +- start: { column: 72, line: 4 }, +- end: { column: 75, line: 4 }, + start: { column: 54, line: 4 }, + end: { column: 60, line: 4 }, -+ }, -+ }, + }, + }, + TemplateElement { + type: 'TemplateElement', + tail: true, @@ -483,7 +587,11 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen + 'cooked': '', + 'raw': '', + }, -+ + +- range: [179, 194], +- loc: { +- start: { column: 60, line: 4 }, +- end: { column: 75, line: 4 }, + range: [194, 196], + loc: { + start: { column: 75, line: 4 }, @@ -570,17 +678,47 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen typeAnnotation: TSTypeReference { type: 'TSTypeReference', - typeArguments: TSTypeParameterInstantiation { -+ typeName: Identifier { -+ type: 'Identifier', -+ name: 'EnthusiasticGreeting', -+ -+ range: [211, 231], -+ loc: { -+ start: { column: 13, line: 5 }, -+ end: { column: 33, line: 5 }, -+ }, -+ }, -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSLiteralType { +- type: 'TSLiteralType', +- literal: Literal { +- type: 'Literal', +- raw: '\\\\'heLLo\\\\'', +- value: 'heLLo', +- +- range: [232, 239], +- loc: { +- start: { column: 34, line: 5 }, +- end: { column: 41, line: 5 }, +- }, +- }, +- +- range: [232, 239], +- loc: { +- start: { column: 34, line: 5 }, +- end: { column: 41, line: 5 }, +- }, +- }, +- ], +- +- range: [231, 240], +- loc: { +- start: { column: 33, line: 5 }, +- end: { column: 42, line: 5 }, +- }, +- }, + typeName: Identifier { + type: 'Identifier', + name: 'EnthusiasticGreeting', + + range: [211, 231], + loc: { + start: { column: 13, line: 5 }, + end: { column: 33, line: 5 }, + }, + }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSLiteralType { @@ -609,16 +747,6 @@ exports[`AST Fixtures legacy-fixtures types template-literal-type-4 AST Alignmen loc: { start: { column: 33, line: 5 }, end: { column: 42, line: 5 }, -- }, -- }, -- typeName: Identifier { -- type: 'Identifier', -- name: 'EnthusiasticGreeting', -- -- range: [211, 231], -- loc: { -- start: { column: 13, line: 5 }, -- end: { column: 33, line: 5 }, }, }, diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/1-TSESTree-AST.shot index 662a83282b2..7b655eafbec 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/1-TSESTree-AST.shot @@ -75,6 +75,36 @@ Program { end: { column: 20, line: 3 }, }, }, + typeParameters: TSTypeParameterInstantiation { + type: "TSTypeParameterInstantiation", + params: Array [ + TSTypeReference { + type: "TSTypeReference", + typeName: Identifier { + type: "Identifier", + name: "w", + + range: [91, 92], + loc: { + start: { column: 18, line: 3 }, + end: { column: 19, line: 3 }, + }, + }, + + range: [91, 92], + loc: { + start: { column: 18, line: 3 }, + end: { column: 19, line: 3 }, + }, + }, + ], + + range: [90, 93], + loc: { + start: { column: 17, line: 3 }, + end: { column: 20, line: 3 }, + }, + }, range: [80, 93], loc: { diff --git a/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/5-AST-Alignment-AST.shot index fea5bfa9fbf..a194ac6f2e6 100644 --- a/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/legacy-fixtures/types/fixtures/typeof-with-type-parameters/snapshots/5-AST-Alignment-AST.shot @@ -50,7 +50,36 @@ exports[`AST Fixtures legacy-fixtures types typeof-with-type-parameters AST Alig }, }, - typeArguments: TSTypeParameterInstantiation { -+ typeParameters: TSTypeParameterInstantiation { +- type: 'TSTypeParameterInstantiation', +- params: Array [ +- TSTypeReference { +- type: 'TSTypeReference', +- typeName: Identifier { +- type: 'Identifier', +- name: 'w', +- +- range: [91, 92], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 19, line: 3 }, +- }, +- }, +- +- range: [91, 92], +- loc: { +- start: { column: 18, line: 3 }, +- end: { column: 19, line: 3 }, +- }, +- }, +- ], +- +- range: [90, 93], +- loc: { +- start: { column: 17, line: 3 }, +- end: { column: 20, line: 3 }, +- }, +- }, + typeParameters: TSTypeParameterInstantiation { type: 'TSTypeParameterInstantiation', params: Array [ TSTypeReference { diff --git a/packages/ast-spec/src/type/TSImportType/spec.ts b/packages/ast-spec/src/type/TSImportType/spec.ts index f85074de715..3eb30235d9b 100644 --- a/packages/ast-spec/src/type/TSImportType/spec.ts +++ b/packages/ast-spec/src/type/TSImportType/spec.ts @@ -9,4 +9,7 @@ export interface TSImportType extends BaseNode { argument: TypeNode; qualifier: EntityName | null; typeArguments: TSTypeParameterInstantiation | null; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters: TSTypeParameterInstantiation | null; } diff --git a/packages/ast-spec/src/type/TSTypeQuery/spec.ts b/packages/ast-spec/src/type/TSTypeQuery/spec.ts index 4b27d43a3cb..77318656eaa 100644 --- a/packages/ast-spec/src/type/TSTypeQuery/spec.ts +++ b/packages/ast-spec/src/type/TSTypeQuery/spec.ts @@ -8,4 +8,7 @@ export interface TSTypeQuery extends BaseNode { type: AST_NODE_TYPES.TSTypeQuery; exprName: EntityName | TSImportType; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; } diff --git a/packages/ast-spec/src/type/TSTypeReference/spec.ts b/packages/ast-spec/src/type/TSTypeReference/spec.ts index fa99b817fb8..a8b2a86733f 100644 --- a/packages/ast-spec/src/type/TSTypeReference/spec.ts +++ b/packages/ast-spec/src/type/TSTypeReference/spec.ts @@ -6,5 +6,9 @@ import type { EntityName } from '../../unions/EntityName'; export interface TSTypeReference extends BaseNode { type: AST_NODE_TYPES.TSTypeReference; typeArguments?: TSTypeParameterInstantiation; + + /** @deprecated Use {@link `typeArguments`} instead. */ + typeParameters?: TSTypeParameterInstantiation; + typeName: EntityName; } diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 706ff46063d..20b8594f0f0 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -1,5 +1,7 @@ // There's lots of funny stuff due to the typing of ts.Node /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access */ +// Additionally, we have some deprecated properties that won't be removed until v7 +/* eslint-disable deprecation/deprecation */ import * as ts from 'typescript'; import { getDecorators, getModifiers } from './getModifiers'; @@ -474,7 +476,7 @@ export class Converter { : null; } if ('typeArguments' in node) { - result.typeArguments = + result.typeArguments = result.typeParameters = node.typeArguments && 'pos' in node.typeArguments ? this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, @@ -1552,18 +1554,21 @@ export class Converter { return result; } - case SyntaxKind.TaggedTemplateExpression: + case SyntaxKind.TaggedTemplateExpression: { + const typeArguments = node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : undefined; return this.createNode(node, { type: AST_NODE_TYPES.TaggedTemplateExpression, - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : undefined, + typeArguments, + typeParameters: typeArguments, tag: this.convertChild(node.tag), quasi: this.convertChild(node.template), }); + } case SyntaxKind.TemplateHead: case SyntaxKind.TemplateMiddle: @@ -1712,7 +1717,7 @@ export class Converter { } if (superClass.types[0]?.typeArguments) { - result.superTypeArguments = + result.superTypeArguments = result.superTypeParameters = this.convertTypeArgumentsToTypeParameterInstantiation( superClass.types[0].typeArguments, superClass.types[0], @@ -2058,7 +2063,7 @@ export class Converter { }); if (node.typeArguments) { - result.typeArguments = + result.typeArguments = result.typeParameters = this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, @@ -2078,7 +2083,7 @@ export class Converter { : [], }); if (node.typeArguments) { - result.typeArguments = + result.typeArguments = result.typeParameters = this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, @@ -2230,6 +2235,12 @@ export class Converter { }); case SyntaxKind.JsxSelfClosingElement: { + const typeArguments = node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : undefined; return this.createNode(node, { type: AST_NODE_TYPES.JSXElement, /** @@ -2238,12 +2249,8 @@ export class Converter { */ openingElement: this.createNode(node, { type: AST_NODE_TYPES.JSXOpeningElement, - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : undefined, + typeArguments, + typeParameters: typeArguments, selfClosing: true, name: this.convertJSXTagName(node.tagName, node), attributes: node.attributes.properties.map(el => @@ -2347,15 +2354,17 @@ export class Converter { // TypeScript specific case SyntaxKind.TypeReference: { + const typeArguments = node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : undefined; return this.createNode(node, { type: AST_NODE_TYPES.TSTypeReference, typeName: this.convertChild(node.typeName), - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : undefined, + typeArguments, + typeParameters: typeArguments, }); } @@ -2436,15 +2445,17 @@ export class Converter { } case SyntaxKind.TypeQuery: { + const typeArguments = + node.typeArguments && + this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ); return this.createNode(node, { type: AST_NODE_TYPES.TSTypeQuery, exprName: this.convertChild(node.exprName), - typeArguments: - node.typeArguments && - this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ), + typeArguments, + typeParameters: typeArguments, }); } @@ -2648,7 +2659,7 @@ export class Converter { }); if (node.typeArguments) { - result.typeArguments = + result.typeArguments = result.typeParameters = this.convertTypeArgumentsToTypeParameterInstantiation( node.typeArguments, node, @@ -2726,16 +2737,18 @@ export class Converter { const token = findNextToken(node.getFirstToken()!, node, this.ast)!; range[0] = token.getStart(this.ast); } + const typeArguments = node.typeArguments + ? this.convertTypeArgumentsToTypeParameterInstantiation( + node.typeArguments, + node, + ) + : null; const result = this.createNode(node, { type: AST_NODE_TYPES.TSImportType, argument: this.convertChild(node.argument), qualifier: this.convertChild(node.qualifier), - typeArguments: node.typeArguments - ? this.convertTypeArgumentsToTypeParameterInstantiation( - node.typeArguments, - node, - ) - : null, + typeArguments, + typeParameters: typeArguments, range: range, }); if (node.isTypeOf) { 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 a412b6bc0c9..4439ae36ee0 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/convert.test.ts.snap @@ -143,6 +143,63 @@ exports[`convert deeplyCopy should convert array of nodes 1`] = ` ], "type": "Identifier", }, + "typeParameters": undefined, + }, + ], + "range": [ + 7, + 10, + ], + "type": "TSTypeParameterInstantiation", + }, + "typeParameters": { + "loc": { + "end": { + "column": 10, + "line": 1, + }, + "start": { + "column": 7, + "line": 1, + }, + }, + "params": [ + { + "loc": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 8, + "line": 1, + }, + }, + "range": [ + 8, + 9, + ], + "type": "TSTypeReference", + "typeArguments": undefined, + "typeName": { + "loc": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 8, + "line": 1, + }, + }, + "name": "T", + "range": [ + 8, + 9, + ], + "type": "Identifier", + }, + "typeParameters": undefined, }, ], "range": [ @@ -396,6 +453,63 @@ exports[`convert deeplyCopy should convert node with type arguments correctly 1` ], "type": "Identifier", }, + "typeParameters": undefined, + }, + ], + "range": [ + 7, + 10, + ], + "type": "TSTypeParameterInstantiation", + }, + "typeParameters": { + "loc": { + "end": { + "column": 10, + "line": 1, + }, + "start": { + "column": 7, + "line": 1, + }, + }, + "params": [ + { + "loc": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 8, + "line": 1, + }, + }, + "range": [ + 8, + 9, + ], + "type": "TSTypeReference", + "typeArguments": undefined, + "typeName": { + "loc": { + "end": { + "column": 9, + "line": 1, + }, + "start": { + "column": 8, + "line": 1, + }, + }, + "name": "T", + "range": [ + 8, + 9, + ], + "type": "Identifier", + }, + "typeParameters": undefined, }, ], "range": [ diff --git a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap index bfb59526f59..58d69423139 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/parse.test.ts.snap @@ -157,6 +157,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .js file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -446,6 +447,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .js file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -1311,6 +1313,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .jsx file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -1600,6 +1603,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .jsx file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -2605,6 +2609,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .tsx file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -2894,6 +2899,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .tsx file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10, @@ -3541,6 +3547,7 @@ exports[`parseAndGenerateServices isolated parsing should parse .vue file - with "selfClosing": true, "type": "JSXOpeningElement", "typeArguments": undefined, + "typeParameters": undefined, }, "range": [ 10,