Skip to content

Commit 7a1691c

Browse files
authored
Refactor Host Config Infra (getting rid of .inline*.js) (facebook#18240)
* Require deep for reconcilers * Delete inline* files * Delete react-reconciler/persistent This no longer makes any sense because it react-reconciler takes supportsMutation or supportsPersistence as options. It's no longer based on feature flags. * Fix jest mocking * Fix Flow strategy We now explicitly list which paths we want to be checked by a renderer. For every other renderer config we ignore those paths. Nothing is "any" typed. So if some transitive dependency isn't reachable it won't be accidentally "any" that leaks.
1 parent 238b57f commit 7a1691c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+127
-561
lines changed

packages/react-art/src/ReactART.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
createContainer,
1313
updateContainer,
1414
injectIntoDevTools,
15-
} from 'react-reconciler/inline.art';
15+
} from 'react-reconciler/src/ReactFiberReconciler';
1616
import Transform from 'art/core/transform';
1717
import Mode from 'art/modes/current';
1818
import FastNoSideEffects from 'art/modes/fast-noSideEffects';

packages/react-dom/src/client/ReactDOM.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import {
3535
attemptUserBlockingHydration,
3636
attemptContinuousHydration,
3737
attemptHydrationAtCurrentPriority,
38-
} from 'react-reconciler/inline.dom';
38+
} from 'react-reconciler/src/ReactFiberReconciler';
3939
import {createPortal as createPortalImpl} from 'shared/ReactPortal';
4040
import {canUseDOM} from 'shared/ExecutionEnvironment';
4141
import {setBatchingImplementation} from 'legacy-events/ReactGenericBatching';

packages/react-dom/src/client/ReactDOMLegacy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import {
3131
getPublicRootInstance,
3232
findHostInstance,
3333
findHostInstanceWithWarning,
34-
} from 'react-reconciler/inline.dom';
34+
} from 'react-reconciler/src/ReactFiberReconciler';
3535
import getComponentName from 'shared/getComponentName';
3636
import invariant from 'shared/invariant';
3737
import ReactSharedInternals from 'shared/ReactSharedInternals';

packages/react-dom/src/client/ReactDOMRoot.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import type {ReactNodeList} from 'shared/ReactTypes';
1313
// TODO: This type is shared between the reconciler and ReactDOM, but will
1414
// eventually be lifted out to the renderer.
1515
import type {FiberRoot} from 'react-reconciler/src/ReactFiberRoot';
16-
import {findHostInstanceWithNoPortals} from 'react-reconciler/inline.dom';
16+
import {findHostInstanceWithNoPortals} from 'react-reconciler/src/ReactFiberReconciler';
1717

1818
export type RootType = {
1919
render(children: ReactNodeList): void,
@@ -45,7 +45,10 @@ import {
4545
DOCUMENT_FRAGMENT_NODE,
4646
} from '../shared/HTMLNodeType';
4747

48-
import {createContainer, updateContainer} from 'react-reconciler/inline.dom';
48+
import {
49+
createContainer,
50+
updateContainer,
51+
} from 'react-reconciler/src/ReactFiberReconciler';
4952
import invariant from 'shared/invariant';
5053
import {BlockingRoot, ConcurrentRoot, LegacyRoot} from 'shared/ReactRootTags';
5154

packages/react-dom/src/events/EnterLeaveEventPlugin.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
getNodeFromInstance,
2222
} from '../client/ReactDOMComponentTree';
2323
import {HostComponent, HostText} from 'shared/ReactWorkTags';
24-
import {getNearestMountedFiber} from 'react-reconciler/reflection';
24+
import {getNearestMountedFiber} from 'react-reconciler/src/ReactFiberTreeReflection';
2525
import {enableModernEventSystem} from 'shared/ReactFeatureFlags';
2626

2727
const eventTypes = {

packages/react-dom/src/events/ReactDOMEventListener.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
getNearestMountedFiber,
3333
getContainerFromFiber,
3434
getSuspenseInstanceFromFiber,
35-
} from 'react-reconciler/reflection';
35+
} from 'react-reconciler/src/ReactFiberTreeReflection';
3636
import {HostRoot, SuspenseComponent} from 'shared/ReactWorkTags';
3737
import {
3838
type EventSystemFlags,

packages/react-dom/src/events/ReactDOMEventReplaying.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {
2828
getNearestMountedFiber,
2929
getContainerFromFiber,
3030
getSuspenseInstanceFromFiber,
31-
} from 'react-reconciler/reflection';
31+
} from 'react-reconciler/src/ReactFiberTreeReflection';
3232
import {
3333
attemptToDispatchEvent,
3434
addResponderEventSystemEvent,

packages/react-dom/src/server/ReactDOMFizzServerBrowser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
createRequest,
1414
startWork,
1515
startFlowing,
16-
} from 'react-server/inline.dom-browser';
16+
} from 'react-server/src/ReactFizzStreamer';
1717

