From 17596ef6aa1e9cba30d03f45832c7e781bebe082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sat, 27 Jun 2020 12:31:45 +0200 Subject: [PATCH 1/3] [regression] Don't validate file.comments in `@babel/types` --- packages/babel-types/src/definitions/core.js | 4 +++- packages/babel-types/test/regressions.js | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 packages/babel-types/test/regressions.js diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index 38948a63dbc5..8e0490ded793 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -280,7 +280,9 @@ defineType("File", { validate: assertNodeType("Program"), }, comments: { - validate: assertEach(assertNodeType("Comment")), + validate: !process.env.BABEL_TYPES_8_BREAKING + ? Object.assign(() => {}, { each: { type: "Comment" } }) + : assertEach(assertNodeType("Comment")), optional: true, }, tokens: { diff --git a/packages/babel-types/test/regressions.js b/packages/babel-types/test/regressions.js new file mode 100644 index 000000000000..84fcb86ae2b3 --- /dev/null +++ b/packages/babel-types/test/regressions.js @@ -0,0 +1,9 @@ +import * as t from "../lib"; + +describe("regressions", () => { + it("jest .toMatchInlineSnapshot usef 'Line' for comments", () => { + expect(() => { + t.file(t.program([]), [{ type: "Line" }]); + }).not.toThrow(); + }); +}); From 06ec8fb6cf43c0e7b0b832e76097aa1244edd717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sat, 27 Jun 2020 14:49:53 +0200 Subject: [PATCH 2/3] Use proper comment types --- packages/babel-types/src/definitions/core.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index 8e0490ded793..b909c13d39ad 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -281,8 +281,10 @@ defineType("File", { }, comments: { validate: !process.env.BABEL_TYPES_8_BREAKING - ? Object.assign(() => {}, { each: { type: "Comment" } }) - : assertEach(assertNodeType("Comment")), + ? Object.assign(() => {}, { + each: { oneOfNodeTypes: ["CommentBlock", "CommentLine"] }, + }) + : assertEach(assertNodeType("CommentBlock", "CommentLine")), optional: true, }, tokens: { From 0e34189559c4b38bfdd336c021fbea4bf7f6143c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Mon, 29 Jun 2020 23:23:24 +0200 Subject: [PATCH 3/3] Update packages/babel-types/test/regressions.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip ci] Co-authored-by: Huáng Jùnliàng --- packages/babel-types/test/regressions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-types/test/regressions.js b/packages/babel-types/test/regressions.js index 84fcb86ae2b3..04c345ba7e58 100644 --- a/packages/babel-types/test/regressions.js +++ b/packages/babel-types/test/regressions.js @@ -1,7 +1,7 @@ import * as t from "../lib"; describe("regressions", () => { - it("jest .toMatchInlineSnapshot usef 'Line' for comments", () => { + it("jest .toMatchInlineSnapshot used 'Line' for comments", () => { expect(() => { t.file(t.program([]), [{ type: "Line" }]); }).not.toThrow();