徐总多门店
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

189 lines
4.7 KiB

'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.isJSONString = exports.getTestEnvironment = exports._replaceRootDirTags = exports.replaceRootDirInPath = exports.escapeGlobCharacters = exports.resolve = exports.DOCUMENTATION_NOTE = exports.BULLET = undefined;
var _path;
function _load_path() {
return (_path = _interopRequireDefault(require('path')));
}
var _jestValidate;
function _load_jestValidate() {
return (_jestValidate = require('jest-validate'));
}
var _jestResolve;
function _load_jestResolve() {
return (_jestResolve = _interopRequireDefault(require('jest-resolve')));
}
var _chalk;
function _load_chalk() {
return (_chalk = _interopRequireDefault(require('chalk')));
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
const BULLET = (exports.BULLET = (_chalk || _load_chalk()).default.bold(
'\u25cf '
));
/**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
*/
const DOCUMENTATION_NOTE = (exports.DOCUMENTATION_NOTE = ` ${(
_chalk || _load_chalk()
).default.bold('Configuration Documentation:')}
https://jestjs.io/docs/configuration.html
`);
const createValidationError = message =>
new (_jestValidate || _load_jestValidate()).ValidationError(
`${BULLET}Validation Error`,
message,
DOCUMENTATION_NOTE
);
const resolve = (exports.resolve = (resolver, _ref) => {
let key = _ref.key,
filePath = _ref.filePath,
rootDir = _ref.rootDir,
optional = _ref.optional;
const module = (_jestResolve || _load_jestResolve()).default.findNodeModule(
replaceRootDirInPath(rootDir, filePath),
{
basedir: rootDir,
resolver: resolver
}
);
if (!module && !optional) {
throw createValidationError(` Module ${(
_chalk || _load_chalk()
).default.bold(filePath)} in the ${(_chalk || _load_chalk()).default.bold(
key
)} option was not found.
${(_chalk || _load_chalk()).default.bold(
'<rootDir>'
)} is: ${rootDir}`);
}
return module;
});
const escapeGlobCharacters = (exports.escapeGlobCharacters = path =>
path.replace(/([()*{}\[\]!?\\])/g, '\\$1'));
const replaceRootDirInPath = (exports.replaceRootDirInPath = (
rootDir,
filePath
) => {
if (!/^<rootDir>/.test(filePath)) {
return filePath;
}
return (_path || _load_path()).default.resolve(
rootDir,
(_path || _load_path()).default.normalize(
'./' + filePath.substr('<rootDir>'.length)
)
);
});
const _replaceRootDirInObject = (rootDir, config) => {
if (config !== null) {
const newConfig = {};
for (const configKey in config) {
newConfig[configKey] =
configKey === 'rootDir'
? config[configKey]
: _replaceRootDirTags(rootDir, config[configKey]);
}
return newConfig;
}
return config;
};
const _replaceRootDirTags = (exports._replaceRootDirTags = (
rootDir,
config
) => {
switch (typeof config) {
case 'object':
if (Array.isArray(config)) {
return config.map(item => _replaceRootDirTags(rootDir, item));
}
if (config instanceof RegExp) {
return config;
}
return _replaceRootDirInObject(rootDir, config);
case 'string':
return replaceRootDirInPath(rootDir, config);
}
return config;
});
/**
* Finds the test environment to use:
*
* 1. looks for jest-environment-<name> relative to project.
* 1. looks for jest-environment-<name> relative to Jest.
* 1. looks for <name> relative to project.
* 1. looks for <name> relative to Jest.
*/
const getTestEnvironment = (exports.getTestEnvironment = config => {
const env = replaceRootDirInPath(config.rootDir, config.testEnvironment);
let module = (_jestResolve || _load_jestResolve()).default.findNodeModule(
`jest-environment-${env}`,
{
basedir: config.rootDir
}
);
if (module) {
return module;
}
try {
return require.resolve(`jest-environment-${env}`);
} catch (e) {}
module = (_jestResolve || _load_jestResolve()).default.findNodeModule(env, {
basedir: config.rootDir
});
if (module) {
return module;
}
try {
return require.resolve(env);
} catch (e) {}
throw createValidationError(
` Test environment ${(_chalk || _load_chalk()).default.bold(
env
)} cannot be found. Make sure the ${(_chalk || _load_chalk()).default.bold(
'testEnvironment'
)} configuration option points to an existing node module.`
);
});
const isJSONString = (exports.isJSONString = text =>
text &&
typeof text === 'string' &&
text.startsWith('{') &&
text.endsWith('}'));