const { moduleFileExtensions, testMatch, testPathIgnorePatterns, watchPathIgnorePatterns, moduleNameMapper, } = require('./jest.config.base'); const babelConfig = { presets: ['babel-preset-expo'], }; module.exports = { rootDir: process.cwd(), moduleFileExtensions, testMatch, testPathIgnorePatterns, watchPathIgnorePatterns, moduleNameMapper: { ...moduleNameMapper, '^@evolu/common/evolu$': '/../../suite-native/test-utils/src/mocks/evoluMock.ts', '^@evolu/react-native/expo-sqlite$': '/../../suite-native/test-utils/src/mocks/evoluMock.ts', }, testEnvironment: 'jsdom', preset: 'jest-expo', transform: { '\\.(js|jsx|ts|tsx)$': ['babel-jest', babelConfig], }, transformIgnorePatterns: [ 'node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@sentry/react-native|native-base|react-native-svg|@shopify/react-native-skia|@shopify/flash-list|@noble|@scure|@evolu|nanoid|msgpackr|@gorhom|uuid|react-intl|@formatjs/*|intl-messageformat)', ], setupFiles: [ '/../../suite-native/test-utils/src/mocks/expoAndRNMock.jsx', '/../../suite-native/test-utils/src/mocks/everstakeJestSetup.js', '/../../suite-native/test-utils/src/mocks/TextEncoderMock.js', '/../../node_modules/@shopify/react-native-skia/jestSetup.js', '/../../node_modules/@shopify/flash-list/jestSetup.js', '/../../node_modules/react-native-gesture-handler/jestSetup.js', '/../../suite-native/firmware/src/jestSetup.js', '/../../suite-native/connection-status/src/jestSetup.js', '/../../suite-native/react-native-graph/src/jestSetup.js', '/../../suite-native/atoms/src/jestSetup.jsx', '/../../suite-native/module-trading/src/jest.setup.tsx', '/../../suite-native/module-connect-popup/src/jest.setup.ts', '/../../suite-native/module-device-onboarding/src/jest.setup.ts', '/../../suite-native/config/src/jest.setup.ts', '/../../suite-native/intl/src/jest.setup.ts', ], };