49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
|
import type { Config } from '@jest/types';
|
||
|
|
||
|
const config: Config.InitialOptions = {
|
||
|
clearMocks: true,
|
||
|
coverageDirectory: 'coverage',
|
||
|
coverageReporters: ['text', 'cobertura', 'html', 'json-summary'],
|
||
|
collectCoverageFrom: ['src/**/*.{ts,tsx}'],
|
||
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
|
||
|
modulePathIgnorePatterns: ['dist'],
|
||
|
moduleNameMapper: {
|
||
|
'\\.(css|less|scss)$': '<rootDir>/__mocks__/cssMock.ts',
|
||
|
'\\.md$': '<rootDir>/__mocks__/cssMock.ts',
|
||
|
},
|
||
|
globals: {
|
||
|
extensionsToTreatAsEsm: ['.ts'],
|
||
|
'ts-jest': {
|
||
|
useESM: true,
|
||
|
},
|
||
|
},
|
||
|
testMatch: ['<rootDir>/src/**/*?(*.)(test).(ts|js)?(x)'],
|
||
|
preset: 'ts-jest/presets/js-with-ts-esm',
|
||
|
transform: {
|
||
|
'^.+\\.(ts|tsx)?$': 'ts-jest',
|
||
|
'^.+\\.(js|jsx)$': 'babel-jest',
|
||
|
},
|
||
|
transformIgnorePatterns: [
|
||
|
'node_modules/(?!(lodash-es|react-dnd|core-dnd|@react-dnd|dnd-core|react-dnd-html5-backend|axios|@signozhq/design-tokens|d3-interpolate|d3-color)/)',
|
||
|
],
|
||
|
setupFilesAfterEnv: ['<rootDir>jest.setup.ts'],
|
||
|
testPathIgnorePatterns: ['/node_modules/', '/public/'],
|
||
|
moduleDirectories: ['node_modules', 'src'],
|
||
|
testEnvironment: 'jest-environment-jsdom',
|
||
|
testEnvironmentOptions: {
|
||
|
'jest-playwright': {
|
||
|
browsers: ['chromium', 'firefox', 'webkit'],
|
||
|
},
|
||
|
},
|
||
|
coverageThreshold: {
|
||
|
global: {
|
||
|
statements: 80,
|
||
|
branches: 65,
|
||
|
functions: 80,
|
||
|
lines: 80,
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
|
||
|
export default config;
|