67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
|
#!/usr/bin/env node
|
||
|
|
||
|
// 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('react-scripts/config/env');
|
||
|
|
||
|
const jest = require('jest');
|
||
|
const argv = process.argv.slice(2);
|
||
|
|
||
|
// This is not necessary after eject because we embed config into package.json.
|
||
|
const createJestConfig = require('react-scripts/scripts/utils/createJestConfig');
|
||
|
const path = require('path');
|
||
|
const paths = require('react-scripts/config/paths');
|
||
|
|
||
|
const config = createJestConfig(
|
||
|
relativePath =>
|
||
|
path.resolve(
|
||
|
__dirname,
|
||
|
'../../../node_modules/react-scripts',
|
||
|
relativePath
|
||
|
),
|
||
|
path.resolve(__dirname, '../../../'),
|
||
|
false
|
||
|
);
|
||
|
|
||
|
// patch
|
||
|
config.testEnvironment = 'node';
|
||
|
config.transform = Object.assign(
|
||
|
{},
|
||
|
{
|
||
|
'\\.(gql|graphql)$': 'jest-transform-graphql'
|
||
|
},
|
||
|
config.transform
|
||
|
);
|
||
|
config.testMatch = [
|
||
|
'<rootDir>/packages/joyent-boilerplate/src/**/**/__tests__/**/*.js',
|
||
|
'<rootDir>/packages/joyent-boilerplate/src/**/**/**/?(*.)(spec|test).js'
|
||
|
];
|
||
|
config.moduleNameMapper = Object.assign({}, config.moduleNameMapper, {
|
||
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||
|
'<rootDir>/packages/joyent-boilerplate/test/file-mock.js',
|
||
|
'^@root/(.*)$': '<rootDir>/packages/joyent-boilerplate/src/$1',
|
||
|
'^@mocks/(.*)$': '<rootDir>/packages/joyent-boilerplate/test/mocks$1',
|
||
|
'^@components/(.*)$':
|
||
|
'<rootDir>/packages/joyent-boilerplate/src/components/$1',
|
||
|
'^@containers/(.*)$':
|
||
|
'<rootDir>/packages/joyent-boilerplate/src/containers/$1',
|
||
|
'^@graphql/(.*)$': '<rootDir>/packages/joyent-boilerplate/src/graphql/$1',
|
||
|
'^@assets/(.*)$': '<rootDir>/packages/joyent-boilerplate/src/assets/$1',
|
||
|
'^@state/(.*)$': '<rootDir>/packages/joyent-boilerplate/src/state/$1'
|
||
|
});
|
||
|
|
||
|
argv.push('--config', JSON.stringify(config));
|
||
|
|
||
|
jest.run(argv);
|