diff --git a/backend/jest.config.js b/backend/jest.config.js index 45062664..5bdd622f 100644 --- a/backend/jest.config.js +++ b/backend/jest.config.js @@ -5,23 +5,29 @@ const name = require('./package.json').name; module.exports = { name, displayName: name, + rootDir: '..', preset: 'ts-jest', testEnvironment: 'node', - roots: ['/src'], + roots: [`/${name}/src`], transformIgnorePatterns: [ - '/node_modules/', - '/src/__gen/', - '/src/common/', + `/${name}/node_modules/`, + `/${name}/src/__gen/`, + `/${name}/src/common/`, ], collectCoverageFrom: [ - 'src/**/*.ts', - '!src/**/*.d.ts', - '!src/__gen/**', - '!src/common/**', + `${name}/src/**/*.ts`, + `!${name}/src/**/*.d.ts`, + `!${name}/src/__gen/**`, + `!${name}/src/common/**`, ], testMatch: [ - '/src/**/__tests__/**/*.ts', - '/src/**/*.spec.ts', + `/${name}/src/**/__tests__/**/*.ts`, + `/${name}/src/**/*.spec.ts`, ], moduleFileExtensions: ['ts', 'js', 'json', 'node'], + globals: { + 'ts-jest': { + tsconfig: `/${name}/tsconfig.json`, + }, + }, }; diff --git a/common/jest.config.js b/common/jest.config.js index adb594bf..ca8f2523 100644 --- a/common/jest.config.js +++ b/common/jest.config.js @@ -5,14 +5,20 @@ const name = require('./package.json').name; module.exports = { name, displayName: name, + rootDir: '..', preset: 'ts-jest', testEnvironment: 'node', - roots: ['/src'], - transformIgnorePatterns: ['/node_modules/'], - collectCoverageFrom: ['src/**/*.ts', '!src/**/*.d.ts'], + roots: [`/${name}/src`], + transformIgnorePatterns: [`/${name}/node_modules/`], + collectCoverageFrom: [`${name}/src/**/*.ts`, `!${name}/src/**/*.d.ts`], testMatch: [ - '/src/**/__tests__/**/*.ts', - '/src/**/*.spec.ts', + `/${name}/src/**/__tests__/**/*.ts`, + `/${name}/src/**/*.spec.ts`, ], moduleFileExtensions: ['ts', 'js', 'json', 'node'], + globals: { + 'ts-jest': { + tsconfig: `/${name}/tsconfig.json`, + }, + }, }; diff --git a/frontend/jest.config.js b/frontend/jest.config.js index 8a346ae2..a8c6b082 100644 --- a/frontend/jest.config.js +++ b/frontend/jest.config.js @@ -5,20 +5,23 @@ const name = require('./package.json').name; module.exports = { name, displayName: name, - roots: ['/src'], - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!src/**/*.d.ts'], + rootDir: '..', + roots: [`/${name}/src`], + collectCoverageFrom: [ + `${name}/src/**/*.{js,jsx,ts,tsx}`, + `!${name}/src/**/*.d.ts`, + ], setupFiles: ['react-app-polyfill/jsdom'], - setupFilesAfterEnv: ['/src/setupTests.ts'], + setupFilesAfterEnv: [`/${name}/src/setupTests.ts`], testMatch: [ - '/src/**/__tests__/**/*.{js,jsx,ts,tsx}', - '/src/**/*.{spec,test}.{js,jsx,ts,tsx}', + `/${name}/src/**/__tests__/**/*.{js,jsx,ts,tsx}`, + `/${name}/src/**/*.{spec,test}.{js,jsx,ts,tsx}`, ], testEnvironment: 'jest-environment-jsdom-fourteen', transform: { '^.+\\.(js|jsx|ts|tsx)$': ['babel-jest', { cwd: __dirname }], - '^.+\\.css$': '/config/jest/cssTransform.js', - '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': - '/config/jest/fileTransform.js', + '^.+\\.css$': `/${name}/config/jest/cssTransform.js`, + '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': `/${name}/config/jest/fileTransform.js`, }, transformIgnorePatterns: [ '[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$', diff --git a/jest.config.js b/jest.config.js index 654ff3d9..85d0a249 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,6 +1,9 @@ const packageNames = require('./package.json').workspaces; const packageConfigFiles = packageNames.map(name => `/${name}/jest.config.js`); +const getPackageCoveragePaths = name => require(`./${name}/jest.config.js`).collectCoverageFrom; +const coveragePaths = packageNames.map(getPackageCoveragePaths).flat(); module.exports = { - projects: [...packageConfigFiles] + projects: [...packageConfigFiles], + collectCoverageFrom: [...coveragePaths] };