@eggjs/tegg-plugin 4.0.0-beta.9 → 4.0.2-beta.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.
Files changed (49) hide show
  1. package/dist/app/extend/application.d.ts +28 -49
  2. package/dist/app/extend/application.js +69 -79
  3. package/dist/app/extend/application.unittest.d.ts +9 -21
  4. package/dist/app/extend/application.unittest.js +39 -53
  5. package/dist/app/extend/context.d.ts +12 -19
  6. package/dist/app/extend/context.js +27 -34
  7. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +6 -3
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +7 -3
  9. package/dist/app.d.ts +20 -16
  10. package/dist/app.js +50 -56
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +4 -3
  13. package/dist/lib/AppLoadUnit.d.ts +23 -18
  14. package/dist/lib/AppLoadUnit.js +77 -89
  15. package/dist/lib/AppLoadUnitInstance.d.ts +23 -19
  16. package/dist/lib/AppLoadUnitInstance.js +69 -81
  17. package/dist/lib/CompatibleUtil.d.ts +22 -13
  18. package/dist/lib/CompatibleUtil.js +99 -95
  19. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +13 -8
  20. package/dist/lib/ConfigSourceLoadUnitHook.js +20 -20
  21. package/dist/lib/EggAppLoader.d.ts +19 -15
  22. package/dist/lib/EggAppLoader.js +104 -127
  23. package/dist/lib/EggCompatibleObject.d.ts +19 -17
  24. package/dist/lib/EggCompatibleObject.js +34 -40
  25. package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -20
  26. package/dist/lib/EggCompatibleProtoImpl.js +49 -52
  27. package/dist/lib/EggContextCompatibleHook.d.ts +13 -9
  28. package/dist/lib/EggContextCompatibleHook.js +32 -44
  29. package/dist/lib/EggContextHandler.d.ts +12 -8
  30. package/dist/lib/EggContextHandler.js +28 -26
  31. package/dist/lib/EggContextImpl.d.ts +9 -5
  32. package/dist/lib/EggContextImpl.js +18 -15
  33. package/dist/lib/EggModuleLoader.d.ts +16 -10
  34. package/dist/lib/EggModuleLoader.js +53 -53
  35. package/dist/lib/EggQualifierProtoHook.d.ts +13 -9
  36. package/dist/lib/EggQualifierProtoHook.js +46 -62
  37. package/dist/lib/ModuleConfigLoader.d.ts +11 -7
  38. package/dist/lib/ModuleConfigLoader.js +81 -80
  39. package/dist/lib/ModuleHandler.d.ts +17 -12
  40. package/dist/lib/ModuleHandler.js +47 -52
  41. package/dist/lib/Utils.d.ts +4 -1
  42. package/dist/lib/Utils.js +30 -33
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -2
  44. package/dist/lib/ctx_lifecycle_middleware.js +36 -31
  45. package/dist/lib/run_in_background.d.ts +7 -3
  46. package/dist/lib/run_in_background.js +46 -54
  47. package/dist/types.d.ts +54 -8
  48. package/dist/types.js +3 -5
  49. package/package.json +49 -54
@@ -1,10 +1,14 @@
1
- import { type LoadUnitLifecycleContext, type LoadUnit } from '@eggjs/tegg-metadata';
2
- import { type LifecycleHook } from '@eggjs/tegg';
3
- import { Application } from 'egg';
4
- export declare class EggQualifierProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
5
- private readonly app;
6
- constructor(app: Application);
7
- preCreate(ctx: LoadUnitLifecycleContext): Promise<void>;
8
- private isAppObject;
9
- private isCtxObject;
1
+ import { LifecycleHook } from "@eggjs/lifecycle";
2
+ import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/metadata";
3
+ import { Application } from "egg";
4
+
5
+ //#region src/lib/EggQualifierProtoHook.d.ts
6
+ declare class EggQualifierProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
7
+ private readonly app;
8
+ constructor(app: Application);
9
+ preCreate(ctx: LoadUnitLifecycleContext): Promise<void>;
10
+ private isAppObject;
11
+ private isCtxObject;
10
12
  }
