@eggjs/tegg-config
Version:
module config plugin for egg
48 lines • 3.74 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModuleScanner = void 0;
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const path_1 = __importDefault(require("path"));
class ModuleScanner {
constructor(baseDir, readModuleOptions) {
this.baseDir = baseDir;
this.readModuleOptions = readModuleOptions;
}
/**
* - load module references from config or scan from baseDir
* - load framework module as optional module reference
*/
loadModuleReferences() {
var _a;
const moduleReferences = tegg_common_util_1.ModuleConfigUtil.readModuleReference(this.baseDir, this.readModuleOptions || {});
// eslint-disable-next-line @typescript-eslint/no-var-requires
const appPkg = require(path_1.default.join(this.baseDir, 'package.json'));
const framework = (_a = appPkg.egg) === null || _a === void 0 ? void 0 : _a.framework;
if (!framework) {
return moduleReferences;
}
// eslint-disable-next-line @typescript-eslint/no-var-requires
const frameworkPkg = require.resolve(`${framework}/package.json`, {
paths: [this.baseDir],
});
const frameworkDir = path_1.default.dirname(frameworkPkg);
const optionalModuleReferences = tegg_common_util_1.ModuleConfigUtil.readModuleReference(frameworkDir, this.readModuleOptions || {});
const result = [
...moduleReferences,
];
for (const optionalModuleReference of optionalModuleReferences) {
if (!result.some(t => t.path === optionalModuleReference.path)) {
result.push({
...optionalModuleReference,
optional: true,
});
}
}
return result;
}
}
exports.ModuleScanner = ModuleScanner;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQXdHO0FBQ3hHLGdEQUF3QjtBQUV4QixNQUFhLGFBQWE7SUFJeEIsWUFBWSxPQUFlLEVBQUUsaUJBQTZDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9COztRQUNsQixNQUFNLGdCQUFnQixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLDhEQUE4RDtRQUM5RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsR0FBRywwQ0FBRSxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO1FBQ0QsOERBQThEO1FBQzlELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLGVBQWUsRUFBRTtZQUNoRSxLQUFLLEVBQUUsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsTUFBTSx3QkFBd0IsR0FBRyxtQ0FBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxnQkFBZ0I7U0FDcEIsQ0FBQztRQUNGLEtBQUssTUFBTSx1QkFBdUIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLEdBQUcsdUJBQXVCO29CQUMxQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQXhDRCxzQ0F3Q0MifQ==