1818
function renderToReadableStream(children: ReactNodeList): ReadableStream {
1919
let request;

packages/react-dom/src/server/ReactDOMFizzServerNode.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
import type {ReactNodeList} from 'shared/ReactTypes';
1111
import type {Writable} from 'stream';
1212

13-
import {createRequest, startWork, startFlowing} from 'react-server/inline.dom';
13+
import {
14+
createRequest,
15+
startWork,
16+
startFlowing,
17+
} from 'react-server/src/ReactFizzStreamer';
1418

1519
function createDrainHandler(destination, request) {
1620
return () => startFlowing(request);

packages/react-dom/src/test-utils/ReactTestUtils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import * as React from 'react';
99
import * as ReactDOM from 'react-dom';
10-
import {findCurrentFiberUsingSlowPath} from 'react-reconciler/reflection';
10+
import {findCurrentFiberUsingSlowPath} from 'react-reconciler/src/ReactFiberTreeReflection';
1111
import {get as getInstance} from 'shared/ReactInstanceMap';
1212
import {
1313
ClassComponent,

packages/react-dom/testing.classic.fb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
*/
99

1010
export * from './index.classic.fb.js';
11-
export {act} from 'react-reconciler/inline.dom';
11+
export {act} from 'react-reconciler/src/ReactFiberReconciler';

packages/react-dom/testing.experimental.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
*/
99

1010
export * from './index.experimental.js';
11-
export {act} from 'react-reconciler/inline.dom';
11+
export {act} from 'react-reconciler/src/ReactFiberReconciler';

packages/react-dom/testing.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
*/
99

1010
export * from './index.js';
11-
export {act} from 'react-reconciler/inline.dom';
11+
export {act} from 'react-reconciler/src/ReactFiberReconciler';

packages/react-dom/testing.modern.fb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
*/
99

1010
export * from './index.modern.fb.js';
11-
export {act} from 'react-reconciler/inline.dom';
11+
export {act} from 'react-reconciler/src/ReactFiberReconciler';

packages/react-dom/testing.stable.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
*/
99

1010
export * from './index.stable.js';
11-
export {act} from 'react-reconciler/inline.dom';
11+
export {act} from 'react-reconciler/src/ReactFiberReconciler';

packages/react-flight-dom-webpack/src/ReactFlightDOMClient.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
processStringChunk,
1717
processBinaryChunk,
1818
complete,
19-
} from 'react-flight/inline.dom';
19+
} from 'react-flight/src/ReactFlightClient';
2020

2121
function startReadingFromStream(response, stream: ReadableStream): void {
2222
let reader = stream.getReader();

packages/react-flight-dom-webpack/src/ReactFlightDOMServerBrowser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
* @flow
88
*/
99

10-
import type {ReactModel} from 'react-server/flight.inline-typed';
10+
import type {ReactModel} from 'react-server/src/ReactFlightServer';
1111

1212
import {
1313
createRequest,
1414
startWork,
1515
startFlowing,
16-
} from 'react-server/flight.inline.dom-browser';
16+
} from 'react-server/src/ReactFlightServer';
1717

1818
function renderToReadableStream(model: ReactModel): ReadableStream {
1919
let request;

packages/react-flight-dom-webpack/src/ReactFlightDOMServerNode.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
* @flow
88
*/
99

10-
import type {ReactModel} from 'react-server/flight.inline-typed';
10+
import type {ReactModel} from 'react-server/src/ReactFlightServer';
1111
import type {Writable} from 'stream';
1212

1313
import {
1414
createRequest,
1515
startWork,
1616
startFlowing,
17-
} from 'react-server/flight.inline.dom';
17+
} from 'react-server/src/ReactFlightServer';
1818

1919
function createDrainHandler(destination, request) {
2020
return () => startFlowing(request);

packages/react-flight/index.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,8 @@
33
*
44
* This source code is licensed under the MIT license found in the
55
* LICENSE file in the root directory of this source tree.
6+
*
7+
* @flow
68
*/
79

8-
// This entry point is intentionally not typed. It exists only for third-party
9-
// renderers. The renderers we ship (such as React DOM) instead import a named
10-
// "inline" entry point (for example, `react-server/inline.dom`). It uses
11-
// the same code, but the Flow configuration redirects the host config to its
12-
// real implementation so we can check it against exact intended host types.
13-
//
14-
// Only one renderer (the one you passed to `yarn flow <renderer>`) is fully
15-
// type-checked at any given time. The Flow config maps the
16-
// `react-server/inline.<renderer>` import (which is *not* Flow typed) to
17-
// `react-server/inline-typed` (which *is*) for the current renderer.
18-
// On CI, we run Flow checks for each renderer separately.
19-
2010
export * from './src/ReactFlightClient';

packages/react-flight/inline-typed.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

packages/react-flight/inline.dom-browser.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/react-flight/inline.dom.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/react-native-renderer/src/ReactFabric.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
updateContainer,
2525
injectIntoDevTools,
2626
getPublicRootInstance,
27-
} from 'react-reconciler/inline.fabric';
27+
} from 'react-reconciler/src/ReactFiberReconciler';
2828

