From cdf92949bec4686a74233ae49b6a28ff99b12cbd Mon Sep 17 00:00:00 2001
From: quentin-jaquier-sonarsource
<43733433+quentin-jaquier-sonarsource@users.noreply.github.com>
Date: Tue, 24 Sep 2019 17:46:00 +0200
Subject: [PATCH 1/4] fix(eslint-plugin): [no-unnec-type-arg] undefined symbol
crash (#1007)
---
.../src/rules/no-unnecessary-type-arguments.ts | 7 ++++++-
.../tests/rules/no-unnecessary-type-arguments.test.ts | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts b/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts
index 040650ea05d4..12d9c041dfea 100644
--- a/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts
+++ b/packages/eslint-plugin/src/rules/no-unnecessary-type-arguments.ts
@@ -121,7 +121,12 @@ function getTypeParametersFromType(
type: ts.EntityName | ts.Expression | ts.ClassDeclaration,
checker: ts.TypeChecker,
): readonly ts.TypeParameterDeclaration[] | undefined {
- const sym = getAliasedSymbol(checker.getSymbolAtLocation(type)!, checker);
+ const symAtLocation = checker.getSymbolAtLocation(type);
+ if (symAtLocation === undefined) {
+ return undefined;
+ }
+
+ const sym = getAliasedSymbol(symAtLocation, checker);
if (sym === undefined || sym.declarations === undefined) {
return undefined;
}
diff --git a/packages/eslint-plugin/tests/rules/no-unnecessary-type-arguments.test.ts b/packages/eslint-plugin/tests/rules/no-unnecessary-type-arguments.test.ts
index d6ea679f8237..7bb37deda8fb 100644
--- a/packages/eslint-plugin/tests/rules/no-unnecessary-type-arguments.test.ts
+++ b/packages/eslint-plugin/tests/rules/no-unnecessary-type-arguments.test.ts
@@ -52,6 +52,7 @@ ruleTester.run('no-unnecessary-type-arguments', rule, {
class D
extends C { }`,
`declare const C: unknown;
class D | extends C { }`,
+ `let a: A`,
],
invalid: [
{
From 8ce3a81affff2dcd484e455be47a9bde1acf114f Mon Sep 17 00:00:00 2001
From: Pavel Birukov
Date: Wed, 25 Sep 2019 18:36:26 +0300
Subject: [PATCH 2/4] fix(typescript-estree): correct ClassDeclarationBase type
(#1008)
according to the spec, ClassDeclarationBase.id and ClassDeclarationBase.superClass are always present and nullable
---
packages/eslint-plugin/src/rules/indent.ts | 2 +-
packages/typescript-estree/src/ts-estree/ts-estree.ts | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/eslint-plugin/src/rules/indent.ts b/packages/eslint-plugin/src/rules/indent.ts
index aca492d4b4da..2c135fea6a71 100644
--- a/packages/eslint-plugin/src/rules/indent.ts
+++ b/packages/eslint-plugin/src/rules/indent.ts
@@ -344,7 +344,7 @@ export default util.createRule({
]({
type: AST_NODE_TYPES.ClassDeclaration,
body: node.body as any,
- id: undefined,
+ id: null,
// TODO: This is invalid, there can be more than one extends in interface
superClass: node.extends![0].expression as any,
diff --git a/packages/typescript-estree/src/ts-estree/ts-estree.ts b/packages/typescript-estree/src/ts-estree/ts-estree.ts
index 296e62b0bfb2..d4361bf3d5c0 100644
--- a/packages/typescript-estree/src/ts-estree/ts-estree.ts
+++ b/packages/typescript-estree/src/ts-estree/ts-estree.ts
@@ -454,9 +454,9 @@ interface BinaryExpressionBase extends BaseNode {
interface ClassDeclarationBase extends BaseNode {
typeParameters?: TSTypeParameterDeclaration;
superTypeParameters?: TSTypeParameterInstantiation;
- id?: Identifier;
+ id: Identifier | null;
body: ClassBody;
- superClass?: LeftHandSideExpression;
+ superClass: LeftHandSideExpression | null;
implements?: ExpressionWithTypeArguments[];
abstract?: boolean;
declare?: boolean;
From 95c13fe7583458286a840429a856ab20be6db20a Mon Sep 17 00:00:00 2001
From: Brad Zacher
Date: Mon, 30 Sep 2019 09:31:44 -0700
Subject: [PATCH 3/4] fix(typescript-estree): handle optional computed prop w/o
type (#1026)
---
.../lib/__snapshots__/typescript.ts.snap | 269 ++-
.../class-with-optional-properties.src.ts | 8 +
packages/typescript-estree/src/convert.ts | 6 +-
.../lib/__snapshots__/typescript.ts.snap | 1766 ++++++++++++++---
4 files changed, 1793 insertions(+), 256 deletions(-)
diff --git a/packages/parser/tests/lib/__snapshots__/typescript.ts.snap b/packages/parser/tests/lib/__snapshots__/typescript.ts.snap
index a2b241e3e822..cf9bd22368cf 100644
--- a/packages/parser/tests/lib/__snapshots__/typescript.ts.snap
+++ b/packages/parser/tests/lib/__snapshots__/typescript.ts.snap
@@ -7660,68 +7660,114 @@ Object {
exports[`typescript fixtures/basics/class-with-optional-properties.src 1`] = `
Object {
- "$id": 4,
+ "$id": 10,
"block": Object {
"range": Array [
0,
- 64,
+ 219,
],
"type": "Program",
},
"childScopes": Array [
Object {
- "$id": 3,
+ "$id": 9,
"block": Object {
"range": Array [
0,
- 64,
+ 219,
],
"type": "Program",
},
"childScopes": Array [
Object {
- "$id": 2,
+ "$id": 8,
"block": Object {
"range": Array [
- 0,
- 63,
+ 51,
+ 218,
],
"type": "ClassDeclaration",
},
"childScopes": Array [],
"functionExpressionScope": false,
"isStrict": true,
- "references": Array [],
- "throughReferences": Array [],
+ "references": Array [
+ Object {
+ "$id": 6,
+ "from": Object {
+ "$ref": 8,
+ },
+ "identifier": Object {
+ "name": "computed",
+ "range": Array [
+ 116,
+ 124,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "r",
+ "resolved": Object {
+ "$ref": 0,
+ },
+ "writeExpr": undefined,
+ },
+ Object {
+ "$id": 7,
+ "from": Object {
+ "$ref": 8,
+ },
+ "identifier": Object {
+ "name": "computed2",
+ "range": Array [
+ 155,
+ 164,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "r",
+ "resolved": Object {
+ "$ref": 1,
+ },
+ "writeExpr": undefined,
+ },
+ ],
+ "throughReferences": Array [
+ Object {
+ "$ref": 6,
+ },
+ Object {
+ "$ref": 7,
+ },
+ ],
"type": "class",
"upperScope": Object {
- "$ref": 3,
+ "$ref": 9,
},
"variableMap": Object {
"Foo": Object {
- "$ref": 1,
+ "$ref": 5,
},
},
"variableScope": Object {
- "$ref": 3,
+ "$ref": 9,
},
"variables": Array [
Object {
- "$id": 1,
+ "$id": 5,
"defs": Array [
Object {
"name": Object {
"name": "Foo",
"range": Array [
- 6,
- 9,
+ 57,
+ 60,
],
"type": "Identifier",
},
"node": Object {
"range": Array [
- 0,
- 63,
+ 51,
+ 218,
],
"type": "ClassDeclaration",
},
@@ -7734,8 +7780,8 @@ Object {
Object {
"name": "Foo",
"range": Array [
- 6,
- 9,
+ 57,
+ 60,
],
"type": "Identifier",
},
@@ -7743,7 +7789,7 @@ Object {
"name": "Foo",
"references": Array [],
"scope": Object {
- "$ref": 2,
+ "$ref": 8,
},
},
],
@@ -7751,19 +7797,76 @@ Object {
],
"functionExpressionScope": false,
"isStrict": true,
- "references": Array [],
+ "references": Array [
+ Object {
+ "$id": 3,
+ "from": Object {
+ "$ref": 9,
+ },
+ "identifier": Object {
+ "name": "computed",
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "w",
+ "resolved": Object {
+ "$ref": 0,
+ },
+ "writeExpr": Object {
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "type": "Literal",
+ },
+ },
+ Object {
+ "$id": 4,
+ "from": Object {
+ "$ref": 9,
+ },
+ "identifier": Object {
+ "name": "computed2",
+ "range": Array [
+ 31,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "kind": "w",
+ "resolved": Object {
+ "$ref": 1,
+ },
+ "writeExpr": Object {
+ "range": Array [
+ 43,
+ 49,
+ ],
+ "type": "Literal",
+ },
+ },
+ ],
"throughReferences": Array [],
"type": "module",
"upperScope": Object {
- "$ref": 4,
+ "$ref": 10,
},
"variableMap": Object {
"Foo": Object {
+ "$ref": 2,
+ },
+ "computed": Object {
"$ref": 0,
},
+ "computed2": Object {
+ "$ref": 1,
+ },
},
"variableScope": Object {
- "$ref": 3,
+ "$ref": 9,
},
"variables": Array [
Object {
@@ -7771,17 +7874,123 @@ Object {
"defs": Array [
Object {
"name": Object {
- "name": "Foo",
+ "name": "computed",
"range": Array [
6,
- 9,
+ 14,
],
"type": "Identifier",
},
"node": Object {
+ "range": Array [
+ 6,
+ 23,
+ ],
+ "type": "VariableDeclarator",
+ },
+ "parent": Object {
"range": Array [
0,
- 63,
+ 24,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "type": "Variable",
+ },
+ ],
+ "eslintUsed": undefined,
+ "identifiers": Array [
+ Object {
+ "name": "computed",
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "name": "computed",
+ "references": Array [
+ Object {
+ "$ref": 3,
+ },
+ Object {
+ "$ref": 6,
+ },
+ ],
+ "scope": Object {
+ "$ref": 9,
+ },
+ },
+ Object {
+ "$id": 1,
+ "defs": Array [
+ Object {
+ "name": Object {
+ "name": "computed2",
+ "range": Array [
+ 31,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "node": Object {
+ "range": Array [
+ 31,
+ 49,
+ ],
+ "type": "VariableDeclarator",
+ },
+ "parent": Object {
+ "range": Array [
+ 25,
+ 50,
+ ],
+ "type": "VariableDeclaration",
+ },
+ "type": "Variable",
+ },
+ ],
+ "eslintUsed": undefined,
+ "identifiers": Array [
+ Object {
+ "name": "computed2",
+ "range": Array [
+ 31,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ ],
+ "name": "computed2",
+ "references": Array [
+ Object {
+ "$ref": 4,
+ },
+ Object {
+ "$ref": 7,
+ },
+ ],
+ "scope": Object {
+ "$ref": 9,
+ },
+ },
+ Object {
+ "$id": 2,
+ "defs": Array [
+ Object {
+ "name": Object {
+ "name": "Foo",
+ "range": Array [
+ 57,
+ 60,
+ ],
+ "type": "Identifier",
+ },
+ "node": Object {
+ "range": Array [
+ 51,
+ 218,
],
"type": "ClassDeclaration",
},
@@ -7794,8 +8003,8 @@ Object {
Object {
"name": "Foo",
"range": Array [
- 6,
- 9,
+ 57,
+ 60,
],
"type": "Identifier",
},
@@ -7803,7 +8012,7 @@ Object {
"name": "Foo",
"references": Array [],
"scope": Object {
- "$ref": 3,
+ "$ref": 9,
},
},
],
@@ -7817,7 +8026,7 @@ Object {
"upperScope": null,
"variableMap": Object {},
"variableScope": Object {
- "$ref": 4,
+ "$ref": 10,
},
"variables": Array [],
}
diff --git a/packages/shared-fixtures/fixtures/typescript/basics/class-with-optional-properties.src.ts b/packages/shared-fixtures/fixtures/typescript/basics/class-with-optional-properties.src.ts
index 536aab8062dc..e9292de2e068 100644
--- a/packages/shared-fixtures/fixtures/typescript/basics/class-with-optional-properties.src.ts
+++ b/packages/shared-fixtures/fixtures/typescript/basics/class-with-optional-properties.src.ts
@@ -1,5 +1,13 @@
+const computed = 'buzz';
+const computed2 = 'bazz';
class Foo {
foo?;
bar? : string;
private baz? : string;
+ [computed]?;
+ ['literal']?;
+ [1]?;
+ [computed2]?: string;
+ ['literal2']?: string;
+ [2]?: string;
}
diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts
index 43ab7889c6bb..203fbe2b4947 100644
--- a/packages/typescript-estree/src/convert.ts
+++ b/packages/typescript-estree/src/convert.ts
@@ -941,7 +941,11 @@ export class Converter {
result.accessibility = accessibility;
}
- if (node.name.kind === SyntaxKind.Identifier && node.questionToken) {
+ if (
+ (node.name.kind === SyntaxKind.Identifier ||
+ node.name.kind === SyntaxKind.ComputedPropertyName) &&
+ node.questionToken
+ ) {
result.optional = true;
}
diff --git a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap
index 3b31431ff71f..5cbee776bf20 100644
--- a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap
+++ b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap
@@ -21093,6 +21093,154 @@ Object {
exports[`typescript fixtures/basics/class-with-optional-properties.src 1`] = `
Object {
"body": Array [
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "name": "computed",
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "raw": "'buzz'",
+ "type": "Literal",
+ "value": "buzz",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 23,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 24,
+ ],
+ "type": "VariableDeclaration",
+ },
+ Object {
+ "declarations": Array [
+ Object {
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "name": "computed2",
+ "range": Array [
+ 31,
+ 40,
+ ],
+ "type": "Identifier",
+ },
+ "init": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 49,
+ ],
+ "raw": "'bazz'",
+ "type": "Literal",
+ "value": "bazz",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 49,
+ ],
+ "type": "VariableDeclarator",
+ },
+ ],
+ "kind": "const",
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 50,
+ ],
+ "type": "VariableDeclaration",
+ },
Object {
"body": Object {
"body": Array [
@@ -21102,34 +21250,34 @@ Object {
"loc": Object {
"end": Object {
"column": 5,
- "line": 2,
+ "line": 4,
},
"start": Object {
"column": 2,
- "line": 2,
+ "line": 4,
},
},
"name": "foo",
"range": Array [
- 14,
- 17,
+ 65,
+ 68,
],
"type": "Identifier",
},
"loc": Object {
"end": Object {
"column": 7,
- "line": 2,
+ "line": 4,
},
"start": Object {
"column": 2,
- "line": 2,
+ "line": 4,
},
},
"optional": true,
"range": Array [
- 14,
- 19,
+ 65,
+ 70,
],
"static": false,
"type": "ClassProperty",
@@ -21141,34 +21289,34 @@ Object {
"loc": Object {
"end": Object {
"column": 5,
- "line": 3,
+ "line": 5,
},
"start": Object {
"column": 2,
- "line": 3,
+ "line": 5,
},
},
"name": "bar",
"range": Array [
- 22,
- 25,
+ 73,
+ 76,
],
"type": "Identifier",
},
"loc": Object {
"end": Object {
"column": 16,
- "line": 3,
+ "line": 5,
},
"start": Object {
"column": 2,
- "line": 3,
+ "line": 5,
},
},
"optional": true,
"range": Array [
- 22,
- 36,
+ 73,
+ 87,
],
"static": false,
"type": "ClassProperty",
@@ -21176,32 +21324,32 @@ Object {
"loc": Object {
"end": Object {
"column": 15,
- "line": 3,
+ "line": 5,
},
"start": Object {
"column": 7,
- "line": 3,
+ "line": 5,
},
},
"range": Array [
- 27,
- 35,
+ 78,
+ 86,
],
"type": "TSTypeAnnotation",
"typeAnnotation": Object {
"loc": Object {
"end": Object {
"column": 15,
- "line": 3,
+ "line": 5,
},
"start": Object {
"column": 9,
- "line": 3,
+ "line": 5,
},
},
"range": Array [
- 29,
- 35,
+ 80,
+ 86,
],
"type": "TSStringKeyword",
},
@@ -21215,34 +21363,34 @@ Object {
"loc": Object {
"end": Object {
"column": 13,
- "line": 4,
+ "line": 6,
},
"start": Object {
"column": 10,
- "line": 4,
+ "line": 6,
},
},
"name": "baz",
"range": Array [
- 47,
- 50,
+ 98,
+ 101,
],
"type": "Identifier",
},
"loc": Object {
"end": Object {
"column": 24,
- "line": 4,
+ "line": 6,
},
"start": Object {
"column": 2,
- "line": 4,
+ "line": 6,
},
},
"optional": true,
"range": Array [
- 39,
- 61,
+ 90,
+ 112,
],
"static": false,
"type": "ClassProperty",
@@ -21250,355 +21398,1523 @@ Object {
"loc": Object {
"end": Object {
"column": 23,
- "line": 4,
+ "line": 6,
},
"start": Object {
"column": 15,
- "line": 4,
+ "line": 6,
},
},
"range": Array [
- 52,
- 60,
+ 103,
+ 111,
],
"type": "TSTypeAnnotation",
"typeAnnotation": Object {
"loc": Object {
"end": Object {
"column": 23,
- "line": 4,
+ "line": 6,
},
"start": Object {
"column": 17,
- "line": 4,
+ "line": 6,
},
},
"range": Array [
- 54,
- 60,
+ 105,
+ 111,
],
"type": "TSStringKeyword",
},
},
"value": null,
},
- ],
- "loc": Object {
- "end": Object {
- "column": 1,
- "line": 5,
- },
- "start": Object {
- "column": 10,
- "line": 1,
- },
- },
- "range": Array [
- 10,
- 63,
- ],
- "type": "ClassBody",
- },
- "id": Object {
- "loc": Object {
- "end": Object {
- "column": 9,
- "line": 1,
- },
- "start": Object {
- "column": 6,
- "line": 1,
- },
- },
- "name": "Foo",
- "range": Array [
- 6,
- 9,
- ],
- "type": "Identifier",
- },
- "loc": Object {
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 7,
+ },
+ },
+ "name": "computed",
+ "range": Array [
+ 116,
+ 124,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 7,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 115,
+ 127,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "value": null,
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 131,
+ 140,
+ ],
+ "raw": "'literal'",
+ "type": "Literal",
+ "value": "literal",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 8,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 130,
+ 143,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "value": null,
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 147,
+ 148,
+ ],
+ "raw": "1",
+ "type": "Literal",
+ "value": 1,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 9,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 146,
+ 151,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "value": null,
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 10,
+ },
+ },
+ "name": "computed2",
+ "range": Array [
+ 155,
+ 164,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 10,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 154,
+ 175,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 166,
+ 174,
+ ],
+ "type": "TSTypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 22,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 168,
+ 174,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 179,
+ 189,
+ ],
+ "raw": "'literal2'",
+ "type": "Literal",
+ "value": "literal2",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 11,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 178,
+ 200,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 191,
+ 199,
+ ],
+ "type": "TSTypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 11,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 11,
+ },
+ },
+ "range": Array [
+ 193,
+ 199,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ Object {
+ "computed": true,
+ "key": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 204,
+ 205,
+ ],
+ "raw": "2",
+ "type": "Literal",
+ "value": 2,
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 12,
+ },
+ },
+ "optional": true,
+ "range": Array [
+ 203,
+ 216,
+ ],
+ "static": false,
+ "type": "ClassProperty",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 207,
+ 215,
+ ],
+ "type": "TSTypeAnnotation",
+ "typeAnnotation": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 12,
+ },
+ "start": Object {
+ "column": 8,
+ "line": 12,
+ },
+ },
+ "range": Array [
+ 209,
+ 215,
+ ],
+ "type": "TSStringKeyword",
+ },
+ },
+ "value": null,
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 61,
+ 218,
+ ],
+ "type": "ClassBody",
+ },
+ "id": Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 3,
+ },
+ },
+ "name": "Foo",
+ "range": Array [
+ 57,
+ 60,
+ ],
+ "type": "Identifier",
+ },
+ "loc": Object {
+ "end": Object {
+ "column": 1,
+ "line": 13,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 51,
+ 218,
+ ],
+ "superClass": null,
+ "type": "ClassDeclaration",
+ },
+ ],
+ "loc": Object {
+ "end": Object {
+ "column": 0,
+ "line": 14,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 219,
+ ],
+ "sourceType": "script",
+ "tokens": Array [
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 0,
+ 5,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 6,
+ 14,
+ ],
+ "type": "Identifier",
+ "value": "computed",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 15,
+ 16,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 17,
+ 23,
+ ],
+ "type": "String",
+ "value": "'buzz'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 1,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 1,
+ },
+ },
+ "range": Array [
+ 23,
+ 24,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 25,
+ 30,
+ ],
+ "type": "Keyword",
+ "value": "const",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 31,
+ 40,
+ ],
+ "type": "Identifier",
+ "value": "computed2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 17,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 16,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 41,
+ 42,
+ ],
+ "type": "Punctuator",
+ "value": "=",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 18,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 43,
+ 49,
+ ],
+ "type": "String",
+ "value": "'bazz'",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 25,
+ "line": 2,
+ },
+ "start": Object {
+ "column": 24,
+ "line": 2,
+ },
+ },
+ "range": Array [
+ 49,
+ 50,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 0,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 51,
+ 56,
+ ],
+ "type": "Keyword",
+ "value": "class",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 57,
+ 60,
+ ],
+ "type": "Identifier",
+ "value": "Foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 3,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 3,
+ },
+ },
+ "range": Array [
+ 61,
+ 62,
+ ],
+ "type": "Punctuator",
+ "value": "{",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 65,
+ 68,
+ ],
+ "type": "Identifier",
+ "value": "foo",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 68,
+ 69,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 4,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 4,
+ },
+ },
+ "range": Array [
+ 69,
+ 70,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 73,
+ 76,
+ ],
+ "type": "Identifier",
+ "value": "bar",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 76,
+ 77,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 8,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 7,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 78,
+ 79,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 9,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 80,
+ 86,
+ ],
+ "type": "Identifier",
+ "value": "string",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 5,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 5,
+ },
+ },
+ "range": Array [
+ 86,
+ 87,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 9,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 90,
+ 97,
+ ],
+ "type": "Keyword",
+ "value": "private",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 10,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 98,
+ 101,
+ ],
+ "type": "Identifier",
+ "value": "baz",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 101,
+ 102,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 16,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 15,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 103,
+ 104,
+ ],
+ "type": "Punctuator",
+ "value": ":",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 23,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 17,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 105,
+ 111,
+ ],
+ "type": "Identifier",
+ "value": "string",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 24,
+ "line": 6,
+ },
+ "start": Object {
+ "column": 23,
+ "line": 6,
+ },
+ },
+ "range": Array [
+ 111,
+ 112,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 115,
+ 116,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 11,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 116,
+ 124,
+ ],
+ "type": "Identifier",
+ "value": "computed",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 11,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 124,
+ 125,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 125,
+ 126,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 7,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 7,
+ },
+ },
+ "range": Array [
+ 126,
+ 127,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
"end": Object {
- "column": 1,
- "line": 5,
+ "column": 3,
+ "line": 8,
},
"start": Object {
- "column": 0,
- "line": 1,
+ "column": 2,
+ "line": 8,
},
},
"range": Array [
- 0,
- 63,
+ 130,
+ 131,
],
- "superClass": null,
- "type": "ClassDeclaration",
+ "type": "Punctuator",
+ "value": "[",
},
- ],
- "loc": Object {
- "end": Object {
- "column": 0,
- "line": 6,
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 131,
+ 140,
+ ],
+ "type": "String",
+ "value": "'literal'",
},
- "start": Object {
- "column": 0,
- "line": 1,
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 140,
+ 141,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 141,
+ 142,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 15,
+ "line": 8,
+ },
+ "start": Object {
+ "column": 14,
+ "line": 8,
+ },
+ },
+ "range": Array [
+ 142,
+ 143,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 146,
+ 147,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 4,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 147,
+ 148,
+ ],
+ "type": "Numeric",
+ "value": "1",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 5,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 4,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 148,
+ 149,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 6,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 5,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 149,
+ 150,
+ ],
+ "type": "Punctuator",
+ "value": "?",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 7,
+ "line": 9,
+ },
+ "start": Object {
+ "column": 6,
+ "line": 9,
+ },
+ },
+ "range": Array [
+ 150,
+ 151,
+ ],
+ "type": "Punctuator",
+ "value": ";",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 3,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 2,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 154,
+ 155,
+ ],
+ "type": "Punctuator",
+ "value": "[",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 12,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 3,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 155,
+ 164,
+ ],
+ "type": "Identifier",
+ "value": "computed2",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 13,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 12,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 164,
+ 165,
+ ],
+ "type": "Punctuator",
+ "value": "]",
+ },
+ Object {
+ "loc": Object {
+ "end": Object {
+ "column": 14,
+ "line": 10,
+ },
+ "start": Object {
+ "column": 13,
+ "line": 10,
+ },
+ },
+ "range": Array [
+ 165,
+ 166,
+ ],
+ "type": "Punctuator",
+ "value": "?",
},
- },
- "range": Array [
- 0,
- 64,
- ],
- "sourceType": "script",
- "tokens": Array [
Object {
"loc": Object {
"end": Object {
- "column": 5,
- "line": 1,
+ "column": 15,
+ "line": 10,
},
"start": Object {
- "column": 0,
- "line": 1,
+ "column": 14,
+ "line": 10,
},
},
"range": Array [
- 0,
- 5,
+ 166,
+ 167,
],
- "type": "Keyword",
- "value": "class",
+ "type": "Punctuator",
+ "value": ":",
},
Object {
"loc": Object {
"end": Object {
- "column": 9,
- "line": 1,
+ "column": 22,
+ "line": 10,
},
"start": Object {
- "column": 6,
- "line": 1,
+ "column": 16,
+ "line": 10,
},
},
"range": Array [
- 6,
- 9,
+ 168,
+ 174,
],
"type": "Identifier",
- "value": "Foo",
+ "value": "string",
},
Object {
"loc": Object {
"end": Object {
- "column": 11,
- "line": 1,
+ "column": 23,
+ "line": 10,
},
"start": Object {
- "column": 10,
- "line": 1,
+ "column": 22,
+ "line": 10,
},
},
"range": Array [
- 10,
- 11,
+ 174,
+ 175,
],
"type": "Punctuator",
- "value": "{",
+ "value": ";",
},
Object {
"loc": Object {
"end": Object {
- "column": 5,
- "line": 2,
+ "column": 3,
+ "line": 11,
},
"start": Object {
"column": 2,
- "line": 2,
+ "line": 11,
},
},
"range": Array [
- 14,
- 17,
+ 178,
+ 179,
],
- "type": "Identifier",
- "value": "foo",
+ "type": "Punctuator",
+ "value": "[",
},
Object {
"loc": Object {
"end": Object {
- "column": 6,
- "line": 2,
+ "column": 13,
+ "line": 11,
},
"start": Object {
- "column": 5,
- "line": 2,
+ "column": 3,
+ "line": 11,
},
},
"range": Array [
- 17,
- 18,
+ 179,
+ 189,
],
- "type": "Punctuator",
- "value": "?",
+ "type": "String",
+ "value": "'literal2'",
},
Object {
"loc": Object {
"end": Object {
- "column": 7,
- "line": 2,
+ "column": 14,
+ "line": 11,
},
"start": Object {
- "column": 6,
- "line": 2,
+ "column": 13,
+ "line": 11,
},
},
"range": Array [
- 18,
- 19,
+ 189,
+ 190,
],
"type": "Punctuator",
- "value": ";",
+ "value": "]",
},
Object {
"loc": Object {
"end": Object {
- "column": 5,
- "line": 3,
+ "column": 15,
+ "line": 11,
},
"start": Object {
- "column": 2,
- "line": 3,
+ "column": 14,
+ "line": 11,
},
},
"range": Array [
- 22,
- 25,
+ 190,
+ 191,
],
- "type": "Identifier",
- "value": "bar",
+ "type": "Punctuator",
+ "value": "?",
},
Object {
"loc": Object {
"end": Object {
- "column": 6,
- "line": 3,
+ "column": 16,
+ "line": 11,
},
"start": Object {
- "column": 5,
- "line": 3,
+ "column": 15,
+ "line": 11,
},
},
"range": Array [
- 25,
- 26,
+ 191,
+ 192,
],
"type": "Punctuator",
- "value": "?",
+ "value": ":",
},
Object {
"loc": Object {
"end": Object {
- "column": 8,
- "line": 3,
+ "column": 23,
+ "line": 11,
},
"start": Object {
- "column": 7,
- "line": 3,
+ "column": 17,
+ "line": 11,
},
},
"range": Array [
- 27,
- 28,
+ 193,
+ 199,
],
- "type": "Punctuator",
- "value": ":",
+ "type": "Identifier",
+ "value": "string",
},
Object {
"loc": Object {
"end": Object {
- "column": 15,
- "line": 3,
+ "column": 24,
+ "line": 11,
},
"start": Object {
- "column": 9,
- "line": 3,
+ "column": 23,
+ "line": 11,
},
},
"range": Array [
- 29,
- 35,
+ 199,
+ 200,
],
- "type": "Identifier",
- "value": "string",
+ "type": "Punctuator",
+ "value": ";",
},
Object {
"loc": Object {
"end": Object {
- "column": 16,
- "line": 3,
+ "column": 3,
+ "line": 12,
},
"start": Object {
- "column": 15,
- "line": 3,
+ "column": 2,
+ "line": 12,
},
},
"range": Array [
- 35,
- 36,
+ 203,
+ 204,
],
"type": "Punctuator",
- "value": ";",
+ "value": "[",
},
Object {
"loc": Object {
"end": Object {
- "column": 9,
- "line": 4,
+ "column": 4,
+ "line": 12,
},
"start": Object {
- "column": 2,
- "line": 4,
+ "column": 3,
+ "line": 12,
},
},
"range": Array [
- 39,
- 46,
+ 204,
+ 205,
],
- "type": "Keyword",
- "value": "private",
+ "type": "Numeric",
+ "value": "2",
},
Object {
"loc": Object {
"end": Object {
- "column": 13,
- "line": 4,
+ "column": 5,
+ "line": 12,
},
"start": Object {
- "column": 10,
- "line": 4,
+ "column": 4,
+ "line": 12,
},
},
"range": Array [
- 47,
- 50,
+ 205,
+ 206,
],
- "type": "Identifier",
- "value": "baz",
+ "type": "Punctuator",
+ "value": "]",
},
Object {
"loc": Object {
"end": Object {
- "column": 14,
- "line": 4,
+ "column": 6,
+ "line": 12,
},
"start": Object {
- "column": 13,
- "line": 4,
+ "column": 5,
+ "line": 12,
},
},
"range": Array [
- 50,
- 51,
+ 206,
+ 207,
],
"type": "Punctuator",
"value": "?",
@@ -21606,17 +22922,17 @@ Object {
Object {
"loc": Object {
"end": Object {
- "column": 16,
- "line": 4,
+ "column": 7,
+ "line": 12,
},
"start": Object {
- "column": 15,
- "line": 4,
+ "column": 6,
+ "line": 12,
},
},
"range": Array [
- 52,
- 53,
+ 207,
+ 208,
],
"type": "Punctuator",
"value": ":",
@@ -21624,17 +22940,17 @@ Object {
Object {
"loc": Object {
"end": Object {
- "column": 23,
- "line": 4,
+ "column": 14,
+ "line": 12,
},
"start": Object {
- "column": 17,
- "line": 4,
+ "column": 8,
+ "line": 12,
},
},
"range": Array [
- 54,
- 60,
+ 209,
+ 215,
],
"type": "Identifier",
"value": "string",
@@ -21642,17 +22958,17 @@ Object {
Object {
"loc": Object {
"end": Object {
- "column": 24,
- "line": 4,
+ "column": 15,
+ "line": 12,
},
"start": Object {
- "column": 23,
- "line": 4,
+ "column": 14,
+ "line": 12,
},
},
"range": Array [
- 60,
- 61,
+ 215,
+ 216,
],
"type": "Punctuator",
"value": ";",
@@ -21661,16 +22977,16 @@ Object {
"loc": Object {
"end": Object {
"column": 1,
- "line": 5,
+ "line": 13,
},
"start": Object {
"column": 0,
- "line": 5,
+ "line": 13,
},
},
"range": Array [
- 62,
- 63,
+ 217,
+ 218,
],
"type": "Punctuator",
"value": "}",
From 926cf646a441a0cca3a9bf83a767f00bc4a4d854 Mon Sep 17 00:00:00 2001
From: James Henry
Date: Mon, 30 Sep 2019 17:02:23 +0000
Subject: [PATCH 4/4] chore: publish v2.3.2
---
CHANGELOG.md | 13 +++++++++++++
lerna.json | 2 +-
packages/eslint-plugin-tslint/CHANGELOG.md | 8 ++++++++
packages/eslint-plugin-tslint/package.json | 6 +++---
packages/eslint-plugin/CHANGELOG.md | 12 ++++++++++++
packages/eslint-plugin/package.json | 4 ++--
packages/experimental-utils/CHANGELOG.md | 8 ++++++++
packages/experimental-utils/package.json | 4 ++--
packages/parser/CHANGELOG.md | 11 +++++++++++
packages/parser/package.json | 8 ++++----
packages/shared-fixtures/CHANGELOG.md | 11 +++++++++++
packages/shared-fixtures/package.json | 2 +-
packages/typescript-estree/CHANGELOG.md | 12 ++++++++++++
packages/typescript-estree/package.json | 4 ++--
14 files changed, 90 insertions(+), 15 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7e3f1abca66..ac7f8e0ca8a1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+
+### Bug Fixes
+
+* **eslint-plugin:** [no-unnec-type-arg] undefined symbol crash ([#1007](https://github.com/typescript-eslint/typescript-eslint/issues/1007)) ([cdf9294](https://github.com/typescript-eslint/typescript-eslint/commit/cdf9294))
+* **typescript-estree:** correct ClassDeclarationBase type ([#1008](https://github.com/typescript-eslint/typescript-eslint/issues/1008)) ([8ce3a81](https://github.com/typescript-eslint/typescript-eslint/commit/8ce3a81))
+* **typescript-estree:** handle optional computed prop w/o type ([#1026](https://github.com/typescript-eslint/typescript-eslint/issues/1026)) ([95c13fe](https://github.com/typescript-eslint/typescript-eslint/commit/95c13fe))
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
diff --git a/lerna.json b/lerna.json
index 9ce79426f6a1..16ca1c0d0e88 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "2.3.1",
+ "version": "2.3.2",
"npmClient": "yarn",
"useWorkspaces": true,
"stream": true
diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md
index 93061fb43659..bebccf5ca5ef 100644
--- a/packages/eslint-plugin-tslint/CHANGELOG.md
+++ b/packages/eslint-plugin-tslint/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint
diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json
index 8ecc7d9ce568..0d1dd95c219c 100644
--- a/packages/eslint-plugin-tslint/package.json
+++ b/packages/eslint-plugin-tslint/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/eslint-plugin-tslint",
- "version": "2.3.1",
+ "version": "2.3.2",
"main": "dist/index.js",
"typings": "src/index.ts",
"description": "TSLint wrapper plugin for ESLint",
@@ -31,7 +31,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@typescript-eslint/experimental-utils": "2.3.1",
+ "@typescript-eslint/experimental-utils": "2.3.2",
"lodash.memoize": "^4.1.2"
},
"peerDependencies": {
@@ -41,6 +41,6 @@
},
"devDependencies": {
"@types/lodash.memoize": "^4.1.4",
- "@typescript-eslint/parser": "2.3.1"
+ "@typescript-eslint/parser": "2.3.2"
}
}
diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md
index ba7789276483..d9be8637d98c 100644
--- a/packages/eslint-plugin/CHANGELOG.md
+++ b/packages/eslint-plugin/CHANGELOG.md
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+
+### Bug Fixes
+
+* **eslint-plugin:** [no-unnec-type-arg] undefined symbol crash ([#1007](https://github.com/typescript-eslint/typescript-eslint/issues/1007)) ([cdf9294](https://github.com/typescript-eslint/typescript-eslint/commit/cdf9294))
+* **typescript-estree:** correct ClassDeclarationBase type ([#1008](https://github.com/typescript-eslint/typescript-eslint/issues/1008)) ([8ce3a81](https://github.com/typescript-eslint/typescript-eslint/commit/8ce3a81))
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index f69cb9db4e52..3251f3b93cd9 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/eslint-plugin",
- "version": "2.3.1",
+ "version": "2.3.2",
"description": "TypeScript plugin for ESLint",
"keywords": [
"eslint",
@@ -40,7 +40,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "@typescript-eslint/experimental-utils": "2.3.1",
+ "@typescript-eslint/experimental-utils": "2.3.2",
"eslint-utils": "^1.4.2",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^2.0.1",
diff --git a/packages/experimental-utils/CHANGELOG.md b/packages/experimental-utils/CHANGELOG.md
index ec6b8aa74ec3..598085cefc86 100644
--- a/packages/experimental-utils/CHANGELOG.md
+++ b/packages/experimental-utils/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+**Note:** Version bump only for package @typescript-eslint/experimental-utils
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
**Note:** Version bump only for package @typescript-eslint/experimental-utils
diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json
index efcb42f4fdb3..753fd606a288 100644
--- a/packages/experimental-utils/package.json
+++ b/packages/experimental-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/experimental-utils",
- "version": "2.3.1",
+ "version": "2.3.2",
"description": "(Experimental) Utilities for working with TypeScript + ESLint together",
"keywords": [
"eslint",
@@ -37,7 +37,7 @@
},
"dependencies": {
"@types/json-schema": "^7.0.3",
- "@typescript-eslint/typescript-estree": "2.3.1",
+ "@typescript-eslint/typescript-estree": "2.3.2",
"eslint-scope": "^5.0.0"
},
"peerDependencies": {
diff --git a/packages/parser/CHANGELOG.md b/packages/parser/CHANGELOG.md
index 716e9cbaaea4..1098745e1301 100644
--- a/packages/parser/CHANGELOG.md
+++ b/packages/parser/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+
+### Bug Fixes
+
+* **typescript-estree:** handle optional computed prop w/o type ([#1026](https://github.com/typescript-eslint/typescript-eslint/issues/1026)) ([95c13fe](https://github.com/typescript-eslint/typescript-eslint/commit/95c13fe))
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
diff --git a/packages/parser/package.json b/packages/parser/package.json
index 5dab6bcc84a0..aa14e9e3f770 100644
--- a/packages/parser/package.json
+++ b/packages/parser/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/parser",
- "version": "2.3.1",
+ "version": "2.3.2",
"description": "An ESLint custom parser which leverages TypeScript ESTree",
"main": "dist/parser.js",
"types": "dist/parser.d.ts",
@@ -43,13 +43,13 @@
},
"dependencies": {
"@types/eslint-visitor-keys": "^1.0.0",
- "@typescript-eslint/experimental-utils": "2.3.1",
- "@typescript-eslint/typescript-estree": "2.3.1",
+ "@typescript-eslint/experimental-utils": "2.3.2",
+ "@typescript-eslint/typescript-estree": "2.3.2",
"eslint-visitor-keys": "^1.1.0"
},
"devDependencies": {
"@types/glob": "^7.1.1",
- "@typescript-eslint/shared-fixtures": "2.3.1",
+ "@typescript-eslint/shared-fixtures": "2.3.2",
"glob": "^7.1.4"
}
}
diff --git a/packages/shared-fixtures/CHANGELOG.md b/packages/shared-fixtures/CHANGELOG.md
index ce614b93101d..938f88a906bc 100644
--- a/packages/shared-fixtures/CHANGELOG.md
+++ b/packages/shared-fixtures/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+
+### Bug Fixes
+
+* **typescript-estree:** handle optional computed prop w/o type ([#1026](https://github.com/typescript-eslint/typescript-eslint/issues/1026)) ([95c13fe](https://github.com/typescript-eslint/typescript-eslint/commit/95c13fe))
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
diff --git a/packages/shared-fixtures/package.json b/packages/shared-fixtures/package.json
index 0361519db33b..fc7944ea50d3 100644
--- a/packages/shared-fixtures/package.json
+++ b/packages/shared-fixtures/package.json
@@ -1,5 +1,5 @@
{
"name": "@typescript-eslint/shared-fixtures",
- "version": "2.3.1",
+ "version": "2.3.2",
"private": true
}
diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md
index c4a5449df001..ae3e39147edb 100644
--- a/packages/typescript-estree/CHANGELOG.md
+++ b/packages/typescript-estree/CHANGELOG.md
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.3.2](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.1...v2.3.2) (2019-09-30)
+
+
+### Bug Fixes
+
+* **typescript-estree:** correct ClassDeclarationBase type ([#1008](https://github.com/typescript-eslint/typescript-eslint/issues/1008)) ([8ce3a81](https://github.com/typescript-eslint/typescript-eslint/commit/8ce3a81))
+* **typescript-estree:** handle optional computed prop w/o type ([#1026](https://github.com/typescript-eslint/typescript-eslint/issues/1026)) ([95c13fe](https://github.com/typescript-eslint/typescript-eslint/commit/95c13fe))
+
+
+
+
+
## [2.3.1](https://github.com/typescript-eslint/typescript-eslint/compare/v2.3.0...v2.3.1) (2019-09-23)
diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json
index 4600ef5015b4..906c23639a36 100644
--- a/packages/typescript-estree/package.json
+++ b/packages/typescript-estree/package.json
@@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/typescript-estree",
- "version": "2.3.1",
+ "version": "2.3.2",
"description": "A parser that converts TypeScript source code into an ESTree compatible form",
"main": "dist/parser.js",
"types": "dist/parser.d.ts",
@@ -56,7 +56,7 @@
"@types/lodash.isplainobject": "^4.0.4",
"@types/lodash.unescape": "^4.0.4",
"@types/semver": "^6.0.1",
- "@typescript-eslint/shared-fixtures": "2.3.1",
+ "@typescript-eslint/shared-fixtures": "2.3.2",
"babel-code-frame": "^6.26.0",
"glob": "^7.1.4",
"lodash.isplainobject": "4.0.6",
|