UNPKG

@lipemat/js-boilerplate

Version:

Dependencies and scripts for a no config JavaScript app

48 lines (41 loc) 1.29 kB
import {resolve} from 'path'; import type {Config} from 'jest'; import {existsSync} from 'fs'; import {getPackageConfig} from '../helpers/package-config'; import {getConfig} from '../helpers/config'; export type JestConfig = Pick<Config, 'globals' | 'moduleNameMapper' | 'roots' | 'testEnvironment' | 'testEnvironmentOptions' | 'transform' | 'transformIgnorePatterns' | 'setupFilesAfterEnv'>; const {workingDirectory, url} = getPackageConfig(); const babelConfig = getConfig( 'babel.config' ); delete babelConfig.cacheDirectory; const jestConfig: Config = { globals: { __TEST__: true, }, moduleNameMapper: { '\\.(pcss|less|css)$': 'identity-obj-proxy', 'is-plain-obj': 'identity-obj-proxy', uuid: 'identity-obj-proxy', }, roots: [ './tests', ], testEnvironment: 'jsdom', testEnvironmentOptions: { url, }, transform: { '^.+\\.[tj]sx?$': [ 'babel-jest', babelConfig ], }, transformIgnorePatterns: [ 'node_modules/(?!@lipemat)', ], setupFilesAfterEnv: [ // @todo Remove old "tests" directory in version 11. resolve( workingDirectory, 'tests/setup.js' ), resolve( workingDirectory, 'tests/setup.ts' ), // New location. resolve( workingDirectory, 'jest/setup.ts' ), ].filter( existsSync ), }; export default jestConfig; module.exports = jestConfig;