From a182a1525de0b93ec014772e12e31641ab45f289 Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Sun, 7 Jan 2018 13:48:24 +0100 Subject: [PATCH] protected nodePackage type plugins against missing script-output files --- client.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/client.js b/client.js index abe8c358..7fcfc7fe 100644 --- a/client.js +++ b/client.js @@ -433,6 +433,18 @@ function instanceManagement() { } }); if(pluginConfig.scriptOutputFileSubscription && typeof pluginConfig.scriptOutputFileSubscription == "string"){ + if(global.subscribedFiles[pluginConfig.scriptOutputFileSubscription]) { + // please choose a unique file to subscribe to. If you need plugins to share this interface, set up a direct communication + // between those plugins instead. + throw "FATAL ERROR IN " + pluginDirectories[i] + " FILE ALREADY SUBSCRIBED " + pluginConfig.scriptOutputFileSubscription; + } + + if (!fs.existsSync(instancedirectory + "/script-output/" + pluginConfig.scriptOutputFileSubscription)) { + // Do something + fs.writeFileSync(instancedirectory + "/script-output/" + pluginConfig.scriptOutputFileSubscription, ""); + } + global.subscribedFiles[pluginConfig.scriptOutputFileSubscription] = true; + fs.watch(instancedirectory + "/script-output/" + pluginConfig.scriptOutputFileSubscription, function (eventType, filename) { // get array of lines in file let stuff = fs.readFileSync(instancedirectory + "/script-output/" + filename, "utf8").split("\n");