@samitouri / QOS-React-2 / commits / 88b0809447

fix: partially revert jest setup config removal to fix regression tests (#28247)

Partially reverting what has been removed in https://github.com/facebook/react/pull/28186. We need `'scheduler/tracing'` mock for React >= 16.8. The error: ``` Invariant Violation: It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling ``` Validated by running regression tests for the whole version matrix: ``` ./scripts/circleci/download_devtools_regression_build.js 16.0 --replaceBuild && node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 16.0 --ci && ./scripts/circleci/download_devtools_regression_build.js 16.5 --replaceBuild && node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 16.5 --ci && ./scripts/circleci/download_devtools_regression_build.js 16.8 --replaceBuild && node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 16.8 --ci && ./scripts/circleci/download_devtools_regression_build.js 17.0 --replaceBuild && node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 17.0 --ci && ./scripts/circleci/download_devtools_regression_build.js 18.0 --replaceBuild && node ./scripts/jest/jest-cli.js --build --project devtools --release-channel=experimental --reactVersion 18.0 --ci ```

Ruslan Lesiutin committed Feb 5, 2024 at 17:07 UTC 88b0809447d3c20af8773a3c060ee5ace0d695f8
2 files changed +9
scripts/jest/devtools/config.build-devtools-regression.js
+2
@@ -31,6 +31,8 @@ if (REACT_VERSION) {
31 '^react-dom/client$'
32 ] = `<rootDir>/build/${NODE_MODULES_DIR}/react-dom`;
33 }
34 +
35 + setupFiles.push(require.resolve('./setupTests.build-devtools-regression'));
36 }
37
38 module.exports = {
scripts/jest/devtools/setupTests.build-devtools-regression.js new
+7
@@ -0,0 +1,7 @@
1 +'use strict';
2 +
3 +// Regression tests use a React DOM profiling, so we need
4 +// to replace these tests with scheduler/tracing-profiling
5 +jest.mock('scheduler/tracing', () => {
6 + return jest.requireActual('scheduler/tracing-profiling');
7 +});