190 lines
7.7 KiB
JavaScript
190 lines
7.7 KiB
JavaScript
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.normalize = exports.isJSONString = exports.getTestEnvironment = undefined;var _utils;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _load_utils() {return _utils = require('./utils');}Object.defineProperty(exports, 'getTestEnvironment', { enumerable: true, get: function () {return (_utils || _load_utils()).
|
|
|
|
|
|
|
|
|
|
getTestEnvironment;} });Object.defineProperty(exports, 'isJSONString', { enumerable: true, get: function () {return (_utils || _load_utils()).isJSONString;} });var _normalize2;function _load_normalize() {return _normalize2 = require('./normalize');}Object.defineProperty(exports, 'normalize', { enumerable: true, get: function () {return _interopRequireDefault(_normalize2 || _load_normalize()).
|
|
default;} });exports.
|
|
|
|
readConfig = readConfig;var _path;function _load_path() {return _path = _interopRequireDefault(require('path'));}var _normalize3;function _load_normalize2() {return _normalize3 = _interopRequireDefault(require('./normalize'));}var _resolve_config_path;function _load_resolve_config_path() {return _resolve_config_path = _interopRequireDefault(require('./resolve_config_path'));}var _read_config_file_and_set_root_dir;function _load_read_config_file_and_set_root_dir() {return _read_config_file_and_set_root_dir = _interopRequireDefault(require('./read_config_file_and_set_root_dir'));}function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function readConfig(
|
|
argv,
|
|
packageRootOrConfig,
|
|
// Whether it needs to look into `--config` arg passed to CLI.
|
|
// It only used to read initial config. If the initial config contains
|
|
// `project` property, we don't want to read `--config` value and rather
|
|
|
|
skipArgvConfigOption,
|
|
parentConfigPath)
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
let rawOptions;
|
|
let configPath = null;
|
|
|
|
if (typeof packageRootOrConfig !== 'string') {
|
|
if (parentConfigPath) {
|
|
rawOptions = packageRootOrConfig;
|
|
rawOptions.rootDir = (_path || _load_path()).default.dirname(parentConfigPath);
|
|
} else {
|
|
throw new Error(
|
|
'Jest: Cannot use configuration as an object without a file path.');
|
|
|
|
}
|
|
} else if ((0, (_utils || _load_utils()).isJSONString)(argv.config)) {
|
|
// A JSON string was passed to `--config` argument and we can parse it
|
|
// and use as is.
|
|
let config;
|
|
try {
|
|
config = JSON.parse(argv.config);
|
|
} catch (e) {
|
|
throw new Error(
|
|
'There was an error while parsing the `--config` argument as a JSON string.');
|
|
|
|
}
|
|
|
|
// NOTE: we might need to resolve this dir to an absolute path in the future
|
|
config.rootDir = config.rootDir || packageRootOrConfig;
|
|
rawOptions = config;
|
|
// A string passed to `--config`, which is either a direct path to the config
|
|
// or a path to directory containing `package.json` or `jest.conf.js`
|
|
} else if (!skipArgvConfigOption && typeof argv.config == 'string') {
|
|
configPath = (0, (_resolve_config_path || _load_resolve_config_path()).default)(argv.config, process.cwd());
|
|
rawOptions = (0, (_read_config_file_and_set_root_dir || _load_read_config_file_and_set_root_dir()).default)(configPath);
|
|
} else {
|
|
// Otherwise just try to find config in the current rootDir.
|
|
configPath = (0, (_resolve_config_path || _load_resolve_config_path()).default)(packageRootOrConfig, process.cwd());
|
|
rawOptions = (0, (_read_config_file_and_set_root_dir || _load_read_config_file_and_set_root_dir()).default)(configPath);
|
|
}var _normalize =
|
|
|
|
(0, (_normalize3 || _load_normalize2()).default)(rawOptions, argv);const options = _normalize.options,hasDeprecationWarnings = _normalize.hasDeprecationWarnings;var _getConfigs =
|
|
getConfigs(options);const globalConfig = _getConfigs.globalConfig,projectConfig = _getConfigs.projectConfig;
|
|
return {
|
|
configPath,
|
|
globalConfig,
|
|
hasDeprecationWarnings,
|
|
projectConfig };
|
|
|
|
}
|
|
|
|
const getConfigs =
|
|
options =>
|
|
{
|
|
return {
|
|
globalConfig: Object.freeze({
|
|
bail: options.bail,
|
|
changedFilesWithAncestor: options.changedFilesWithAncestor,
|
|
changedSince: options.changedSince,
|
|
collectCoverage: options.collectCoverage,
|
|
collectCoverageFrom: options.collectCoverageFrom,
|
|
collectCoverageOnlyFrom: options.collectCoverageOnlyFrom,
|
|
coverageDirectory: options.coverageDirectory,
|
|
coverageReporters: options.coverageReporters,
|
|
coverageThreshold: options.coverageThreshold,
|
|
detectLeaks: options.detectLeaks,
|
|
enabledTestsMap: options.enabledTestsMap,
|
|
expand: options.expand,
|
|
findRelatedTests: options.findRelatedTests,
|
|
forceExit: options.forceExit,
|
|
globalSetup: options.globalSetup,
|
|
globalTeardown: options.globalTeardown,
|
|
json: options.json,
|
|
lastCommit: options.lastCommit,
|
|
listTests: options.listTests,
|
|
logHeapUsage: options.logHeapUsage,
|
|
mapCoverage: options.mapCoverage,
|
|
maxWorkers: options.maxWorkers,
|
|
noSCM: undefined,
|
|
noStackTrace: options.noStackTrace,
|
|
nonFlagArgs: options.nonFlagArgs,
|
|
notify: options.notify,
|
|
notifyMode: options.notifyMode,
|
|
onlyChanged: options.onlyChanged,
|
|
onlyFailures: options.onlyFailures,
|
|
outputFile: options.outputFile,
|
|
passWithNoTests: options.passWithNoTests,
|
|
projects: options.projects,
|
|
replname: options.replname,
|
|
reporters: options.reporters,
|
|
rootDir: options.rootDir,
|
|
runTestsByPath: options.runTestsByPath,
|
|
silent: options.silent,
|
|
testFailureExitCode: options.testFailureExitCode,
|
|
testNamePattern: options.testNamePattern,
|
|
testPathPattern: options.testPathPattern,
|
|
testResultsProcessor: options.testResultsProcessor,
|
|
updateSnapshot: options.updateSnapshot,
|
|
useStderr: options.useStderr,
|
|
verbose: options.verbose,
|
|
watch: options.watch,
|
|
watchAll: options.watchAll,
|
|
watchPlugins: options.watchPlugins,
|
|
watchman: options.watchman }),
|
|
|
|
projectConfig: Object.freeze({
|
|
automock: options.automock,
|
|
browser: options.browser,
|
|
cache: options.cache,
|
|
cacheDirectory: options.cacheDirectory,
|
|
clearMocks: options.clearMocks,
|
|
coveragePathIgnorePatterns: options.coveragePathIgnorePatterns,
|
|
cwd: options.cwd,
|
|
detectLeaks: options.detectLeaks,
|
|
displayName: options.displayName,
|
|
forceCoverageMatch: options.forceCoverageMatch,
|
|
globals: options.globals,
|
|
haste: options.haste,
|
|
moduleDirectories: options.moduleDirectories,
|
|
moduleFileExtensions: options.moduleFileExtensions,
|
|
moduleLoader: options.moduleLoader,
|
|
moduleNameMapper: options.moduleNameMapper,
|
|
modulePathIgnorePatterns: options.modulePathIgnorePatterns,
|
|
modulePaths: options.modulePaths,
|
|
name: options.name,
|
|
resetMocks: options.resetMocks,
|
|
resetModules: options.resetModules,
|
|
resolver: options.resolver,
|
|
restoreMocks: options.restoreMocks,
|
|
rootDir: options.rootDir,
|
|
roots: options.roots,
|
|
runner: options.runner,
|
|
setupFiles: options.setupFiles,
|
|
setupTestFrameworkScriptFile: options.setupTestFrameworkScriptFile,
|
|
skipNodeResolution: options.skipNodeResolution,
|
|
snapshotSerializers: options.snapshotSerializers,
|
|
testEnvironment: options.testEnvironment,
|
|
testEnvironmentOptions: options.testEnvironmentOptions,
|
|
testLocationInResults: options.testLocationInResults,
|
|
testMatch: options.testMatch,
|
|
testPathIgnorePatterns: options.testPathIgnorePatterns,
|
|
testRegex: options.testRegex,
|
|
testRunner: options.testRunner,
|
|
testURL: options.testURL,
|
|
timers: options.timers,
|
|
transform: options.transform,
|
|
transformIgnorePatterns: options.transformIgnorePatterns,
|
|
unmockedModulePathPatterns: options.unmockedModulePathPatterns,
|
|
watchPathIgnorePatterns: options.watchPathIgnorePatterns }) };
|
|
|
|
|
|
}; |