-
Notifications
You must be signed in to change notification settings - Fork 0
/
jest.config.js
57 lines (48 loc) · 1.78 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
55
56
57
const esModules = ['uuid'].join('|');
module.exports = {
// The root of your source code, typically /src
// `<rootDir>` is a token Jest substitutes
roots: ['./src'],
verbose: true,
extensionsToTreatAsEsm: ['.ts', '.tsx'],
globals: {
'ts-jest': {
diagnostics: {
//warnOnly: true
},
useESM: true
}
},
//required for esm support in ts-ject https://kulshekhar.github.io/ts-jest/docs/guides/esm-support/
moduleNameMapper: {
'^(\\.{1,2}/.*)\\.js$': '$1'
},
//custom jest28 resolver to fix issue with uuid
//avoids the SyntaxError: unexpeceted token 'export' with uuid package.
resolver: './src/__tests__/jest-resolver.js',
// Jest transformations -- this adds support for TypeScript using ts-jest
transform: {
'^.+\\.(tsx|ts)$': 'ts-jest',
'^.+\\.scss$': 'jest-scss-transform'
},
// https://stackoverflow.com/questions/49263429/jest-gives-an-error-syntaxerror-unexpected-token-export
// https://github.com/nrwl/nx/issues/812
// also need allowJs:true in tsconfig
//transformIgnorePatterns: [`/node_modules/(?!${esModules})`],
// Runs special logic, such as cleaning up components
// when using React Testing Library and adds special
// extended assertions to Jest
setupFilesAfterEnv: [
// '@testing-library/react/cleanup-after-each',
'@testing-library/jest-dom/extend-expect'
],
// Test spec file resolution pattern
// Matches parent folder `__tests__` and filename
// should contain `test` or `spec`.
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(tsx|ts)?$',
// Module file extensions for importing
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
preset: 'ts-jest/presets/js-with-ts-esm'
//preset: 'ts-jest/presets/js-with-ts'
//preset: 'ts-jest/presets/default-esm'
};