-
Notifications
You must be signed in to change notification settings - Fork 0
/
jest.config.js
54 lines (50 loc) · 1.64 KB
/
jest.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const path = require('path');
const fs = require('fs');
const lernaJson = require('./lerna.json');
const getPackagesPaths = require('./build/lib/getPackagesPaths');
const packagesIgnorePatterns = lernaJson.packages.map(packagePath => (
`<rootDir>/${packagePath}/(lib|es|dist)/`
));
const coveragePatterns = lernaJson.packages.map(packagePath => (
`<rootDir>/${packagePath}/*/src/**/*.{js,jsx}`
));
const moduleNameMapper = getPackagesPaths().reduce((map, packagePath) => {
const packageJsonPath = path.join(packagePath, '/package.json');
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
return {
...map,
[packageJson.name]: `<rootDir>/${packagePath}/src/index.js`,
};
}, {});
module.exports = {
globals: {
__DEV__: true,
},
setupFiles: [
'<rootDir>/__tests__/shim.js',
'<rootDir>/__tests__/setup.js',
],
testPathIgnorePatterns: [
...packagesIgnorePatterns,
'<rootDir>/__tests__/shim.js',
'<rootDir>/__tests__/setup.js',
'<rootDir>/__tests__/storyshots.test.js',
],
modulePathIgnorePatterns: [
...packagesIgnorePatterns,
],
moduleNameMapper: {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js',
'\\.(css|less|scss)$': '<rootDir>/__mocks__/styleMock.js',
...moduleNameMapper,
},
collectCoverage: true,
collectCoverageFrom: [
...coveragePatterns,
'!**/node_modules/**',
'!**/vendor/**',
'!**/templates/**',
'!**/__tests__/**',
'!**/__stories__/**',
],
};