@eggjs/tegg-config 3.29.0 → 3.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/app.js CHANGED
@@ -1,18 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tegg_common_util_1 = require("@eggjs/tegg-common-util");
4
+ const ModuleScanner_1 = require("./lib/ModuleScanner");
4
5
  class App {
5
6
  constructor(app) {
6
7
  this.app = app;
7
8
  }
8
9
  configWillLoad() {
9
10
  const { readModuleOptions } = this.app.config.tegg || {};
10
- this.app.moduleReferences = tegg_common_util_1.ModuleConfigUtil.readModuleReference(this.app.baseDir, readModuleOptions || {});
11
+ const moduleScanner = new ModuleScanner_1.ModuleScanner(this.app.baseDir, readModuleOptions);
12
+ this.app.moduleReferences = moduleScanner.loadModuleReferences();
11
13
  this.app.moduleConfigs = {};
12
14
  for (const reference of this.app.moduleReferences) {
13
15
  const absoluteRef = {
14
16
  path: tegg_common_util_1.ModuleConfigUtil.resolveModuleDir(reference.path, this.app.baseDir),
15
17
  name: reference.name,
18
+ optional: reference.optional,
16
19
  };
17
20
  const moduleName = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
18
21
  this.app.moduleConfigs[moduleName] = {
@@ -24,4 +27,4 @@ class App {
24
27
  }
25
28
  }
26
29
  exports.default = App;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOERBQTJEO0FBRTNELE1BQXFCLEdBQUc7SUFHdEIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxtQ0FBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbEQsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxtQ0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUN6RSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7YUFDckIsQ0FBQztZQUVGLE1BQU0sVUFBVSxHQUFHLG1DQUFnQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDbkMsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixNQUFNLEVBQUUsbUNBQWdCLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTthQUN0RyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRjtBQXpCRCxzQkF5QkMifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsOERBQTRFO0FBQzVFLHVEQUFvRDtBQUVwRCxNQUFxQixHQUFHO0lBR3RCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xELE1BQU0sV0FBVyxHQUFvQjtnQkFDbkMsSUFBSSxFQUFFLG1DQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3pFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO2FBQzdCLENBQUM7WUFFRixNQUFNLFVBQVUsR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUc7Z0JBQ25DLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsV0FBVztnQkFDdEIsTUFBTSxFQUFFLG1DQUFnQixDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7YUFDdEcsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE1QkQsc0JBNEJDIn0=
@@ -0,0 +1,11 @@
1
+ import { ModuleReference, ReadModuleReferenceOptions } from '@eggjs/tegg-common-util';
2
+ export declare class ModuleScanner {
3
+ private readonly baseDir;
4
+ private readonly readModuleOptions;
5
+ constructor(baseDir: string, readModuleOptions: ReadModuleReferenceOptions);
6
+ /**
7
+ * - load module references from config or scan from baseDir
8
+ * - load framework module as optional module reference
9
+ */
10
+ loadModuleReferences(): readonly ModuleReference[];
11
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ModuleScanner = void 0;
7
+ const tegg_common_util_1 = require("@eggjs/tegg-common-util");
8
+ const path_1 = __importDefault(require("path"));
9
+ class ModuleScanner {
10
+ constructor(baseDir, readModuleOptions) {
11
+ this.baseDir = baseDir;
12
+ this.readModuleOptions = readModuleOptions;
13
+ }
14
+ /**
15
+ * - load module references from config or scan from baseDir
16
+ * - load framework module as optional module reference
17
+ */
18
+ loadModuleReferences() {
19
+ var _a;
20
+ const moduleReferences = tegg_common_util_1.ModuleConfigUtil.readModuleReference(this.baseDir, this.readModuleOptions || {});
21
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
22
+ const appPkg = require(path_1.default.join(this.baseDir, 'package.json'));
23
+ const framework = (_a = appPkg.egg) === null || _a === void 0 ? void 0 : _a.framework;
24
+ if (!framework) {
25
+ return moduleReferences;
26
+ }
27
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
28
+ const frameworkPkg = require.resolve(`${framework}/package.json`, {
29
+ paths: [this.baseDir],
30
+ });
31
+ const frameworkDir = path_1.default.dirname(frameworkPkg);
32
+ const optionalModuleReferences = tegg_common_util_1.ModuleConfigUtil.readModuleReference(frameworkDir, this.readModuleOptions || {});
33
+ return [
34
+ ...moduleReferences,
35
+ ...optionalModuleReferences.map(t => {
36
+ return {
37
+ ...t,
38
+ optional: true,
39
+ };
40
+ }),
41
+ ];
42
+ }
43
+ }
44
+ exports.ModuleScanner = ModuleScanner;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQXdHO0FBQ3hHLGdEQUF3QjtBQUV4QixNQUFhLGFBQWE7SUFJeEIsWUFBWSxPQUFlLEVBQUUsaUJBQTZDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9COztRQUNsQixNQUFNLGdCQUFnQixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLDhEQUE4RDtRQUM5RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsR0FBRywwQ0FBRSxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO1FBQ0QsOERBQThEO1FBQzlELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLGVBQWUsRUFBRTtZQUNoRSxLQUFLLEVBQUUsQ0FBRSxJQUFJLENBQUMsT0FBTyxDQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsTUFBTSx3QkFBd0IsR0FBRyxtQ0FBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILE9BQU87WUFDTCxHQUFHLGdCQUFnQjtZQUNuQixHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsT0FBTztvQkFDTCxHQUFHLENBQUM7b0JBQ0osUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQ0Qsc0NBcUNDIn0=
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "eggPlugin": {
4
4
  "name": "teggConfig"
5
5
  },
6
- "version": "3.29.0",
6
+ "version": "3.30.0",
7
7
  "description": "module config plugin for egg",
8
8
  "keywords": [
9
9
  "egg",
@@ -17,6 +17,8 @@
17
17
  "app.js",
18
18
  "app.d.ts",
19
19
  "typings/index.d.ts",
20
+ "lib/**/*.js",
21
+ "lib/**/*.d.ts",
20
22
  "agent.js",
21
23
  "agent.d.ts"
22
24
  ],
@@ -41,7 +43,7 @@
41
43
  "node": ">=14.0.0"
42
44
  },
43
45
  "dependencies": {
44
- "@eggjs/tegg-common-util": "^3.29.0"
46
+ "@eggjs/tegg-common-util": "^3.30.0"
45
47
  },
46
48
  "devDependencies": {
47
49
  "@types/mocha": "^10.0.1",
@@ -55,5 +57,5 @@
55
57
  "publishConfig": {
56
58
  "access": "public"
57
59
  },
58
- "gitHead": "bc9d4257fa2d8c0596841593419ab59b304e87f1"
60
+ "gitHead": "7ac47ca5919b706c6e65a004bef9ad48a33ee106"
59
61
  }