more compatible app loader

pull/1330/head
Gordon Williams 2022-01-20 17:08:31 +00:00
parent 72e9a576e0
commit e997ad59ed
1 changed files with 16 additions and 6 deletions

View File

@ -13,6 +13,7 @@ for Noble.
var SETTINGS = { var SETTINGS = {
pretokenise : true pretokenise : true
}; };
var APPSDIR = __dirname+"/../apps/";
var Utils = require("../core/js/utils.js"); var Utils = require("../core/js/utils.js");
var AppInfo = require("../core/js/appinfo.js"); var AppInfo = require("../core/js/appinfo.js");
var noble; var noble;
@ -29,18 +30,27 @@ if (!noble) {
console.log(" npm install noble") console.log(" npm install noble")
} }
var apps; var apps = [];
function ERROR(msg) { function ERROR(msg) {
console.error(msg); console.error(msg);
process.exit(1); process.exit(1);
} }
try { var apps = [];
apps = JSON.parse(require("fs").readFileSync(__dirname+"/../apps.json")); var dirs = require("fs").readdirSync(APPSDIR, {withFileTypes: true});
} catch(e) { dirs.forEach(dir => {
ERROR("'apps.json' could not be loaded"); var appsFile;
} if (dir.name.startsWith("_example") || !dir.isDirectory())
return;
try {
appsFile = require("fs").readFileSync(APPSDIR+dir.name+"/metadata.json").toString();
} catch (e) {
ERROR(dir.name+"/metadata.json does not exist");
return;
}
apps.push(JSON.parse(appsFile));
});
var args = process.argv; var args = process.argv;