-
Notifications
You must be signed in to change notification settings - Fork 261
/
jest.config.js
57 lines (52 loc) · 2.33 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
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
setupFilesAfterEnv: ['./jest.setup.js'],
watchman: false,
// tell Jest to handle `*.vue` files
moduleFileExtensions: ['js', 'json', 'vue', 'ts'],
// Paths
// NOTE: Docs configuration does not work for our environment
// https://kulshekhar.github.io/ts-jest/docs/27.1/getting-started/paths-mapping#jest-config-with-helper
modulePaths: ['<rootDir>'],
moduleNameMapper: {
'^~/(.*)$': '<rootDir>/$1',
'^~~/(.*)$': '<rootDir>/$1',
'^@/(.*)$': '<rootDir>/$1',
'@shell/(.*)': '<rootDir>/shell/$1',
'@pkg/(.*)': '<rootDir>/pkg/$1',
'@components/(.*)': '<rootDir>/pkg/rancher-components/src/components/$1',
'\\.(jpe?g|png|gif|webp|svg|mp4|webm|ogg|mp3|wav|flac|aac|woff2?|eot|ttf|otf)$': '<rootDir>/svgTransform.js',
},
modulePathIgnorePatterns: [
'<rootDir>/cypress/',
'<rootDir>/scripts/',
'<rootDir>/docusaurus/',
'<rootDir>/stories/',
'<rootDir>/shell/scripts/',
'<rootDir>/drone',
],
testPathIgnorePatterns: [
'<rootDir>/node_modules/',
'<rootDir>(/.*)*/__tests__/utils/',
],
// Babel
transform: {
'^.+\\.js$': '<rootDir>/node_modules/babel-jest', // process js with `babel-jest`
'.*\\.(vue)$': '<rootDir>/node_modules/@vue/vue3-jest', // process `*.vue` files with `vue-jest`
'^.+\\.tsx?$': 'ts-jest', // process `*.ts` files with `ts-jest`
'^.+\\.svg$': '<rootDir>/svgTransform.js' // to mock `*.svg` files
},
snapshotSerializers: ['<rootDir>/node_modules/jest-serializer-vue'],
// Coverage
coverageDirectory: '<rootDir>/coverage/unit',
coverageReporters: ['json', 'text-summary'],
collectCoverage: false,
collectCoverageFrom: [
'<rootDir>/shell/**/*.{vue,ts,js}',
'<rootDir>/pkg/rancher-components/src/components/**/*.{vue,ts,js}',
'!<rootDir>/shell/scripts/',
],
// Globals
globals: { 'ts-jest': { isolatedModules: true } },
};