UNPKG

@interaktiv/dia-scripts

Version:

CLI toolbox with common scripts for most sort of projects at DIA

73 lines (60 loc) 2.04 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); const path = require('path'); const { fromRoot, hasFile, hasPkgProp, ifAnyDep, ifCI, isSfdxProject } = require('../utils'); const here = p => path.join(__dirname, p); function getNonLwcConfig() { const useBuiltInBabelConfig = hasFile('.babelrc') === false && hasPkgProp('babel') === false; const ignores = ['/node_modules/', '/fixtures/', '/__tests__/helpers/', '__mocks__', '__tmp__']; const reporters = ['default', ifCI(['jest-junit', { outputDirectory: fromRoot('test-reports'), ancestorSeparator: ' › ' }], null)].filter(Boolean); const jestConfig = { roots: [fromRoot('src')], testEnvironment: ifAnyDep(['webpack', 'rollup', 'react'], 'jsdom', 'node'), testURL: 'http://localhost', moduleFileExtensions: ['js', 'jsx', 'json', 'ts', 'tsx'], collectCoverageFrom: ['src/**/*.+(js|jsx|ts|tsx)'], testPathIgnorePatterns: [...ignores], coveragePathIgnorePatterns: [...ignores, 'src/(umd|cjs|esm)-entry.js$'], transformIgnorePatterns: ['[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$'], coverageThreshold: { global: { branches: 75, functions: 75, lines: 75, statements: 75 } }, reporters: [...reporters], watchPlugins: [require.resolve('jest-watch-typeahead/filename'), require.resolve('jest-watch-typeahead/testname')] }; if (hasFile('tests/setup-env.js')) { jestConfig.setupFilesAfterEnv = [fromRoot('tests/setup-env.js')]; } if (useBuiltInBabelConfig) { jestConfig.transform = { '^.+\\.js$': here('./babel-transform') }; } return jestConfig; } let jestConfig; if (isSfdxProject()) { const { jestConfig: lwcJestConfig } = require('@salesforce/lwc-jest/config'); jestConfig = (0, _extends2.default)({}, lwcJestConfig); } else { jestConfig = getNonLwcConfig(); } module.exports = jestConfig;