diff --git a/packages/babel-template/test/index.js b/packages/babel-template/test/index.js index 4528c2c2b8de..7b893d7e4652 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 94f4074ad510..7484c3f1f133 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"), + ), + }, }, });