Refresh external modules when trying to load a plugin that requires a module that doesn’t exist
This commit is contained in:
parent
c05179da4b
commit
d81e92ce55
|
@ -100,12 +100,21 @@ export default class PluginManager extends ContentManager {
|
|||
|
||||
const deps = this.pluginDependencies[paths.contentPath] = {};
|
||||
if (dependencies) {
|
||||
let refreshedModules = false;
|
||||
|
||||
for (const [key, value] of Object.entries(dependencies)) {
|
||||
const extModule = ExtModuleManager.findModule(key);
|
||||
let extModule = ExtModuleManager.findModule(key);
|
||||
if (!extModule) {
|
||||
throw {message: `Dependency ${key}:${value} is not loaded.`};
|
||||
if (!refreshedModules) {
|
||||
await ExtModuleManager.refreshContent(true);
|
||||
refreshedModules = true;
|
||||
}
|
||||
|
||||
extModule = ExtModuleManager.findModule(key);
|
||||
if (!extModule) throw {message: `Dependency ${key} is not loaded.`};
|
||||
}
|
||||
deps[key] = extModule.__require;
|
||||
|
||||
deps[key] = deps[extModule.id] = extModule.__require;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
},
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"example-module": "1.0"
|
||||
"Example Module": "1.0"
|
||||
},
|
||||
"defaultConfig": [
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue