Files
react-native/jest.config.js
T
Alex Hunt fa0e6756d3 Update ReactPrivate and InitializeCore imports (0.87 Strict API) (#36986) (#57753)
Summary:
Pull Request resolved: https://github.com/react/react-native/pull/57753

## Summary

Migrate internal `Libraries/` import subpaths from `react-native` to the
incoming dedicated entry points in React Native 0.87.

**Motivation**

See [**RFC0894: Removing deep imports from
react-native**](https://github.com/react-native-community/discussions-and-proposals/pull/894)

**Changes**

The `react-private-interface` entry point has been created explicitly
for the private contract between React ↔ React Native, and is 1:1 with
the previous `ReactNativePrivateInterface` module.

Both of the below `Libraries/` paths still exist, but are deprecated —
this is a lagging migration that will enable cleanup in a future RN
version.

- `react-native/Libraries/Core/InitializeCore` →
`react-native/setup-env`
[react/react-native#57475](https://github.com/react/react-native/pull/57475)
- `react-native/Libraries/ReactPrivate/ReactNativePrivateInterface` →
`react-native/react-private-interface`
[react/react-native#57495](https://github.com/react/react-native/pull/57495)

Changelog: [Internal]

## Test Plan

Flow

DiffTrain build for [96fcba90138e9f1a73ee1cc4f79a653ec12fc3a9](https://github.com/react/react/commit/96fcba90138e9f1a73ee1cc4f79a653ec12fc3a9)

Reviewed By: hoxyq

Differential Revision: D113928305

fbshipit-source-id: 65a0c4d5de1e7db381b878194c220927d5b9dec8
2026-07-30 07:06:43 -07:00

87 lines
2.5 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
* @format
*/
'use strict';
// $FlowFixMe[cannot-resolve-module]
// $FlowFixMe[untyped-import]
const {defaults} = require('jest-config');
const PODS_LOCATIONS = [
'packages/rn-tester/Pods',
'private/helloworld/ios/Pods',
];
module.exports = {
transform: {
'^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$':
'<rootDir>/packages/jest-preset/jest/assetFileTransformer.js',
'.*': './jest/preprocessor.js',
},
resolver: './packages/jest-preset/jest/resolver.js',
moduleNameMapper: {
// `resolver.js` strips `exports`, so alias these subpaths to their `src/` impl.
'^react-native/react-private-interface$':
'<rootDir>/packages/react-native/src/react-private-interface.js',
'^react-native/setup-env$':
'<rootDir>/packages/react-native/src/setup-env.js',
},
setupFiles: ['./packages/jest-preset/jest/local-setup.js'],
fakeTimers: {
enableGlobally: true,
legacyFakeTimers: false,
},
snapshotFormat: {
escapeString: true,
printBasicPrototype: true,
},
// This allows running Meta-internal tests with the `-test.fb.js` suffix.
testRegex: '/__tests__/.*-test(\\.fb)?\\.js$',
testPathIgnorePatterns: [
'/node_modules/',
'<rootDir>/packages/react-native/sdks',
'<rootDir>/packages/react-native/Libraries/Renderer',
'<rootDir>/packages/react-native/sdks/hermes/',
...PODS_LOCATIONS,
] /*:: as ReadonlyArray<string> */,
transformIgnorePatterns: ['node_modules/(?!@react-native/)'],
haste: {
defaultPlatform: 'ios',
platforms: ['ios', 'android'],
},
moduleFileExtensions: [
'fb.js',
...defaults.moduleFileExtensions,
] /*:: as ReadonlyArray<string> */,
modulePathIgnorePatterns: [
'scripts/.*/__fixtures__/',
'<rootDir>/packages/react-native/sdks/hermes/',
...PODS_LOCATIONS,
] /*:: as ReadonlyArray<string> */,
unmockedModulePathPatterns: [
'node_modules/react/',
'packages/react-native/Libraries/Renderer',
'promise',
'source-map',
'fastpath',
'denodeify',
],
testEnvironment: 'node',
collectCoverageFrom: [
'packages/react-native/Libraries/**/*.js',
'packages/react-native/src/**/*.js',
],
coveragePathIgnorePatterns: [
'/__tests__/',
'/vendor/',
'<rootDir>/packages/react-native/Libraries/react-native/',
],
};