mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 11:50:00 +00:00
Changed 'server.js' to allow an empty ipwhitelist to allow any and all hosts instead of none as mentioned in the documentation
67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
/* Magic Mirror
|
|
*
|
|
* Checker configuration file
|
|
*
|
|
* By Rodrigo Ramírez Norambuena
|
|
* https://rodrigoramirez.com
|
|
*
|
|
* MIT Licensed.
|
|
*
|
|
*/
|
|
|
|
var v = require("jshint");
|
|
var path = require("path");
|
|
var fs = require("fs");
|
|
var Utils = require(__dirname + "/../../js/utils.js");
|
|
|
|
if (process.env.NODE_ENV == "test") { return 0 };
|
|
|
|
/* getConfigFile()
|
|
* Return string with path of configuration file
|
|
* Check if set by enviroment variable MM_CONFIG_FILE
|
|
*/
|
|
function getConfigFile() {
|
|
// FIXME: This function should be in core. Do you want refactor me ;) ?, be good!
|
|
rootPath = path.resolve(__dirname + "/../../");
|
|
var configFileName = path.resolve(rootPath + "/config/config.js");
|
|
if (process.env.MM_CONFIG_FILE) {
|
|
configFileName = path.resolve(process.env.MM_CONFIG_FILE);
|
|
}
|
|
return configFileName;
|
|
}
|
|
|
|
var configFileName = getConfigFile();
|
|
// Check if file is present
|
|
if (fs.existsSync(configFileName) === false) {
|
|
console.error(Utils.colors.error("File not found: "), configFileName);
|
|
return;
|
|
}
|
|
// check permision
|
|
try {
|
|
fs.accessSync(configFileName, fs.F_OK);
|
|
} catch (e) {
|
|
console.log(Utils.colors.error(e));
|
|
return;
|
|
}
|
|
|
|
// Validate syntax of the configuration file.
|
|
// In case the there errors show messages and
|
|
// return
|
|
console.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; }
|
|
v.JSHINT(data); // Parser by jshint
|
|
|
|
if (v.JSHINT.errors.length == 0) {
|
|
console.log("Your configuration file don't containt syntax error :)");
|
|
return true;
|
|
} else {
|
|
errors = v.JSHINT.data().errors;
|
|
for (idx in errors) {
|
|
error = errors[idx];
|
|
console.log("Line", error.line, "col", error.character, error.reason);
|
|
}
|
|
}
|
|
});
|