Skip to content

Commit 9731559

Browse files
committed
add moduleConfig with filename
1 parent 979435c commit 9731559

File tree

3 files changed

+35
-38
lines changed

3 files changed

+35
-38
lines changed

js/app.js

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const fs = require("node:fs");
55
const path = require("node:path");
66
const envsub = require("envsub");
77
const Log = require("logger");
8+
const colors = require("ansis");
89

910
const Server = require(`${__dirname}/server`);
1011
const Utils = require(`${__dirname}/utils`);
@@ -132,19 +133,7 @@ function App () {
132133
Log.error("WARNING! Config file appears empty, maybe missing module.exports last line?");
133134
}
134135
checkDeprecatedOptions(c);
135-
var finalConfig = Object.assign(defaults, c);
136-
137-
/*
138-
if (finalConfig.modules.length) {
139-
for (const [index, module] of finalConfig.modules.entries()) {
140-
const moduleConfig = await loadModuleConfig(module);
141-
if (moduleConfig) {
142-
finalConfig.modules[index].config = moduleConfig;
143-
}
144-
}
145-
}
146-
*/
147-
return finalConfig;
136+
return Object.assign(defaults, c);
148137
} catch (e) {
149138
if (e.code === "ENOENT") {
150139
Log.error("WARNING! Could not find config file. Please create one. Starting with default configuration.");
@@ -257,28 +246,27 @@ function App () {
257246
Log.log("All module helpers loaded.");
258247
}
259248

260-
/*
261249
function loadModuleConfig (module) {
262-
if (module.moduleConfig) {
263-
var moduleFolder = path.resolve(`${__dirname}/../modules/`, module.module);
250+
var moduleFolder = path.resolve(`${__dirname}/../modules/`, module.module);
264251

265-
if (defaultModules.includes(module.module)) {
266-
moduleFolder = path.resolve(`${__dirname}/../modules/default/`, module.module);
267-
}
252+
if (defaultModules.includes(module.module)) {
253+
moduleFolder = path.resolve(`${__dirname}/../modules/default/`, module.module);
254+
}
268255

269-
const moduleConfigFile = `${moduleFolder}/config/config.js`;
270-
console.log("[loadModuleConfig] moduleConfigFile", moduleConfigFile);
271-
try {
272-
fs.accessSync(moduleConfigFile, fs.R_OK);
273-
const configFile = require(moduleConfigFile);
274-
return configFile;
275-
} catch (e) {
276-
Log.error(`${moduleConfigFile} loading error for module: ${module.module}.`, e.message);
277-
return null;
278-
}
256+
const moduleConfigFile = `${moduleFolder}/config/${module.moduleConfig}`;
257+
Log.info(`Loading config for ${module.module} in ${moduleConfigFile}`);
258+
try {
259+
fs.accessSync(moduleConfigFile, fs.R_OK);
260+
const configFile = eval(require(moduleConfigFile));
261+
Log.debug("Config Result:", configFile);
262+
return configFile;
263+
} catch (e) {
264+
Log.error(`Config loading error for module: ${module.module}.`, e.message);
265+
Log.error(`Config: ${moduleConfigFile}`);
266+
return null;
279267
}
280268
}
281-
*/
269+
282270
/**
283271
* Compare two semantic version numbers and return the difference.
284272
* @param {string} a Version number a.
@@ -320,6 +308,13 @@ function App () {
320308
for (const module of config.modules) {
321309
if (module.disabled) continue;
322310
if (module.module) {
311+
if (module.moduleConfig) {
312+
const moduleConfig = await loadModuleConfig(module);
313+
if (moduleConfig) {
314+
module.config = moduleConfig;
315+
Log.info(colors.green(`Config loaded for ${module.module}`));
316+
}
317+
}
323318
if (Utils.moduleHasValidPosition(module.position) || typeof (module.position) === "undefined") {
324319
// Only add this module to be loaded if it is not a duplicate (repeated instance of the same module)
325320
if (!modules.includes(module.module)) {

js/loader.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,12 @@ const Loader = (function () {
150150
*/
151151
const bootstrapModule = async function (module, mObj) {
152152
if (module.moduleConfig) {
153-
Log.log(`Init config for: ${module.name}`);
154153
await mObj.moduleConfig(module);
154+
Log.log(`Config loaded for: ${module.name}`);
155155
}
156+
156157
Log.info(`Bootstrapping module: ${module.name}`);
157-
mObj.setData(module);
158+
await mObj.setData(module);
158159

159160
await mObj.loadScripts();
160161
Log.log(`Scripts loaded for: ${module.name}`);

js/module.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,16 +227,17 @@ const Module = Class.extend({
227227
},
228228

229229
moduleConfig (module) {
230-
console.log("ok", module);
231230
return new Promise(function (resolve) {
232-
fetch(`${module.path}/config/config.js`)
231+
fetch(`${module.path}/config/${module.moduleConfig}`)
233232
.then((response) => response.text())
234233
.then((txt) => {
235-
console.log("1--->", txt);
236234
const definedConfig = eval(txt);
237-
console.log("2---->", definedConfig);
238-
//module.config = json
239-
//resolve()
235+
module.config = definedConfig;
236+
resolve();
237+
})
238+
.catch((error) => {
239+
console.error("Error when loading File:", error);
240+
resolve();
240241
});
241242
});
242243
},

0 commit comments

Comments
 (0)