creevey
Version:
Cross-browser screenshot testing tool for Storybook with fancy UI Runner
41 lines (30 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.startWebpackCompiler = startWebpackCompiler;
var _cluster = _interopRequireDefault(require("cluster"));
var _types = require("../../../types");
var _messages = require("../../messages");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function startWebpackCompiler() {
return new Promise((resolve, reject) => {
_cluster.default.setupMaster({
args: ['--webpack', ...process.argv.slice(2)]
});
const webpackCompiler = _cluster.default.fork();
webpackCompiler.on('message', message => {
if (!(0, _types.isWebpackMessage)(message)) return;
Object.values(_cluster.default.workers).filter(worker => worker != webpackCompiler).forEach(worker => worker === null || worker === void 0 ? void 0 : worker.send(message));
switch (message.type) {
case 'success':
return resolve();
case 'fail':
return reject();
case 'rebuild succeeded':
case 'rebuild failed':
return (0, _messages.emitWebpackMessage)(message);
}
});
});
}