module.exports = { ...require('./.config/jest.config'), testEnvironment: 'jsdom', moduleDirectories: ['node_modules', 'src'], moduleFileExtensions: ['ts', 'tsx', 'js', 'd.ts', 'cjs'], moduleNameMapper: { 'grafana/app/(.*)': '/src/jest/grafanaMock.ts', 'openapi-fetch': '/src/jest/openapiFetchMock.ts', 'jest/matchMedia': '/src/jest/matchMedia.ts', '^jest$': '/src/jest', '^.+\\.(css|scss)$': '/src/jest/styleMock.ts', '^lodash-es$': 'lodash', '^.+\\.svg$': '/src/jest/svgTransform.ts', '^.+\\.png$': '/src/jest/grafanaMock.ts', }, setupFilesAfterEnv: ['/jest.setup.ts'], reporters: process.env.HTML_REPORT_ENABLED ? [ 'default', [ 'jest-html-reporters', { openReport: process.env.NODE_ENV !== 'production', }, ], ] : ['default'], testTimeout: 10000, testPathIgnorePatterns: ['/node_modules/', '/e2e-tests/'], transform: { '^.+\\.(t|j)sx?$': [ '@swc/jest', { sourceMaps: 'inline', jsc: { parser: { syntax: 'typescript', tsx: true, decorators: true, dynamicImport: true, }, }, }, ], }, };