/** @type {import('jest').Config} */ module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['/src'], testMatch: [ '/src/**/__tests__/**/*.{js,jsx,ts,tsx}', '/src/**/*.{test,spec}.{js,jsx,ts,tsx}', ], transform: { '^.+\\.(ts|tsx)$': 'ts-jest', }, collectCoverageFrom: [ 'src/**/*.{ts,tsx}', '!src/**/*.d.ts', '!src/**/*.stories.{js,jsx,ts,tsx}', ], coverageDirectory: 'coverage', coverageReporters: ['text', 'lcov', 'html'], coverageThreshold: { global: { branches: 90, functions: 90, lines: 90, statements: 90, }, }, moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], moduleNameMapping: { '^@gt2/types$': '/../types/src/index.ts', }, setupFilesAfterEnv: ['/src/__tests__/setup.ts'], };