import { Config } from "@jest/types"; export type JestConfigOptions = Partial; export function createJestConfig( _: (relativePath: string) => void, rootDir: string ): JestConfigOptions { const config: JestConfigOptions = { transform: { ".(ts|tsx)$": require.resolve("ts-jest/dist"), ".(js|jsx)$": require.resolve("babel-jest"), // jest's default }, transformIgnorePatterns: ["[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"], moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], collectCoverageFrom: ["src/**/*.{ts,tsx,js,jsx}"], testMatch: ["/**/*.(spec|test).{ts,tsx,js,jsx}"], testURL: "http://localhost", rootDir, watchPlugins: [ require.resolve("jest-watch-typeahead/filename"), require.resolve("jest-watch-typeahead/testname"), ], }; return config; }