-
Notifications
You must be signed in to change notification settings - Fork 0
/
jest.config.js
76 lines (71 loc) · 1.71 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const { CI } = process.env
/**
* Jest config defaults
* @type {Partial<Config>}
*/
export const defaults = {
maxWorkers: '50%',
reporters: CI
? [['github-actions', { silent: false }], 'summary']
: ['default', 'summary'],
silent: true
}
/**
* Jest project config defaults
* @type {Exclude<NonNullable<Config['projects']>[0], string>}
*/
export const projectDefaults = {
extensionsToTreatAsEsm: ['.jsx', '.ts', '.tsx'],
clearMocks: true,
collectCoverageFrom: ['<rootDir>/src/**/*.{cjs,js,jsx,mjs,ts,tsx}'],
coverageDirectory: '<rootDir>/coverage',
coveragePathIgnorePatterns: [
'/node_modules/',
'<rootDir>/dist/',
'<rootDir>/test/'
],
modulePathIgnorePatterns: ['<rootDir>/coverage/', '<rootDir>/dist/'],
resetModules: true,
restoreMocks: true,
transform: {
'^.+\\.(cjs|js|jsx|mjs|ts|tsx)$': [
'babel-jest',
{
browserslistEnv: 'node',
plugins: ['transform-import-meta'],
rootMode: 'upward'
}
]
},
// Enable Babel transforms for node_modules
// See: https://jestjs.io/docs/ecmascript-modules
transformIgnorePatterns: [
`node_modules/(?!${[
'nanoid', // Supports ESM only
'slug' // Supports ESM only
].join('|')}/)`
]
}
/**
* Jest config
* @type {Config}
*/
export default {
...defaults,
displayName: '@defra/forms-designer (project)',
projects: [
'<rootDir>/designer/client',
'<rootDir>/designer/server',
'<rootDir>/model',
'<rootDir>' // Allow tests at project root
],
// But ignore tests handled by `projects` option
testPathIgnorePatterns: [
'<rootDir>/designer/client',
'<rootDir>/designer/server',
'<rootDir>/model'
]
}
/**
* @import { Config } from 'jest'
*/