183 lines
4.2 KiB
JavaScript
183 lines
4.2 KiB
JavaScript
|
|
'use strict';
|
||
|
|
|
||
|
|
Object.defineProperty(exports, '__esModule', {
|
||
|
|
value: true
|
||
|
|
});
|
||
|
|
exports.run = run;
|
||
|
|
|
||
|
|
var _chalk;
|
||
|
|
|
||
|
|
function _load_chalk() {
|
||
|
|
return (_chalk = _interopRequireDefault(require('chalk')));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _os;
|
||
|
|
|
||
|
|
function _load_os() {
|
||
|
|
return (_os = _interopRequireDefault(require('os')));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _path;
|
||
|
|
|
||
|
|
function _load_path() {
|
||
|
|
return (_path = _interopRequireDefault(require('path')));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _yargs;
|
||
|
|
|
||
|
|
function _load_yargs() {
|
||
|
|
return (_yargs = _interopRequireDefault(require('yargs')));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _jestUtil;
|
||
|
|
|
||
|
|
function _load_jestUtil() {
|
||
|
|
return (_jestUtil = require('jest-util'));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _jestValidate;
|
||
|
|
|
||
|
|
function _load_jestValidate() {
|
||
|
|
return (_jestValidate = require('jest-validate'));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _jestConfig;
|
||
|
|
|
||
|
|
function _load_jestConfig() {
|
||
|
|
return (_jestConfig = require('jest-config'));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _;
|
||
|
|
|
||
|
|
function _load_() {
|
||
|
|
return (_ = _interopRequireDefault(require('../')));
|
||
|
|
}
|
||
|
|
|
||
|
|
var _args;
|
||
|
|
|
||
|
|
function _load_args() {
|
||
|
|
return (_args = _interopRequireWildcard(require('./args')));
|
||
|
|
}
|
||
|
|
|
||
|
|
function _interopRequireWildcard(obj) {
|
||
|
|
if (obj && obj.__esModule) {
|
||
|
|
return obj;
|
||
|
|
} else {
|
||
|
|
var newObj = {};
|
||
|
|
if (obj != null) {
|
||
|
|
for (var key in obj) {
|
||
|
|
if (Object.prototype.hasOwnProperty.call(obj, key))
|
||
|
|
newObj[key] = obj[key];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
newObj.default = obj;
|
||
|
|
return newObj;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function _interopRequireDefault(obj) {
|
||
|
|
return obj && obj.__esModule ? obj : {default: obj};
|
||
|
|
}
|
||
|
|
|
||
|
|
// eslint-disable-next-line import/default
|
||
|
|
const VERSION = require('../../package.json').version;
|
||
|
|
/**
|
||
|
|
* 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.
|
||
|
|
*
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
|
||
|
|
function run(cliArgv, cliInfo) {
|
||
|
|
const realFs = require('fs');
|
||
|
|
const fs = require('graceful-fs');
|
||
|
|
fs.gracefulify(realFs);
|
||
|
|
|
||
|
|
let argv;
|
||
|
|
if (cliArgv) {
|
||
|
|
argv = cliArgv;
|
||
|
|
} else {
|
||
|
|
argv = (_yargs || _load_yargs()).default
|
||
|
|
.usage((_args || _load_args()).usage)
|
||
|
|
.help(false)
|
||
|
|
.version(false)
|
||
|
|
.options((_args || _load_args()).options).argv;
|
||
|
|
|
||
|
|
(0, (_jestValidate || _load_jestValidate()).validateCLIOptions)(
|
||
|
|
argv,
|
||
|
|
Object.assign({}, (_args || _load_args()).options, {
|
||
|
|
deprecationEntries: (_jestConfig || _load_jestConfig())
|
||
|
|
.deprecationEntries
|
||
|
|
})
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (argv.help) {
|
||
|
|
(_yargs || _load_yargs()).default.showHelp();
|
||
|
|
process.on('exit', () => (process.exitCode = 1));
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (argv.version) {
|
||
|
|
console.log(`v${VERSION}\n`);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!argv._.length) {
|
||
|
|
console.log('Please provide a path to a script. (See --help for details)');
|
||
|
|
process.on('exit', () => (process.exitCode = 1));
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
const root = process.cwd();
|
||
|
|
const filePath = (_path || _load_path()).default.resolve(root, argv._[0]);
|
||
|
|
|
||
|
|
if (argv.debug) {
|
||
|
|
const info = cliInfo ? ', ' + cliInfo.join(', ') : '';
|
||
|
|
console.log(`Using Jest Runtime v${VERSION}${info}`);
|
||
|
|
}
|
||
|
|
const options = (0, (_jestConfig || _load_jestConfig()).readConfig)(
|
||
|
|
argv,
|
||
|
|
root
|
||
|
|
);
|
||
|
|
const globalConfig = options.globalConfig;
|
||
|
|
// Always disable automocking in scripts.
|
||
|
|
const config = Object.assign({}, options.projectConfig, {
|
||
|
|
automock: false,
|
||
|
|
unmockedModulePathPatterns: null
|
||
|
|
});
|
||
|
|
(_ || _load_()).default
|
||
|
|
.createContext(config, {
|
||
|
|
maxWorkers: (_os || _load_os()).default.cpus().length - 1,
|
||
|
|
watchman: globalConfig.watchman
|
||
|
|
})
|
||
|
|
.then(hasteMap => {
|
||
|
|
/* $FlowFixMe */
|
||
|
|
const Environment = require(config.testEnvironment);
|
||
|
|
const environment = new Environment(config);
|
||
|
|
(0, (_jestUtil || _load_jestUtil()).setGlobal)(
|
||
|
|
environment.global,
|
||
|
|
'console',
|
||
|
|
new (_jestUtil || _load_jestUtil()).Console(
|
||
|
|
process.stdout,
|
||
|
|
process.stderr
|
||
|
|
)
|
||
|
|
);
|
||
|
|
environment.global.jestProjectConfig = config;
|
||
|
|
environment.global.jestGlobalConfig = globalConfig;
|
||
|
|
|
||
|
|
const runtime = new (_ || _load_()).default(
|
||
|
|
config,
|
||
|
|
environment,
|
||
|
|
hasteMap.resolver
|
||
|
|
);
|
||
|
|
runtime.requireModule(filePath);
|
||
|
|
})
|
||
|
|
.catch(e => {
|
||
|
|
console.error((_chalk || _load_chalk()).default.red(e.stack || e));
|
||
|
|
process.on('exit', () => (process.exitCode = 1));
|
||
|
|
});
|
||
|
|
}
|