From d22064c6f4af66014cee789be074cea627f0f6d6 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 18:37:01 +0100 Subject: [PATCH 01/10] clean up utils --- js/utils.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/js/utils.js b/js/utils.js index 5044447d..1043ae3e 100644 --- a/js/utils.js +++ b/js/utils.js @@ -4,9 +4,9 @@ * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com * MIT Licensed. */ -var colors = require("colors/safe"); +const colors = require("colors/safe"); -var Utils = { +module.exports = { colors: { warn: colors.yellow, error: colors.red, @@ -14,7 +14,3 @@ var Utils = { pass: colors.green } }; - -if (typeof module !== "undefined") { - module.exports = Utils; -} From ac141a43162e9cc584a95e88a4fe8e913538dffc Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 18:37:16 +0100 Subject: [PATCH 02/10] clean up server --- js/server.js | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/js/server.js b/js/server.js index cd26190b..f2e3c207 100644 --- a/js/server.js +++ b/js/server.js @@ -4,25 +4,22 @@ * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. */ -var express = require("express"); -var app = require("express")(); -var path = require("path"); -var ipfilter = require("express-ipfilter").IpFilter; -var fs = require("fs"); -var helmet = require("helmet"); +const express = require("express"); +const app = require("express")(); +const path = require("path"); +const ipfilter = require("express-ipfilter").IpFilter; +const fs = require("fs"); +const helmet = require("helmet"); -var Log = require("./logger.js"); -var Utils = require("./utils.js"); +const Log = require("./logger.js"); +const Utils = require("./utils.js"); -var Server = function (config, callback) { - var port = config.port; - if (process.env.MM_PORT) { - port = process.env.MM_PORT; - } +function Server(config, callback) { + const port = process.env.MM_PORT || config.port; - var server = null; + let server = null; if (config.useHttps) { - var options = { + const options = { key: fs.readFileSync(config.httpsPrivateKey), cert: fs.readFileSync(config.httpsCertificate) }; @@ -30,18 +27,18 @@ var Server = function (config, callback) { } else { server = require("http").Server(app); } - var io = require("socket.io")(server); + const io = require("socket.io")(server); - Log.log("Starting server on port " + port + " ... "); + Log.log(`Starting server on port ${port} ... `); - server.listen(port, config.address ? config.address : "localhost"); + server.listen(port, config.address || "localhost"); if (config.ipWhitelist instanceof Array && config.ipWhitelist.length === 0) { Log.warn(Utils.colors.warn("You're using a full whitelist configuration to allow for all IPs")); } app.use(function (req, res, next) { - var result = ipfilter(config.ipWhitelist, { mode: config.ipWhitelist.length === 0 ? "deny" : "allow", log: false })(req, res, function (err) { + ipfilter(config.ipWhitelist, { mode: config.ipWhitelist.length === 0 ? "deny" : "allow", log: false })(req, res, function (err) { if (err === undefined) { return next(); } @@ -52,10 +49,9 @@ var Server = function (config, callback) { app.use(helmet({ contentSecurityPolicy: false })); app.use("/js", express.static(__dirname)); - var directories = ["/config", "/css", "/fonts", "/modules", "/vendor", "/translations", "/tests/configs"]; - var directory; - for (var i in directories) { - directory = directories[i]; + + const directories = ["/config", "/css", "/fonts", "/modules", "/vendor", "/translations", "/tests/configs"]; + for (const directory of directories) { app.use(directory, express.static(path.resolve(global.root_path + directory))); } @@ -68,10 +64,10 @@ var Server = function (config, callback) { }); app.get("/", function (req, res) { - var html = fs.readFileSync(path.resolve(global.root_path + "/index.html"), { encoding: "utf8" }); + let html = fs.readFileSync(path.resolve(`${global.root_path}/index.html`), { encoding: "utf8" }); html = html.replace("#VERSION#", global.version); - var configFile = "config/config.js"; + let configFile = "config/config.js"; if (typeof global.configuration_file !== "undefined") { configFile = global.configuration_file; } @@ -83,6 +79,6 @@ var Server = function (config, callback) { if (typeof callback === "function") { callback(app, io); } -}; +} module.exports = Server; From 5d60534dc95bc7b8c00b79f5479a1749831b88c8 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 18:44:36 +0100 Subject: [PATCH 03/10] clean up node helper --- js/node_helper.js | 56 +++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/js/node_helper.js b/js/node_helper.js index 4a31fdee..f394d505 100644 --- a/js/node_helper.js +++ b/js/node_helper.js @@ -8,18 +8,18 @@ const Class = require("./class.js"); const Log = require("./logger.js"); const express = require("express"); -var NodeHelper = Class.extend({ - init: function () { +const NodeHelper = Class.extend({ + init() { Log.log("Initializing new module helper ..."); }, - loaded: function (callback) { - Log.log("Module helper loaded: " + this.name); + loaded(callback) { + Log.log(`Module helper loaded: ${this.name}`); callback(); }, - start: function () { - Log.log("Starting module helper: " + this.name); + start() { + Log.log(`Starting module helper: ${this.name}`); }, /* stop() @@ -28,8 +28,8 @@ var NodeHelper = Class.extend({ * gracefully exit the module. * */ - stop: function () { - Log.log("Stopping module helper: " + this.name); + stop() { + Log.log(`Stopping module helper: ${this.name}`); }, /* socketNotificationReceived(notification, payload) @@ -38,8 +38,8 @@ var NodeHelper = Class.extend({ * argument notification string - The identifier of the notification. * argument payload mixed - The payload of the notification. */ - socketNotificationReceived: function (notification, payload) { - Log.log(this.name + " received a socket notification: " + notification + " - Payload: " + payload); + socketNotificationReceived(notification, payload) { + Log.log(`${this.name} received a socket notification: ${notification} - Payload: ${payload}`); }, /* setName(name) @@ -47,7 +47,7 @@ var NodeHelper = Class.extend({ * * argument name string - Module name. */ - setName: function (name) { + setName(name) { this.name = name; }, @@ -56,7 +56,7 @@ var NodeHelper = Class.extend({ * * argument path string - Module path. */ - setPath: function (path) { + setPath(path) { this.path = path; }, @@ -66,7 +66,7 @@ var NodeHelper = Class.extend({ * argument notification string - The identifier of the notification. * argument payload mixed - The payload of the notification. */ - sendSocketNotification: function (notification, payload) { + sendSocketNotification(notification, payload) { this.io.of(this.name).emit(notification, payload); }, @@ -76,11 +76,10 @@ var NodeHelper = Class.extend({ * * argument app Express app - The Express app object. */ - setExpressApp: function (app) { + setExpressApp(app) { this.expressApp = app; - var publicPath = this.path + "/public"; - app.use("/" + this.name, express.static(publicPath)); + app.use(`/${this.name}`, express.static(`${this.path}/public`)); }, /* setSocketIO(io) @@ -89,27 +88,25 @@ var NodeHelper = Class.extend({ * * argument io Socket.io - The Socket io object. */ - setSocketIO: function (io) { - var self = this; - self.io = io; + setSocketIO(io) { + this.io = io; - Log.log("Connecting socket for: " + this.name); - var namespace = this.name; - io.of(namespace).on("connection", function (socket) { + Log.log(`Connecting socket for: ${this.name}`); + + io.of(this.name).on("connection", (socket) => { // add a catch all event. - var onevent = socket.onevent; + const onevent = socket.onevent; socket.onevent = function (packet) { - var args = packet.data || []; + const args = packet.data || []; onevent.call(this, packet); // original call packet.data = ["*"].concat(args); onevent.call(this, packet); // additional call to catch-all }; // register catch all. - socket.on("*", function (notification, payload) { + socket.on("*", (notification, payload) => { if (notification !== "*") { - //Log.log('received message in namespace: ' + namespace); - self.socketNotificationReceived(notification, payload); + this.socketNotificationReceived(notification, payload); } }); }); @@ -120,7 +117,4 @@ NodeHelper.create = function (moduleDefinition) { return NodeHelper.extend(moduleDefinition); }; -/*************** DO NOT EDIT THE LINE BELOW ***************/ -if (typeof module !== "undefined") { - module.exports = NodeHelper; -} +module.exports = NodeHelper; From 4efe04774c27d324ec81b326c40458d7993cc5cd Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 18:48:55 +0100 Subject: [PATCH 04/10] clean up electron --- js/electron.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/electron.js b/js/electron.js index 216dee48..8df04b68 100644 --- a/js/electron.js +++ b/js/electron.js @@ -5,7 +5,7 @@ const core = require("./app.js"); const Log = require("./logger.js"); // Config -var config = process.env.config ? JSON.parse(process.env.config) : {}; +let config = process.env.config ? JSON.parse(process.env.config) : {}; // Module to control application life. const app = electron.app; // Module to create native browser window. @@ -20,7 +20,7 @@ let mainWindow; */ function createWindow() { app.commandLine.appendSwitch("autoplay-policy", "no-user-gesture-required"); - var electronOptionsDefaults = { + let electronOptionsDefaults = { width: 800, height: 600, x: 0, @@ -42,7 +42,7 @@ function createWindow() { electronOptionsDefaults.autoHideMenuBar = true; } - var electronOptions = Object.assign({}, electronOptionsDefaults, config.electronOptions); + const electronOptions = Object.assign({}, electronOptionsDefaults, config.electronOptions); // Create the browser window. mainWindow = new BrowserWindow(electronOptions); @@ -50,14 +50,14 @@ function createWindow() { // and load the index.html of the app. // If config.address is not defined or is an empty string (listening on all interfaces), connect to localhost - var prefix; + let prefix; if (config["tls"] !== null && config["tls"]) { prefix = "https://"; } else { prefix = "http://"; } - var address = (config.address === void 0) | (config.address === "") ? (config.address = "localhost") : config.address; + let address = (config.address === void 0) | (config.address === "") ? (config.address = "localhost") : config.address; mainWindow.loadURL(`${prefix}${address}:${config.port}`); // Open the DevTools if run with "npm start dev" @@ -125,7 +125,7 @@ app.on("before-quit", (event) => { // Start the core application if server is run on localhost // This starts all node helpers and starts the webserver. -if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].indexOf(config.address) > -1) { +if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].includes(config.address)) { core.start(function (c) { config = c; }); From 9c8fa06ce1ddbf688249b7aa164743175c8c47fc Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 19:01:59 +0100 Subject: [PATCH 05/10] clean up config checker --- js/check_config.js | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/js/check_config.js b/js/check_config.js index c9bfe442..01cd08e2 100644 --- a/js/check_config.js +++ b/js/check_config.js @@ -11,9 +11,9 @@ const linter = new Linter(); const path = require("path"); const fs = require("fs"); -const rootPath = path.resolve(__dirname + "/../"); -const Log = require(rootPath + "/js/logger.js"); -const Utils = require(rootPath + "/js/utils.js"); +const rootPath = path.resolve(`${__dirname}/../`); +const Log = require(`${rootPath}/js/logger.js`); +const Utils = require(`${rootPath}/js/utils.js`); /** * Returns a string with path of configuration file. @@ -23,11 +23,7 @@ const Utils = require(rootPath + "/js/utils.js"); */ function getConfigFile() { // FIXME: This function should be in core. Do you want refactor me ;) ?, be good! - let configFileName = path.resolve(rootPath + "/config/config.js"); - if (process.env.MM_CONFIG_FILE) { - configFileName = path.resolve(process.env.MM_CONFIG_FILE); - } - return configFileName; + return path.resolve(process.env.MM_CONFIG_FILE || `${rootPath}/config/config.js`); } /** @@ -54,21 +50,18 @@ function checkConfigFile() { Log.info(Utils.colors.info("Checking file... "), configFileName); // I'm not sure if all ever is utf-8 - fs.readFile(configFileName, "utf-8", function (err, data) { - if (err) { - throw err; + const configFile = fs.readFileSync(configFileName, "utf-8"); + + const errors = linter.verify(configFile); + if (errors.length === 0) { + Log.info(Utils.colors.pass("Your configuration file doesn't contain syntax errors :)")); + } else { + Log.error(Utils.colors.error("Your configuration file contains syntax errors :(")); + + for (const error of errors) { + Log.error(`Line ${error.line} column ${error.column}: ${error.message}`); } - const messages = linter.verify(data); - if (messages.length === 0) { - Log.info(Utils.colors.pass("Your configuration file doesn't contain syntax errors :)")); - } else { - Log.error(Utils.colors.error("Your configuration file contains syntax errors :(")); - // In case the there errors show messages and return - messages.forEach((error) => { - Log.error("Line", error.line, "col", error.column, error.message); - }); - } - }); + } } checkConfigFile(); From 38f10b6e3e9ca54f239cd14177c81c80f6320795 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 19:35:11 +0100 Subject: [PATCH 06/10] clean up app --- js/app.js | 128 +++++++++++++++++++++++++----------------------------- 1 file changed, 58 insertions(+), 70 deletions(-) diff --git a/js/app.js b/js/app.js index 64844269..fc7433bd 100644 --- a/js/app.js +++ b/js/app.js @@ -4,22 +4,22 @@ * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. */ -var fs = require("fs"); -var path = require("path"); -var Log = require(__dirname + "/logger.js"); -var Server = require(__dirname + "/server.js"); -var Utils = require(__dirname + "/utils.js"); -var defaultModules = require(__dirname + "/../modules/default/defaultmodules.js"); +const fs = require("fs"); +const path = require("path"); +const Log = require(`${__dirname}/logger`); +const Server = require(`${__dirname}/server`); +const Utils = require(`${__dirname}/utils`); +const defaultModules = require(`${__dirname}/../modules/default/defaultmodules`); // Alias modules mentioned in package.js under _moduleAliases. require("module-alias/register"); // Get version number. -global.version = JSON.parse(fs.readFileSync("package.json", "utf8")).version; +global.version = require(`${__dirname}/../package.json`).version; Log.log("Starting MagicMirror: v" + global.version); // global absolute root path -global.root_path = path.resolve(__dirname + "/../"); +global.root_path = path.resolve(`${__dirname}/../`); if (process.env.MM_CONFIG_FILE) { global.configuration_file = process.env.MM_CONFIG_FILE; @@ -45,8 +45,8 @@ process.on("uncaughtException", function (err) { * * @class */ -var App = function () { - var nodeHelpers = []; +function App() { + let nodeHelpers = []; /** * Loads the config file. Combines it with the defaults, and runs the @@ -54,34 +54,31 @@ var App = function () { * * @param {Function} callback Function to be called after loading the config */ - var loadConfig = function (callback) { + function loadConfig(callback) { Log.log("Loading config ..."); - var defaults = require(__dirname + "/defaults.js"); + const defaults = require(`${__dirname}/defaults`); // For this check proposed to TestSuite // https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror/8 - var configFilename = path.resolve(global.root_path + "/config/config.js"); - if (typeof global.configuration_file !== "undefined") { - configFilename = path.resolve(global.configuration_file); - } + const configFilename = path.resolve(global.configuration_file || `${global.root_path}/config/config`); try { fs.accessSync(configFilename, fs.F_OK); - var c = require(configFilename); + const c = require(configFilename); checkDeprecatedOptions(c); - var config = Object.assign(defaults, c); + const config = Object.assign(defaults, c); callback(config); } catch (e) { if (e.code === "ENOENT") { Log.error(Utils.colors.error("WARNING! Could not find config file. Please create one. Starting with default configuration.")); } else if (e instanceof ReferenceError || e instanceof SyntaxError) { - Log.error(Utils.colors.error("WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: " + e.stack)); + Log.error(Utils.colors.error(`WARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: ${e.stack}`)); } else { - Log.error(Utils.colors.error("WARNING! Could not load config file. Starting with default configuration. Error found: " + e)); + Log.error(Utils.colors.error(`WARNING! Could not load config file. Starting with default configuration. Error found: ${e}`)); } callback(defaults); } - }; + } /** * Checks the config for deprecated options and throws a warning in the logs @@ -89,21 +86,15 @@ var App = function () { * * @param {object} userConfig The user config */ - var checkDeprecatedOptions = function (userConfig) { - var deprecated = require(global.root_path + "/js/deprecated.js"); - var deprecatedOptions = deprecated.configs; + function checkDeprecatedOptions(userConfig) { + const deprecated = require(`${global.root_path}/js/deprecated`); + const deprecatedOptions = deprecated.configs; - var usedDeprecated = []; - - deprecatedOptions.forEach(function (option) { - if (userConfig.hasOwnProperty(option)) { - usedDeprecated.push(option); - } - }); + const usedDeprecated = deprecatedOptions.filter(option => userConfig.hasOwnProperty(option)); if (usedDeprecated.length > 0) { - Log.warn(Utils.colors.warn("WARNING! Your config is using deprecated options: " + usedDeprecated.join(", ") + ". Check README and CHANGELOG for more up-to-date ways of getting the same functionality.")); + Log.warn(Utils.colors.warn(`WARNING! Your config is using deprecated options: ${usedDeprecated.join(", ")}. Check README and CHANGELOG for more up-to-date ways of getting the same functionality.`)); } - }; + } /** * Loads a specific module. @@ -111,35 +102,35 @@ var App = function () { * @param {string} module The name of the module (including subpath). * @param {Function} callback Function to be called after loading */ - var loadModule = function (module, callback) { - var elements = module.split("/"); - var moduleName = elements[elements.length - 1]; - var moduleFolder = __dirname + "/../modules/" + module; + function loadModule(module, callback) { + const elements = module.split("/"); + const moduleName = elements[elements.length - 1]; + let moduleFolder = `${__dirname}/../modules/${module}`; - if (defaultModules.indexOf(moduleName) !== -1) { - moduleFolder = __dirname + "/../modules/default/" + module; + if (defaultModules.includes(moduleName)) { + moduleFolder = `${__dirname}/../modules/default/${module}`; } - var helperPath = moduleFolder + "/node_helper.js"; + const helperPath = `${moduleFolder}/node_helper.js`; - var loadModule = true; + let loadHelper = true; try { fs.accessSync(helperPath, fs.R_OK); } catch (e) { - loadModule = false; - Log.log("No helper found for module: " + moduleName + "."); + loadHelper = false; + Log.log(`No helper found for module: ${moduleName}.`); } - if (loadModule) { - var Module = require(helperPath); - var m = new Module(); + if (loadHelper) { + const Module = require(helperPath); + let m = new Module(); if (m.requiresVersion) { - Log.log("Check MagicMirror version for node helper '" + moduleName + "' - Minimum version: " + m.requiresVersion + " - Current version: " + global.version); + Log.log(`Check MagicMirror version for node helper '${moduleName}' - Minimum version: ${m.requiresVersion} - Current version: ${global.version}`); if (cmpVersions(global.version, m.requiresVersion) >= 0) { Log.log("Version is ok!"); } else { - Log.log("Version is incorrect. Skip module: '" + moduleName + "'"); + Log.warn(`Version is incorrect. Skip module: '${moduleName}'`); return; } } @@ -152,7 +143,7 @@ var App = function () { } else { callback(); } - }; + } /** * Loads all modules. @@ -160,12 +151,12 @@ var App = function () { * @param {Module[]} modules All modules to be loaded * @param {Function} callback Function to be called after loading */ - var loadModules = function (modules, callback) { + function loadModules(modules, callback) { Log.log("Loading module helpers ..."); - var loadNextModule = function () { + function loadNextModule() { if (modules.length > 0) { - var nextModule = modules[0]; + const nextModule = modules[0]; loadModule(nextModule, function () { modules = modules.slice(1); loadNextModule(); @@ -175,10 +166,10 @@ var App = function () { Log.log("All module helpers loaded."); callback(); } - }; + } loadNextModule(); - }; + } /** * Compare two semantic version numbers and return the difference. @@ -190,11 +181,11 @@ var App = function () { * number if a is smaller and 0 if they are the same */ function cmpVersions(a, b) { - var i, diff; - var regExStrip0 = /(\.0+)+$/; - var segmentsA = a.replace(regExStrip0, "").split("."); - var segmentsB = b.replace(regExStrip0, "").split("."); - var l = Math.min(segmentsA.length, segmentsB.length); + let i, diff; + const regExStrip0 = /(\.0+)+$/; + const segmentsA = a.replace(regExStrip0, "").split("."); + const segmentsB = b.replace(regExStrip0, "").split("."); + const l = Math.min(segmentsA.length, segmentsB.length); for (i = 0; i < l; i++) { diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10); @@ -219,21 +210,19 @@ var App = function () { Log.setLogLevel(config.logLevel); - var modules = []; + let modules = []; - for (var m in config.modules) { - var module = config.modules[m]; - if (modules.indexOf(module.module) === -1 && !module.disabled) { + for (const module of config.modules) { + if (!modules.includes(module.module) && !module.disabled) { modules.push(module.module); } } loadModules(modules, function () { - var server = new Server(config, function (app, io) { + const server = new Server(config, function (app, io) { Log.log("Server started ..."); - for (var h in nodeHelpers) { - var nodeHelper = nodeHelpers[h]; + for (let nodeHelper of nodeHelpers) { nodeHelper.setExpressApp(app); nodeHelper.setSocketIO(io); nodeHelper.start(); @@ -247,7 +236,7 @@ var App = function () { }); }); }); - }; + } /** * Stops the core app. This calls each node_helper's STOP() function, if it @@ -256,8 +245,7 @@ var App = function () { * Added to fix #1056 */ this.stop = function () { - for (var h in nodeHelpers) { - var nodeHelper = nodeHelpers[h]; + for (const nodeHelper of nodeHelpers) { if (typeof nodeHelper.stop === "function") { nodeHelper.stop(); } @@ -292,6 +280,6 @@ var App = function () { this.stop(); process.exit(0); }); -}; +} module.exports = new App(); From 7dbcaa83bcec9a5a8a38e3f25c1073b3c65a3bd0 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 19:36:20 +0100 Subject: [PATCH 07/10] clean up deprecated --- js/deprecated.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/js/deprecated.js b/js/deprecated.js index 4f56b41d..6bf4a626 100644 --- a/js/deprecated.js +++ b/js/deprecated.js @@ -6,11 +6,6 @@ * Olex S. original idea this deprecated option */ -var deprecated = { +module.exports = { configs: ["kioskmode"] }; - -/*************** DO NOT EDIT THE LINE BELOW ***************/ -if (typeof module !== "undefined") { - module.exports = deprecated; -} From f90856808b0cf54609fa6c4b7e064b8001513ac1 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 19:39:31 +0100 Subject: [PATCH 08/10] fix config file path --- js/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/app.js b/js/app.js index fc7433bd..2622b659 100644 --- a/js/app.js +++ b/js/app.js @@ -60,7 +60,7 @@ function App() { // For this check proposed to TestSuite // https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror/8 - const configFilename = path.resolve(global.configuration_file || `${global.root_path}/config/config`); + const configFilename = path.resolve(global.configuration_file || `${global.root_path}/config/config.js`); try { fs.accessSync(configFilename, fs.F_OK); From a9a70fd2e9efbf4ad6a8e7486d754ea84725f762 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 20:04:02 +0100 Subject: [PATCH 09/10] linting and fix defualt module test --- js/app.js | 4 +-- .../unit/global_vars/defaults_modules_spec.js | 26 ++++++------------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/js/app.js b/js/app.js index 2622b659..240fdc23 100644 --- a/js/app.js +++ b/js/app.js @@ -90,7 +90,7 @@ function App() { const deprecated = require(`${global.root_path}/js/deprecated`); const deprecatedOptions = deprecated.configs; - const usedDeprecated = deprecatedOptions.filter(option => userConfig.hasOwnProperty(option)); + const usedDeprecated = deprecatedOptions.filter((option) => userConfig.hasOwnProperty(option)); if (usedDeprecated.length > 0) { Log.warn(Utils.colors.warn(`WARNING! Your config is using deprecated options: ${usedDeprecated.join(", ")}. Check README and CHANGELOG for more up-to-date ways of getting the same functionality.`)); } @@ -236,7 +236,7 @@ function App() { }); }); }); - } + }; /** * Stops the core app. This calls each node_helper's STOP() function, if it diff --git a/tests/unit/global_vars/defaults_modules_spec.js b/tests/unit/global_vars/defaults_modules_spec.js index 861de97a..7618a37d 100644 --- a/tests/unit/global_vars/defaults_modules_spec.js +++ b/tests/unit/global_vars/defaults_modules_spec.js @@ -3,12 +3,12 @@ const path = require("path"); const expect = require("chai").expect; const vm = require("vm"); -before(function () { - var basedir = path.join(__dirname, "../../.."); +const basedir = path.join(__dirname, "../../.."); - var fileName = "js/app.js"; - var filePath = path.join(basedir, fileName); - var code = fs.readFileSync(filePath); +before(function () { + const fileName = "js/app.js"; + const filePath = path.join(basedir, fileName); + const code = fs.readFileSync(filePath); this.sandbox = { module: {}, @@ -36,22 +36,12 @@ before(function () { vm.runInNewContext(code, this.sandbox, fileName); }); -after(function () { - //console.log(global); -}); - describe("Default modules set in modules/default/defaultmodules.js", function () { - var expectedDefaultModules = ["alert", "calendar", "clock", "compliments", "currentweather", "helloworld", "newsfeed", "weatherforecast", "updatenotification"]; + const expectedDefaultModules = require("../../../modules/default/defaultmodules"); - expectedDefaultModules.forEach((defaultModule) => { - it(`contains default module "${defaultModule}"`, function () { - expect(this.sandbox.defaultModules).to.include(defaultModule); - }); - }); - - expectedDefaultModules.forEach((defaultModule) => { + for (const defaultModule of expectedDefaultModules) { it(`contains a folder for modules/default/${defaultModule}"`, function () { expect(fs.existsSync(path.join(this.sandbox.global.root_path, "modules/default", defaultModule))).to.equal(true); }); - }); + } }); From 5ae4912b45463be043880a04767143e6afdd7baf Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 5 Jan 2021 20:08:18 +0100 Subject: [PATCH 10/10] added changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e41c85..da48ef06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ _This release is scheduled to be released on 2021-04-01._ ### Updated - Updated markdown files. +- Cleaned up old code on server side. ### Removed