Ensure packages loaded are directories
This commit is contained in:
parent
0b3741859f
commit
b5d96d215f
@ -39,34 +39,40 @@ function loadPackages() {
|
|||||||
if (err) {
|
if (err) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
packages.forEach((packageName) => {
|
|
||||||
const packageFile = getModuleInfo(packageName);
|
|
||||||
if (!packageFile) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
packageMap.set(packageName, packageFile);
|
|
||||||
if (packageFile.type === "theme") {
|
|
||||||
themes.addTheme(packageName, packageFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (packageFile.onServerStart) {
|
packages.forEach((packageName) => {
|
||||||
packageFile.onServerStart(packageApis(packageName));
|
fs.stat(Helper.getPackageModulePath(packageName), function(err2, stat) {
|
||||||
}
|
if (err2 || !stat.isDirectory()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const packageFile = getModuleInfo(packageName);
|
||||||
|
|
||||||
|
if (!packageFile) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
packageMap.set(packageName, packageFile);
|
||||||
|
|
||||||
|
if (packageFile.type === "theme") {
|
||||||
|
themes.addTheme(packageName, packageFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (packageFile.onServerStart) {
|
||||||
|
packageFile.onServerStart(packageApis(packageName));
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getModuleInfo(packageName) {
|
function getModuleInfo(packageName) {
|
||||||
let module;
|
const module = require(Helper.getPackageModulePath(packageName));
|
||||||
try {
|
|
||||||
module = require(Helper.getPackageModulePath(packageName));
|
|
||||||
} catch (e) {
|
|
||||||
log.warn(`Specified package ${colors.yellow(packageName)} is not installed in packages directory`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!module.thelounge) {
|
if (!module.thelounge) {
|
||||||
log.warn(`Specified package ${colors.yellow(packageName)} doesn't have required information.`);
|
log.warn(`Specified package ${colors.yellow(packageName)} doesn't have required information.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return module.thelounge;
|
return module.thelounge;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user