13
+ //#endregion
14
+ export { EggQualifierProtoHook };
@@ -1,62 +1,46 @@
1
- import { debuglog } from 'node:util';
2
- import {} from '@eggjs/tegg-metadata';
3
- import { PrototypeUtil, QualifierUtil, EggQualifierAttribute, EggType, } from '@eggjs/tegg';
4
- import { Application } from 'egg';
5
- import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, } from './EggAppLoader.js';
6
- import { ObjectUtils } from '@eggjs/tegg-common-util';
7
- const debug = debuglog('tegg/plugin/tegg/lib/EggQualifierProtoHook');
8
- export class EggQualifierProtoHook {
9
- app;
10
- constructor(app) {
11
- this.app = app;
12
- }
13
- async preCreate(ctx) {
14
- const clazzList = await ctx.loader.load();
15
- const appProperties = ObjectUtils.getProperties(this.app);
16
- const ctxProperties = ObjectUtils.getProperties(this.app.context);
17
- if (debug.enabled) {
18
- debug('preCreate, get clazzList:%o, appProperties:%o, ctxProperties:%o, from unitPath:%o', clazzList.map(t => t.name), appProperties.length, ctxProperties.length, ctx.unitPath);
19
- }
20
- for (const clazz of clazzList) {
21
- const inbjectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
22
- if (debug.enabled && inbjectObjects.length > 0) {
23
- debug('preCreate, get injectObjects:%o, from clazz:%o, from unitPath:%o', inbjectObjects.map(t => t.refName), clazz.name, ctx.unitPath);
24
- }
25
- for (const injectObject of inbjectObjects) {
26
- const propertyQualifiers = QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
27
- const hasEggQualifier = propertyQualifiers.find(t => t.attribute === EggQualifierAttribute);
28
- if (hasEggQualifier) {
29
- continue;
30
- }
31
- if (this.isCtxObject(injectObject.objName, ctxProperties)) {
32
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
33
- }
34
- else if (this.isAppObject(injectObject.objName, appProperties)) {
35
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
36
- debug('preCreate, add proper qualifier:%o to clazz:%o, from unitPath:%o', injectObject.refName, clazz.name, ctx.unitPath);
37
- }
38
- }
39
- }
40
- }
41
- isAppObject(name, appProperties) {
42
- name = String(name);
43
- if (APP_CLAZZ_BLACK_LIST.includes(name)) {
44
- return false;
45
- }
46
- if (DEFAULT_APP_CLAZZ.includes(name)) {
47
- return true;
48
- }
49
- return appProperties.includes(name);
50
- }
51
- isCtxObject(name, ctxProperties) {
52
- name = String(name);
53
- if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) {
54
- return false;
55
- }
56
- if (DEFAULT_CONTEXT_CLAZZ.includes(name)) {
57
- return true;
58
- }
59
- return ctxProperties.includes(name);
60
- }
61
- }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dRdWFsaWZpZXJQcm90b0hvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUVMLGFBQWEsRUFDYixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE9BQU8sR0FDUixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixxQkFBcUIsR0FDdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7QUFFckUsTUFBTSxPQUFPLHFCQUFxQjtJQUNmLEdBQUcsQ0FBYztJQUVsQyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQTZCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLG1GQUFtRixF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
1
+ import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ } from "./EggAppLoader.js";
2
+ import { debuglog } from "node:util";
3
+ import { EggQualifierAttribute, EggType, PrototypeUtil, QualifierUtil } from "@eggjs/core-decorator";
4
+ import { ObjectUtils } from "@eggjs/tegg-common-util";
5
+
6
+ //#region src/lib/EggQualifierProtoHook.ts
7
+ const debug = debuglog("egg/tegg/plugin/tegg/lib/EggQualifierProtoHook");
8
+ var EggQualifierProtoHook = class {
9
+ app;
10
+ constructor(app) {
11
+ this.app = app;
12
+ }
13
+ async preCreate(ctx) {
14
+ const clazzList = await ctx.loader.load();
15
+ const appProperties = ObjectUtils.getProperties(this.app);
16
+ const ctxProperties = ObjectUtils.getProperties(this.app.context);
17
+ if (debug.enabled) debug("preCreate, get clazzList:%o, appProperties:%o, ctxProperties:%o, from unitPath:%o", clazzList.map((t) => t.name), appProperties.length, ctxProperties.length, ctx.unitPath);
18
+ for (const clazz of clazzList) {
19
+ const inbjectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
20
+ if (debug.enabled && inbjectObjects.length > 0) debug("preCreate, get injectObjects:%o, from clazz:%o, from unitPath:%o", inbjectObjects.map((t) => t.refName), clazz.name, ctx.unitPath);
21
+ for (const injectObject of inbjectObjects) {
22
+ if (QualifierUtil.getProperQualifiers(clazz, injectObject.refName).find((t) => t.attribute === EggQualifierAttribute)) continue;
23
+ if (this.isCtxObject(injectObject.objName, ctxProperties)) QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
24
+ else if (this.isAppObject(injectObject.objName, appProperties)) {
25
+ QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
26
+ debug("preCreate, add proper qualifier:%o to clazz:%o, from unitPath:%o", injectObject.refName, clazz.name, ctx.unitPath);
27
+ }
28
+ }
29
+ }
30
+ }
31
+ isAppObject(name, appProperties) {
32
+ name = String(name);
33
+ if (APP_CLAZZ_BLACK_LIST.includes(name)) return false;
34
+ if (DEFAULT_APP_CLAZZ.includes(name)) return true;
35
+ return appProperties.includes(name);
36
+ }
37
+ isCtxObject(name, ctxProperties) {
38
+ name = String(name);
39
+ if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) return false;
40
+ if (DEFAULT_CONTEXT_CLAZZ.includes(name)) return true;
41
+ return ctxProperties.includes(name);
42
+ }
43
+ };
44
+
45
+ //#endregion
46
+ export { EggQualifierProtoHook };
@@ -1,8 +1,12 @@
1
- import { type EggProtoImplClass } from '@eggjs/tegg';
2
- import { Application } from 'egg';
3
- export declare class ModuleConfigLoader {
4
- readonly app: Application;
5
- constructor(app: Application);
6
- private loadModuleConfigs;
7
- loadModuleConfigList(): EggProtoImplClass[];
1
+ import { EggProtoImplClass } from "@eggjs/core-decorator";
2
+ import { Application } from "egg";
3
+
4
+ //#region src/lib/ModuleConfigLoader.d.ts
5
+ declare class ModuleConfigLoader {
6
+ readonly app: Application;
7
+ constructor(app: Application);
8
+ private loadModuleConfigs;
9
+ loadModuleConfigList(): EggProtoImplClass[];
8
10
  }
11
+ //#endregion
12
+ export { ModuleConfigLoader };
@@ -1,81 +1,82 @@
1
- import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ModuleConfigs, ObjectInitType, PrototypeUtil, QualifierUtil, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
2
- import { ModuleConfigUtil } from '@eggjs/tegg/helper';
3
- import { Application } from 'egg';
4
- import { extend } from 'extend2';
5
1
  import { COMPATIBLE_PROTO_IMPLE_TYPE } from "./EggCompatibleProtoImpl.js";
6
- export class ModuleConfigLoader {
7
- app;
8
- constructor(app) {
9
- this.app = app;
10
- }
11
- loadModuleConfigs(moduleConfigMap) {
12
- const moduleConfigs = new ModuleConfigs(moduleConfigMap);
13
- const func = function () {
14
- return moduleConfigs;
15
- };
16
- const name = 'moduleConfigs';
17
- Object.defineProperty(func, 'name', {
18
- value: name,
19
- writable: false,
20
- enumerable: false,
21
- configurable: true,
22
- });
23
- PrototypeUtil.setIsEggPrototype(func);
24
- PrototypeUtil.setFilePath(func, 'mock_file_path');
25
- PrototypeUtil.setProperty(func, {
26
- name,
27
- initType: ObjectInitType.SINGLETON,
28
- accessLevel: AccessLevel.PUBLIC,
29
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
30
- });
31
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
32
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
33
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
34
- return func;
35
- }
36
- loadModuleConfigList() {
37
- const result = [];
38
- const moduleConfigMap = {};
39
- for (const reference of this.app.moduleReferences) {
40
- const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
41
- const defaultConfig = ModuleConfigUtil.loadModuleConfigSync(reference.path, undefined, this.app.config.env);
42
- // @eggjs/tegg-config moduleConfigs[module].config overwrite
43
- const config = extend(true, {}, defaultConfig, this.app.moduleConfigs[moduleName]?.config);
44
- moduleConfigMap[moduleName] = {
45
- name: moduleName,
46
- reference: {
47
- name: moduleName,
48
- path: reference.path,
49
- },
50
- config,
51
- };
52
- const func = function () {
53
- return config;
54
- };
55
- const name = 'moduleConfig';
56
- Object.defineProperty(func, 'name', {
57
- value: name,
58
- writable: false,
59
- enumerable: false,
60
- configurable: true,
61
- });
62
- PrototypeUtil.setIsEggPrototype(func);
63
- PrototypeUtil.setFilePath(func, 'mock_file_path');
64
- PrototypeUtil.setProperty(func, {
65
- name,
66
- initType: ObjectInitType.SINGLETON,
67
- accessLevel: AccessLevel.PUBLIC,
68
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
69
- });
70
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
71
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
72
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
73
- QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
74
- result.push(func);
75
- }
76
- const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
77
- result.push(moduleConfigs);
78
- return result;
79
- }
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Nb2R1bGVDb25maWdMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFBRSxhQUFhLEVBQzdDLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNZLDhCQUE4QixHQUN4RCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixHQUFHLENBQWM7SUFDMUIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBbUQ7UUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQXNCO1lBQzlCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQVEsQ0FBQztRQUNULE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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
2
+ import { AccessLevel, ConfigSourceQualifierAttribute, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, PrototypeUtil, QualifierUtil } from "@eggjs/core-decorator";
3
+ import { ModuleConfigUtil, ModuleConfigs } from "@eggjs/tegg-common-util";
4
+ import { extend } from "extend2";
5
+
6
+ //#region src/lib/ModuleConfigLoader.ts
7
+ var ModuleConfigLoader = class {
8
+ app;
9
+ constructor(app) {
10
+ this.app = app;
11
+ }
12
+ loadModuleConfigs(moduleConfigMap) {
13
+ const moduleConfigs = new ModuleConfigs(moduleConfigMap);
14
+ const func = function() {
15
+ return moduleConfigs;
16
+ };
17
+ const name = "moduleConfigs";
18
+ Object.defineProperty(func, "name", {
19
+ value: name,
20
+ writable: false,
21
+ enumerable: false,
22
+ configurable: true
23
+ });
24
+ PrototypeUtil.setIsEggPrototype(func);
25
+ PrototypeUtil.setFilePath(func, "mock_file_path");
26
+ PrototypeUtil.setProperty(func, {
27
+ name,
28
+ initType: ObjectInitType.SINGLETON,
29
+ accessLevel: AccessLevel.PUBLIC,
30
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE
31
+ });
32
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, "app");
33
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
34
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
35
+ return func;
36
+ }
37
+ loadModuleConfigList() {
38
+ const result = [];
39
+ const moduleConfigMap = {};
40
+ for (const reference of this.app.moduleReferences) {
41
+ const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
42
+ const config = extend(true, {}, ModuleConfigUtil.loadModuleConfigSync(reference.path, void 0, this.app.config.env), this.app.moduleConfigs[moduleName]?.config);
43
+ moduleConfigMap[moduleName] = {
44
+ name: moduleName,
45
+ reference: {
46
+ name: moduleName,
47
+ path: reference.path
48
+ },
49
+ config
50
+ };
51
+ const func = function() {
52
+ return config;
53
+ };
54
+ const name = "moduleConfig";
55
+ Object.defineProperty(func, "name", {
56
+ value: name,
57
+ writable: false,
58
+ enumerable: false,
59
+ configurable: true
60
+ });
61
+ PrototypeUtil.setIsEggPrototype(func);
62
+ PrototypeUtil.setFilePath(func, "mock_file_path");
63
+ PrototypeUtil.setProperty(func, {
64
+ name,
65
+ initType: ObjectInitType.SINGLETON,
66
+ accessLevel: AccessLevel.PUBLIC,
67
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE
68
+ });
69
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, "app");
70
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
71
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
72
+ QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
73
+ result.push(func);
74
+ }
75
+ const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
76
+ result.push(moduleConfigs);
77
+ return result;
78
+ }
79
+ };
80
+
81
+ //#endregion
82
+ export { ModuleConfigLoader };
@@ -1,13 +1,18 @@
1
- import { Base } from 'sdk-base';
2
- import { Application } from 'egg';
3
- import { type LoadUnit } from '@eggjs/tegg-metadata';
4
- import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
5
- export declare class ModuleHandler extends Base {
6
- loadUnits: LoadUnit[];
7
- loadUnitInstances: LoadUnitInstance[];
8
- private readonly loadUnitLoader;
9
- private readonly app;
10
- constructor(app: Application);
11
- init(): Promise<void>;
12
- destroy(): Promise<void>;
1
+ import { GlobalGraphBuildHook, LoadUnit } from "@eggjs/metadata";
2
+ import { LoadUnitInstance } from "@eggjs/tegg-runtime";
3
+ import { Base } from "sdk-base";
4
+ import { Application } from "egg";
5
+
6
+ //#region src/lib/ModuleHandler.d.ts
7
+ declare class ModuleHandler extends Base {
8
+ loadUnits: LoadUnit[];
9
+ loadUnitInstances: LoadUnitInstance[];
10
+ private readonly loadUnitLoader;
11
+ private readonly app;
12
+ constructor(app: Application);
13
+ registerGlobalGraphBuildHook(hook: GlobalGraphBuildHook): void;
14
+ init(): Promise<void>;
15
+ destroy(): Promise<void>;
13
16
  }
17
+ //#endregion
18
+ export { ModuleHandler };
@@ -1,53 +1,48 @@
1
- import { Base } from 'sdk-base';
2
- import { Application, Context } from 'egg';
3
- import { EggLoadUnitType, LoadUnitFactory, } from '@eggjs/tegg-metadata';
4
- import { LoadUnitInstanceFactory } from '@eggjs/tegg-runtime';
5
- import { EggModuleLoader } from "./EggModuleLoader.js";
6
- import { CompatibleUtil } from "./CompatibleUtil.js";
7
1
  import { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl } from "./EggCompatibleProtoImpl.js";
8
- export class ModuleHandler extends Base {
9
- loadUnits = [];
10
- loadUnitInstances = [];
11
- loadUnitLoader;
12
- app;
13
- constructor(app) {
14
- super();
15
- this.app = app;
16
- this.loadUnitLoader = new EggModuleLoader(this.app);
17
- }
18
- async init() {
19
- try {
20
- this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl.create);
21
- await this.loadUnitLoader.load();
22
- const instances = [];
23
- this.app.module = {};
24
- for (const loadUnit of this.loadUnits) {
25
- const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
26
- if (instance.loadUnit.type !== EggLoadUnitType.APP) {
27
- CompatibleUtil.appCompatible(this.app, instance);
28
- }
29
- instances.push(instance);
30
- }
31
- CompatibleUtil.contextModuleCompatible(this.app.context, instances);
32
- this.loadUnitInstances = instances;
33
- this.ready(true);
34
- }
35
- catch (e) {
36
- this.ready(e);
37
- throw e;
38
- }
39
- }
40
- async destroy() {
41
- if (this.loadUnitInstances) {
42
- for (const instance of this.loadUnitInstances) {
43
- await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
44
- }
45
- }
46
- if (this.loadUnits) {
47
- for (const loadUnit of this.loadUnits) {
48
- await LoadUnitFactory.destroyLoadUnit(loadUnit);
49
- }
50
- }
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvTW9kdWxlSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBRWYsZUFBZSxHQUNoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxHLE1BQU0sT0FBTyxhQUFjLFNBQVEsSUFBSTtJQUNyQyxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQzNCLGlCQUFpQixHQUF1QixFQUFFLENBQUM7SUFFMUIsY0FBYyxDQUFrQjtJQUNoQyxHQUFHLENBQWM7SUFFbEMsWUFBWSxHQUFnQjtRQUMxQixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FDMUQsMkJBQTJCLEVBQUUsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFOUQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sU0FBUyxHQUF1QixFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBUyxDQUFDO1lBRTVCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLFFBQVEsR0FBRyxNQUFNLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbkQsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDO2dCQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsQ0FBQztZQUNELGNBQWMsQ0FBQyx1QkFBdUIsQ0FBRSxJQUFJLENBQUMsR0FBVyxDQUFDLE9BQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFVLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzlDLE1BQU0sdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEUsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxlQUFlLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
2
+ import { CompatibleUtil } from "./CompatibleUtil.js";
3
+ import { EggModuleLoader } from "./EggModuleLoader.js";
4
+ import { EggLoadUnitType, LoadUnitFactory } from "@eggjs/metadata";
5
+ import { LoadUnitInstanceFactory } from "@eggjs/tegg-runtime";
6
+ import { Base } from "sdk-base";
7
+
8
+ //#region src/lib/ModuleHandler.ts
9
+ var ModuleHandler = class extends Base {
10
+ loadUnits = [];
11
+ loadUnitInstances = [];
12
+ loadUnitLoader;
13
+ app;
14
+ constructor(app) {
15
+ super();
16
+ this.app = app;
17
+ this.loadUnitLoader = new EggModuleLoader(this.app);
18
+ }
19
+ registerGlobalGraphBuildHook(hook) {
20
+ this.loadUnitLoader.registerBuildHook(hook);
21
+ }
22
+ async init() {
23
+ try {
24
+ this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl.create);
25
+ await this.loadUnitLoader.load();
26
+ const instances = [];
27
+ this.app.module = {};
28
+ for (const loadUnit of this.loadUnits) {
29
+ const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
30
+ if (instance.loadUnit.type !== EggLoadUnitType.APP) CompatibleUtil.appCompatible(this.app, instance);
31
+ instances.push(instance);
32
+ }
33
+ CompatibleUtil.contextModuleCompatible(this.app.context, instances);
34
+ this.loadUnitInstances = instances;
35
+ this.ready(true);
36
+ } catch (e) {
37
+ this.ready(e);
38
+ throw e;
39
+ }
40
+ }
41
+ async destroy() {
42
+ if (this.loadUnitInstances) for (const instance of this.loadUnitInstances) await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
43
+ if (this.loadUnits) for (const loadUnit of this.loadUnits) await LoadUnitFactory.destroyLoadUnit(loadUnit);
44
+ }
45
+ };
46
+
47
+ //#endregion
48
+ export { ModuleHandler };
@@ -1 +1,4 @@
1
- export declare function getCalleeFromStack(withLine: boolean, stackIndex?: number): any;
1
+ //#region src/lib/Utils.d.ts
2
+ declare function getCalleeFromStack(withLine: boolean, stackIndex?: number): string;
3
+ //#endregion
4
+ export { getCalleeFromStack };
package/dist/lib/Utils.js CHANGED
@@ -1,36 +1,33 @@
1
+ //#region src/lib/Utils.ts
1
2
  function prepareObjectStackTrace(_, stack) {
2
- return stack;
3
+ return stack;
3
4
  }
4
- export function getCalleeFromStack(withLine, stackIndex) {
5
- stackIndex = stackIndex === undefined ? 2 : stackIndex;
6
- const limit = Error.stackTraceLimit;
7
- const prep = Error.prepareStackTrace;
8
- Error.prepareStackTrace = prepareObjectStackTrace;
9
- Error.stackTraceLimit = 5;
10
- // capture the stack
11
- const obj = {};
12
- Error.captureStackTrace(obj);
13
- let callSite = obj.stack[stackIndex];
14
- let fileName;
15
- /* istanbul ignore else */
16
- if (callSite) {
17
- // egg-mock will create a proxy
18
- // https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
19
- fileName = callSite.getFileName();
20
- /* istanbul ignore if */
21
- if (fileName && fileName.endsWith('egg-mock/lib/app.js')) {
22
- // TODO: add test
23
- callSite = obj.stack[stackIndex + 1];
24
- fileName = callSite.getFileName();
25
- }
26
- }
27
- Error.prepareStackTrace = prep;
28
- Error.stackTraceLimit = limit;
29
- /* istanbul ignore if */
30
- if (!callSite || !fileName)
31
- return '<anonymous>';
32
- if (!withLine)
33
- return fileName;
34
- return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
5
+ function getCalleeFromStack(withLine, stackIndex) {
6
+ stackIndex = stackIndex === void 0 ? 2 : stackIndex;
7
+ const limit = Error.stackTraceLimit;
8
+ const prep = Error.prepareStackTrace;
9
+ Error.prepareStackTrace = prepareObjectStackTrace;
10
+ Error.stackTraceLimit = 5;
11
+ const obj = {};
12
+ Error.captureStackTrace(obj);
13
+ let callSite = obj.stack[stackIndex];
14
+ let fileName;
15
+ /* istanbul ignore else */
16
+ if (callSite) {
17
+ fileName = callSite.getFileName();
18
+ /* istanbul ignore if */
19
+ if (fileName && fileName.endsWith("egg-mock/lib/app.js")) {
20
+ callSite = obj.stack[stackIndex + 1];
21
+ fileName = callSite.getFileName();
22
+ }
23
+ }
24
+ Error.prepareStackTrace = prep;
25
+ Error.stackTraceLimit = limit;
26
+ /* istanbul ignore if */
27
+ if (!callSite || !fileName) return "<anonymous>";
28
+ if (!withLine) return fileName;
29
+ return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
35
30
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsdUJBQXVCLENBQUMsQ0FBUSxFQUFFLEtBQXdCO0lBQ2pFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFpQixFQUFFLFVBQW1CO0lBQ3ZFLFVBQVUsR0FBRyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUVyQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7SUFDbEQsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFFMUIsb0JBQW9CO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNwQixLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxJQUFJLFFBQVEsQ0FBQztJQUNiLDBCQUEwQjtJQUMxQixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsK0JBQStCO1FBQy9CLGdFQUFnRTtRQUNoRSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLHdCQUF3QjtRQUN4QixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxpQkFBaUI7WUFDakIsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLFFBQVEsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRTlCLHdCQUF3QjtJQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBQ2pELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDL0IsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7QUFDakYsQ0FBQyJ9
31
+
32
+ //#endregion
33
+ export { getCalleeFromStack };
@@ -1,2 +1,6 @@
1
- import type { Context, Next } from 'egg';
2
- export declare function ctxLifecycleMiddleware(ctx: Context, next: Next): Promise<void>;
1
+ import { Context, Next } from "egg";
2
+
3
+ //#region src/lib/ctx_lifecycle_middleware.d.ts
4
+ declare function ctxLifecycleMiddleware(ctx: Context, next: Next): Promise<void>;
5
+ //#endregion
6
+ export { ctxLifecycleMiddleware };