const transformNodeModules = ['@elastic/eui', 'uuid']; module.exports = { roots: ["/src"], collectCoverageFrom: ["src/**/*.{js,jsx,ts,tsx}", "!src/**/*.d.ts"], setupFiles: ["react-app-polyfill/jsdom"], setupFilesAfterEnv: ["/src/setupTests.ts"], testMatch: [ "/src/**/__tests__/**/*.{js,jsx,ts,tsx}", "/src/**/*.{spec,test}.{js,jsx,ts,tsx}", ], testEnvironment: "jsdom", transform: { "^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "/config/jest/babelTransform.js", "^.+\\.css$": "/config/jest/cssTransform.js", "^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "/config/jest/fileTransform.js", }, transformIgnorePatterns: [ `[/\\\\]node_modules[/\\\\](?!(${transformNodeModules.map(name => name.replaceAll('/', '[/\\\\]')).join('|')})[/\\\\])`, "^.+\\.module\\.(css|sass|scss)$", ], modulePaths: [], moduleNameMapper: { "^react-native$": "react-native-web", "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy", "chroma-js": "/node_modules/chroma-js/dist/chroma.min.cjs", }, moduleFileExtensions: [ "web.js", "js", "web.ts", "ts", "web.tsx", "tsx", "json", "web.jsx", "jsx", "node", ], watchPlugins: [ "jest-watch-typeahead/filename", "jest-watch-typeahead/testname", ], resetMocks: true, };