-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathjest.config.js
30 lines (26 loc) · 1.01 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
const { mapValues, mapKeys } = require('lodash');
const { _moduleAliases } = require('../../package.json');
const escapeStringRegexp = require('escape-string-regexp');
const toRegex = (alias) => `^${escapeStringRegexp(alias)}/(.*)$`;
// Maps _moduleAliases in package.json to Jest's regex format that it can read
const moduleAliasesMap = mapValues(
mapKeys(_moduleAliases, (_, alias) => toRegex(alias)),
path => `<rootDir>/${path}/$1`
);
const cssFiles = '\\.(css|scss|less)$';
const staticFiles =
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|' +
'webm|wav|mp3|m4a|aac|oga)$';
module.exports = {
verbose: true,
moduleFileExtensions: ['js', 'jsx'],
rootDir: process.cwd(),
snapshotSerializers: ['enzyme-to-json/serializer'],
setupTestFrameworkScriptFile: '<rootDir>/test/support/jest.setup.js',
globalSetup: '<rootDir>/test/support/jest.globalSetup.js',
moduleNameMapper: {
...moduleAliasesMap,
[staticFiles]: '<rootDir>/__mocks__/fileMock.js',
[cssFiles]: 'identity-obj-proxy'
}
};