UNPKG

@eggjs/tegg-config

Version:

module config plugin for egg

42 lines 3.6 kB
"use strict"; 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 tegg_common_util_1.ModuleConfigUtil.deduplicateModules(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 allModuleReferences = [ ...moduleReferences, ...optionalModuleReferences.map(ref => ({ ...ref, optional: true })), ]; return tegg_common_util_1.ModuleConfigUtil.deduplicateModules(allModuleReferences); } } exports.ModuleScanner = ModuleScanner; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQXdHO0FBQ3hHLGdEQUF3QjtBQUV4QixNQUFhLGFBQWE7SUFJeEIsWUFBWSxPQUFlLEVBQUUsaUJBQTZDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9COztRQUNsQixNQUFNLGdCQUFnQixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLDhEQUE4RDtRQUM5RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsR0FBRywwQ0FBRSxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCw4REFBOEQ7UUFDOUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFNBQVMsZUFBZSxFQUFFO1lBQ2hFLEtBQUssRUFBRSxDQUFFLElBQUksQ0FBQyxPQUFPLENBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRCxNQUFNLHdCQUF3QixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbEgsY0FBYztRQUNkLE1BQU0sbUJBQW1CLEdBQUc7WUFDMUIsR0FBRyxnQkFBZ0I7WUFDbkIsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDckUsQ0FBQztRQUVGLE9BQU8sbUNBQWdCLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUFwQ0Qsc0NBb0NDIn0=