Skip to content

Commit 8d08845

Browse files
coadofacebook-github-bot
authored andcommitted
Root export PublicRootInstance and PublicTextInstance for ReactNativeTypes to use (#51018)
Summary: Pull Request resolved: #51018 `ReactNativeTypes` deep imports `MeasureOnSuccessCallback`, `PublicInstance`, `PublicRootInstance` and `PublicTextInstance`. The `MeasureOnSuccessCallback` type is already root exported, `PublicInstance` is exported as `HostInstance` and there are two types left to export to root import all of them from react-native. This is needed for `simpleResolve` to properly resolve and build types located in `ReactNativePrivateInterface`. This cannot be fixed on the resolver level because that would also involve change in the `exports` field in `package.json` to enable types resolution for deep paths which should be strict by design. Changelog: [Internal] Reviewed By: huntie Differential Revision: D73926160 fbshipit-source-id: 3a711a0f002ea42d9ad538c07ec00f22cc4afb6b
1 parent 271232d commit 8d08845

3 files changed

Lines changed: 59 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
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+
* @format
8+
* @flow strict-local
9+
*/
10+
11+
import typeof {createPublicTextInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
12+
13+
export type {
14+
HostInstance as PublicInstance,
15+
16+
// These types are only necessary for Paper
17+
NativeMethods as LegacyPublicInstance,
18+
MeasureOnSuccessCallback,
19+
MeasureInWindowOnSuccessCallback,
20+
MeasureLayoutOnSuccessCallback,
21+
} from '../../src/private/types/HostInstance';
22+
23+
export type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';
24+
export type PublicTextInstance = ReturnType<createPublicTextInstance>;
25+
26+
export {default as BatchedBridge} from '../BatchedBridge/BatchedBridge';
27+
export {default as ExceptionsManager} from '../Core/ExceptionsManager';
28+
export {default as Platform} from '../Utilities/Platform';
29+
export {default as RCTEventEmitter} from '../EventEmitter/RCTEventEmitter';
30+
export * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';
31+
export {default as TextInputState} from '../Components/TextInput/TextInputState';
32+
export {default as UIManager} from '../ReactNative/UIManager';
33+
export {default as deepDiffer} from '../Utilities/differ/deepDiffer';
34+
export {default as deepFreezeAndThrowOnMutationInDev} from '../Utilities/deepFreezeAndThrowOnMutationInDev';
35+
export {default as flattenStyle} from '../StyleSheet/flattenStyle';
36+
export {default as ReactFiberErrorDialog} from '../Core/ReactFiberErrorDialog';
37+
export {default as legacySendAccessibilityEvent} from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
38+
export {default as RawEventEmitter} from '../Core/RawEventEmitter';
39+
export {default as CustomEvent} from '../../src/private/webapis/dom/events/CustomEvent';
40+
export {
41+
create as createAttributePayload,
42+
diff as diffAttributePayloads,
43+
} from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';
44+
export {
45+
createPublicRootInstance,
46+
createPublicInstance,
47+
createPublicTextInstance,
48+
getNativeTagFromPublicInstance,
49+
getNodeFromPublicInstance,
50+
getInternalInstanceHandleFromPublicInstance,
51+
} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';

packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9281,6 +9281,10 @@ export type {
92819281
export type { HostComponent } from \\"./src/private/types/HostComponent\\";
92829282
export type { ColorSchemeName } from \\"./src/private/specs_DEPRECATED/modules/NativeAppearance\\";
92839283
export type { ErrorUtils } from \\"./Libraries/vendor/core/ErrorUtils\\";
9284+
export type {
9285+
PublicRootInstance,
9286+
PublicTextInstance,
9287+
} from \\"./Libraries/ReactPrivate/ReactNativePrivateInterface\\";
92849288
"
92859289
`;
92869290

packages/react-native/index.js.flow

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,5 +438,9 @@ export type {
438438
export type {HostComponent} from './src/private/types/HostComponent';
439439
export type {ColorSchemeName} from './src/private/specs_DEPRECATED/modules/NativeAppearance';
440440
export type {ErrorUtils} from './Libraries/vendor/core/ErrorUtils';
441+
export type {
442+
PublicRootInstance,
443+
PublicTextInstance,
444+
} from './Libraries/ReactPrivate/ReactNativePrivateInterface';
441445

442446
// #endregion

0 commit comments

Comments
 (0)