From 97698dba82e423a882e48a1a93298375842b88a0 Mon Sep 17 00:00:00 2001 From: Ronen Amiel Date: Tue, 1 Apr 2025 18:12:30 +0300 Subject: [PATCH 1/2] initial implementation --- .../fixtures/literal-bigint/fixture.ts | 1 + .../snapshots/1-TSESTree-AST.shot | 37 +++++++++++++++++++ .../snapshots/2-TSESTree-Tokens.shot | 26 +++++++++++++ .../literal-bigint/snapshots/3-Babel-AST.shot | 37 +++++++++++++++++++ .../snapshots/4-Babel-Tokens.shot | 26 +++++++++++++ .../snapshots/5-AST-Alignment-AST.shot | 6 +++ .../snapshots/6-AST-Alignment-Tokens.shot | 6 +++ packages/typescript-estree/src/node-utils.ts | 1 + 8 files changed, 140 insertions(+) create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot create mode 100644 packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts new file mode 100644 index 000000000000..81f1ab850364 --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts @@ -0,0 +1 @@ +0n; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot new file mode 100644 index 000000000000..5d9baee8a157 --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot @@ -0,0 +1,37 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint TSESTree - AST 1`] = ` +Program { + type: "Program", + body: [ + ExpressionStatement { + type: "ExpressionStatement", + expression: Literal { + type: "Literal", + bigint: "0", + raw: "0n", + value: 0n, + + range: [0, 2], + loc: { + start: { column: 0, line: 1 }, + end: { column: 2, line: 1 }, + }, + }, + + range: [0, 3], + loc: { + start: { column: 0, line: 1 }, + end: { column: 3, line: 1 }, + }, + }, + ], + sourceType: "script", + + range: [0, 4], + loc: { + start: { column: 0, line: 1 }, + end: { column: 0, line: 2 }, + }, +} +`; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot new file mode 100644 index 000000000000..c53a3dac0fe5 --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot @@ -0,0 +1,26 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint TSESTree - Tokens 1`] = ` +[ + Numeric { + type: "Numeric", + value: "0n", + + range: [0, 2], + loc: { + start: { column: 0, line: 1 }, + end: { column: 2, line: 1 }, + }, + }, + Punctuator { + type: "Punctuator", + value: ";", + + range: [2, 3], + loc: { + start: { column: 2, line: 1 }, + end: { column: 3, line: 1 }, + }, + }, +] +`; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot new file mode 100644 index 000000000000..44272a64f0ee --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot @@ -0,0 +1,37 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint Babel - AST 1`] = ` +Program { + type: "Program", + body: [ + ExpressionStatement { + type: "ExpressionStatement", + expression: Literal { + type: "Literal", + bigint: "0", + raw: "0n", + value: 0n, + + range: [0, 2], + loc: { + start: { column: 0, line: 1 }, + end: { column: 2, line: 1 }, + }, + }, + + range: [0, 3], + loc: { + start: { column: 0, line: 1 }, + end: { column: 3, line: 1 }, + }, + }, + ], + sourceType: "script", + + range: [0, 4], + loc: { + start: { column: 0, line: 1 }, + end: { column: 0, line: 2 }, + }, +} +`; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot new file mode 100644 index 000000000000..f8bcb4cc797e --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot @@ -0,0 +1,26 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint Babel - Tokens 1`] = ` +[ + Numeric { + type: "Numeric", + value: "0n", + + range: [0, 2], + loc: { + start: { column: 0, line: 1 }, + end: { column: 2, line: 1 }, + }, + }, + Punctuator { + type: "Punctuator", + value: ";", + + range: [2, 3], + loc: { + start: { column: 2, line: 1 }, + end: { column: 3, line: 1 }, + }, + }, +] +`; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot new file mode 100644 index 000000000000..56823e3e0dac --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot @@ -0,0 +1,6 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint AST Alignment - AST 1`] = ` +"Snapshot Diff: +Compared values have no visual difference." +`; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot new file mode 100644 index 000000000000..ef35b0cd51f5 --- /dev/null +++ b/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot @@ -0,0 +1,6 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AST Fixtures token NumericToken literal-bigint AST Alignment - Token 1`] = ` +"Snapshot Diff: +Compared values have no visual difference." +`; diff --git a/packages/typescript-estree/src/node-utils.ts b/packages/typescript-estree/src/node-utils.ts index 943ee4c95079..1e67e19ed6c0 100644 --- a/packages/typescript-estree/src/node-utils.ts +++ b/packages/typescript-estree/src/node-utils.ts @@ -527,6 +527,7 @@ export function getTokenType( switch (token.kind) { case SyntaxKind.NumericLiteral: + case SyntaxKind.BigIntLiteral: return AST_TOKEN_TYPES.Numeric; case SyntaxKind.JsxText: From eb75abaed61d5d94d71b1f89898a4e4b5707b090 Mon Sep 17 00:00:00 2001 From: Ronen Amiel Date: Tue, 1 Apr 2025 18:44:48 +0300 Subject: [PATCH 2/2] rename folder --- .../fixtures/{literal-bigint => bigint-literal}/fixture.ts | 0 .../snapshots/1-TSESTree-AST.shot | 2 +- .../snapshots/2-TSESTree-Tokens.shot | 2 +- .../snapshots/3-Babel-AST.shot | 2 +- .../snapshots/4-Babel-Tokens.shot | 2 +- .../snapshots/5-AST-Alignment-AST.shot | 2 +- .../snapshots/6-AST-Alignment-Tokens.shot | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/fixture.ts (100%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/1-TSESTree-AST.shot (91%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/2-TSESTree-Tokens.shot (86%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/3-Babel-AST.shot (91%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/4-Babel-Tokens.shot (86%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/5-AST-Alignment-AST.shot (66%) rename packages/ast-spec/src/token/NumericToken/fixtures/{literal-bigint => bigint-literal}/snapshots/6-AST-Alignment-Tokens.shot (66%) diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/fixture.ts similarity index 100% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/fixture.ts rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/fixture.ts diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/1-TSESTree-AST.shot similarity index 91% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/1-TSESTree-AST.shot index 5d9baee8a157..1c0ae4724a73 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/1-TSESTree-AST.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/1-TSESTree-AST.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint TSESTree - AST 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal TSESTree - AST 1`] = ` Program { type: "Program", body: [ diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/2-TSESTree-Tokens.shot similarity index 86% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/2-TSESTree-Tokens.shot index c53a3dac0fe5..4afe54e6c6e4 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/2-TSESTree-Tokens.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/2-TSESTree-Tokens.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint TSESTree - Tokens 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal TSESTree - Tokens 1`] = ` [ Numeric { type: "Numeric", diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/3-Babel-AST.shot similarity index 91% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/3-Babel-AST.shot index 44272a64f0ee..e19537c7d18f 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/3-Babel-AST.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/3-Babel-AST.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint Babel - AST 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal Babel - AST 1`] = ` Program { type: "Program", body: [ diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/4-Babel-Tokens.shot similarity index 86% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/4-Babel-Tokens.shot index f8bcb4cc797e..2e7591057743 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/4-Babel-Tokens.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/4-Babel-Tokens.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint Babel - Tokens 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal Babel - Tokens 1`] = ` [ Numeric { type: "Numeric", diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/5-AST-Alignment-AST.shot similarity index 66% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/5-AST-Alignment-AST.shot index 56823e3e0dac..baf728dfc5c9 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/5-AST-Alignment-AST.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/5-AST-Alignment-AST.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint AST Alignment - AST 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal AST Alignment - AST 1`] = ` "Snapshot Diff: Compared values have no visual difference." `; diff --git a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/6-AST-Alignment-Tokens.shot similarity index 66% rename from packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot rename to packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/6-AST-Alignment-Tokens.shot index ef35b0cd51f5..0caee1dd5698 100644 --- a/packages/ast-spec/src/token/NumericToken/fixtures/literal-bigint/snapshots/6-AST-Alignment-Tokens.shot +++ b/packages/ast-spec/src/token/NumericToken/fixtures/bigint-literal/snapshots/6-AST-Alignment-Tokens.shot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`AST Fixtures token NumericToken literal-bigint AST Alignment - Token 1`] = ` +exports[`AST Fixtures token NumericToken bigint-literal AST Alignment - Token 1`] = ` "Snapshot Diff: Compared values have no visual difference." `;