import { JestConfigWithTsJest, pathsToModuleNameMapper } from 'ts-jest'; // eslint-disable-next-line @typescript-eslint/no-var-requires const tsConfig = require('./tsconfig.json'); const jestConfig: JestConfigWithTsJest = { displayName: 'twenty-ui', preset: '../../jest.preset.js', testEnvironment: 'jsdom', transformIgnorePatterns: ['../../node_modules/'], transform: { '^.+\\.[tj]sx?$': [ '@swc/jest', { jsc: { parser: { syntax: 'typescript', tsx: true }, transform: { react: { runtime: 'automatic' } }, }, }, ], }, moduleNameMapper: { '\\.(jpg|jpeg|png|gif|webp|svg|svg\\?react)$': '/__mocks__/imageMock.js', ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths), }, moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], extensionsToTreatAsEsm: ['.ts', '.tsx'], coverageDirectory: './coverage', coverageThreshold: { global: { statements: 100, lines: 100, functions: 100, }, }, }; export default jestConfig;