export default { testEnvironment: 'jsdom', preset: 'ts-jest/presets/default-esm', extensionsToTreatAsEsm: ['.ts', '.tsx'], moduleNameMapper: { '^@/(.*)$': '/frontend/$1', '^@editor/(.*)$': '/frontend/editor/$1', '^@renderer/(.*)$': '/frontend/renderer/$1', '^@components/(.*)$': '/frontend/components/$1', '^@backend/(.*)$': '/backend/$1', '^@api/(.*)$': '/backend/api/$1', '\\.(css|less|scss|sass)$': 'identity-obj-proxy', }, transform: { '^.+\\.(ts|tsx)$': ['ts-jest', { useESM: true }], }, testMatch: ['**/__tests__/**/*.test.{ts,tsx}', '**/*.test.{ts,tsx}'], collectCoverageFrom: [ 'frontend/**/*.{ts,tsx}', 'backend/**/*.ts', '!**/*.d.ts', '!**/node_modules/**', '!**/dist/**', ], coverageThreshold: { global: { branches: 80, functions: 80, lines: 80, statements: 80, }, }, };