miinventario-mobile-v2/jest.config.js
rckrdmrd eb718a95aa Sincronización desde miinventario/apps/mobile - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:29:24 -06:00

38 lines
1.2 KiB
JavaScript

module.exports = {
preset: 'react-native',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$',
transformIgnorePatterns: [
'node_modules/(?!(react-native|@react-native|expo|@expo|expo-.*|@react-native-async-storage|zustand|react-native-.*|@react-navigation)/)',
],
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
'^@services/(.*)$': '<rootDir>/src/services/$1',
'^@stores/(.*)$': '<rootDir>/src/stores/$1',
'^@components/(.*)$': '<rootDir>/src/components/$1',
'^@hooks/(.*)$': '<rootDir>/src/hooks/$1',
'^@utils/(.*)$': '<rootDir>/src/utils/$1',
'^@theme/(.*)$': '<rootDir>/src/theme/$1',
'^@types/(.*)$': '<rootDir>/src/types/$1',
},
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
testEnvironment: 'node',
collectCoverageFrom: [
'src/stores/**/*.{ts,tsx}',
'src/services/api/**/*.{ts,tsx}',
'!src/**/*.d.ts',
'!src/**/__tests__/**',
'!src/**/__mocks__/**',
],
coverageThreshold: {
global: {
branches: 70,
functions: 70,
lines: 70,
statements: 70,
},
},
coverageReporters: ['text', 'lcov', 'html'],
reporters: ['default', 'jest-junit'],
};