yasd/apps/server/Main.js
2022-04-29 12:30:40 -04:00

37 lines
921 B
JavaScript

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!")