diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/input.js b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/input.js
new file mode 100644
index 000000000000..80faad5b4f77
--- /dev/null
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/input.js
@@ -0,0 +1,11 @@
+import React from 'react';
+
+export default function App() {
+ return (
+
+
Welcome to my application!
+ This is my app!
+ MINE.
+
+ )
+}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/options.json b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/options.json
new file mode 100644
index 000000000000..70749cdfc8db
--- /dev/null
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": [["transform-react-jsx", { "runtime": "classic" }]],
+ "sourceMap": true
+}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/output.mjs b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/output.mjs
new file mode 100644
index 000000000000..d295dcddc388
--- /dev/null
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/output.mjs
@@ -0,0 +1,6 @@
+import React from 'react';
+export default function App() {
+ return /*#__PURE__*/React.createElement("div", {
+ className: "App"
+ }, /*#__PURE__*/React.createElement("h1", null, "Welcome to my application!"), "This is my app!", /*#__PURE__*/React.createElement("strong", null, "MINE."));
+}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/source-map.json b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/source-map.json
new file mode 100644
index 000000000000..1afb281ac7e1
--- /dev/null
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/sourcemaps/JSXText/source-map.json
@@ -0,0 +1,14 @@
+{
+ "version": 3,
+ "names": [
+ "React",
+ "App"
+ ],
+ "sources": [
+ "sourcemaps/JSXText/input.js"
+ ],
+ "sourcesContent": [
+ "import React from 'react';\n\nexport default function App() {\n return (\n \n
Welcome to my application!
\n This is my app!\n MINE.\n \n )\n}"
+ ],
+ "mappings": "AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,eAAe,SAASC,GAAG,GAAG;EAC5B,oBACE;IAAK,SAAS,EAAC;EAAK,gBAClB,gCAAI,4BAA0B,CAAK,mBAEnC,mDAAQ,OAAK,CAAS,CAClB;AAEV"
+}
\ No newline at end of file
diff --git a/packages/babel-types/src/utils/react/cleanJSXElementLiteralChild.ts b/packages/babel-types/src/utils/react/cleanJSXElementLiteralChild.ts
index a4039e65c79c..969ae0ffb6c5 100644
--- a/packages/babel-types/src/utils/react/cleanJSXElementLiteralChild.ts
+++ b/packages/babel-types/src/utils/react/cleanJSXElementLiteralChild.ts
@@ -1,10 +1,9 @@
import { stringLiteral } from "../../builders/generated";
import type * as t from "../..";
+import { inherits } from "../..";
export default function cleanJSXElementLiteralChild(
- child: {
- value: string;
- },
+ child: t.JSXText,
args: Array,
) {
const lines = child.value.split(/\r\n|\n|\r/);
@@ -48,5 +47,5 @@ export default function cleanJSXElementLiteralChild(
}
}
- if (str) args.push(stringLiteral(str));
+ if (str) args.push(inherits(stringLiteral(str), child));
}