mirror of
https://github.com/zebrajr/react.git
synced 2025-12-07 00:20:28 +01:00
* Eject CRA from Flight We need to eject because we're going to add a custom Webpack Plugin. We can undo this once the plugin has upstreamed into CRA. * Add Webpack plugin build I call this entry point "webpack-plugin" instead of "plugin" even though this is a webpack specific package. That's because there will also be a Node.js plugin to do the server transform. * Add Flight Webpack plugin to fixture * Rm UMD builds * Transform classes * Rename webpack-plugin to plugin This avoids the double webpack name. We're going to reuse this for both server and client.
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
// Do this as the first thing so that any code reading it knows the right env.
|
|
process.env.BABEL_ENV = 'test';
|
|
process.env.NODE_ENV = 'test';
|
|
process.env.PUBLIC_URL = '';
|
|
|
|
// Makes the script crash on unhandled rejections instead of silently
|
|
// ignoring them. In the future, promise rejections that are not handled will
|
|
// terminate the Node.js process with a non-zero exit code.
|
|
process.on('unhandledRejection', err => {
|
|
throw err;
|
|
});
|
|
|
|
// Ensure environment variables are read.
|
|
require('../config/env');
|
|
|
|
const jest = require('jest');
|
|
const execSync = require('child_process').execSync;
|
|
let argv = process.argv.slice(2);
|
|
|
|
function isInGitRepository() {
|
|
try {
|
|
execSync('git rev-parse --is-inside-work-tree', {stdio: 'ignore'});
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function isInMercurialRepository() {
|
|
try {
|
|
execSync('hg --cwd . root', {stdio: 'ignore'});
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
// Watch unless on CI or explicitly running all tests
|
|
if (
|
|
!process.env.CI &&
|
|
argv.indexOf('--watchAll') === -1 &&
|
|
argv.indexOf('--watchAll=false') === -1
|
|
) {
|
|
// https://github.com/facebook/create-react-app/issues/5210
|
|
const hasSourceControl = isInGitRepository() || isInMercurialRepository();
|
|
argv.push(hasSourceControl ? '--watch' : '--watchAll');
|
|
}
|
|
|
|
jest.run(argv);
|