62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
/**
|
|
* Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*
|
|
*
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const Console = require('./Console');
|
|
const FakeTimers = require('./FakeTimers');
|
|
const NullConsole = require('./NullConsole');
|
|
|
|
const clearLine = require('./clearLine');
|
|
const fileExists = require('jest-file-exists');
|
|
const formatTestResults = require('./formatTestResults');
|
|
const installCommonGlobals = require('./installCommonGlobals');
|
|
const mkdirp = require('mkdirp');
|
|
const path = require('path');
|
|
const setGlobal = require('./setGlobal');
|
|
const validateCLIOptions = require('./validateCLIOptions');
|
|
|
|
const createDirectory = path => {
|
|
try {
|
|
mkdirp.sync(path, '777');
|
|
} catch (e) {
|
|
if (e.code !== 'EEXIST') {
|
|
throw e;
|
|
}
|
|
}
|
|
};
|
|
|
|
const getPackageRoot = () => {
|
|
const cwd = process.cwd();
|
|
|
|
// Is the cwd somewhere within an npm package?
|
|
let root = cwd;
|
|
while (!fileExists(path.join(root, 'package.json'))) {
|
|
if (root === '/' || root.match(/^[A-Z]:\\/)) {
|
|
root = cwd;
|
|
break;
|
|
}
|
|
root = path.resolve(root, '..');
|
|
}
|
|
|
|
return root;
|
|
};
|
|
|
|
module.exports = {
|
|
Console,
|
|
FakeTimers,
|
|
NullConsole,
|
|
clearLine,
|
|
createDirectory,
|
|
formatTestResults,
|
|
getPackageRoot,
|
|
installCommonGlobals,
|
|
setGlobal,
|
|
validateCLIOptions }; |