@eggjs/tegg-config 4.0.0-beta.8 → 4.0.0-beta.9

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/dist/agent.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { App } from "./app-DV97Jgvz.js";
2
- export { App as default };
1
+ import TeggConfigAppHook from './app.ts';
2
+ export default TeggConfigAppHook;
package/dist/agent.js CHANGED
@@ -1,8 +1,3 @@
1
- import "./ModuleScanner-bAAIC9jB.js";
2
- import { App } from "./app-CK_mbdMb.js";
3
-
4
- //#region src/agent.ts
5
- var agent_default = App;
6
-
7
- //#endregion
8
- export { agent_default as default };
1
+ import TeggConfigAppHook from "./app.js";
2
+ export default TeggConfigAppHook;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxpQkFBaUIsTUFBTSxVQUFVLENBQUM7QUFFekMsZUFBZSxpQkFBaUIsQ0FBQyJ9
package/dist/app.d.ts CHANGED
@@ -1,2 +1,16 @@
1
- import { App } from "./app-DV97Jgvz.js";
2
- export { App as default };
1
+ import type { Application, ILifecycleBoot } from 'egg';
2
+ import type { ModuleReference, ModuleConfigHolder } from '@eggjs/tegg-common-util';
3
+ export default class App implements ILifecycleBoot {
4
+ private readonly app;
5
+ constructor(app: Application);
6
+ configWillLoad(): void;
7
+ beforeClose(): Promise<void>;
8
+ }
9
+ declare module 'egg' {
10
+ interface ModuleConfig {
11
+ }
12
+ interface EggApplicationCore {
13
+ moduleReferences: readonly ModuleReference[];
14
+ moduleConfigs: Record<string, ModuleConfigHolder>;
15
+ }
16
+ }
package/dist/app.js CHANGED
@@ -1,4 +1,37 @@
1
- import "./ModuleScanner-bAAIC9jB.js";
2
- import { App } from "./app-CK_mbdMb.js";
3
-
4
- export { App as default };
1
+ import { debuglog } from 'node:util';
2
+ import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
3
+ import { ModuleScanner } from "./lib/ModuleScanner.js";
4
+ const debug = debuglog('tegg/plugin/config/app');
5
+ export default class App {
6
+ app;
7
+ constructor(app) {
8
+ this.app = app;
9
+ const configNames = this.app.loader.getTypeFiles('module');
10
+ ModuleConfigUtil.setConfigNames(configNames);
11
+ }
12
+ configWillLoad() {
13
+ const { readModuleOptions } = this.app.config.tegg;
14
+ const moduleScanner = new ModuleScanner(this.app.baseDir, readModuleOptions);
15
+ this.app.moduleReferences = moduleScanner.loadModuleReferences();
16
+ debug('load moduleReferences: %o', this.app.moduleReferences);
17
+ this.app.moduleConfigs = {};
18
+ for (const reference of this.app.moduleReferences) {
19
+ const absoluteRef = {
20
+ path: ModuleConfigUtil.resolveModuleDir(reference.path, this.app.baseDir),
21
+ name: reference.name,
22
+ optional: reference.optional,
23
+ };
24
+ const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
25
+ this.app.moduleConfigs[moduleName] = {
26
+ name: moduleName,
27
+ reference: absoluteRef,
28
+ config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path),
29
+ };
30
+ }
31
+ debug('load moduleConfigs: %o', this.app.moduleConfigs);
32
+ }
33
+ async beforeClose() {
34
+ ModuleConfigUtil.setConfigNames(undefined);
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVqRCxNQUFNLENBQUMsT0FBTyxPQUFPLEdBQUc7SUFDTCxHQUFHLENBQWM7SUFFbEMsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2pFLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xELE1BQU0sV0FBVyxHQUFvQjtnQkFDbkMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3pFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO2FBQzdCLENBQUM7WUFFRixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUc7Z0JBQ25DLElBQUksRUFBRSxVQUFVO2dCQUNoQixTQUFTLEVBQUUsV0FBVztnQkFDdEIsTUFBTSxFQUFFLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7YUFDaEUsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIn0=
@@ -1,2 +1,13 @@
1
- import { _default } from "../config.default-DDmvKpMT.js";
2
- export { _default as default };
1
+ import { type ReadModuleReferenceOptions } from '@eggjs/tegg-common-util';
2
+ declare const _default: import("egg").EggConfigFactory;
3
+ export default _default;
4
+ declare module 'egg' {
5
+ interface EggAppConfig {
6
+ /**
7
+ * tegg config
8
+ */
9
+ tegg: {
10
+ readModuleOptions: ReadModuleReferenceOptions;
11
+ };
12
+ }
13
+ }
@@ -1,3 +1,14 @@
1
- import { config_default_default } from "../config.default-DePuDzML.js";
2
-
3
- export { config_default_default as default };
1
+ import { defineConfigFactory } from 'egg';
2
+ import {} from '@eggjs/tegg-common-util';
3
+ export default defineConfigFactory(appInfo => {
4
+ return {
5
+ tegg: {
6
+ readModuleOptions: {
7
+ // https://github.com/eggjs/tegg/blob/33e749cc82a74411684db360b30f24ed0083dd95/core/common-util/src/ModuleConfig.ts#L29
8
+ deep: 10,
9
+ cwd: appInfo.baseDir,
10
+ },
11
+ },
12
+ };
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUMxQyxPQUFPLEVBQW1DLE1BQU0seUJBQXlCLENBQUM7QUFFMUUsZUFBZSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtJQUMzQyxPQUFPO1FBQ0wsSUFBSSxFQUFFO1lBQ0osaUJBQWlCLEVBQUU7Z0JBQ2pCLHVIQUF1SDtnQkFDdkgsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQ3JCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
package/dist/index.d.ts CHANGED
@@ -1,3 +1 @@
1
- import "./app-DV97Jgvz.js";
2
- import "./config.default-DDmvKpMT.js";
3
- import "./types-DZQk5nVn.js";
1
+ import './types.ts';
package/dist/index.js CHANGED
@@ -1,6 +1,2 @@
1
- import "./ModuleScanner-bAAIC9jB.js";
2
- import "./app-CK_mbdMb.js";
3
- import "./config.default-DePuDzML.js";
4
- import "./types-DtTnp0o0.js";
5
-
6
- export { };
1
+ import "./types.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
@@ -1,15 +1,11 @@
1
- import { ModuleReference, ReadModuleReferenceOptions } from "@eggjs/tegg-common-util";
2
-
3
- //#region src/lib/ModuleScanner.d.ts
4
- declare class ModuleScanner {
5
- private readonly baseDir;
6
- private readonly readModuleOptions;
7
- constructor(baseDir: string, readModuleOptions: ReadModuleReferenceOptions);
8
- /**
9
- * - load module references from config or scan from baseDir
10
- * - load framework module as optional module reference
11
- */
12
- loadModuleReferences(): readonly ModuleReference[];
1
+ import { type ModuleReference, type 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[];
13
11
  }
14
- //#endregion
15
- export { ModuleScanner };
@@ -1,3 +1,45 @@
1
- import { ModuleScanner } from "../ModuleScanner-bAAIC9jB.js";
2
-
3
- export { ModuleScanner };
1
+ import path from 'node:path';
2
+ import { readFileSync } from 'node:fs';
3
+ import { debuglog } from 'node:util';
4
+ import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
5
+ import { importResolve } from '@eggjs/utils';
6
+ const debug = debuglog('tegg/plugin/config/ModuleScanner');
7
+ export class ModuleScanner {
8
+ baseDir;
9
+ readModuleOptions;
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
+ const moduleReferences = ModuleConfigUtil.readModuleReference(this.baseDir, this.readModuleOptions || {});
20
+ const appPkg = JSON.parse(readFileSync(path.join(this.baseDir, 'package.json'), 'utf-8'));
21
+ const framework = appPkg.egg?.framework;
22
+ if (!framework) {
23
+ return moduleReferences;
24
+ }
25
+ const frameworkPkg = importResolve(`${framework}/package.json`, {
26
+ paths: [this.baseDir],
27
+ });
28
+ const frameworkDir = path.dirname(frameworkPkg);
29
+ debug('loadModuleReferences from framework:%o, frameworkDir:%o', framework, frameworkDir);
30
+ const optionalModuleReferences = ModuleConfigUtil.readModuleReference(frameworkDir, this.readModuleOptions || {});
31
+ const result = [
32
+ ...moduleReferences,
33
+ ];
34
+ for (const optionalModuleReference of optionalModuleReferences) {
35
+ if (!result.some(t => t.path === optionalModuleReference.path)) {
36
+ result.push({
37
+ ...optionalModuleReference,
38
+ optional: true,
39
+ });
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvTW9kdWxlU2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBeUQsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTNELE1BQU0sT0FBTyxhQUFhO0lBQ1AsT0FBTyxDQUFTO0lBQ2hCLGlCQUFpQixDQUE2QjtJQUUvRCxZQUFZLE9BQWUsRUFBRSxpQkFBNkM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0I7UUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRyxNQUFNLE1BQU0sR0FBcUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLEdBQUcsU0FBUyxlQUFlLEVBQUU7WUFDOUQsS0FBSyxFQUFFLENBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUN4QixDQUFDLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyx5REFBeUQsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUYsTUFBTSx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xILE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxnQkFBZ0I7U0FDcEIsQ0FBQztRQUNGLEtBQUssTUFBTSx1QkFBdUIsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLEdBQUcsdUJBQXVCO29CQUMxQixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiJ9
package/dist/types.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import "./app-DV97Jgvz.js";
2
- import "./config.default-DDmvKpMT.js";
3
- import "./types-DZQk5nVn.js";
1
+ import './config/config.default.ts';
2
+ import './app.ts';
package/dist/types.js CHANGED
@@ -1,6 +1,3 @@
1
- import "./ModuleScanner-bAAIC9jB.js";
2
- import "./app-CK_mbdMb.js";
3
- import "./config.default-DePuDzML.js";
4
- import "./types-DtTnp0o0.js";
5
-
6
- export { };
1
+ import "./config/config.default.js";
2
+ import "./app.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLFVBQVUsQ0FBQyJ9
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "eggPlugin": {
4
4
  "name": "teggConfig"
5
5
  },
6
- "version": "4.0.0-beta.8",
6
+ "version": "4.0.0-beta.9",
7
7
  "description": "module config plugin for egg",
8
8
  "keywords": [
9
9
  "egg",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@eggjs/utils": "beta",
43
- "@eggjs/tegg-common-util": "4.0.0-beta.8"
43
+ "@eggjs/tegg-common-util": "4.0.0-beta.9"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "egg": "beta"
@@ -61,7 +61,7 @@
61
61
  "types": "./dist/index.d.ts",
62
62
  "scripts": {
63
63
  "clean": "rimraf dist",
64
- "build": "tsdown",
64
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc",
65
65
  "typecheck": "tsc --noEmit"
66
66
  }
67
67
  }
@@ -1,38 +0,0 @@
1
- import { debuglog } from "node:util";
2
- import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
3
- import path from "node:path";
4
- import { readFileSync } from "node:fs";
5
- import { importResolve } from "@eggjs/utils";
6
-
7
- //#region src/lib/ModuleScanner.ts
8
- const debug = debuglog("tegg/plugin/config/ModuleScanner");
9
- var ModuleScanner = class {
10
- baseDir;
11
- readModuleOptions;
12
- constructor(baseDir, readModuleOptions) {
13
- this.baseDir = baseDir;
14
- this.readModuleOptions = readModuleOptions;
15
- }
16
- /**
17
- * - load module references from config or scan from baseDir
18
- * - load framework module as optional module reference
19
- */
20
- loadModuleReferences() {
21
- const moduleReferences = ModuleConfigUtil.readModuleReference(this.baseDir, this.readModuleOptions || {});
22
- const framework = JSON.parse(readFileSync(path.join(this.baseDir, "package.json"), "utf-8")).egg?.framework;
23
- if (!framework) return moduleReferences;
24
- const frameworkPkg = importResolve(`${framework}/package.json`, { paths: [this.baseDir] });
25
- const frameworkDir = path.dirname(frameworkPkg);
26
- debug("loadModuleReferences from framework:%o, frameworkDir:%o", framework, frameworkDir);
27
- const optionalModuleReferences = ModuleConfigUtil.readModuleReference(frameworkDir, this.readModuleOptions || {});
28
- const result = [...moduleReferences];
29
- for (const optionalModuleReference of optionalModuleReferences) if (!result.some((t) => t.path === optionalModuleReference.path)) result.push({
30
- ...optionalModuleReference,
31
- optional: true
32
- });
33
- return result;
34
- }
35
- };
36
-
37
- //#endregion
38
- export { ModuleScanner };
@@ -1,41 +0,0 @@
1
- import { ModuleScanner } from "./ModuleScanner-bAAIC9jB.js";
2
- import { debuglog } from "node:util";
3
- import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
4
-
5
- //#region src/app.ts
6
- const debug = debuglog("tegg/plugin/config/app");
7
- var App = class {
8
- app;
9
- constructor(app) {
10
- this.app = app;
11
- const configNames = this.app.loader.getTypeFiles("module");
12
- ModuleConfigUtil.setConfigNames(configNames);
13
- }
14
- configWillLoad() {
15
- const { readModuleOptions } = this.app.config.tegg;
16
- const moduleScanner = new ModuleScanner(this.app.baseDir, readModuleOptions);
17
- this.app.moduleReferences = moduleScanner.loadModuleReferences();
18
- debug("load moduleReferences: %o", this.app.moduleReferences);
19
- this.app.moduleConfigs = {};
20
- for (const reference of this.app.moduleReferences) {
21
- const absoluteRef = {
22
- path: ModuleConfigUtil.resolveModuleDir(reference.path, this.app.baseDir),
23
- name: reference.name,
24
- optional: reference.optional
25
- };
26
- const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
27
- this.app.moduleConfigs[moduleName] = {
28
- name: moduleName,
29
- reference: absoluteRef,
30
- config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path)
31
- };
32
- }
33
- debug("load moduleConfigs: %o", this.app.moduleConfigs);
34
- }
35
- async beforeClose() {
36
- ModuleConfigUtil.setConfigNames(void 0);
37
- }
38
- };
39
-
40
- //#endregion
41
- export { App };
@@ -1,19 +0,0 @@
1
- import { ModuleConfigHolder, ModuleReference } from "@eggjs/tegg-common-util";
2
- import { Application, ILifecycleBoot } from "egg";
3
-
4
- //#region src/app.d.ts
5
- declare class App implements ILifecycleBoot {
6
- private readonly app;
7
- constructor(app: Application);
8
- configWillLoad(): void;
9
- beforeClose(): Promise<void>;
10
- }
11
- declare module 'egg' {
12
- interface ModuleConfig {}
13
- interface EggApplicationCore {
14
- moduleReferences: readonly ModuleReference[];
15
- moduleConfigs: Record<string, ModuleConfigHolder>;
16
- }
17
- }
18
- //#endregion
19
- export { App };
@@ -1,17 +0,0 @@
1
- import { ReadModuleReferenceOptions } from "@eggjs/tegg-common-util";
2
- import * as egg0 from "egg";
3
-
4
- //#region src/config/config.default.d.ts
5
- declare const _default: egg0.EggConfigFactory;
6
- declare module 'egg' {
7
- interface EggAppConfig {
8
- /**
9
- * tegg config
10
- */
11
- tegg: {
12
- readModuleOptions: ReadModuleReferenceOptions;
13
- };
14
- }
15
- }
16
- //#endregion
17
- export { _default };
@@ -1,13 +0,0 @@
1
- import "@eggjs/tegg-common-util";
2
- import { defineConfigFactory } from "egg";
3
-
4
- //#region src/config/config.default.ts
5
- var config_default_default = defineConfigFactory((appInfo) => {
6
- return { tegg: { readModuleOptions: {
7
- deep: 10,
8
- cwd: appInfo.baseDir
9
- } } };
10
- });
11
-
12
- //#endregion
13
- export { config_default_default };
@@ -1 +0,0 @@
1
- export { };
@@ -1 +0,0 @@
1
- export { };