Remove react-test-renderer/shallow export (#28497)
Based on - https://github.com/facebook/react/pull/28419 ## Summary The shallow renderer was extracted from the repo years ago and published by enzyme: https://github.com/enzymejs/react-shallow-renderer We no longer need to reexport under the react-test-renderer namespace. People can import `react-shallow-renderer` as needed ## How did you test this change? - Observe shallow.js in react-test-renderer package from standard build - Run build with changes on this branch - Observe no more shallow.js export in build output
Jack Pope committed
Mar 26, 2024 at 18:04 UTC
1f9befef5c6045c6f65f5c667d83fbe6ab025d81
5 files changed
+31
-11
packages/react-test-renderer/__tests__/shallow-test.js
new
+22
@@ -0,0 +1,22 @@
1
+/**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @emails react-core
8
+ */
9
+
10
+'use strict';
11
+
12
+describe('shallow', () => {
13
+ it('throws an error on init', () => {
14
+ const ReactShallowRenderer = require('../shallow.js').default;
15
+ expect(() => {
16
+ // eslint-disable-next-line no-new
17
+ new ReactShallowRenderer();
18
+ }).toThrow(
19
+ 'react-test-renderer/shallow has been removed. See https://react.dev/warnings/react-test-renderer.'
20
+ );
21
+ });
22
+});
packages/react-test-renderer/npm/shallow.js
+7
-1
@@ -1,3 +1,9 @@
1
'use strict';
2
3
-module.exports = require('react-shallow-renderer');
3
+function ReactShallowRenderer() {
4
+ throw new Error(
5
+ 'react-test-renderer/shallow has been removed. See https://react.dev/warnings/react-test-renderer.'
6
+ );
7
+}
8
+
9
+module.exports = ReactShallowRenderer;
packages/react-test-renderer/package.json
-1
@@ -20,7 +20,6 @@
20
"homepage": "https://react.dev/",
21
"dependencies": {
22
"react-is": "^18.2.0",
23
- "react-shallow-renderer": "^16.15.0",
23
"scheduler": "^0.23.0"
24
},
25
"peerDependencies": {
packages/react-test-renderer/shallow.js
+2
-1
@@ -7,4 +7,5 @@
7
* @flow
8
*/
9
10
-export {default} from 'react-shallow-renderer';
10
+import ReactShallowRenderer from './npm/shallow.js';
11
+export default ReactShallowRenderer;
yarn.lock
-8
@@ -13017,14 +13017,6 @@ react-native-web@0.0.0-26873b469:
13017
prop-types "^15.6.0"
13018
react-timer-mixin "^0.13.4"
13019
13020
-react-shallow-renderer@^16.15.0:
13021
- version "16.15.0"
13022
- resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457"
13023
- integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==
13024
- dependencies:
13025
- object-assign "^4.1.1"
13026
- react-is "^16.12.0 || ^17.0.0 || ^18.0.0"
13027
-
13020
react-timer-mixin@^0.13.4:
13021
version "0.13.4"
13022
resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3"