diff --git a/config/helpers/is_eslint.js b/config/helpers/is_eslint.js new file mode 100644 index 0000000000000000000000000000000000000000..5dfb7e533e4d71ac412504126dded7b5e7d947d9 --- /dev/null +++ b/config/helpers/is_eslint.js @@ -0,0 +1,18 @@ +/** + * Returns true if the given module is required from eslint + */ +const isESLint = mod => { + let parent = mod.parent; + + while (parent) { + if (parent.filename.includes('/eslint')) { + return true; + } + + parent = parent.parent; + } + + return false; +}; + +module.exports = isESLint; diff --git a/jest.config.base.js b/jest.config.base.js index 15fa30752ed5a11aca4e94a7d14d7d74b8d78043..1a1fd4e7b620b4289a0541bef279a197872147ec 100644 --- a/jest.config.base.js +++ b/jest.config.base.js @@ -1,4 +1,5 @@ const IS_EE = require('./config/helpers/is_ee_env'); +const isESLint = require('./config/helpers/is_eslint'); module.exports = path => { const reporters = ['default']; @@ -24,9 +25,7 @@ module.exports = path => { // 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) { + if (isESLint(module)) { testMatch = testMatch.map(path => path.replace('_spec.js', '')); }