From 145f94f9dd0cf771c53355d099dae40b8c9af2b6 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Fri, 29 Oct 2021 18:50:01 +0900 Subject: [PATCH 01/14] test(eslint-plugin): update tests --- .../tests/rules/restrict-template-expressions.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts index be300242e3d2..866b49bdb953 100644 --- a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts +++ b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts @@ -377,7 +377,7 @@ ruleTester.run('restrict-template-expressions', rule, { errors: [ { messageId: 'invalidType', - data: { type: 'any' }, + data: { type: 'T' }, line: 3, column: 27, }, From 63441b809e84c4ef5a6a10ef3fcfd80ef9b08381 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 02:56:31 +0900 Subject: [PATCH 02/14] feat(ast-spec): support import assertions --- packages/ast-spec/src/ast-node-types.ts | 1 + .../src/declaration/ExportAllDeclaration/spec.ts | 2 ++ .../src/declaration/ExportNamedDeclaration/spec.ts | 2 ++ .../ast-spec/src/declaration/ImportDeclaration/spec.ts | 2 ++ .../ast-spec/src/expression/ImportExpression/spec.ts | 1 + packages/ast-spec/src/special/ImportAttribute/spec.ts | 10 ++++++++++ packages/ast-spec/src/special/spec.ts | 1 + packages/ast-spec/src/unions/Node.ts | 2 ++ 8 files changed, 21 insertions(+) create mode 100644 packages/ast-spec/src/special/ImportAttribute/spec.ts diff --git a/packages/ast-spec/src/ast-node-types.ts b/packages/ast-spec/src/ast-node-types.ts index c5ee4a189df4..dec24662b22e 100644 --- a/packages/ast-spec/src/ast-node-types.ts +++ b/packages/ast-spec/src/ast-node-types.ts @@ -32,6 +32,7 @@ export enum AST_NODE_TYPES { FunctionExpression = 'FunctionExpression', Identifier = 'Identifier', IfStatement = 'IfStatement', + ImportAttribute = 'ImportAttribute', ImportDeclaration = 'ImportDeclaration', ImportDefaultSpecifier = 'ImportDefaultSpecifier', ImportExpression = 'ImportExpression', diff --git a/packages/ast-spec/src/declaration/ExportAllDeclaration/spec.ts b/packages/ast-spec/src/declaration/ExportAllDeclaration/spec.ts index 3b50c001f850..5cf3301a50db 100644 --- a/packages/ast-spec/src/declaration/ExportAllDeclaration/spec.ts +++ b/packages/ast-spec/src/declaration/ExportAllDeclaration/spec.ts @@ -2,6 +2,7 @@ import type { AST_NODE_TYPES } from '../../ast-node-types'; import type { BaseNode } from '../../base/BaseNode'; import type { Identifier } from '../../expression/Identifier/spec'; import type { StringLiteral } from '../../expression/literal/StringLiteral/spec'; +import type { ImportAttribute } from '../../special/ImportAttribute/spec'; import type { ExportKind } from '../ExportAndImportKind'; export interface ExportAllDeclaration extends BaseNode { @@ -9,4 +10,5 @@ export interface ExportAllDeclaration extends BaseNode { source: StringLiteral | null; exportKind: ExportKind; exported: Identifier | null; + assertions: ImportAttribute[]; } diff --git a/packages/ast-spec/src/declaration/ExportNamedDeclaration/spec.ts b/packages/ast-spec/src/declaration/ExportNamedDeclaration/spec.ts index b43471428094..d2f4d75b3c2e 100644 --- a/packages/ast-spec/src/declaration/ExportNamedDeclaration/spec.ts +++ b/packages/ast-spec/src/declaration/ExportNamedDeclaration/spec.ts @@ -2,6 +2,7 @@ import type { AST_NODE_TYPES } from '../../ast-node-types'; import type { BaseNode } from '../../base/BaseNode'; import type { StringLiteral } from '../../expression/literal/StringLiteral/spec'; import type { ExportSpecifier } from '../../special/ExportSpecifier/spec'; +import type { ImportAttribute } from '../../special/ImportAttribute/spec'; import type { ExportDeclaration } from '../../unions/ExportDeclaration'; import type { ExportKind } from '../ExportAndImportKind'; @@ -11,4 +12,5 @@ export interface ExportNamedDeclaration extends BaseNode { specifiers: ExportSpecifier[]; source: StringLiteral | null; exportKind: ExportKind; + assertions: ImportAttribute[]; } diff --git a/packages/ast-spec/src/declaration/ImportDeclaration/spec.ts b/packages/ast-spec/src/declaration/ImportDeclaration/spec.ts index d9a11f6e3145..b9689fe2c098 100644 --- a/packages/ast-spec/src/declaration/ImportDeclaration/spec.ts +++ b/packages/ast-spec/src/declaration/ImportDeclaration/spec.ts @@ -1,6 +1,7 @@ import type { AST_NODE_TYPES } from '../../ast-node-types'; import type { BaseNode } from '../../base/BaseNode'; import type { StringLiteral } from '../../expression/literal/StringLiteral/spec'; +import type { ImportAttribute } from '../../special/ImportAttribute/spec'; import type { ImportClause } from '../../unions/ImportClause'; import type { ImportKind } from '../ExportAndImportKind'; @@ -9,4 +10,5 @@ export interface ImportDeclaration extends BaseNode { source: StringLiteral; specifiers: ImportClause[]; importKind: ImportKind; + assertions: ImportAttribute[]; } diff --git a/packages/ast-spec/src/expression/ImportExpression/spec.ts b/packages/ast-spec/src/expression/ImportExpression/spec.ts index c381802571a6..6aef75ac0e1e 100644 --- a/packages/ast-spec/src/expression/ImportExpression/spec.ts +++ b/packages/ast-spec/src/expression/ImportExpression/spec.ts @@ -5,4 +5,5 @@ import type { Expression } from '../../unions/Expression'; export interface ImportExpression extends BaseNode { type: AST_NODE_TYPES.ImportExpression; source: Expression; + attributes: Expression | null; } diff --git a/packages/ast-spec/src/special/ImportAttribute/spec.ts b/packages/ast-spec/src/special/ImportAttribute/spec.ts new file mode 100644 index 000000000000..988e31bb8585 --- /dev/null +++ b/packages/ast-spec/src/special/ImportAttribute/spec.ts @@ -0,0 +1,10 @@ +import type { AST_NODE_TYPES } from '../../ast-node-types'; +import type { BaseNode } from '../../base/BaseNode'; +import type { Identifier } from '../../expression/Identifier/spec'; +import type { Literal } from '../../unions/Literal'; + +export interface ImportAttribute extends BaseNode { + type: AST_NODE_TYPES.ImportAttribute; + key: Identifier | Literal; + value: Literal; +} diff --git a/packages/ast-spec/src/special/spec.ts b/packages/ast-spec/src/special/spec.ts index 91e5037751d7..c906deb52957 100644 --- a/packages/ast-spec/src/special/spec.ts +++ b/packages/ast-spec/src/special/spec.ts @@ -3,6 +3,7 @@ export * from './ClassBody/spec'; export * from './Decorator/spec'; export * from './EmptyStatement/spec'; export * from './ExportSpecifier/spec'; +export * from './ImportAttribute/spec'; export * from './ImportDefaultSpecifier/spec'; export * from './ImportNamespaceSpecifier/spec'; export * from './ImportSpecifier/spec'; diff --git a/packages/ast-spec/src/unions/Node.ts b/packages/ast-spec/src/unions/Node.ts index ba2b07bf4d4d..b031d3bd348e 100644 --- a/packages/ast-spec/src/unions/Node.ts +++ b/packages/ast-spec/src/unions/Node.ts @@ -79,6 +79,7 @@ import type { ClassBody } from '../special/ClassBody/spec'; import type { Decorator } from '../special/Decorator/spec'; import type { EmptyStatement } from '../special/EmptyStatement/spec'; import type { ExportSpecifier } from '../special/ExportSpecifier/spec'; +import type { ImportAttribute } from '../special/ImportAttribute/spec'; import type { ImportDefaultSpecifier } from '../special/ImportDefaultSpecifier/spec'; import type { ImportNamespaceSpecifier } from '../special/ImportNamespaceSpecifier/spec'; import type { ImportSpecifier } from '../special/ImportSpecifier/spec'; @@ -200,6 +201,7 @@ export type Node = | FunctionExpression | Identifier | IfStatement + | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression From 6486c18fcf6a3e1eaebba547783a09092da6d2a5 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 02:56:49 +0900 Subject: [PATCH 03/14] feat(typescript-estree): support import assertions --- packages/typescript-estree/src/convert.ts | 28 +++++++++++++++++-- .../src/ts-estree/estree-to-ts-node-types.ts | 1 + .../src/ts-estree/ts-nodes.ts | 2 ++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index bd33d9a53e51..b82048414da4 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -193,6 +193,8 @@ export class Converter { source: null, exportKind: isType || isDeclare ? 'type' : 'value', range: [exportKeyword.getStart(this.ast), result.range[1]], + // TODO: fix + assertions: [], }); } } @@ -663,6 +665,14 @@ export class Converter { return result; } + private convertAssertClasue( + node: ts.AssertClause | undefined, + ): TSESTree.ImportAttribute[] { + return node === undefined + ? [] + : node.elements.map(element => this.convertChild(element)); + } + /** * Applies the given TS modifiers to the given result object. * @param result @@ -1737,6 +1747,7 @@ export class Converter { source: this.convertChild(node.moduleSpecifier), specifiers: [], importKind: 'value', + assertions: this.convertAssertClasue(node.assertClause), }); if (node.importClause) { @@ -1805,6 +1816,7 @@ export class Converter { ), exportKind: node.isTypeOnly ? 'type' : 'value', declaration: null, + assertions: this.convertAssertClasue(node.assertClause), }); } else { return this.createNode(node, { @@ -1820,6 +1832,7 @@ export class Converter { node.exportClause.kind === SyntaxKind.NamespaceExport ? this.convertChild(node.exportClause.name) : null, + assertions: this.convertAssertClasue(node.assertClause), }); } } @@ -1989,16 +2002,19 @@ export class Converter { case SyntaxKind.CallExpression: { if (node.expression.kind === SyntaxKind.ImportKeyword) { - if (node.arguments.length !== 1) { + if (node.arguments.length > 2) { throw createError( this.ast, node.arguments.pos, - 'Dynamic import must have one specifier as an argument.', + 'Dynamic import requires exactly one or two arguments.', ); } return this.createNode(node, { type: AST_NODE_TYPES.ImportExpression, source: this.convertChild(node.arguments[0]), + attributes: node.arguments[1] + ? this.convertChild(node.arguments[1]) + : null, }); } @@ -2871,6 +2887,14 @@ export class Converter { }); } + case SyntaxKind.AssertEntry: { + return this.createNode(node, { + type: AST_NODE_TYPES.ImportAttribute, + key: this.convertChild(node.name), + value: this.convertChild(node.value), + }); + } + default: return this.deeplyCopy(node); } diff --git a/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts b/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts index 586aea269eea..9c71608424bc 100644 --- a/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts +++ b/packages/typescript-estree/src/ts-estree/estree-to-ts-node-types.ts @@ -74,6 +74,7 @@ export interface EstreeToTsNodeTypes { | ts.Token; [AST_NODE_TYPES.PrivateIdentifier]: ts.PrivateIdentifier; [AST_NODE_TYPES.IfStatement]: ts.IfStatement; + [AST_NODE_TYPES.ImportAttribute]: ts.AssertEntry; [AST_NODE_TYPES.ImportDeclaration]: ts.ImportDeclaration; [AST_NODE_TYPES.ImportDefaultSpecifier]: ts.ImportClause; [AST_NODE_TYPES.ImportExpression]: ts.CallExpression; diff --git a/packages/typescript-estree/src/ts-estree/ts-nodes.ts b/packages/typescript-estree/src/ts-estree/ts-nodes.ts index 79756053e087..f750ee21c769 100644 --- a/packages/typescript-estree/src/ts-estree/ts-nodes.ts +++ b/packages/typescript-estree/src/ts-estree/ts-nodes.ts @@ -14,6 +14,8 @@ declare module 'typescript' { export type TSToken = ts.Token; export type TSNode = + | ts.AssertClause + | ts.AssertEntry | ts.Modifier | ts.Identifier | ts.PrivateIdentifier From 9ec384bd4a9df06d8b98c90fb534bb77cfb77417 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 03:04:13 +0900 Subject: [PATCH 04/14] test(typescript-estree): update tests for import assertions --- .../dynamic-import.src.js.shot | 1 + .../error-dynamic-import-params.src.js.shot | 207 +++++++++++++++++- .../modules/error-delete.src.js.shot | 1 + .../modules/error-strict.src.js.shot | 1 + .../export-async-named-function.src.js.shot | 1 + .../modules/export-const.src.js.shot | 1 + .../modules/export-from-batch.src.js.shot | 1 + .../modules/export-from-default.src.js.shot | 1 + .../export-from-named-as-default.src.js.shot | 1 + ...export-from-named-as-specifier.src.js.shot | 1 + ...xport-from-named-as-specifiers.src.js.shot | 1 + .../modules/export-from-specifier.src.js.shot | 1 + .../export-from-specifiers.src.js.shot | 1 + .../modules/export-function.src.js.shot | 1 + .../javascript/modules/export-let.src.js.shot | 1 + .../export-named-as-default.src.js.shot | 1 + .../export-named-as-specifier.src.js.shot | 1 + .../export-named-as-specifiers.src.js.shot | 1 + .../modules/export-named-class.src.js.shot | 1 + .../modules/export-named-empty.src.js.shot | 1 + .../export-named-specifier.src.js.shot | 1 + .../export-named-specifiers-comma.src.js.shot | 1 + .../export-named-specifiers.src.js.shot | 1 + .../export-var-anonymous-function.src.js.shot | 1 + .../modules/export-var-number.src.js.shot | 1 + .../javascript/modules/export-var.src.js.shot | 1 + ...t-default-and-named-specifiers.src.js.shot | 1 + ...fault-and-namespace-specifiers.src.js.shot | 1 + .../modules/import-default-as.src.js.shot | 1 + .../modules/import-default.src.js.shot | 1 + .../modules/import-jquery.src.js.shot | 1 + .../modules/import-module.src.js.shot | 1 + .../import-named-as-specifier.src.js.shot | 1 + .../import-named-as-specifiers.src.js.shot | 1 + .../modules/import-named-empty.src.js.shot | 1 + .../import-named-specifier.src.js.shot | 1 + .../import-named-specifiers-comma.src.js.shot | 1 + .../import-named-specifiers.src.js.shot | 1 + .../import-namespace-specifier.src.js.shot | 1 + .../modules/import-null-as-nil.src.js.shot | 1 + .../modules/invalid-await.src.js.shot | 1 + .../invalid-export-named-default.src.js.shot | 1 + .../tsx/react-typed-props.src.tsx.shot | 1 + ...lass-with-abstract-constructor.src.ts.shot | 1 + ...act-class-with-abstract-method.src.ts.shot | 1 + ...th-abstract-static-constructor.src.ts.shot | 1 + ...act-class-with-optional-method.src.ts.shot | 1 + .../basics/abstract-interface.src.ts.shot | 1 + ...xport-declare-const-named-enum.src.ts.shot | 1 + .../export-declare-named-enum.src.ts.shot | 1 + ...xport-named-class-with-generic.src.ts.shot | 1 + ...d-class-with-multiple-generics.src.ts.shot | 1 + ...ort-named-enum-computed-number.src.ts.shot | 1 + ...ort-named-enum-computed-string.src.ts.shot | 1 + ...rt-named-enum-computed-var-ref.src.ts.shot | 1 + .../basics/export-named-enum.src.ts.shot | 1 + .../basics/export-star-as-ns-from.src.ts.shot | 1 + .../basics/export-type-as.src.ts.shot | 1 + .../basics/export-type-from-as.src.ts.shot | 1 + .../basics/export-type-from.src.ts.shot | 1 + .../basics/export-type-star-from.src.ts.shot | 1 + .../typescript/basics/export-type.src.ts.shot | 1 + .../basics/function-overloads.src.ts.shot | 3 + .../basics/import-type-default.src.ts.shot | 1 + .../basics/import-type-empty.src.ts.shot | 1 + .../basics/import-type-error.src.ts.shot | 1 + .../basics/import-type-named-as.src.ts.shot | 1 + .../basics/import-type-named.src.ts.shot | 1 + .../basics/import-type-star-as-ns.src.ts.shot | 1 + .../basics/keyword-variables.src.ts.shot | 1 + ...claration-export-function-type.src.ts.shot | 1 + ...declaration-export-object-type.src.ts.shot | 1 + .../type-alias-declaration-export.src.ts.shot | 1 + .../enum-with-keywords.src.ts.shot | 1 + ...module-declaration-with-import.src.ts.shot | 1 + ...mespace-with-exported-function.src.ts.shot | 1 + .../nested-internal-module.src.ts.shot | 4 + 77 files changed, 283 insertions(+), 5 deletions(-) diff --git a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/dynamic-import.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/dynamic-import.src.js.shot index c7df584635cb..14fa1e6f7862 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/dynamic-import.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/dynamic-import.src.js.shot @@ -38,6 +38,7 @@ Object { }, }, "object": Object { + "attributes": null, "loc": Object { "end": Object { "column": 13, diff --git a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot index 6eab5338468b..46cd1dc6e109 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot @@ -1,10 +1,207 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`javascript experimentalDynamicImport error-dynamic-import-params.src 1`] = ` -TSError { - "column": 7, - "index": 7, - "lineNumber": 1, - "message": "Dynamic import must have one specifier as an argument.", +Object { + "body": Array [ + Object { + "expression": Object { + "attributes": Object { + "loc": Object { + "end": Object { + "column": 16, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "range": Array [ + 14, + 16, + ], + "raw": "''", + "type": "Literal", + "value": "", + }, + "loc": Object { + "end": Object { + "column": 17, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 17, + ], + "source": Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 12, + ], + "raw": "'foo'", + "type": "Literal", + "value": "foo", + }, + "type": "ImportExpression", + }, + "loc": Object { + "end": Object { + "column": 17, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 17, + ], + "type": "ExpressionStatement", + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 18, + ], + "sourceType": "script", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 6, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 6, + ], + "type": "Keyword", + "value": "import", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 1, + }, + "start": Object { + "column": 6, + "line": 1, + }, + }, + "range": Array [ + 6, + 7, + ], + "type": "Punctuator", + "value": "(", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 12, + ], + "type": "String", + "value": "'foo'", + }, + Object { + "loc": Object { + "end": Object { + "column": 13, + "line": 1, + }, + "start": Object { + "column": 12, + "line": 1, + }, + }, + "range": Array [ + 12, + 13, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 16, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "range": Array [ + 14, + 16, + ], + "type": "String", + "value": "''", + }, + Object { + "loc": Object { + "end": Object { + "column": 17, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "range": Array [ + 16, + 17, + ], + "type": "Punctuator", + "value": ")", + }, + ], + "type": "Program", } `; diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/error-delete.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/error-delete.src.js.shot index 4a269a6e79f6..e687911b8d22 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/error-delete.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/error-delete.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules error-delete.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/error-strict.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/error-strict.src.js.shot index 6456ff96a153..8f7cd2fee8ac 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/error-strict.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/error-strict.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules error-strict.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-async-named-function.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-async-named-function.src.js.shot index b78506dc8a6b..8f0fc7a17738 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-async-named-function.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-async-named-function.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-async-named-function.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "async": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-const.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-const.src.js.shot index 8059d3c6f15a..6ff96e199e50 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-const.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-const.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-const.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-batch.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-batch.src.js.shot index 18f6abc37bbd..e18c65b71f97 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-batch.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-batch.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-batch.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "exportKind": "value", "exported": null, "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-default.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-default.src.js.shot index 67f1d4eaa4fa..64f5389e68f9 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-default.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-default.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-default.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-default.src.js.shot index 44050e3fb44e..14c18357a30b 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-default.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-default.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-named-as-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifier.src.js.shot index cd6f08831885..4276e971812a 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-named-as-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifiers.src.js.shot index 9a19c06fd6b1..07559ffd25a4 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-named-as-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-named-as-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifier.src.js.shot index d7e4d54372db..bc803f9f81a9 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifiers.src.js.shot index 30b085b71384..534eac60650d 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-from-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-from-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-function.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-function.src.js.shot index f3e99f637573..e42c3ad9fc8f 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-function.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-function.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-function.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "async": false, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-let.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-let.src.js.shot index 2d72ee860d50..91e7001d2033 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-let.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-let.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-let.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-default.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-default.src.js.shot index 408c7a9778df..721829f666d8 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-default.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-default.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-as-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifier.src.js.shot index 9d4f7345d030..f5bff99070fb 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-as-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifiers.src.js.shot index 701484163cea..53e71f35e43c 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-as-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-as-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-class.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-class.src.js.shot index b3ac490da334..a791c892e875 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-class.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-class.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-class.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [], diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-empty.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-empty.src.js.shot index 9758d63917c6..19f6e016af3e 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-empty.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-empty.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-empty.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifier.src.js.shot index 00df2fcf29df..51afad21908b 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers-comma.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers-comma.src.js.shot index 62f07331f894..d1016850da91 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers-comma.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers-comma.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-specifiers-comma.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers.src.js.shot index ef885b8068fb..116a3a5d432e 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-named-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-named-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-anonymous-function.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-anonymous-function.src.js.shot index feaec8b934e3..fdd2c4ee13d5 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-anonymous-function.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-anonymous-function.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-var-anonymous-function.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-number.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-number.src.js.shot index c3f29dca8388..82fd63084fd4 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-number.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var-number.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-var-number.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var.src.js.shot index a76496976aaf..2ff0cbfb0630 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/export-var.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/export-var.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules export-var.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-named-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-named-specifiers.src.js.shot index 3584ee1136d2..d5c3061ec794 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-named-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-named-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-default-and-named-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-namespace-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-namespace-specifiers.src.js.shot index 3d444e8e40a3..fe0e67372ba7 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-namespace-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-and-namespace-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-default-and-namespace-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-as.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-as.src.js.shot index 2e0510c9395a..2b75d98a43e3 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-as.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default-as.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-default-as.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default.src.js.shot index 114c23d9ad9a..71aef0d54320 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-default.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-default.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-jquery.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-jquery.src.js.shot index 2f5bbb8568df..01a85b43bbd5 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-jquery.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-jquery.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-jquery.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-module.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-module.src.js.shot index 6b8ac8128e43..06702d2a6931 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-module.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-module.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-module.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifier.src.js.shot index 8cc3469504d0..53b059afc928 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-as-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifiers.src.js.shot index 53d3579d336b..9120d1ab3f8a 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-as-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-as-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-empty.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-empty.src.js.shot index 681ab6f44e01..7b16fa592311 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-empty.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-empty.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-empty.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifier.src.js.shot index 72d0dc7d892e..d7a18ce85242 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers-comma.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers-comma.src.js.shot index d3d9037a8588..58d4ed84a9db 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers-comma.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers-comma.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-specifiers-comma.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers.src.js.shot index c99ff3d7337d..cb07dd7e0a7b 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-named-specifiers.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-named-specifiers.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-namespace-specifier.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-namespace-specifier.src.js.shot index e0646c950b32..4939af93a05e 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-namespace-specifier.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-namespace-specifier.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-namespace-specifier.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/import-null-as-nil.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/import-null-as-nil.src.js.shot index cae02100d549..772893882959 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/import-null-as-nil.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/import-null-as-nil.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules import-null-as-nil.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-await.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-await.src.js.shot index 596eaa1bbbfe..900e9de80145 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-await.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-await.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules invalid-await.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-export-named-default.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-export-named-default.src.js.shot index 6d96f916bd96..25dfdf0f2a43 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-export-named-default.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/modules/invalid-export-named-default.src.js.shot @@ -4,6 +4,7 @@ exports[`javascript modules invalid-export-named-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "value", "loc": Object { 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 c526bcc9da4a..cf0793e25733 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 @@ -4,6 +4,7 @@ exports[`tsx react-typed-props.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-constructor.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-constructor.src.ts.shot index 8a5a6c7e8c66..7b34b0135801 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-constructor.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-constructor.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics abstract-class-with-abstract-constructor.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "abstract": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-method.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-method.src.ts.shot index 7604195da3ac..4fce3551bf95 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-method.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-method.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics abstract-class-with-abstract-method.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "abstract": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-static-constructor.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-static-constructor.src.ts.shot index 6b0c9419bdfe..ac16278e0e71 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-static-constructor.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-abstract-static-constructor.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics abstract-class-with-abstract-static-constructor.src 1 Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "abstract": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-optional-method.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-optional-method.src.ts.shot index 4c8d959632fe..a9672cf27570 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-optional-method.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-class-with-optional-method.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics abstract-class-with-optional-method.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "abstract": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-interface.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-interface.src.ts.shot index 974a522116cf..5d96c992f86f 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-interface.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/abstract-interface.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics abstract-interface.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "abstract": true, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-const-named-enum.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-const-named-enum.src.ts.shot index 6a6334b4b0b4..2067ecc14324 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-const-named-enum.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-const-named-enum.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-declare-const-named-enum.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "const": true, "declare": true, diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-named-enum.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-named-enum.src.ts.shot index ee4c9d96c27a..3c0702b063a8 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-named-enum.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-declare-named-enum.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-declare-named-enum.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declare": true, "id": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-generic.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-generic.src.ts.shot index e892bad3b070..4a6484753839 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-generic.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-generic.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-class-with-generic.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [], diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-multiple-generics.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-multiple-generics.src.ts.shot index b71ab124137a..988daf8a174e 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-multiple-generics.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-class-with-multiple-generics.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-class-with-multiple-generics.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [], diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-number.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-number.src.ts.shot index 0429148cc63b..c9ec2237d16f 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-number.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-number.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-enum-computed-number.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-string.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-string.src.ts.shot index 789813ef06cd..f4a66e995ebe 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-string.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-string.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-enum-computed-string.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-var-ref.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-var-ref.src.ts.shot index e81e16012854..557d76a3736e 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-var-ref.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum-computed-var-ref.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-enum-computed-var-ref.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum.src.ts.shot index fe297eba1f0e..9b4477c59c95 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-named-enum.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-named-enum.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-star-as-ns-from.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-star-as-ns-from.src.ts.shot index 8373a52f4b56..ba4a7e299abb 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-star-as-ns-from.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-star-as-ns-from.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-star-as-ns-from.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "exportKind": "value", "exported": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-as.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-as.src.ts.shot index 3840a7d5855b..38503e8b56b0 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-as.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-as.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-type-as.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "type", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from-as.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from-as.src.ts.shot index fc3cb4b9b529..8931729d7d48 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from-as.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from-as.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-type-from-as.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "type", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from.src.ts.shot index 725bf92c03fd..df1f518dcfd9 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-from.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-type-from.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "type", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-star-from.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-star-from.src.ts.shot index c9de4d1207d7..3bc0a74b5f79 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-star-from.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type-star-from.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-type-star-from.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "exportKind": "type", "exported": null, "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type.src.ts.shot index 12ef1ac22252..bc9c811c6803 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/export-type.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-type.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics export-type.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": null, "exportKind": "type", "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/function-overloads.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/function-overloads.src.ts.shot index 9e48b7e6c0fa..56d78d267c6d 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/function-overloads.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/function-overloads.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics function-overloads.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "async": false, "body": undefined, @@ -151,6 +152,7 @@ Object { "type": "ExportNamedDeclaration", }, Object { + "assertions": Array [], "declaration": Object { "async": false, "body": undefined, @@ -298,6 +300,7 @@ Object { "type": "ExportNamedDeclaration", }, Object { + "assertions": Array [], "declaration": Object { "async": false, "body": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-default.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-default.src.ts.shot index 5fc98a4fa127..37de8a2ca762 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-default.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-default.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-default.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "type", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-empty.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-empty.src.ts.shot index 05f32f02bb65..1f9269046ed4 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-empty.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-empty.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-empty.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-error.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-error.src.ts.shot index 5b344b78c2cc..8435df7dce88 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-error.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-error.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-error.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "type", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named-as.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named-as.src.ts.shot index dcc96812db45..0c8f776f1db2 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named-as.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named-as.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-named-as.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "type", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named.src.ts.shot index 26fc16132298..37ac57adf80e 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-named.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-named.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "type", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-star-as-ns.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-star-as-ns.src.ts.shot index 0e709b3d77ea..4e1f626f6ec9 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-star-as-ns.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-type-star-as-ns.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics import-type-star-as-ns.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "type", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/keyword-variables.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/keyword-variables.src.ts.shot index d32cb99e1aab..7e84c18a08d0 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/keyword-variables.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/keyword-variables.src.ts.shot @@ -2317,6 +2317,7 @@ Object { "type": "BlockStatement", }, Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-function-type.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-function-type.src.ts.shot index 87a9a825b3bd..b845060344d3 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-function-type.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-function-type.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics type-alias-declaration-export-function-type.src 1`] = Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-object-type.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-object-type.src.ts.shot index f1e98e73b2f9..352d429ffef1 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-object-type.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export-object-type.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics type-alias-declaration-export-object-type.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export.src.ts.shot index 7a4ad4641c84..189e76aa11a4 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/type-alias-declaration-export.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript basics type-alias-declaration-export.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/errorRecovery/enum-with-keywords.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/errorRecovery/enum-with-keywords.src.ts.shot index 8eb4625590f3..f21c928657d8 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/errorRecovery/enum-with-keywords.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/errorRecovery/enum-with-keywords.src.ts.shot @@ -4,6 +4,7 @@ exports[`typescript errorRecovery enum-with-keywords.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "id": Object { "loc": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/ambient-module-declaration-with-import.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/ambient-module-declaration-with-import.src.ts.shot index dff82daf89cb..eca74134194e 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/ambient-module-declaration-with-import.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/ambient-module-declaration-with-import.src.ts.shot @@ -7,6 +7,7 @@ Object { "body": Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/declare-namespace-with-exported-function.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/declare-namespace-with-exported-function.src.ts.shot index cde2667b3a43..1d6f5b2efdac 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/declare-namespace-with-exported-function.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/declare-namespace-with-exported-function.src.ts.shot @@ -7,6 +7,7 @@ Object { "body": Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "async": false, "body": undefined, diff --git a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/nested-internal-module.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/nested-internal-module.src.ts.shot index c744f34b9000..2284e4afed7d 100644 --- a/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/nested-internal-module.src.ts.shot +++ b/packages/typescript-estree/tests/snapshots/typescript/namespaces-and-modules/nested-internal-module.src.ts.shot @@ -7,6 +7,7 @@ Object { "body": Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "declarations": Array [ Object { @@ -101,6 +102,7 @@ Object { "type": "ExportNamedDeclaration", }, Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [ @@ -404,10 +406,12 @@ Object { "type": "ExportNamedDeclaration", }, Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [ Object { + "assertions": Array [], "declaration": Object { "body": Object { "body": Array [ From 5211b427883bd0ef47b2ddc22a6b2b360fa6b325 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 17:49:28 +0900 Subject: [PATCH 05/14] test(typescript-estree): fix ast-alignment tests --- .../tests/ast-alignment/parse.ts | 1 + .../tests/ast-alignment/utils.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/packages/typescript-estree/tests/ast-alignment/parse.ts b/packages/typescript-estree/tests/ast-alignment/parse.ts index 3429f338d77b..573c98434222 100644 --- a/packages/typescript-estree/tests/ast-alignment/parse.ts +++ b/packages/typescript-estree/tests/ast-alignment/parse.ts @@ -33,6 +33,7 @@ function parseWithBabelParser(text: string, jsx = true): File { ], 'decorators-legacy', 'classStaticBlock', + 'importAssertions', 'typescript', ]; if (jsx) { diff --git a/packages/typescript-estree/tests/ast-alignment/utils.ts b/packages/typescript-estree/tests/ast-alignment/utils.ts index 2f9ab5cab3bc..b5e9263f3149 100644 --- a/packages/typescript-estree/tests/ast-alignment/utils.ts +++ b/packages/typescript-estree/tests/ast-alignment/utils.ts @@ -275,6 +275,24 @@ export function preprocessBabylonAST(ast: File): any { ExportSpecifier(node) { delete node.exportKind; }, + /* + * Babel's AST has no `assertions` property if there are no assertions. + */ + ImportDeclaration(node) { + if (!node.assertions) { + node.assertions = []; + } + }, + ExportNamedDeclaration(node) { + if (!node.assertions) { + node.assertions = []; + } + }, + ExportAllDeclaration(node) { + if (!node.assertions) { + node.assertions = []; + } + }, }, ); } From 19ebc58caa2fc81c918cbd39c0cbc44379019193 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 18:03:52 +0900 Subject: [PATCH 06/14] test(typescript-estree): update snapshots --- .../error-dynamic-import-params.src.js | 2 +- .../semantic-diagnostics-enabled.test.ts.snap | 2 +- .../__snapshots__/semanticInfo.test.ts.snap | 1 + .../error-dynamic-import-params.src.js.shot | 207 +----------------- 4 files changed, 8 insertions(+), 204 deletions(-) diff --git a/packages/shared-fixtures/fixtures/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js b/packages/shared-fixtures/fixtures/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js index c5d6277887f3..6dfb45db7e98 100644 --- a/packages/shared-fixtures/fixtures/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js +++ b/packages/shared-fixtures/fixtures/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js @@ -1 +1 @@ -import('foo', '') +import('foo', '', '') diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap index f238afc849e7..53a77c593024 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap @@ -598,7 +598,7 @@ TSError { "column": 7, "index": 7, "lineNumber": 1, - "message": "Dynamic import must have one specifier as an argument.", + "message": "Dynamic import requires exactly one or two arguments.", } `; diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap index ce899d6636cb..9da83d40a891 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semanticInfo.test.ts.snap @@ -304,6 +304,7 @@ exports[`semanticInfo fixtures/import-file.src 1`] = ` Object { "body": Array [ Object { + "assertions": Array [], "importKind": "value", "loc": Object { "end": Object { diff --git a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot index 46cd1dc6e109..ac792b26e677 100644 --- a/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot +++ b/packages/typescript-estree/tests/snapshots/javascript/experimentalDynamicImport/error-dynamic-import-params.src.js.shot @@ -1,207 +1,10 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`javascript experimentalDynamicImport error-dynamic-import-params.src 1`] = ` -Object { - "body": Array [ - Object { - "expression": Object { - "attributes": Object { - "loc": Object { - "end": Object { - "column": 16, - "line": 1, - }, - "start": Object { - "column": 14, - "line": 1, - }, - }, - "range": Array [ - 14, - 16, - ], - "raw": "''", - "type": "Literal", - "value": "", - }, - "loc": Object { - "end": Object { - "column": 17, - "line": 1, - }, - "start": Object { - "column": 0, - "line": 1, - }, - }, - "range": Array [ - 0, - 17, - ], - "source": Object { - "loc": Object { - "end": Object { - "column": 12, - "line": 1, - }, - "start": Object { - "column": 7, - "line": 1, - }, - }, - "range": Array [ - 7, - 12, - ], - "raw": "'foo'", - "type": "Literal", - "value": "foo", - }, - "type": "ImportExpression", - }, - "loc": Object { - "end": Object { - "column": 17, - "line": 1, - }, - "start": Object { - "column": 0, - "line": 1, - }, - }, - "range": Array [ - 0, - 17, - ], - "type": "ExpressionStatement", - }, - ], - "comments": Array [], - "loc": Object { - "end": Object { - "column": 0, - "line": 2, - }, - "start": Object { - "column": 0, - "line": 1, - }, - }, - "range": Array [ - 0, - 18, - ], - "sourceType": "script", - "tokens": Array [ - Object { - "loc": Object { - "end": Object { - "column": 6, - "line": 1, - }, - "start": Object { - "column": 0, - "line": 1, - }, - }, - "range": Array [ - 0, - 6, - ], - "type": "Keyword", - "value": "import", - }, - Object { - "loc": Object { - "end": Object { - "column": 7, - "line": 1, - }, - "start": Object { - "column": 6, - "line": 1, - }, - }, - "range": Array [ - 6, - 7, - ], - "type": "Punctuator", - "value": "(", - }, - Object { - "loc": Object { - "end": Object { - "column": 12, - "line": 1, - }, - "start": Object { - "column": 7, - "line": 1, - }, - }, - "range": Array [ - 7, - 12, - ], - "type": "String", - "value": "'foo'", - }, - Object { - "loc": Object { - "end": Object { - "column": 13, - "line": 1, - }, - "start": Object { - "column": 12, - "line": 1, - }, - }, - "range": Array [ - 12, - 13, - ], - "type": "Punctuator", - "value": ",", - }, - Object { - "loc": Object { - "end": Object { - "column": 16, - "line": 1, - }, - "start": Object { - "column": 14, - "line": 1, - }, - }, - "range": Array [ - 14, - 16, - ], - "type": "String", - "value": "''", - }, - Object { - "loc": Object { - "end": Object { - "column": 17, - "line": 1, - }, - "start": Object { - "column": 16, - "line": 1, - }, - }, - "range": Array [ - 16, - 17, - ], - "type": "Punctuator", - "value": ")", - }, - ], - "type": "Program", +TSError { + "column": 7, + "index": 7, + "lineNumber": 1, + "message": "Dynamic import requires exactly one or two arguments.", } `; From ccedb5c693e76fefe61015750b165008e36e2024 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sat, 30 Oct 2021 18:46:22 +0900 Subject: [PATCH 07/14] test(typescript-estree): add fixtures for import assertions --- ...namic-import-with-import-assertions.src.ts | 1 + .../export-all-with-import-assertions.src.ts | 1 + .../export-with-import-assertions.src.ts | 1 + .../import-with-import-assertions.src.ts | 1 + ...-import-with-import-assertions.src.ts.shot | 485 ++++++++++++++++++ ...ort-all-with-import-assertions.src.ts.shot | 319 ++++++++++++ .../export-with-import-assertions.src.ts.shot | 410 +++++++++++++++ .../import-with-import-assertions.src.ts.shot | 355 +++++++++++++ 8 files changed, 1573 insertions(+) create mode 100644 packages/shared-fixtures/fixtures/typescript/basics/dynamic-import-with-import-assertions.src.ts create mode 100644 packages/shared-fixtures/fixtures/typescript/basics/export-all-with-import-assertions.src.ts create mode 100644 packages/shared-fixtures/fixtures/typescript/basics/export-with-import-assertions.src.ts create mode 100644 packages/shared-fixtures/fixtures/typescript/basics/import-with-import-assertions.src.ts create mode 100644 packages/typescript-estree/tests/snapshots/typescript/basics/dynamic-import-with-import-assertions.src.ts.shot create mode 100644 packages/typescript-estree/tests/snapshots/typescript/basics/export-all-with-import-assertions.src.ts.shot create mode 100644 packages/typescript-estree/tests/snapshots/typescript/basics/export-with-import-assertions.src.ts.shot create mode 100644 packages/typescript-estree/tests/snapshots/typescript/basics/import-with-import-assertions.src.ts.shot diff --git a/packages/shared-fixtures/fixtures/typescript/basics/dynamic-import-with-import-assertions.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/dynamic-import-with-import-assertions.src.ts new file mode 100644 index 000000000000..6f0405cedb66 --- /dev/null +++ b/packages/shared-fixtures/fixtures/typescript/basics/dynamic-import-with-import-assertions.src.ts @@ -0,0 +1 @@ +import("foo", { assert: { type: "json" } }); diff --git a/packages/shared-fixtures/fixtures/typescript/basics/export-all-with-import-assertions.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/export-all-with-import-assertions.src.ts new file mode 100644 index 000000000000..10367d6cc4b6 --- /dev/null +++ b/packages/shared-fixtures/fixtures/typescript/basics/export-all-with-import-assertions.src.ts @@ -0,0 +1 @@ +export * from "mod" assert { type: "json" }; diff --git a/packages/shared-fixtures/fixtures/typescript/basics/export-with-import-assertions.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/export-with-import-assertions.src.ts new file mode 100644 index 000000000000..767b6e9e2f39 --- /dev/null +++ b/packages/shared-fixtures/fixtures/typescript/basics/export-with-import-assertions.src.ts @@ -0,0 +1 @@ +export { foo } from "mod" assert { type: "json" }; diff --git a/packages/shared-fixtures/fixtures/typescript/basics/import-with-import-assertions.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/import-with-import-assertions.src.ts new file mode 100644 index 000000000000..d3bd99b37ff3 --- /dev/null +++ b/packages/shared-fixtures/fixtures/typescript/basics/import-with-import-assertions.src.ts @@ -0,0 +1 @@ +import foo from "mod" assert { type: "json" }; diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/dynamic-import-with-import-assertions.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/dynamic-import-with-import-assertions.src.ts.shot new file mode 100644 index 000000000000..90a43822ecab --- /dev/null +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/dynamic-import-with-import-assertions.src.ts.shot @@ -0,0 +1,485 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typescript basics dynamic-import-with-import-assertions.src 1`] = ` +Object { + "body": Array [ + Object { + "expression": Object { + "attributes": Object { + "loc": Object { + "end": Object { + "column": 42, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "properties": Array [ + Object { + "computed": false, + "key": Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "name": "assert", + "range": Array [ + 16, + 22, + ], + "type": "Identifier", + }, + "kind": "init", + "loc": Object { + "end": Object { + "column": 40, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "method": false, + "range": Array [ + 16, + 40, + ], + "shorthand": false, + "type": "Property", + "value": Object { + "loc": Object { + "end": Object { + "column": 40, + "line": 1, + }, + "start": Object { + "column": 24, + "line": 1, + }, + }, + "properties": Array [ + Object { + "computed": false, + "key": Object { + "loc": Object { + "end": Object { + "column": 30, + "line": 1, + }, + "start": Object { + "column": 26, + "line": 1, + }, + }, + "name": "type", + "range": Array [ + 26, + 30, + ], + "type": "Identifier", + }, + "kind": "init", + "loc": Object { + "end": Object { + "column": 38, + "line": 1, + }, + "start": Object { + "column": 26, + "line": 1, + }, + }, + "method": false, + "range": Array [ + 26, + 38, + ], + "shorthand": false, + "type": "Property", + "value": Object { + "loc": Object { + "end": Object { + "column": 38, + "line": 1, + }, + "start": Object { + "column": 32, + "line": 1, + }, + }, + "range": Array [ + 32, + 38, + ], + "raw": "\\"json\\"", + "type": "Literal", + "value": "json", + }, + }, + ], + "range": Array [ + 24, + 40, + ], + "type": "ObjectExpression", + }, + }, + ], + "range": Array [ + 14, + 42, + ], + "type": "ObjectExpression", + }, + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 43, + ], + "source": Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 12, + ], + "raw": "\\"foo\\"", + "type": "Literal", + "value": "foo", + }, + "type": "ImportExpression", + }, + "loc": Object { + "end": Object { + "column": 44, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 44, + ], + "type": "ExpressionStatement", + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 45, + ], + "sourceType": "script", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 6, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 6, + ], + "type": "Keyword", + "value": "import", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 1, + }, + "start": Object { + "column": 6, + "line": 1, + }, + }, + "range": Array [ + 6, + 7, + ], + "type": "Punctuator", + "value": "(", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 12, + ], + "type": "String", + "value": "\\"foo\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 13, + "line": 1, + }, + "start": Object { + "column": 12, + "line": 1, + }, + }, + "range": Array [ + 12, + 13, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 15, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "range": Array [ + 14, + 15, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "range": Array [ + 16, + 22, + ], + "type": "Identifier", + "value": "assert", + }, + Object { + "loc": Object { + "end": Object { + "column": 23, + "line": 1, + }, + "start": Object { + "column": 22, + "line": 1, + }, + }, + "range": Array [ + 22, + 23, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 25, + "line": 1, + }, + "start": Object { + "column": 24, + "line": 1, + }, + }, + "range": Array [ + 24, + 25, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 30, + "line": 1, + }, + "start": Object { + "column": 26, + "line": 1, + }, + }, + "range": Array [ + 26, + 30, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 1, + }, + "start": Object { + "column": 30, + "line": 1, + }, + }, + "range": Array [ + 30, + 31, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 38, + "line": 1, + }, + "start": Object { + "column": 32, + "line": 1, + }, + }, + "range": Array [ + 32, + 38, + ], + "type": "String", + "value": "\\"json\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 40, + "line": 1, + }, + "start": Object { + "column": 39, + "line": 1, + }, + }, + "range": Array [ + 39, + 40, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 42, + "line": 1, + }, + "start": Object { + "column": 41, + "line": 1, + }, + }, + "range": Array [ + 41, + 42, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 42, + "line": 1, + }, + }, + "range": Array [ + 42, + 43, + ], + "type": "Punctuator", + "value": ")", + }, + Object { + "loc": Object { + "end": Object { + "column": 44, + "line": 1, + }, + "start": Object { + "column": 43, + "line": 1, + }, + }, + "range": Array [ + 43, + 44, + ], + "type": "Punctuator", + "value": ";", + }, + ], + "type": "Program", +} +`; diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-all-with-import-assertions.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-all-with-import-assertions.src.ts.shot new file mode 100644 index 000000000000..3fd3efea8455 --- /dev/null +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-all-with-import-assertions.src.ts.shot @@ -0,0 +1,319 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typescript basics export-all-with-import-assertions.src 1`] = ` +Object { + "body": Array [ + Object { + "assertions": Array [ + Object { + "key": Object { + "loc": Object { + "end": Object { + "column": 33, + "line": 1, + }, + "start": Object { + "column": 29, + "line": 1, + }, + }, + "name": "type", + "range": Array [ + 29, + 33, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 41, + "line": 1, + }, + "start": Object { + "column": 29, + "line": 1, + }, + }, + "range": Array [ + 29, + 41, + ], + "type": "ImportAttribute", + "value": Object { + "loc": Object { + "end": Object { + "column": 41, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "range": Array [ + 35, + 41, + ], + "raw": "\\"json\\"", + "type": "Literal", + "value": "json", + }, + }, + ], + "exportKind": "value", + "exported": null, + "loc": Object { + "end": Object { + "column": 44, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 44, + ], + "source": Object { + "loc": Object { + "end": Object { + "column": 19, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "range": Array [ + 14, + 19, + ], + "raw": "\\"mod\\"", + "type": "Literal", + "value": "mod", + }, + "type": "ExportAllDeclaration", + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 45, + ], + "sourceType": "module", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 6, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 6, + ], + "type": "Keyword", + "value": "export", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 8, + ], + "type": "Punctuator", + "value": "*", + }, + Object { + "loc": Object { + "end": Object { + "column": 13, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "range": Array [ + 9, + 13, + ], + "type": "Identifier", + "value": "from", + }, + Object { + "loc": Object { + "end": Object { + "column": 19, + "line": 1, + }, + "start": Object { + "column": 14, + "line": 1, + }, + }, + "range": Array [ + 14, + 19, + ], + "type": "String", + "value": "\\"mod\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 26, + "line": 1, + }, + "start": Object { + "column": 20, + "line": 1, + }, + }, + "range": Array [ + 20, + 26, + ], + "type": "Identifier", + "value": "assert", + }, + Object { + "loc": Object { + "end": Object { + "column": 28, + "line": 1, + }, + "start": Object { + "column": 27, + "line": 1, + }, + }, + "range": Array [ + 27, + 28, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 33, + "line": 1, + }, + "start": Object { + "column": 29, + "line": 1, + }, + }, + "range": Array [ + 29, + 33, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 34, + "line": 1, + }, + "start": Object { + "column": 33, + "line": 1, + }, + }, + "range": Array [ + 33, + 34, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 41, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "range": Array [ + 35, + 41, + ], + "type": "String", + "value": "\\"json\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 42, + "line": 1, + }, + }, + "range": Array [ + 42, + 43, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 44, + "line": 1, + }, + "start": Object { + "column": 43, + "line": 1, + }, + }, + "range": Array [ + 43, + 44, + ], + "type": "Punctuator", + "value": ";", + }, + ], + "type": "Program", +} +`; diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/export-with-import-assertions.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/export-with-import-assertions.src.ts.shot new file mode 100644 index 000000000000..fa47a012552b --- /dev/null +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/export-with-import-assertions.src.ts.shot @@ -0,0 +1,410 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typescript basics export-with-import-assertions.src 1`] = ` +Object { + "body": Array [ + Object { + "assertions": Array [ + Object { + "key": Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "name": "type", + "range": Array [ + 35, + 39, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 47, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "range": Array [ + 35, + 47, + ], + "type": "ImportAttribute", + "value": Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 1, + }, + "start": Object { + "column": 41, + "line": 1, + }, + }, + "range": Array [ + 41, + 47, + ], + "raw": "\\"json\\"", + "type": "Literal", + "value": "json", + }, + }, + ], + "declaration": null, + "exportKind": "value", + "loc": Object { + "end": Object { + "column": 50, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 50, + ], + "source": Object { + "loc": Object { + "end": Object { + "column": 25, + "line": 1, + }, + "start": Object { + "column": 20, + "line": 1, + }, + }, + "range": Array [ + 20, + 25, + ], + "raw": "\\"mod\\"", + "type": "Literal", + "value": "mod", + }, + "specifiers": Array [ + Object { + "exported": Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "name": "foo", + "range": Array [ + 9, + 12, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "local": Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "name": "foo", + "range": Array [ + 9, + 12, + ], + "type": "Identifier", + }, + "range": Array [ + 9, + 12, + ], + "type": "ExportSpecifier", + }, + ], + "type": "ExportNamedDeclaration", + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 51, + ], + "sourceType": "module", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 6, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 6, + ], + "type": "Keyword", + "value": "export", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 8, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "range": Array [ + 9, + 12, + ], + "type": "Identifier", + "value": "foo", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 1, + }, + "start": Object { + "column": 13, + "line": 1, + }, + }, + "range": Array [ + 13, + 14, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 19, + "line": 1, + }, + "start": Object { + "column": 15, + "line": 1, + }, + }, + "range": Array [ + 15, + 19, + ], + "type": "Identifier", + "value": "from", + }, + Object { + "loc": Object { + "end": Object { + "column": 25, + "line": 1, + }, + "start": Object { + "column": 20, + "line": 1, + }, + }, + "range": Array [ + 20, + 25, + ], + "type": "String", + "value": "\\"mod\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 32, + "line": 1, + }, + "start": Object { + "column": 26, + "line": 1, + }, + }, + "range": Array [ + 26, + 32, + ], + "type": "Identifier", + "value": "assert", + }, + Object { + "loc": Object { + "end": Object { + "column": 34, + "line": 1, + }, + "start": Object { + "column": 33, + "line": 1, + }, + }, + "range": Array [ + 33, + 34, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "range": Array [ + 35, + 39, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 40, + "line": 1, + }, + "start": Object { + "column": 39, + "line": 1, + }, + }, + "range": Array [ + 39, + 40, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 1, + }, + "start": Object { + "column": 41, + "line": 1, + }, + }, + "range": Array [ + 41, + 47, + ], + "type": "String", + "value": "\\"json\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 49, + "line": 1, + }, + "start": Object { + "column": 48, + "line": 1, + }, + }, + "range": Array [ + 48, + 49, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 50, + "line": 1, + }, + "start": Object { + "column": 49, + "line": 1, + }, + }, + "range": Array [ + 49, + 50, + ], + "type": "Punctuator", + "value": ";", + }, + ], + "type": "Program", +} +`; diff --git a/packages/typescript-estree/tests/snapshots/typescript/basics/import-with-import-assertions.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/basics/import-with-import-assertions.src.ts.shot new file mode 100644 index 000000000000..b726332faacd --- /dev/null +++ b/packages/typescript-estree/tests/snapshots/typescript/basics/import-with-import-assertions.src.ts.shot @@ -0,0 +1,355 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typescript basics import-with-import-assertions.src 1`] = ` +Object { + "body": Array [ + Object { + "assertions": Array [ + Object { + "key": Object { + "loc": Object { + "end": Object { + "column": 35, + "line": 1, + }, + "start": Object { + "column": 31, + "line": 1, + }, + }, + "name": "type", + "range": Array [ + 31, + 35, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 31, + "line": 1, + }, + }, + "range": Array [ + 31, + 43, + ], + "type": "ImportAttribute", + "value": Object { + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 37, + "line": 1, + }, + }, + "range": Array [ + 37, + 43, + ], + "raw": "\\"json\\"", + "type": "Literal", + "value": "json", + }, + }, + ], + "importKind": "value", + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 46, + ], + "source": Object { + "loc": Object { + "end": Object { + "column": 21, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "range": Array [ + 16, + 21, + ], + "raw": "\\"mod\\"", + "type": "Literal", + "value": "mod", + }, + "specifiers": Array [ + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "local": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "name": "foo", + "range": Array [ + 7, + 10, + ], + "type": "Identifier", + }, + "range": Array [ + 7, + 10, + ], + "type": "ImportDefaultSpecifier", + }, + ], + "type": "ImportDeclaration", + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 47, + ], + "sourceType": "module", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 6, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 6, + ], + "type": "Keyword", + "value": "import", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 10, + ], + "type": "Identifier", + "value": "foo", + }, + Object { + "loc": Object { + "end": Object { + "column": 15, + "line": 1, + }, + "start": Object { + "column": 11, + "line": 1, + }, + }, + "range": Array [ + 11, + 15, + ], + "type": "Identifier", + "value": "from", + }, + Object { + "loc": Object { + "end": Object { + "column": 21, + "line": 1, + }, + "start": Object { + "column": 16, + "line": 1, + }, + }, + "range": Array [ + 16, + 21, + ], + "type": "String", + "value": "\\"mod\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 28, + "line": 1, + }, + "start": Object { + "column": 22, + "line": 1, + }, + }, + "range": Array [ + 22, + 28, + ], + "type": "Identifier", + "value": "assert", + }, + Object { + "loc": Object { + "end": Object { + "column": 30, + "line": 1, + }, + "start": Object { + "column": 29, + "line": 1, + }, + }, + "range": Array [ + 29, + 30, + ], + "type": "Punctuator", + "value": "{", + }, + Object { + "loc": Object { + "end": Object { + "column": 35, + "line": 1, + }, + "start": Object { + "column": 31, + "line": 1, + }, + }, + "range": Array [ + 31, + 35, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 36, + "line": 1, + }, + "start": Object { + "column": 35, + "line": 1, + }, + }, + "range": Array [ + 35, + 36, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 43, + "line": 1, + }, + "start": Object { + "column": 37, + "line": 1, + }, + }, + "range": Array [ + 37, + 43, + ], + "type": "String", + "value": "\\"json\\"", + }, + Object { + "loc": Object { + "end": Object { + "column": 45, + "line": 1, + }, + "start": Object { + "column": 44, + "line": 1, + }, + }, + "range": Array [ + 44, + 45, + ], + "type": "Punctuator", + "value": "}", + }, + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 45, + "line": 1, + }, + }, + "range": Array [ + 45, + 46, + ], + "type": "Punctuator", + "value": ";", + }, + ], + "type": "Program", +} +`; From c59a6eac7e19080d745012cdb43a6de6a7676ecf Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sun, 31 Oct 2021 02:40:12 +0900 Subject: [PATCH 08/14] chore(typescript-estree): remove todo comments --- packages/typescript-estree/src/convert.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index b82048414da4..f40215f5a087 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -193,7 +193,6 @@ export class Converter { source: null, exportKind: isType || isDeclare ? 'type' : 'value', range: [exportKeyword.getStart(this.ast), result.range[1]], - // TODO: fix assertions: [], }); } From 71440c011d9eebb69de0f2c6ce912e01ae02f43e Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sun, 31 Oct 2021 03:02:15 +0900 Subject: [PATCH 09/14] fix(typescript-estree): fix condition for dynamic import error --- packages/typescript-estree/src/convert.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index f40215f5a087..19085b487e2e 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -2001,7 +2001,7 @@ export class Converter { case SyntaxKind.CallExpression: { if (node.expression.kind === SyntaxKind.ImportKeyword) { - if (node.arguments.length > 2) { + if (node.arguments.length !== 1 && node.arguments.length !== 2) { throw createError( this.ast, node.arguments.pos, From 58ba775db4660bf21f869eafd08ecf774514d41d Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Sun, 31 Oct 2021 03:02:37 +0900 Subject: [PATCH 10/14] test(typescript-estree): update tests --- .../semantic-diagnostics-enabled.test.ts.snap | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap index 53a77c593024..ad3342300b6b 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap @@ -1888,6 +1888,10 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/directive-in-namespace.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/dynamic-import-with-import-assertions.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; + +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/export-all-with-import-assertions.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; + exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/export-as-namespace.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/export-assignment.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; @@ -1940,6 +1944,8 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/export-type-star-from.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/export-with-import-assertions.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; + exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/function-anonymus-with-type-parameters.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/function-anynomus-with-return-type.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; @@ -1984,6 +1990,8 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/import-type-star-as-ns.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/import-with-import-assertions.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; + exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/interface-extends.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/basics/interface-extends-multiple.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; From 4f35cb951ff323a2a5b3dd78d966ef9d8496826e Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Thu, 11 Nov 2021 17:14:58 +0900 Subject: [PATCH 11/14] feat(visitor-keys): add ImportAttribute to visitor-keys --- packages/visitor-keys/src/visitor-keys.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index bd1f3186d839..c3d3a2a61d55 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -16,6 +16,9 @@ type AdditionalKeys = { }; const additionalKeys: AdditionalKeys = { + // Stage 3 Import Assertions + ImportAttribute: [], + // ES2020 ImportExpression: ['source'], From bbe3cbb96fe683ecf0ae6b94f98ee6fe5480fb04 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Thu, 11 Nov 2021 17:48:16 +0900 Subject: [PATCH 12/14] test(eslint-plugin): fix test --- .../tests/rules/restrict-template-expressions.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts index 866b49bdb953..be300242e3d2 100644 --- a/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts +++ b/packages/eslint-plugin/tests/rules/restrict-template-expressions.test.ts @@ -377,7 +377,7 @@ ruleTester.run('restrict-template-expressions', rule, { errors: [ { messageId: 'invalidType', - data: { type: 'T' }, + data: { type: 'any' }, line: 3, column: 27, }, From 293a9f6eabf7b3fde9031506fad7fd674b983c70 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Thu, 11 Nov 2021 17:49:33 +0900 Subject: [PATCH 13/14] fix(visitor-keys): fix additionalKeys for ImportAttribute --- packages/visitor-keys/src/visitor-keys.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index c3d3a2a61d55..4f160677e666 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -17,7 +17,7 @@ type AdditionalKeys = { const additionalKeys: AdditionalKeys = { // Stage 3 Import Assertions - ImportAttribute: [], + ImportAttribute: ['key', 'value'], // ES2020 ImportExpression: ['source'], From d78acb46a90a4e26352dd21b9ba49d36cc1536e4 Mon Sep 17 00:00:00 2001 From: sosukesuzuki Date: Thu, 11 Nov 2021 17:53:34 +0900 Subject: [PATCH 14/14] feat(scope-manager): add empty method for ImportAttribute --- packages/scope-manager/src/referencer/Referencer.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/scope-manager/src/referencer/Referencer.ts b/packages/scope-manager/src/referencer/Referencer.ts index 9109feb3edb4..10273bfb6b35 100644 --- a/packages/scope-manager/src/referencer/Referencer.ts +++ b/packages/scope-manager/src/referencer/Referencer.ts @@ -778,6 +778,10 @@ class Referencer extends Visitor { this.close(node); } + + protected ImportAttribute(): void { + // import assertions are module metadata and thus have no variables to reference + } } export { Referencer, ReferencerOptions };