module.exports = { preset: 'jest-expo', setupFiles: ['/tests/jest.setup.ts'], clearMocks: true, moduleNameMapper: { '^@/(.*)$': '/src/$1', }, testMatch: ['/tests/**/*.test.ts', '/tests/**/*.test.tsx'], testPathIgnorePatterns: ['/node_modules/', '/.expo/', '/android/', '/ios/'], 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)', ], collectCoverageFrom: [ '/src/core/**/*.{ts,tsx}', '/src/features/**/*.{ts,tsx}', '/src/constants/theme-bridge.ts', '/src/i18n/index.ts', ], coverageDirectory: '/coverage/jest', coverageReporters: ['text', 'lcov', 'json-summary'], coverageThreshold: { global: { branches: 80, functions: 90, lines: 90, statements: 90, }, }, };