jest-preset-moon
Version:
A modern Jest preset for tooling development.
55 lines (52 loc) • 1.51 kB
JavaScript
;
const fs = require('node:fs');
const path = require('node:path');
const dev = require('@moonrepo/dev');
const _interopDefault = e => e && e.__esModule ? e : {
default: e
};
const fs__default = /*#__PURE__*/_interopDefault(fs);
const path__default = /*#__PURE__*/_interopDefault(path);
const setupFilesAfterEnv = [];
const setupFilePath = path__default.default.join(dev.WORKSPACE_ROOT, 'tests/setup.ts');
// Only include the file if it exists, otherwise Jest throws an error
if (fs__default.default.existsSync(setupFilePath)) {
setupFilesAfterEnv.push(setupFilePath);
}
const config = {
collectCoverage: false,
// Enabled by consumers
collectCoverageFrom: [dev.ALL_FILES_GLOB],
coverageDirectory: './coverage',
coveragePathIgnorePatterns: [...dev.IGNORE_LIST],
coverageReporters: ['lcov', 'text-summary'],
coverageThreshold: {
global: {
branches: 80,
functions: 90,
lines: 90,
statements: 90
}
},
globals: {
__DEV__: true,
__PROD__: true,
__TEST__: true
},
moduleFileExtensions: [...dev.EXTENSIONS_WITHOUT_DOT, 'json', 'node'],
moduleNameMapper: {
[dev.NON_JS_REGEX]: require.resolve('./fileMock.js')
},
setupFilesAfterEnv,
testEnvironment: 'node',
testMatch: [dev.TEST_FILES_GLOB],
testRunner: 'jest-circus/runner',
transform: {
// Support all the new file extensions
[dev.ALL_JS_REGEX]: ['babel-jest', {
rootMode: 'upward'
}]
}
};
module.exports = config;
//# sourceMappingURL=index.js.map