2929
import {createPortal as createPortalImpl} from 'shared/ReactPortal';
3030
import {setBatchingImplementation} from 'legacy-events/ReactGenericBatching';

packages/react-native-renderer/src/ReactNativeFiberInspector.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type {Fiber} from 'react-reconciler/src/ReactFiber';
1212
import {
1313
findCurrentHostFiber,
1414
findCurrentFiberUsingSlowPath,
15-
} from 'react-reconciler/reflection';
15+
} from 'react-reconciler/src/ReactFiberTreeReflection';
1616
import getComponentName from 'shared/getComponentName';
1717
import {HostComponent} from 'shared/ReactWorkTags';
1818
import invariant from 'shared/invariant';

packages/react-native-renderer/src/ReactNativeRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {
2323
updateContainer,
2424
injectIntoDevTools,
2525
getPublicRootInstance,
26-
} from 'react-reconciler/inline.native';
26+
} from 'react-reconciler/src/ReactFiberReconciler';
2727
// TODO: direct imports like some-package/src/* are bad. Fix me.
2828
import {getStackByFiberInDevAndProd} from 'react-reconciler/src/ReactCurrentFiber';
2929
import {createPortal as createPortalImpl} from 'shared/ReactPortal';

packages/react-noop-renderer/src/ReactNoopFlightClient.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* environment.
1515
*/
1616

17-
import type {ReactModelRoot} from 'react-flight/inline-typed';
17+
import type {ReactModelRoot} from 'react-flight';
1818

1919
import ReactFlightClient from 'react-flight';
2020

packages/react-noop-renderer/src/ReactNoopFlightServer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* environment.
1515
*/
1616

17-
import type {ReactModel} from 'react-server/flight.inline-typed';
17+
import type {ReactModel} from 'react-server/src/ReactFlightServer';
1818

1919
import ReactFlightServer from 'react-server/flight';
2020

packages/react-noop-renderer/src/ReactNoopPersistent.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* environment.
1515
*/
1616

17-
import ReactFiberPersistentReconciler from 'react-reconciler/persistent';
17+
import ReactFiberReconciler from 'react-reconciler';
1818
import createReactNoop from './createReactNoop';
1919

2020
export const {
@@ -47,6 +47,6 @@ export const {
4747
dumpTree,
4848
getRoot,
4949
} = createReactNoop(
50-
ReactFiberPersistentReconciler, // reconciler
50+
ReactFiberReconciler, // reconciler
5151
false, // useMutation
5252
);

packages/react-reconciler/index.js

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,8 @@
33
*
44
* This source code is licensed under the MIT license found in the
55
* LICENSE file in the root directory of this source tree.
6+
*
7+
* @flow
68
*/
79

8-
// This entry point is intentionally not typed. It exists only for third-party
9-
// renderers. The renderers we ship (such as React DOM) instead import a named
10-
// "inline" entry point (for example, `react-reconciler/inline.dom`). It uses
11-
// the same code, but the Flow configuration redirects the host config to its
12-
// real implementation so we can check it against exact intended host types.
13-
//
14-
// Only one renderer (the one you passed to `yarn flow <renderer>`) is fully
15-
// type-checked at any given time. The Flow config maps the
16-
// `react-reconciler/inline.<renderer>` import (which is *not* Flow typed) to
17-
// `react-reconciler/inline-typed` (which *is*) for the current renderer.
18-
// On CI, we run Flow checks for each renderer separately.
19-
2010
export * from './src/ReactFiberReconciler';

packages/react-reconciler/inline-typed.js

Lines changed: 0 additions & 24 deletions
This file was deleted.

packages/react-reconciler/inline.art.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/react-reconciler/inline.dom-browser.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

packages/react-reconciler/inline.dom.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)