@eggjs/tegg-config
Version:
module config plugin for egg
35 lines • 3.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const ModuleScanner_1 = require("./lib/ModuleScanner");
class App {
constructor(app) {
this.app = app;
const configNames = this.app.loader.getTypeFiles('module');
tegg_common_util_1.ModuleConfigUtil.setConfigNames(configNames);
}
configWillLoad() {
const { readModuleOptions } = this.app.config.tegg || {};
const moduleScanner = new ModuleScanner_1.ModuleScanner(this.app.baseDir, readModuleOptions);
this.app.moduleReferences = moduleScanner.loadModuleReferences();
this.app.moduleConfigs = {};
for (const reference of this.app.moduleReferences) {
const absoluteRef = {
path: tegg_common_util_1.ModuleConfigUtil.resolveModuleDir(reference.path, this.app.baseDir),
name: reference.name,
optional: reference.optional,
};
const moduleName = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
this.app.moduleConfigs[moduleName] = {
name: moduleName,
reference: absoluteRef,
config: tegg_common_util_1.ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path),
};
}
}
async beforeClose() {
tegg_common_util_1.ModuleConfigUtil.setConfigNames(undefined);
}
}
exports.default = App;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOERBQTJEO0FBRTNELHVEQUFvRDtBQUVwRCxNQUFxQixHQUFHO0lBR3RCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsbUNBQWdCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRWpFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUU1QixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsRCxNQUFNLFdBQVcsR0FBb0I7Z0JBQ25DLElBQUksRUFBRSxtQ0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUN6RSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7Z0JBQ3BCLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTthQUM3QixDQUFDO1lBRUYsTUFBTSxVQUFVLEdBQUcsbUNBQWdCLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHO2dCQUNuQyxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLE1BQU0sRUFBRSxtQ0FBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2FBQ2hFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsbUNBQWdCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQW5DRCxzQkFtQ0MifQ==