diff options
-rw-r--r-- | package-lock.json | 49 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/server/session_manager/session_manager.ts | 3 | ||||
-rw-r--r-- | src/typings/index.d.ts | 1 |
4 files changed, 49 insertions, 5 deletions
diff --git a/package-lock.json b/package-lock.json index c7b56b074..3b98a9634 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2399,6 +2399,21 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, + "boolify-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/boolify-string/-/boolify-string-2.0.2.tgz", + "integrity": "sha1-n4m9l9YKFEijlAF8SjuaPSQNRY4=", + "requires": { + "type-detect": "^1.0.0" + }, + "dependencies": { + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" + } + } + }, "bootstrap": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", @@ -2639,8 +2654,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-indexof": { "version": "1.1.1", @@ -4282,6 +4296,14 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emit-logger": { + "version": "github:chocolateboy/emit-logger#b9d25a2d939e42f29c940861e9648bd0fb810070", + "from": "github:chocolateboy/emit-logger#better-emitter-name", + "requires": { + "chalk": "^1.1.1", + "moment": "^2.10.6" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -7016,6 +7038,20 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" }, + "ipc-event-emitter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ipc-event-emitter/-/ipc-event-emitter-2.0.2.tgz", + "integrity": "sha512-hJsN8zCg8MZwl5nbTutqINDO4pJPbKwmCfrTJaRLNE+5H15mJx7Mxo3pXIAi8zlh+N5xpf+PdMOQ0pbtZQvRKA==", + "requires": { + "babel-runtime": "^6.22.0", + "bluebird": "^3.4.7", + "boolify-string": "^2.0.2", + "emit-logger": "github:chocolateboy/emit-logger#better-emitter-name", + "lodash": "^4.17.4", + "semver": "^5.0.3", + "source-map-support": "^0.5.9" + } + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -8486,6 +8522,11 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "mongodb": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.2.7.tgz", @@ -15096,7 +15137,6 @@ "version": "0.5.12", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -15105,8 +15145,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, diff --git a/package.json b/package.json index 4b0de5392..29201288a 100644 --- a/package.json +++ b/package.json @@ -157,6 +157,7 @@ "image-data-uri": "^2.0.0", "image-size": "^0.7.4", "imagesloaded": "^4.1.4", + "ipc-event-emitter": "^2.0.2", "jquery-awesome-cursor": "^0.3.1", "js-datepicker": "^4.6.6", "jsonwebtoken": "^8.5.0", diff --git a/src/server/session_manager/session_manager.ts b/src/server/session_manager/session_manager.ts index d8b2f6e74..d5b366811 100644 --- a/src/server/session_manager/session_manager.ts +++ b/src/server/session_manager/session_manager.ts @@ -9,12 +9,15 @@ import { ChildProcess, exec, execSync } from "child_process"; import InputManager from "./input_manager"; import { identifier, logPath, crashPath, onWindows, pid, ports, heartbeat, recipient, latency, SessionState } from "./config"; const killport = require("kill-port"); +import * as IPC from "ipc-event-emitter"; process.on('SIGINT', endPrevious); let state: SessionState = SessionState.STARTING; const is = (...reference: SessionState[]) => reference.includes(state); const set = (reference: SessionState) => state = reference; + + const { registerCommand } = new InputManager({ identifier }); registerCommand("restart", [], async () => { diff --git a/src/typings/index.d.ts b/src/typings/index.d.ts index 674278126..887f96734 100644 --- a/src/typings/index.d.ts +++ b/src/typings/index.d.ts @@ -3,6 +3,7 @@ declare module 'googlephotos'; declare module 'react-image-lightbox-with-rotate'; declare module 'kill-port'; +declare module 'ipc-event-emitter'; declare module '@react-pdf/renderer' { import * as React from 'react'; |