gitlab-org--gitlab-foss/jest.config.js

50 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-03-28 17:13:20 +00:00
const fs = require('fs');
const path = require('path');
const ROOT_PATH = __dirname;
const IS_EE =
process.env.EE !== undefined
? JSON.parse(process.env.EE)
: fs.existsSync(path.join(ROOT_PATH, 'ee'));
2018-08-29 20:45:53 +00:00
const reporters = ['default'];
if (process.env.CI) {
reporters.push([
'jest-junit',
{
output: './junit_jest.xml',
},
]);
}
// eslint-disable-next-line import/no-commonjs
module.exports = {
testMatch: ['<rootDir>/spec/frontend/**/*_spec.js', '<rootDir>/ee/spec/frontend/**/*_spec.js'],
2018-12-10 11:08:55 +00:00
moduleFileExtensions: ['js', 'json', 'vue'],
2018-08-29 20:45:53 +00:00
moduleNameMapper: {
'^~(.*)$': '<rootDir>/app/assets/javascripts$1',
'^ee(.*)$': '<rootDir>/ee/app/assets/javascripts$1',
2018-12-10 12:21:13 +00:00
'^helpers(.*)$': '<rootDir>/spec/frontend/helpers$1',
2019-02-21 13:25:39 +00:00
'^vendor(.*)$': '<rootDir>/vendor/assets/javascripts$1',
2019-02-26 12:26:15 +00:00
'\\.(jpg|jpeg|png|svg)$': '<rootDir>/spec/frontend/__mocks__/file_mock.js',
2018-08-29 20:45:53 +00:00
},
collectCoverageFrom: ['<rootDir>/app/assets/javascripts/**/*.{js,vue}'],
coverageDirectory: '<rootDir>/coverage-frontend/',
coverageReporters: ['json', 'lcov', 'text-summary', 'clover'],
cacheDirectory: '<rootDir>/tmp/cache/jest',
modulePathIgnorePatterns: ['<rootDir>/.yarn-cache/'],
reporters,
setupFilesAfterEnv: ['<rootDir>/spec/frontend/test_setup.js'],
restoreMocks: true,
2018-12-10 11:08:55 +00:00
transform: {
2019-02-26 12:26:15 +00:00
'^.+\\.(gql|graphql)$': 'jest-transform-graphql',
2018-12-10 11:08:55 +00:00
'^.+\\.js$': 'babel-jest',
'^.+\\.vue$': 'vue-jest',
},
2019-02-20 20:27:23 +00:00
transformIgnorePatterns: ['node_modules/(?!(@gitlab/ui)/)'],
2019-03-21 17:04:33 +00:00
timers: 'fake',
testEnvironment: '<rootDir>/spec/frontend/environment.js',
2018-08-29 20:45:53 +00:00
};