File tree Expand file tree Collapse file tree 1 file changed +14
-3
lines changed
engine/core/src/main/resources/view/core Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -92,11 +92,22 @@ export class Drawer {
9292
9393 instantiateModules ( ) {
9494 this . modules = { }
95- for ( const Module of config . modules ) {
95+
96+ const moduleNames = config . modules . map ( Module => Module . moduleName ?? Module . name )
97+
98+ for ( let idx = 0 ; idx < config . modules . length ; ++ idx ) {
99+ const Module = config . modules [ idx ]
96100 try {
97- this . modules [ Module . moduleName || Module . name ] = new Module ( assets )
101+ const dependencies = Module . dependencies ?? [ ]
102+ for ( let dep of dependencies ) {
103+ if ( ! moduleNames . slice ( 0 , idx ) . includes ( dep ) ) {
104+ throw new Error ( `Required module "${ dep } " not yet loaded. Make sure it comes first in your config.js "modules" array` )
105+ }
106+ }
107+
108+ this . modules [ Module . moduleName ?? Module . name ] = new Module ( assets )
98109 } catch ( error ) {
99- this . handleModuleError ( Module . moduleName || Module . name , error )
110+ this . handleModuleError ( Module . moduleName ?? Module . name , error )
100111 }
101112 }
102113 }
You can’t perform that action at this time.
0 commit comments