From d04b4dd1169603ec103e3645d6444cd743b6ea1e Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Thu, 29 Oct 2020 22:24:56 +0900 Subject: [PATCH] fix(babel-types): Add assertions to ExportAllDeclaration (#12273) --- packages/babel-template/test/index.js | 11 +++++++++++ packages/babel-types/src/definitions/core.js | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/packages/babel-template/test/index.js b/packages/babel-template/test/index.js index 4528c2c2b8..7b893d7e46 100644 --- a/packages/babel-template/test/index.js +++ b/packages/babel-template/test/index.js @@ -248,6 +248,17 @@ describe("@babel/template", function () { expect(result.assertions[0].type).toBe("ImportAttribute"); }); + it("should return assertions in ExportAllDeclaration when using .ast", () => { + const result = template.ast( + `export * from "foo.json" assert { type: "json" };`, + { + plugins: ["importAssertions"], + }, + ); + + expect(result.assertions[0].type).toBe("ImportAttribute"); + }); + it("should replace JSX placeholder", () => { const result = template.expression( ` diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index 94f4074ad5..7484c3f1f1 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -1401,6 +1401,12 @@ defineType("ExportAllDeclaration", { source: { validate: assertNodeType("StringLiteral"), }, + assertions: { + validate: chain( + assertValueType("array"), + assertNodeType("ImportAttribute"), + ), + }, }, });