From 4f29a52c134208c6b7162739c6e9f7c1217d8996 Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Mon, 24 Aug 2026 15:54:11 +0100 Subject: [PATCH] Support 'react-native/react-private-interface' in build-types --- .../featureflags/ReactNativeFeatureFlagsBase.js | 7 ++++--- .../js-api/build-types/resolution/simpleResolve.js | 13 ++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js index c27f2f2e022f..2bdedc1acc36 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlagsBase.js @@ -26,9 +26,10 @@ export type Getter = () => T; // This defines the types for the overrides object, whose methods can return // null or undefined to fallback to the default value. -export type OverridesFor = Partial<{ - [key in keyof T]: Getter>, -}>; +export type OverridesFor unknown}> = + Partial<{ + [key in keyof T]: Getter>, + }>; function createGetter( configName: string, diff --git a/scripts/js-api/build-types/resolution/simpleResolve.js b/scripts/js-api/build-types/resolution/simpleResolve.js index 8bdb14383ca5..c78fe4a65ca2 100644 --- a/scripts/js-api/build-types/resolution/simpleResolve.js +++ b/scripts/js-api/build-types/resolution/simpleResolve.js @@ -8,7 +8,10 @@ * @format */ -const {PACKAGES_DIR} = require('../../../shared/consts'); +const { + PACKAGES_DIR, + REACT_NATIVE_PACKAGE_DIR, +} = require('../../../shared/consts'); const {getPackages} = require('../../../shared/monorepoUtils'); const {existsSync} = require('node:fs'); const path = require('node:path'); @@ -38,6 +41,14 @@ async function simpleResolve( }); } + // Resolve the 'react-native/react-private-interface' subpath export + if (importPath === 'react-native/react-private-interface') { + return path.join( + REACT_NATIVE_PACKAGE_DIR, + 'src/react-private-interface.js', + ); + } + // Resolve exact '@react-native/' import if (importPath in cachedProjectInfo) { const packageJson = cachedProjectInfo[importPath].packageJson;