diff --git a/packages/babel-helper-builder-react-jsx-experimental/src/index.js b/packages/babel-helper-builder-react-jsx-experimental/src/index.js index 00fee16593..a2f47e1f46 100644 --- a/packages/babel-helper-builder-react-jsx-experimental/src/index.js +++ b/packages/babel-helper-builder-react-jsx-experimental/src/index.js @@ -437,7 +437,7 @@ You can set \`throwIfNamespace: false\` to bypass this warning.`, const location = path.node.loc; if (!location) { // the element was generated and doesn't have location information - return; + return path.scope.buildUndefinedNode(); } if (!state.fileNameIdentifier) { diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/input.js b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/input.js new file mode 100644 index 0000000000..8b1a393741 --- /dev/null +++ b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/input.js @@ -0,0 +1 @@ +// empty diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json new file mode 100644 index 0000000000..35d2bd9ccc --- /dev/null +++ b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "./plugin.js", + ["transform-react-jsx-development", { "runtime": "automatic" }] + ] +} diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/output.js b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/output.js new file mode 100644 index 0000000000..e65a503503 --- /dev/null +++ b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/output.js @@ -0,0 +1,6 @@ +// empty + +var _reactJsxDevRuntime = require("react/jsx-dev-runtime"); + +/*#__PURE__*/ +_reactJsxDevRuntime.jsxDEV("div", {}, void 0, false, void 0, this) diff --git a/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.js b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.js new file mode 100644 index 0000000000..684f890407 --- /dev/null +++ b/packages/babel-plugin-transform-react-jsx-development/test/fixtures/cross-platform/generated-jsx/plugin.js @@ -0,0 +1,18 @@ +module.exports = function ({ types: t }) { + return { + visitor: { + Program: { + enter(path) { + path.pushContainer( + "body", + t.JSXElement( + t.JSXOpeningElement(t.JSXIdentifier("div"), [], false), + t.JSXClosingElement(t.JSXIdentifier("div")), + [] + ) + ); + } + } + } + }; +};