require('dotenv').config(); require('./lib/Systray.js') const sd = require('./lib/Deck'); const web = require('./webserver/WebServer'); const cm = require('./lib/ConfigManager'); const pl = require('./lib/PluginLoader'); const EventEmitter = require('events'); /** * Extend the default EventEmitter to have the ability to return an object. * Normal normal events work as expected * https://stackoverflow.com/questions/42802931/node-js-how-can-i-return-a-value-from-an-event-listener */ class EventObjectEmitter extends EventEmitter { emitObject(event, obj = {}){ this.emit(event, obj); return obj; } } global.eventBus = new EventObjectEmitter(); console.log("Staring") sd.init(); web.init(); global.pluginloader = new pl(); pluginloader.loadFromFolder(); //config last to be loaded //It fires off the config_changed event that signals the app is ready cm.init(); console.log("Ready!")