const hook = require('node-hook'); const jsdom = require('jsdom'); const register = require('babel-register'); const requireHacker = require('require-hacker'); hook.hook('.png', () => ''); hook.hook('.eot', () => ''); hook.hook('.woff', () => ''); hook.hook('.woff2', () => ''); hook.hook('.ttf', () => ''); hook.hook('.svg', () => ''); hook.hook('.css', () => ''); register({ extensions: ['.js'] }); // import ExecutionEnvironment from 'react/lib/ExecutionEnvironment'; if (!global.document || !global.window) { global.document = jsdom.jsdom(''); global.window = global.document.defaultView; global.navigator = global.window.navigator; } const fakeComponentString = ` require('react').createClass({ render() { return null; } }) `; // ensure inline svgs don't throw off testing requireHacker.global_hook('inline-svgs', (path) => { if(path.match(/!babel-loader!svg-react-loader/)) { return `module.exports = ${fakeComponentString}`; } });