From f8a00d6dcd0d34c30805492e0dacf47d9ce13b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Mon, 28 Aug 2023 14:13:51 +0200 Subject: [PATCH] Revert "Do not record trailing comma pos when `maybeAsyncArrow: false` (#10940)" This reverts commit c3f03f678231f3ead7e3ed31c2401adf8d93f5c7. --- packages/babel-parser/src/parser/expression.ts | 12 ++++++++---- .../output.json | 3 +++ .../basic/call-expression-trailing-comma/output.json | 3 +++ .../es2017/trailing-function-commas/1/output.json | 3 +++ .../es2017/trailing-function-commas/5/output.json | 3 +++ .../invalid-trailing-comma/output.json | 3 +++ .../trailing-comma-dynamic/output.json | 6 ++++++ .../trailing-comma-dynamic/output.json | 6 ++++++ .../trailing-comma-dynamic/output.json | 6 ++++++ .../trailing-comma-dynamic/output.json | 6 ++++++ .../module-attributes/trailing-comma/output.json | 6 ++++++ 11 files changed, 53 insertions(+), 4 deletions(-) diff --git a/packages/babel-parser/src/parser/expression.ts b/packages/babel-parser/src/parser/expression.ts index e86b32c0ac9a..8301791d04b0 100644 --- a/packages/babel-parser/src/parser/expression.ts +++ b/packages/babel-parser/src/parser/expression.ts @@ -887,7 +887,8 @@ export default abstract class ExpressionParser extends LValParser { tt.parenR, base.type === "Import", base.type !== "Super", - maybeAsyncArrow ? node : null, + // @ts-expect-error todo(flow->ts) + node, refExpressionErrors, ); } @@ -1007,7 +1008,7 @@ export default abstract class ExpressionParser extends LValParser { close: TokenType, dynamicImport?: boolean, allowPlaceholder?: boolean, - nodeForExtra?: Undone | null, + nodeForExtra?: N.Node | null, refExpressionErrors?: ExpressionErrors | null, ): Array { const elts: N.Expression[] = []; @@ -2028,7 +2029,10 @@ export default abstract class ExpressionParser extends LValParser { } else { this.expect(tt.comma); if (this.match(close)) { - this.addTrailingCommaExtraToNode(node); + this.addTrailingCommaExtraToNode( + // @ts-expect-error todo(flow->ts) improve node types + node, + ); break; } } @@ -2071,7 +2075,7 @@ export default abstract class ExpressionParser extends LValParser { return this.finishNode(node, type); } - addTrailingCommaExtraToNode(node: Undone): void { + addTrailingCommaExtraToNode(node: N.Node): void { this.addExtra(node, "trailingComma", this.state.lastTokStart); this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false); } diff --git a/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma-object-shorthand/output.json b/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma-object-shorthand/output.json index c154cdfbf133..5e5cfab65df8 100644 --- a/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma-object-shorthand/output.json +++ b/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma-object-shorthand/output.json @@ -18,6 +18,9 @@ "start":0,"end":2,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":2,"index":2},"identifierName":"fn"}, "name": "fn" }, + "extra": { + "trailingComma": 11 + }, "arguments": [ { "type": "Identifier", diff --git a/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma/output.json b/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma/output.json index 2e22b7a378ea..e3df550ec597 100644 --- a/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma/output.json +++ b/packages/babel-parser/test/fixtures/comments/basic/call-expression-trailing-comma/output.json @@ -18,6 +18,9 @@ "start":0,"end":2,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":2,"index":2},"identifierName":"fn"}, "name": "fn" }, + "extra": { + "trailingComma": 7 + }, "arguments": [ { "type": "Identifier", diff --git a/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/1/output.json b/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/1/output.json index 3198458b4e0a..6d0c4427fd2f 100644 --- a/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/1/output.json +++ b/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/1/output.json @@ -18,6 +18,9 @@ "start":0,"end":3,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":3,"index":3},"identifierName":"log"}, "name": "log" }, + "extra": { + "trailingComma": 13 + }, "arguments": [ { "type": "Identifier", diff --git a/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/5/output.json b/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/5/output.json index fcd59b92aed9..cd4d6c7fd3f6 100644 --- a/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/5/output.json +++ b/packages/babel-parser/test/fixtures/es2017/trailing-function-commas/5/output.json @@ -21,6 +21,9 @@ "start":0,"end":3,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":3,"index":3},"identifierName":"log"}, "name": "log" }, + "extra": { + "trailingComma": 4 + }, "arguments": [ null ] diff --git a/packages/babel-parser/test/fixtures/es2020/dynamic-import/invalid-trailing-comma/output.json b/packages/babel-parser/test/fixtures/es2020/dynamic-import/invalid-trailing-comma/output.json index 96eb7e1caffd..6bf99acd2b58 100644 --- a/packages/babel-parser/test/fixtures/es2020/dynamic-import/invalid-trailing-comma/output.json +++ b/packages/babel-parser/test/fixtures/es2020/dynamic-import/invalid-trailing-comma/output.json @@ -20,6 +20,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 12 + }, "arguments": [ { "type": "StringLiteral", diff --git a/packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/output.json b/packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/output.json index 042210c2ba97..c532394181e4 100644 --- a/packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/output.json +++ b/packages/babel-parser/test/fixtures/experimental/import-assertions-with-keyword/trailing-comma-dynamic/output.json @@ -17,6 +17,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 15 + }, "arguments": [ { "type": "StringLiteral", @@ -40,6 +43,9 @@ "type": "Import", "start":19,"end":25,"loc":{"start":{"line":2,"column":0,"index":19},"end":{"line":2,"column":6,"index":25}} }, + "extra": { + "trailingComma": 64 + }, "arguments": [ { "type": "StringLiteral", diff --git a/packages/babel-parser/test/fixtures/experimental/import-assertions/trailing-comma-dynamic/output.json b/packages/babel-parser/test/fixtures/experimental/import-assertions/trailing-comma-dynamic/output.json index 9cb1b2c3510b..e484d6873f0f 100644 --- a/packages/babel-parser/test/fixtures/experimental/import-assertions/trailing-comma-dynamic/output.json +++ b/packages/babel-parser/test/fixtures/experimental/import-assertions/trailing-comma-dynamic/output.json @@ -17,6 +17,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 15 + }, "arguments": [ { "type": "StringLiteral", @@ -40,6 +43,9 @@ "type": "Import", "start":19,"end":25,"loc":{"start":{"line":2,"column":0,"index":19},"end":{"line":2,"column":6,"index":25}} }, + "extra": { + "trailingComma": 66 + }, "arguments": [ { "type": "StringLiteral", diff --git a/packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/output.json b/packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/output.json index 9cb1b2c3510b..e484d6873f0f 100644 --- a/packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/output.json +++ b/packages/babel-parser/test/fixtures/experimental/import-attributes-deprecatedAssertKeyword/trailing-comma-dynamic/output.json @@ -17,6 +17,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 15 + }, "arguments": [ { "type": "StringLiteral", @@ -40,6 +43,9 @@ "type": "Import", "start":19,"end":25,"loc":{"start":{"line":2,"column":0,"index":19},"end":{"line":2,"column":6,"index":25}} }, + "extra": { + "trailingComma": 66 + }, "arguments": [ { "type": "StringLiteral", diff --git a/packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/output.json b/packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/output.json index 042210c2ba97..c532394181e4 100644 --- a/packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/output.json +++ b/packages/babel-parser/test/fixtures/experimental/import-attributes/trailing-comma-dynamic/output.json @@ -17,6 +17,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 15 + }, "arguments": [ { "type": "StringLiteral", @@ -40,6 +43,9 @@ "type": "Import", "start":19,"end":25,"loc":{"start":{"line":2,"column":0,"index":19},"end":{"line":2,"column":6,"index":25}} }, + "extra": { + "trailingComma": 64 + }, "arguments": [ { "type": "StringLiteral", diff --git a/packages/babel-parser/test/fixtures/experimental/module-attributes/trailing-comma/output.json b/packages/babel-parser/test/fixtures/experimental/module-attributes/trailing-comma/output.json index 042210c2ba97..c532394181e4 100644 --- a/packages/babel-parser/test/fixtures/experimental/module-attributes/trailing-comma/output.json +++ b/packages/babel-parser/test/fixtures/experimental/module-attributes/trailing-comma/output.json @@ -17,6 +17,9 @@ "type": "Import", "start":0,"end":6,"loc":{"start":{"line":1,"column":0,"index":0},"end":{"line":1,"column":6,"index":6}} }, + "extra": { + "trailingComma": 15 + }, "arguments": [ { "type": "StringLiteral", @@ -40,6 +43,9 @@ "type": "Import", "start":19,"end":25,"loc":{"start":{"line":2,"column":0,"index":19},"end":{"line":2,"column":6,"index":25}} }, + "extra": { + "trailingComma": 64 + }, "arguments": [ { "type": "StringLiteral",