mirror of https://github.com/embarklabs/embark.git
add eventWrapper not tested
This commit is contained in:
parent
36850895cf
commit
3c0fda5a40
|
@ -16,11 +16,18 @@
|
||||||
"contractFilesChanged": "contractFilesChanged",
|
"contractFilesChanged": "contractFilesChanged",
|
||||||
"contractConfigChanged": "contractConfigChanged"
|
"contractConfigChanged": "contractConfigChanged"
|
||||||
},
|
},
|
||||||
|
"process": {
|
||||||
|
"log": "log",
|
||||||
|
"events": {
|
||||||
|
"on": "on",
|
||||||
|
"request": "request",
|
||||||
|
"response": "response"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pipeline": {
|
"pipeline": {
|
||||||
"init": "init",
|
"init": "init",
|
||||||
"build": "build",
|
"build": "build",
|
||||||
"initiated": "initiated",
|
"initiated": "initiated",
|
||||||
"built": "built",
|
"built": "built"
|
||||||
"log": "log"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ class Pipeline {
|
||||||
return next(msg.error);
|
return next(msg.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.result === constants.pipeline.log) {
|
if (msg.result === constants.process.log) {
|
||||||
if (self.logger[msg.type]) {
|
if (self.logger[msg.type]) {
|
||||||
return self.logger[msg.type](self.normalizeInput(msg.message));
|
return self.logger[msg.type](self.normalizeInput(msg.message));
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ const utils = require('../utils/utils');
|
||||||
const fs = require('../core/fs');
|
const fs = require('../core/fs');
|
||||||
const constants = require('../constants');
|
const constants = require('../constants');
|
||||||
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
||||||
const ProcessWrapper = require('../core/processWrapper');
|
const ProcessWrapper = require('../process/processWrapper');
|
||||||
|
|
||||||
let webpackProcess;
|
let webpackProcess;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
const constants = require('../constants');
|
||||||
|
|
||||||
|
class Events {
|
||||||
|
constructor() {
|
||||||
|
this.eventId = 0;
|
||||||
|
this.subscribedEvents = {};
|
||||||
|
this.listenToParentProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
listenToParentProcess() {
|
||||||
|
process.on('message', (msg) => {
|
||||||
|
if (!msg.event || msg.event !== constants.process.events.response) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!this.subscribedEvents[msg.eventId]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.subscribedEvents[msg.eventId](msg.result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
sendEvent() {
|
||||||
|
const eventType = arguments[0];
|
||||||
|
const requestName = arguments[1];
|
||||||
|
|
||||||
|
let args = [].slice.call(arguments, 2);
|
||||||
|
this.eventId++;
|
||||||
|
this.subscribedEvents[this.eventId] = args[args.length - 1];
|
||||||
|
args = args.splice(0, args.length - 2);
|
||||||
|
|
||||||
|
process.send({
|
||||||
|
event: eventType,
|
||||||
|
requestName,
|
||||||
|
args,
|
||||||
|
eventId: this.eventId
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
on() {
|
||||||
|
this.sendEvent(constants.process.events.on, ...arguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
request() {
|
||||||
|
this.sendEvent(constants.process.events.request, ...arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Events;
|
|
@ -30,7 +30,7 @@ class ProcessWrapper {
|
||||||
if (messages[0].indexOf('hard-source')) {
|
if (messages[0].indexOf('hard-source')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
process.send({result: constants.pipeline.log, message: messages, type});
|
process.send({result: constants.process.log, message: messages, type});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue