From 6061531b5402c19de7d02d6310feeac200cabaa9 Mon Sep 17 00:00:00 2001 From: Pavel Sergeev Date: Thu, 17 Feb 2022 14:51:28 +0400 Subject: [PATCH 1/3] Allow on last react 16 minor --- packages/transformers/js/src/JSTransformer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index e65989c700b..b17d259e6b2 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -22,7 +22,7 @@ const JSX_PRAGMA = { react: { pragma: 'React.createElement', pragmaFrag: 'React.Fragment', - automatic: '>= 17.0.0 || >= 0.0.0-0 < 0.0.0', + automatic: '>= 17.0.0 || ^ 16.14.0 || >= 0.0.0-0 < 0.0.0', }, preact: { pragma: 'h', From 89f1118be0554591c73ab7bfc379e6cd5c974421 Mon Sep 17 00:00:00 2001 From: Pavel Sergeev Date: Thu, 17 Feb 2022 14:51:49 +0400 Subject: [PATCH 2/3] typo --- packages/transformers/js/src/JSTransformer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/transformers/js/src/JSTransformer.js b/packages/transformers/js/src/JSTransformer.js index b17d259e6b2..b513df85c6f 100644 --- a/packages/transformers/js/src/JSTransformer.js +++ b/packages/transformers/js/src/JSTransformer.js @@ -22,7 +22,7 @@ const JSX_PRAGMA = { react: { pragma: 'React.createElement', pragmaFrag: 'React.Fragment', - automatic: '>= 17.0.0 || ^ 16.14.0 || >= 0.0.0-0 < 0.0.0', + automatic: '>= 17.0.0 || ^16.14.0 || >= 0.0.0-0 < 0.0.0', }, preact: { pragma: 'h', From ea954f0f22d5b05de734b8031e9e52f8b99dfe23 Mon Sep 17 00:00:00 2001 From: "ps.sergeev" Date: Thu, 17 Feb 2022 15:08:07 +0400 Subject: [PATCH 3/3] setup test --- .../test/integration/jsx-automatic-16/index.js | 1 + .../node_modules/react/jsx-dev-runtime.js | 0 .../jsx-automatic-16/node_modules/react/jsx-runtime.js | 0 .../jsx-automatic-16/node_modules/react/package.json | 3 +++ .../test/integration/jsx-automatic-16/package.json | 6 ++++++ .../test/integration/jsx-automatic-16/yarn.lock | 0 packages/core/integration-tests/test/transpilation.js | 10 ++++++++++ 7 files changed, 20 insertions(+) create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/index.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-dev-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-runtime.js create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/package.json create mode 100644 packages/core/integration-tests/test/integration/jsx-automatic-16/yarn.lock diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/index.js b/packages/core/integration-tests/test/integration/jsx-automatic-16/index.js new file mode 100644 index 00000000000..8d097d55d7f --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-16/index.js @@ -0,0 +1 @@ +module.exports =
; diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-dev-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-dev-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-runtime.js b/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/jsx-runtime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/package.json new file mode 100644 index 00000000000..bcbea4166f7 --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-16/node_modules/react/package.json @@ -0,0 +1,3 @@ +{ + "name": "react" +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/package.json b/packages/core/integration-tests/test/integration/jsx-automatic-16/package.json new file mode 100644 index 00000000000..8716e63d8d1 --- /dev/null +++ b/packages/core/integration-tests/test/integration/jsx-automatic-16/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "react": "16.14.0" + } +} diff --git a/packages/core/integration-tests/test/integration/jsx-automatic-16/yarn.lock b/packages/core/integration-tests/test/integration/jsx-automatic-16/yarn.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/core/integration-tests/test/transpilation.js b/packages/core/integration-tests/test/transpilation.js index c5e52a89bc7..a630267eee5 100644 --- a/packages/core/integration-tests/test/transpilation.js +++ b/packages/core/integration-tests/test/transpilation.js @@ -203,6 +203,16 @@ describe('transpilation', function () { assert(file.includes('_jsxDevRuntime.jsxDEV("div"')); }); + it('should support the automatic JSX runtime with React ^16.14.0', async function () { + let b = await bundle( + path.join(__dirname, '/integration/jsx-automatic-16/index.js'), + ); + + let file = await outputFS.readFile(b.getBundles()[0].filePath, 'utf8'); + assert(file.includes('react/jsx-dev-runtime')); + assert(file.includes('_jsxDevRuntime.jsxDEV("div"')); + }); + it('should support the automatic JSX runtime with React 18 prereleases', async function () { let b = await bundle( path.join(__dirname, '/integration/jsx-automatic-18/index.js'),