diff --git a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationSpecialTypes-test.js b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationSpecialTypes-test.js index ede1126863f5..b56d36b626a7 100644 --- a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationSpecialTypes-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationSpecialTypes-test.js @@ -73,9 +73,9 @@ describe('ReactDOMServerIntegration', () => { itRenders('a Profiler component and its children', async render => { const element = await render( - +
Test
-
, + , ); const parent = element.parentNode; const div = parent.childNodes[0]; diff --git a/packages/react-dom/src/__tests__/ReactServerRenderingHydration-test.js b/packages/react-dom/src/__tests__/ReactServerRenderingHydration-test.js index 2080488a2447..c135cb221a86 100644 --- a/packages/react-dom/src/__tests__/ReactServerRenderingHydration-test.js +++ b/packages/react-dom/src/__tests__/ReactServerRenderingHydration-test.js @@ -391,9 +391,9 @@ describe('ReactDOMServerHydration', () => { it('should be able to render and hydrate Profiler components', () => { const callback = jest.fn(); const markup = ( - +
Hi
-
+ ); const element = document.createElement('div'); diff --git a/packages/react-is/src/__tests__/ReactIs-test.js b/packages/react-is/src/__tests__/ReactIs-test.js index 9838096d3a5d..4889d0f74f31 100644 --- a/packages/react-is/src/__tests__/ReactIs-test.js +++ b/packages/react-is/src/__tests__/ReactIs-test.js @@ -182,14 +182,12 @@ describe('ReactIs', () => { it('should identify profile root', () => { expect( - ReactIs.typeOf(), + ReactIs.typeOf(), ).toBe(ReactIs.Profiler); expect( - ReactIs.isProfiler( - , - ), + ReactIs.isProfiler(), ).toBe(true); - expect(ReactIs.isProfiler({type: ReactIs.unstable_Profiler})).toBe(false); + expect(ReactIs.isProfiler({type: ReactIs.Profiler})).toBe(false); expect(ReactIs.isProfiler()).toBe(false); expect(ReactIs.isProfiler(
)).toBe(false); }); diff --git a/packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js b/packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js index a854ec7869d2..0b460675d272 100644 --- a/packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js +++ b/packages/react-reconciler/src/__tests__/ReactIncrementalPerf-test.internal.js @@ -191,7 +191,7 @@ describe('ReactDebugFiberPerf', () => { it('does not include ConcurrentMode, StrictMode, or Profiler components in measurements', () => { ReactNoop.render( - + @@ -199,7 +199,7 @@ describe('ReactDebugFiberPerf', () => { - , + , ); addComment('Mount'); expect(Scheduler).toFlushWithoutYielding(); diff --git a/packages/react-reconciler/src/__tests__/ReactSuspensePlaceholder-test.internal.js b/packages/react-reconciler/src/__tests__/ReactSuspensePlaceholder-test.internal.js index fdd2b717aae3..bb838c558a76 100644 --- a/packages/react-reconciler/src/__tests__/ReactSuspensePlaceholder-test.internal.js +++ b/packages/react-reconciler/src/__tests__/ReactSuspensePlaceholder-test.internal.js @@ -31,7 +31,7 @@ describe('ReactSuspensePlaceholder', () => { Scheduler = require('scheduler'); ReactCache = require('react-cache'); - Profiler = React.unstable_Profiler; + Profiler = React.Profiler; Suspense = React.Suspense; TextResource = ReactCache.unstable_createResource(([text, ms = 0]) => { diff --git a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js index 4332a60a028f..eb6d3d0de08a 100644 --- a/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js +++ b/packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js @@ -234,12 +234,12 @@ describe('ReactShallowRenderer', () => { class SomeComponent extends React.Component { render() { return ( - +
-
+ ); } } @@ -247,7 +247,7 @@ describe('ReactShallowRenderer', () => { const shallowRenderer = createRenderer(); const result = shallowRenderer.render(); - expect(result.type).toBe(React.unstable_Profiler); + expect(result.type).toBe(React.Profiler); expect(result.props.children).toEqual(
diff --git a/packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js b/packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js index 839524661459..f9a08a179048 100644 --- a/packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js +++ b/packages/react-test-renderer/src/__tests__/ReactShallowRendererMemo-test.js @@ -226,12 +226,12 @@ describe('ReactShallowRendererMemo', () => { class SomeComponent extends React.Component { render() { return ( - +
-
+ ); } }, @@ -240,7 +240,7 @@ describe('ReactShallowRendererMemo', () => { const shallowRenderer = createRenderer(); const result = shallowRenderer.render(); - expect(result.type).toBe(React.unstable_Profiler); + expect(result.type).toBe(React.Profiler); expect(result.props.children).toEqual(
diff --git a/packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js b/packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js index b315d0159eb0..bb20669a9263 100644 --- a/packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js +++ b/packages/react-test-renderer/src/__tests__/ReactTestRendererTraversal-test.js @@ -39,9 +39,9 @@ describe('ReactTestRendererTraversal', () => { - {}}> + {}}> - + diff --git a/packages/react/src/React.js b/packages/react/src/React.js index 78f72791eb02..a008fa96378c 100644 --- a/packages/react/src/React.js +++ b/packages/react/src/React.js @@ -77,6 +77,7 @@ const React = { useState, Fragment: REACT_FRAGMENT_TYPE, + Profiler: REACT_PROFILER_TYPE, StrictMode: REACT_STRICT_MODE_TYPE, Suspense: REACT_SUSPENSE_TYPE, @@ -88,7 +89,6 @@ const React = { version: ReactVersion, unstable_ConcurrentMode: REACT_CONCURRENT_MODE_TYPE, - unstable_Profiler: REACT_PROFILER_TYPE, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals, }; @@ -100,9 +100,7 @@ const React = { if (enableStableConcurrentModeAPIs) { React.ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; - React.Profiler = REACT_PROFILER_TYPE; React.unstable_ConcurrentMode = undefined; - React.unstable_Profiler = undefined; } export default React; diff --git a/packages/react/src/__tests__/ReactProfiler-test.internal.js b/packages/react/src/__tests__/ReactProfiler-test.internal.js index 42fbb387dd09..ed4cca9b566e 100644 --- a/packages/react/src/__tests__/ReactProfiler-test.internal.js +++ b/packages/react/src/__tests__/ReactProfiler-test.internal.js @@ -127,7 +127,7 @@ describe('Profiler', () => { it('should warn if required params are missing', () => { expect(() => { expect(() => { - ReactTestRenderer.create(); + ReactTestRenderer.create(); }).toThrow('onRender is not a function'); }).toWarnDev( 'Profiler must specify an "id" string and "onRender" function as props', @@ -140,7 +140,7 @@ describe('Profiler', () => { // As root expect( ReactTestRenderer.create( - , + , ).toJSON(), ).toMatchSnapshot(); @@ -148,7 +148,7 @@ describe('Profiler', () => { expect( ReactTestRenderer.create(
- +
, ).toJSON(), ).toMatchSnapshot(); @@ -159,10 +159,10 @@ describe('Profiler', () => { const renderer = ReactTestRenderer.create(
outside span - + inside span - +
, ); expect(renderer.toJSON()).toMatchSnapshot(); @@ -176,13 +176,13 @@ describe('Profiler', () => { } } const renderer = ReactTestRenderer.create( - + - + inner span - - , +
+
, ); expect(renderer.toJSON()).toMatchSnapshot(); }); @@ -221,11 +221,11 @@ describe('Profiler', () => { expect(() => ReactTestRenderer.create( - - + +
- - + + , ), ).toThrow('expected'); @@ -242,10 +242,10 @@ describe('Profiler', () => { }; ReactTestRenderer.create( - + - , + , { unstable_isConcurrent: true, }, @@ -312,9 +312,9 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -335,9 +335,9 @@ describe('Profiler', () => { Scheduler.advanceTime(20); // 15 -> 35 renderer.update( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -358,9 +358,9 @@ describe('Profiler', () => { Scheduler.advanceTime(20); // 45 -> 65 renderer.update( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -384,13 +384,13 @@ describe('Profiler', () => { ReactTestRenderer.create( - + - + - + - + , ); @@ -419,12 +419,12 @@ describe('Profiler', () => { ReactTestRenderer.create( - + - - + + - + , ); @@ -453,9 +453,9 @@ describe('Profiler', () => { ReactTestRenderer.create( - + - + , ); @@ -489,17 +489,17 @@ describe('Profiler', () => { } const renderer = ReactTestRenderer.create( - + - + - +
- + - + - , + , ); // All profile callbacks are called for initial render @@ -526,11 +526,11 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -538,11 +538,11 @@ describe('Profiler', () => { Scheduler.advanceTime(30); // 28 -> 58 renderer.update( - + - , + , ); expect(callback).toHaveBeenCalledTimes(2); @@ -584,17 +584,17 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , ); Scheduler.advanceTime(15); // 13 -> 28 renderer.update( - + - , + , ); expect(callback).toHaveBeenCalledTimes(2); @@ -628,10 +628,10 @@ describe('Profiler', () => { // Render partially, but run out of time before completing. ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); expect(Scheduler).toFlushAndYieldThrough(['Yield:2']); @@ -663,13 +663,13 @@ describe('Profiler', () => { // Render partially, but don't finish. // This partial render should take 5ms of simulated time. ReactTestRenderer.create( - + - + - - , + + , {unstable_isConcurrent: true}, ); expect(Scheduler).toFlushAndYieldThrough(['Yield:5']); @@ -713,10 +713,10 @@ describe('Profiler', () => { // Render a partially update, but don't finish. // This partial render should take 10ms of simulated time. const renderer = ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); expect(Scheduler).toFlushAndYieldThrough(['Yield:10']); @@ -729,9 +729,9 @@ describe('Profiler', () => { // The interrupted work simulates an additional 5ms of time. renderer.unstable_flushSync(() => { renderer.update( - + - , + , ); }); expect(Scheduler).toHaveYielded(['Yield:5']); @@ -764,10 +764,10 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); @@ -788,11 +788,11 @@ describe('Profiler', () => { // Render a partially update, but don't finish. // This partial render should take 3ms of simulated time. renderer.update( - + - , + , ); expect(Scheduler).toFlushAndYieldThrough(['Yield:3']); expect(callback).toHaveBeenCalledTimes(0); @@ -811,9 +811,9 @@ describe('Profiler', () => { // The interrupted work simulates an additional 11ms of time. renderer.unstable_flushSync(() => { renderer.update( - + - , + , ); }); expect(Scheduler).toHaveYielded(['Yield:11']); @@ -866,10 +866,10 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); @@ -979,12 +979,12 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(2); @@ -1058,12 +1058,12 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -1101,29 +1101,29 @@ describe('Profiler', () => { // Simulate a renderer error during the "complete" phase. // This mimics behavior like React Native's View/Text nesting validation. ReactNoop.render( - + hi - , + , ); expect(Scheduler).toFlushAndThrow('Error in host config.'); // A similar case we've seen caused by an invariant in ReactDOM. // It didn't reproduce without a host component inside. ReactNoop.render( - + hi - , + , ); expect(Scheduler).toFlushAndThrow('Error in host config.'); // So long as the profiler timer's fiber stack is reset correctly, // Subsequent renders should not error. ReactNoop.render( - + hi - , + , ); expect(Scheduler).toFlushWithoutYielding(); }); @@ -1138,9 +1138,9 @@ describe('Profiler', () => { Scheduler.advanceTime(5); // 0 -> 5 const renderer = ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -1148,9 +1148,9 @@ describe('Profiler', () => { Scheduler.advanceTime(20); // 7 -> 27 renderer.update( - + - , + , ); expect(callback).toHaveBeenCalledTimes(2); @@ -1193,9 +1193,9 @@ describe('Profiler', () => { } ReactTestRenderer.create( - + - , + , ); expect(callback).toHaveBeenCalledTimes(1); @@ -1545,9 +1545,9 @@ describe('Profiler', () => { Scheduler.unstable_now(), () => { renderer = ReactTestRenderer.create( - + - , + , { unstable_isConcurrent: true, }, @@ -1717,9 +1717,9 @@ describe('Profiler', () => { Scheduler.unstable_now(), () => { renderer.update( - + - , + , ); }, ); @@ -1794,10 +1794,10 @@ describe('Profiler', () => { Scheduler.advanceTime(5); const renderer = ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); @@ -1975,9 +1975,9 @@ describe('Profiler', () => { Scheduler.unstable_now(), () => { ReactTestRenderer.create( - + - , + , {unstable_isConcurrent: true}, ); }, @@ -2182,9 +2182,9 @@ describe('Profiler', () => { render() { parentInstance = this; return ( - + - + ); } } @@ -2274,13 +2274,13 @@ describe('Profiler', () => { Scheduler.unstable_now(), () => { ReactNoop.render( - + }> - , + , ); }, ); @@ -2361,13 +2361,13 @@ describe('Profiler', () => { interaction.timestamp, () => { ReactTestRenderer.create( - + }> - , + , ); }, ); @@ -2415,13 +2415,13 @@ describe('Profiler', () => { interaction.timestamp, () => { ReactTestRenderer.create( - + }> - , + , ); }, ); @@ -2454,13 +2454,13 @@ describe('Profiler', () => { interaction.timestamp, () => { ReactTestRenderer.create( - + }> - , + , { unstable_isConcurrent: true, }, @@ -2501,13 +2501,13 @@ describe('Profiler', () => { interaction.timestamp, () => { ReactTestRenderer.create( - + }> - , + , {unstable_isConcurrent: true}, ); }, @@ -2544,14 +2544,14 @@ describe('Profiler', () => { initialRenderInteraction.timestamp, () => { renderer = ReactTestRenderer.create( - + }> - , + , ); }, ); @@ -2578,14 +2578,14 @@ describe('Profiler', () => { highPriUpdateInteraction.timestamp, () => { renderer.update( - + }> - , + , ); }, ); @@ -2630,14 +2630,14 @@ describe('Profiler', () => { initialRenderInteraction.timestamp, () => { renderer = ReactTestRenderer.create( - + }> - , + , {unstable_isConcurrent: true}, ); }, @@ -2668,14 +2668,14 @@ describe('Profiler', () => { highPriUpdateInteraction.timestamp, () => { renderer.update( - + }> - , + , ); }, ); diff --git a/packages/react/src/__tests__/ReactProfilerDevToolsIntegration-test.internal.js b/packages/react/src/__tests__/ReactProfilerDevToolsIntegration-test.internal.js index e0bc87975284..14ccc1602138 100644 --- a/packages/react/src/__tests__/ReactProfilerDevToolsIntegration-test.internal.js +++ b/packages/react/src/__tests__/ReactProfilerDevToolsIntegration-test.internal.js @@ -57,13 +57,13 @@ describe('ReactProfiler DevTools integration', () => { const App = ({multiplier}) => { Scheduler.advanceTime(2); return ( - + - + ); };