Files
medreport_mrb2b/jest.config.js
Danel Kungla 0c2cfe6d18 prettier fix
2025-09-19 17:22:36 +03:00

62 lines
1.5 KiB
JavaScript

import { readFileSync } from 'fs';
import { pathsToModuleNameMapper } from 'ts-jest';
const tsconfig = JSON.parse(readFileSync('./tsconfig.json', 'utf8'));
/** @type {import('jest').Config} */
export default {
preset: 'ts-jest',
testEnvironment: 'node',
// Handle module resolution for TypeScript paths
moduleNameMapper: {
...pathsToModuleNameMapper(tsconfig.compilerOptions.paths, {
prefix: '<rootDir>/',
}),
// Mock problematic libraries
'^isikukood$': '<rootDir>/__mocks__/isikukood.ts',
'^server-only$': '<rootDir>/__mocks__/server-only.ts',
},
// Test file patterns
testMatch: ['**/__tests__/**/*.(ts|tsx|js)', '**/*.(test|spec).(ts|tsx|js)'],
// Setup files
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
// Coverage configuration
collectCoverageFrom: [
'lib/**/*.{ts,tsx}',
'app/**/*.{ts,tsx}',
'components/**/*.{ts,tsx}',
'!**/*.d.ts',
'!**/node_modules/**',
'!**/.next/**',
],
// Transform configuration
transform: {
'^.+\\.(ts|tsx)$': [
'ts-jest',
{
useESM: true,
tsconfig: {
jsx: 'react-jsx',
},
},
],
},
// Module file extensions
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
// Ignore patterns
testPathIgnorePatterns: ['<rootDir>/.next/', '<rootDir>/node_modules/'],
// Transform ignore patterns for node_modules
transformIgnorePatterns: ['node_modules/(?!(.*\\.mjs$))'],
// ESM support
extensionsToTreatAsEsm: ['.ts'],
};