@@ -5,6 +5,7 @@ const fs = require("node:fs");
55const path = require ( "node:path" ) ;
66const envsub = require ( "envsub" ) ;
77const Log = require ( "logger" ) ;
8+ const colors = require ( "ansis" ) ;
89
910const Server = require ( `${ __dirname } /server` ) ;
1011const 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 ) ) {
0 commit comments