refactor: use global.root_path instead relative paths (#3883)

This commit is contained in:
Karsten Hassel
2025-09-09 08:09:45 +02:00
committed by GitHub
parent 31bafc3297
commit b1865d8115
16 changed files with 34 additions and 35 deletions

View File

@@ -6,9 +6,13 @@ const path = require("node:path");
const envsub = require("envsub");
const Log = require("logger");
// global absolute root path
global.root_path = path.resolve(`${__dirname}/../`);
const Server = require(`${__dirname}/server`);
const Utils = require(`${__dirname}/utils`);
const defaultModules = require(`${__dirname}/../modules/default/defaultmodules`);
const defaultModules = require(`${global.root_path}/modules/default/defaultmodules`);
// used to control fetch timeout for node_helpers
const { setGlobalDispatcher, Agent } = require("undici");
const { getEnvVarsAsObj } = require("#server_functions");
@@ -16,16 +20,13 @@ const { getEnvVarsAsObj } = require("#server_functions");
const fetch_timeout = process.env.mmFetchTimeout !== undefined ? process.env.mmFetchTimeout : 30000;
// Get version number.
global.version = require(`${__dirname}/../package.json`).version;
global.version = require(`${global.root_path}/package.json`).version;
global.mmTestMode = process.env.mmTestMode === "true";
Log.log(`Starting MagicMirror: v${global.version}`);
// Log system information.
Utils.logSystemInformation(global.version);
// global absolute root path
global.root_path = path.resolve(`${__dirname}/../`);
if (process.env.MM_CONFIG_FILE) {
global.configuration_file = process.env.MM_CONFIG_FILE.replace(`${global.root_path}/`, "");
}
@@ -180,10 +181,10 @@ function App () {
const elements = module.split("/");
const moduleName = elements[elements.length - 1];
const env = getEnvVarsAsObj();
let moduleFolder = path.resolve(`${__dirname}/../${env.modulesDir}`, module);
let moduleFolder = path.resolve(`${global.root_path}/${env.modulesDir}`, module);
if (defaultModules.includes(moduleName)) {
const defaultModuleFolder = path.resolve(`${__dirname}/../modules/default/`, module);
const defaultModuleFolder = path.resolve(`${global.root_path}/modules/default/`, module);
if (process.env.JEST_WORKER_ID === undefined) {
moduleFolder = defaultModuleFolder;
} else {

View File

@@ -5,9 +5,8 @@ const Ajv = require("ajv");
const globals = require("globals");
const { Linter } = require("eslint");
const rootPath = path.resolve(`${__dirname}/../`);
const Log = require(`${rootPath}/js/logger.js`);
const Utils = require(`${rootPath}/js/utils.js`);
const Log = require(`${global.root_path}/js/logger.js`);
const Utils = require(`${global.root_path}/js/utils.js`);
const linter = new Linter({ configType: "flat" });
const ajv = new Ajv();
@@ -19,7 +18,7 @@ const ajv = new Ajv();
*/
function getConfigFile () {
// FIXME: This function should be in core. Do you want refactor me ;) ?, be good!
return path.resolve(process.env.MM_CONFIG_FILE || `${rootPath}/config/config.js`);
return path.resolve(process.env.MM_CONFIG_FILE || `${global.root_path}/config/config.js`);
}
/**

View File

@@ -1,7 +1,4 @@
const path = require("node:path");
const rootPath = path.resolve(`${__dirname}/../`);
const Log = require(`${rootPath}/js/logger.js`);
const Log = require(`${global.root_path}/js/logger.js`);
const os = require("node:os");
const fs = require("node:fs");
const si = require("systeminformation");