diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
commit | 9f46488805e86b1bc341ea1620b866016c2ce5ed (patch) | |
tree | f9748c7e287041e37d6da49e0a29c9511dc34768 /jest.config.js | |
parent | dfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff) | |
download | gitlab-ce-9f46488805e86b1bc341ea1620b866016c2ce5ed.tar.gz |
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'jest.config.js')
-rw-r--r-- | jest.config.js | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index e9e1a598608..00000000000 --- a/jest.config.js +++ /dev/null @@ -1,103 +0,0 @@ -const IS_EE = require('./config/helpers/is_ee_env'); - -const reporters = ['default']; - -// To have consistent date time parsing both in local and CI environments we set -// the timezone of the Node process. https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/27738 -process.env.TZ = 'GMT'; - -if (process.env.CI) { - reporters.push([ - 'jest-junit', - { - output: './junit_jest.xml', - }, - ]); -} - -let testMatch = ['<rootDir>/spec/frontend/**/*_spec.js']; -if (IS_EE) { - testMatch.push('<rootDir>/ee/spec/frontend/**/*_spec.js'); -} - -// workaround for eslint-import-resolver-jest only resolving in test files -// see https://github.com/JoinColony/eslint-import-resolver-jest#note -const { filename: parentModuleName } = module.parent; -const isESLint = parentModuleName && parentModuleName.includes('/eslint-import-resolver-jest/'); -if (isESLint) { - testMatch = testMatch.map(path => path.replace('_spec.js', '')); -} - -const moduleNameMapper = { - '^~(/.*)$': '<rootDir>/app/assets/javascripts$1', - '^ee_component(/.*)$': - '<rootDir>/app/assets/javascripts/vue_shared/components/empty_component.js', - '^ee_else_ce(/.*)$': '<rootDir>/app/assets/javascripts$1', - '^helpers(/.*)$': '<rootDir>/spec/frontend/helpers$1', - '^vendor(/.*)$': '<rootDir>/vendor/assets/javascripts$1', - '\\.(jpg|jpeg|png|svg|css)$': '<rootDir>/spec/frontend/__mocks__/file_mock.js', - 'emojis(/.*).json': '<rootDir>/fixtures/emojis$1.json', - '^spec/test_constants$': '<rootDir>/spec/frontend/helpers/test_constants', - '^jest/(.*)$': '<rootDir>/spec/frontend/$1', -}; - -const collectCoverageFrom = ['<rootDir>/app/assets/javascripts/**/*.{js,vue}']; - -if (IS_EE) { - const rootDirEE = '<rootDir>/ee/app/assets/javascripts$1'; - Object.assign(moduleNameMapper, { - '^ee(/.*)$': rootDirEE, - '^ee_component(/.*)$': rootDirEE, - '^ee_else_ce(/.*)$': rootDirEE, - '^ee_jest/(.*)$': '<rootDir>/ee/spec/frontend/$1', - }); - - collectCoverageFrom.push(rootDirEE.replace('$1', '/**/*.{js,vue}')); -} - -const coverageDirectory = () => { - if (process.env.CI_NODE_INDEX && process.env.CI_NODE_TOTAL) { - return `<rootDir>/coverage-frontend/jest-${process.env.CI_NODE_INDEX}-${process.env.CI_NODE_TOTAL}`; - } - - return '<rootDir>/coverage-frontend/'; -}; - -// eslint-disable-next-line import/no-commonjs -module.exports = { - clearMocks: true, - testMatch, - moduleFileExtensions: ['js', 'json', 'vue'], - moduleNameMapper, - collectCoverageFrom, - coverageDirectory: coverageDirectory(), - coverageReporters: ['json', 'lcov', 'text-summary', 'clover'], - cacheDirectory: '<rootDir>/tmp/cache/jest', - modulePathIgnorePatterns: ['<rootDir>/.yarn-cache/'], - reporters, - setupFilesAfterEnv: ['<rootDir>/spec/frontend/test_setup.js', 'jest-canvas-mock'], - restoreMocks: true, - transform: { - '^.+\\.(gql|graphql)$': 'jest-transform-graphql', - '^.+\\.js$': 'babel-jest', - '^.+\\.vue$': 'vue-jest', - }, - transformIgnorePatterns: ['node_modules/(?!(@gitlab/ui|bootstrap-vue|three|monaco-editor)/)'], - timers: 'fake', - testEnvironment: '<rootDir>/spec/frontend/environment.js', - testEnvironmentOptions: { - IS_EE, - }, -}; - -const karmaTestFile = process.argv.find(arg => arg.includes('spec/javascripts/')); -if (karmaTestFile) { - console.error(` -Files in spec/javascripts/ and ee/spec/javascripts need to be run with Karma. -Please use the following command instead: - -yarn karma -f ${karmaTestFile} - -`); - process.exit(1); -} |