diff --git a/packages/babel-types/src/definitions/core.ts b/packages/babel-types/src/definitions/core.ts index 1f7b35039a3b..af9c84558550 100644 --- a/packages/babel-types/src/definitions/core.ts +++ b/packages/babel-types/src/definitions/core.ts @@ -1977,9 +1977,6 @@ defineType("TemplateElement", { }), function templateElementCookedValidator(node: t.TemplateElement) { const raw = node.value.raw; - if (node.value.cooked != null) { - return; - } let cooked = null; try { diff --git a/packages/babel-types/test/builders/es2015/__snapshots__/templateElement.js.snap b/packages/babel-types/test/builders/es2015/__snapshots__/templateElement.js.snap index b3033907d8dc..426994140ac8 100644 --- a/packages/babel-types/test/builders/es2015/__snapshots__/templateElement.js.snap +++ b/packages/babel-types/test/builders/es2015/__snapshots__/templateElement.js.snap @@ -59,6 +59,17 @@ Object { } `; +exports[`builders es2015 templateElement should validate 8`] = ` +Object { + "tail": false, + "type": "TemplateElement", + "value": Object { + "cooked": "B", + "raw": "\\\\x42", + }, +} +`; + exports[`builders es2015 templateLiteral should validate 1`] = ` Object { "expressions": Array [], diff --git a/packages/babel-types/test/builders/es2015/templateElement.js b/packages/babel-types/test/builders/es2015/templateElement.js index f0c344c32880..8fc9713b9237 100644 --- a/packages/babel-types/test/builders/es2015/templateElement.js +++ b/packages/babel-types/test/builders/es2015/templateElement.js @@ -23,6 +23,10 @@ describe("builders", function () { expect(t.templateElement({ raw: "\\u" })).toMatchSnapshot(); expect(t.templateElement({ raw: "\\x42" })).toMatchSnapshot(); + + expect( + t.templateElement({ raw: "\\x42", cooked: "123" }), + ).toMatchSnapshot(); }); }); describe("templateLiteral", function () {