-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjest.config.js
45 lines (43 loc) · 1.11 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
const path = require('path');
/**
* @param {string} p
* @returns {string}
*/
const projectRoot = (p) => path.join(__dirname, p);
module.exports = {
moduleNameMapper: {
'^~/(.*)$': projectRoot('packages/client/$1'),
'^~~/(.*)$': projectRoot('$1'),
'^@/(.*)$': projectRoot('packages/server/$1'),
'^shared/(.*)$': projectRoot('packages/shared/$1'),
'^vue$': 'vue/dist/vue.common.js',
'^.+\\.(scss|css)$': 'jest-transform-stub',
},
moduleFileExtensions: ['ts', 'js', 'vue', 'json'],
transform: {
'^.+\\.ts$': 'ts-jest',
'^.+\\.js$': 'babel-jest',
'.*\\.vue$': 'vue-jest',
},
collectCoverage: true,
collectCoverageFrom: [
projectRoot('packages/client/**'),
],
setupFiles: [
'<rootDir>/packages/client/tests/jest.setup.js',
],
setupFilesAfterEnv: [
'<rootDir>/packages/client/tests/testTasks.js',
],
globals: {
'vue-jest': {
experimentalCSSCompile: true,
resources: {
scss: [
projectRoot('packages/client/assets/variables.scss'),
projectRoot('packages/client/assets/vuetify.scss'),
],
},
},
},
};