Skip to content

Remove deprecated Libraries/ReactPrivate forwarding modules (#58452) - #58452

Closed
rubennorte wants to merge 5 commits into
react:mainfrom
rubennorte:export-D114055938
Closed

Remove deprecated Libraries/ReactPrivate forwarding modules (#58452)#58452
rubennorte wants to merge 5 commits into
react:mainfrom
rubennorte:export-D114055938

Conversation

@rubennorte

@rubennorte rubennorte commented Sep 10, 2026

Copy link
Copy Markdown
Member

Summary:

Cleanup: The react-private-interface entry point (D111231527) now provides the private contract between React and React Native that Libraries/ReactPrivate/ (deprecated) forwarded to. We can now delete.

Changes

  • Delete Libraries/ReactPrivate/ReactNativePrivateInterface.js, ReactNativePrivateInitializeCore.js, and their .flow/README files.
  • Update internal module references to point to source modules.
  • Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 10, 2026
@meta-codesync

meta-codesync Bot commented Sep 10, 2026

Copy link
Copy Markdown

@rubennorte has exported this pull request. If you are a Meta employee, you can view the originating Diff in D114055938.

@cortinico cortinico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
@meta-codesync meta-codesync Bot changed the title Remove deprecated Libraries/ReactPrivate forwarding modules Remove deprecated Libraries/ReactPrivate forwarding modules (#58452) Sep 10, 2026
rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
@github-actions

Copy link
Copy Markdown

Warning

JavaScript API change detected

This PR commits an update to ReactNativeApi.d.ts, indicating a change to React Native's public JavaScript API.

  • Please include a clear changelog message.
  • This change will be subject to additional review.

This change was flagged as: POTENTIALLY_BREAKING

rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
rubennorte added a commit to rubennorte/react-native that referenced this pull request Sep 10, 2026
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
rubennorte and others added 5 commits September 10, 2026 08:38
Differential Revision: D119490598
Summary:
Remove the isOSS conditionals that were skipping Fantom renderer tests in OSS environments. Now that the React Native renderers have been upgraded and the code is compatible in OSS, these tests can run in both internal and OSS environments.

Changes:
- ResponderEventTarget-itest.js: Removed isOSS check that skipped the entire Responder System test suite
- EventTargetDispatching-itest.js: Removed isOSS check that skipped the entire EventTarget-based Event Dispatching test suite
- EventDispatching-benchmark-itest.js: Removed if (isOSS) block that provided a dummy test instead of the benchmark suite
- EventDispatching-itest.js: Removed if (!isOSS) condition guarding three tests for native event timeStamp and global event dispatching

Changelog: [Internal]

Differential Revision: D107675643
Summary:
The renderer can dispatch events either through the legacy plugin-based system or through the W3C EventTarget API (addEventListener/dispatchEvent), gated behind the enableNativeEventTargetEventDispatching feature flag. Enabling it by default was previously blocked on the renderer, which did not carry the necessary changes until React 19.3.0. That sync has now landed, so flip the flag's default value to true and drop the TODO that tracked the blocker.

Fully removing the flag and the legacy dispatch path is left for a follow-up.

Changelog:
[General][Changed] - Dispatch events through the EventTarget API by default

Differential Revision: D119495069
)

Summary:
Pull Request resolved: react#58452

**Cleanup**: The `react-private-interface` entry point (D111231527) now provides the private contract between React and React Native that `Libraries/ReactPrivate/` (deprecated) forwarded to. We can now delete.

**Changes**

- Delete `Libraries/ReactPrivate/` — `ReactNativePrivateInterface.js`, `ReactNativePrivateInitializeCore.js`, and their `.flow`/`README` files.
- Update internal module references to point to source modules.
- Update xplat/js references to use new private entry point.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D114055938
@meta-codesync meta-codesync Bot closed this in c613b34 Sep 11, 2026
@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Sep 11, 2026
@meta-codesync

meta-codesync Bot commented Sep 11, 2026

Copy link
Copy Markdown

This pull request has been merged in c613b34.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants