@eggjs/tegg-plugin 3.62.0 → 4.0.0-beta.10

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 (79) hide show
  1. package/README.md +13 -1
  2. package/dist/app/extend/application.d.ts +50 -0
  3. package/dist/app/extend/application.js +79 -0
  4. package/dist/app/extend/application.unittest.d.ts +22 -0
  5. package/dist/app/extend/application.unittest.js +55 -0
  6. package/dist/app/extend/context.d.ts +20 -0
  7. package/dist/app/extend/context.js +35 -0
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +3 -0
  9. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +5 -0
  10. package/{app.d.ts → dist/app.d.ts} +5 -5
  11. package/dist/app.js +63 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.js +4 -0
  14. package/{lib → dist/lib}/AppLoadUnit.d.ts +2 -2
  15. package/dist/lib/AppLoadUnit.js +90 -0
  16. package/{lib → dist/lib}/AppLoadUnitInstance.d.ts +3 -3
  17. package/dist/lib/AppLoadUnitInstance.js +82 -0
  18. package/{lib → dist/lib}/CompatibleUtil.d.ts +4 -4
  19. package/dist/lib/CompatibleUtil.js +95 -0
  20. package/{lib → dist/lib}/ConfigSourceLoadUnitHook.d.ts +2 -2
  21. package/dist/lib/ConfigSourceLoadUnitHook.js +21 -0
  22. package/{lib → dist/lib}/EggAppLoader.d.ts +5 -4
  23. package/dist/lib/EggAppLoader.js +128 -0
  24. package/{lib → dist/lib}/EggCompatibleObject.d.ts +4 -4
  25. package/dist/lib/EggCompatibleObject.js +42 -0
  26. package/{lib → dist/lib}/EggCompatibleProtoImpl.d.ts +3 -2
  27. package/dist/lib/EggCompatibleProtoImpl.js +52 -0
  28. package/dist/lib/EggContextCompatibleHook.d.ts +10 -0
  29. package/dist/lib/EggContextCompatibleHook.js +44 -0
  30. package/{lib → dist/lib}/EggContextHandler.d.ts +3 -3
  31. package/dist/lib/EggContextHandler.js +26 -0
  32. package/{lib → dist/lib}/EggContextImpl.d.ts +2 -2
  33. package/dist/lib/EggContextImpl.js +15 -0
  34. package/{lib → dist/lib}/EggModuleLoader.d.ts +1 -1
  35. package/dist/lib/EggModuleLoader.js +54 -0
  36. package/{lib → dist/lib}/EggQualifierProtoHook.d.ts +2 -2
  37. package/dist/lib/EggQualifierProtoHook.js +62 -0
  38. package/{lib → dist/lib}/ModuleConfigLoader.d.ts +1 -1
  39. package/dist/lib/ModuleConfigLoader.js +81 -0
  40. package/{lib → dist/lib}/ModuleHandler.d.ts +3 -3
  41. package/dist/lib/ModuleHandler.js +53 -0
  42. package/dist/lib/Utils.js +36 -0
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -0
  44. package/dist/lib/ctx_lifecycle_middleware.js +33 -0
  45. package/dist/lib/run_in_background.js +58 -0
  46. package/dist/types.d.ts +8 -0
  47. package/dist/types.js +5 -0
  48. package/package.json +67 -42
  49. package/app/extend/application.d.ts +0 -24
  50. package/app/extend/application.js +0 -78
  51. package/app/extend/application.unittest.d.ts +0 -8
  52. package/app/extend/application.unittest.js +0 -52
  53. package/app/extend/context.d.ts +0 -14
  54. package/app/extend/context.js +0 -36
  55. package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -2
  56. package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -11
  57. package/app.js +0 -60
  58. package/lib/AppLoadUnit.js +0 -85
  59. package/lib/AppLoadUnitInstance.js +0 -83
  60. package/lib/CompatibleUtil.js +0 -98
  61. package/lib/ConfigSourceLoadUnitHook.js +0 -24
  62. package/lib/EggAppLoader.js +0 -129
  63. package/lib/EggCompatibleObject.js +0 -40
  64. package/lib/EggCompatibleProtoImpl.js +0 -49
  65. package/lib/EggContextCompatibleHook.d.ts +0 -10
  66. package/lib/EggContextCompatibleHook.js +0 -45
  67. package/lib/EggContextHandler.js +0 -28
  68. package/lib/EggContextImpl.js +0 -17
  69. package/lib/EggModuleLoader.js +0 -55
  70. package/lib/EggQualifierProtoHook.js +0 -53
  71. package/lib/ModuleConfigLoader.js +0 -87
  72. package/lib/ModuleHandler.js +0 -58
  73. package/lib/Utils.js +0 -39
  74. package/lib/ctx_lifecycle_middleware.d.ts +0 -2
  75. package/lib/ctx_lifecycle_middleware.js +0 -54
  76. package/lib/run_in_background.js +0 -59
  77. package/typings/index.d.ts +0 -79
  78. /package/{lib → dist/lib}/Utils.d.ts +0 -0
  79. /package/{lib → dist/lib}/run_in_background.d.ts +0 -0
@@ -0,0 +1,62 @@
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,4 +1,4 @@
1
- import { EggProtoImplClass } from '@eggjs/tegg';
1
+ import { type EggProtoImplClass } from '@eggjs/tegg';
2
2
  import { Application } from 'egg';
3
3
  export declare class ModuleConfigLoader {
4
4
  readonly app: Application;
@@ -0,0 +1,81 @@
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
+ 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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
@@ -1,7 +1,7 @@
1
- import Base from 'sdk-base';
1
+ import { Base } from 'sdk-base';
2
2
  import { Application } from 'egg';
3
- import { LoadUnit } from '@eggjs/tegg-metadata';
4
- import { LoadUnitInstance } from '@eggjs/tegg-runtime';
3
+ import { type LoadUnit } from '@eggjs/tegg-metadata';
4
+ import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
5
5
  export declare class ModuleHandler extends Base {
6
6
  loadUnits: LoadUnit[];
7
7
  loadUnitInstances: LoadUnitInstance[];
@@ -0,0 +1,53 @@
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
+ 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=
@@ -0,0 +1,36 @@
1
+ function prepareObjectStackTrace(_, stack) {
2
+ return stack;
3
+ }
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()}`;
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsdUJBQXVCLENBQUMsQ0FBUSxFQUFFLEtBQXdCO0lBQ2pFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFpQixFQUFFLFVBQW1CO0lBQ3ZFLFVBQVUsR0FBRyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUVyQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7SUFDbEQsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFFMUIsb0JBQW9CO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNwQixLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxJQUFJLFFBQVEsQ0FBQztJQUNiLDBCQUEwQjtJQUMxQixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsK0JBQStCO1FBQy9CLGdFQUFnRTtRQUNoRSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLHdCQUF3QjtRQUN4QixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxpQkFBaUI7WUFDakIsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLFFBQVEsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRTlCLHdCQUF3QjtJQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBQ2pELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDL0IsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7QUFDakYsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import type { Context, Next } from 'egg';
2
+ export declare function ctxLifecycleMiddleware(ctx: Context, next: Next): Promise<void>;
@@ -0,0 +1,33 @@
1
+ import { ROOT_PROTO, TEGG_CONTEXT } from '@eggjs/egg-module-common';
2
+ import {} from '@eggjs/tegg-runtime';
3
+ import { EggContextImpl } from "./EggContextImpl.js";
4
+ export async function ctxLifecycleMiddleware(ctx, next) {
5
+ // should not recreate teggContext
6
+ if (ctx[TEGG_CONTEXT]) {
7
+ await next();
8
+ return;
9
+ }
10
+ const lifecycleCtx = {};
11
+ const teggCtx = new EggContextImpl(ctx);
12
+ // rootProto is set by tegg-controller-plugin global middleware(teggRootProto)
13
+ // is used in EggControllerHook
14
+ const rootProto = ctx[ROOT_PROTO];
15
+ if (rootProto) {
16
+ teggCtx.set(ROOT_PROTO, rootProto);
17
+ }
18
+ if (teggCtx.init) {
19
+ await teggCtx.init(lifecycleCtx);
20
+ }
21
+ try {
22
+ await next();
23
+ }
24
+ finally {
25
+ if (teggCtx.destroy) {
26
+ teggCtx.destroy(lifecycleCtx).catch(e => {
27
+ e.message = `[tegg/ctxLifecycleMiddleware] destroy tegg ctx failed: ${e.message}`;
28
+ ctx.logger.error(e);
29
+ });
30
+ }
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdHhfbGlmZWN5Y2xlX21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRSxPQUFPLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsR0FBWSxFQUFFLElBQVU7SUFDbkUsa0NBQWtDO0lBQ2xDLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNiLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQStCLEVBQUUsQ0FBQztJQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4Qyw4RUFBOEU7SUFDOUUsK0JBQStCO0lBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7WUFBUyxDQUFDO1FBQ1QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RDLENBQUMsQ0FBQyxPQUFPLEdBQUcsMERBQTBELENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,58 @@
1
+ import { Application } from 'egg';
2
+ import { BackgroundTaskHelper, PrototypeUtil } from '@eggjs/tegg';
3
+ import {} from '@eggjs/tegg-metadata';
4
+ import { TEGG_CONTEXT } from '@eggjs/egg-module-common';
5
+ import TEggPluginContext from "../app/extend/context.js";
6
+ import { getCalleeFromStack } from "./Utils.js";
7
+ export const LONG_STACK_DELIMITER = '\n --------------------\n';
8
+ function addLongStackTrace(err, causeError) {
9
+ const callSiteStack = causeError.stack;
10
+ if (!callSiteStack || typeof callSiteStack !== 'string') {
11
+ return;
12
+ }
13
+ const index = callSiteStack.indexOf('\n');
14
+ if (index !== -1) {
15
+ err.stack += LONG_STACK_DELIMITER + callSiteStack.substring(index + 1);
16
+ }
17
+ }
18
+ export function hijackRunInBackground(app) {
19
+ const eggRunInBackground = app.context.runInBackground;
20
+ app.context.runInBackground = function runInBackground(scope) {
21
+ if (!this[TEGG_CONTEXT]) {
22
+ return Reflect.apply(eggRunInBackground, this, [scope]);
23
+ }
24
+ const caseError = new Error('cause');
25
+ let resolveBackgroundTask;
26
+ const backgroundTaskPromise = new Promise(resolve => {
27
+ resolveBackgroundTask = resolve;
28
+ });
29
+ const newScope = async () => {
30
+ try {
31
+ await scope(this);
32
+ }
33
+ catch (e) {
34
+ addLongStackTrace(e, caseError);
35
+ throw e;
36
+ }
37
+ finally {
38
+ resolveBackgroundTask();
39
+ }
40
+ };
41
+ const taskName = scope._name || scope.name || getCalleeFromStack(true, 2);
42
+ scope._name = taskName;
43
+ Object.defineProperty(newScope, 'name', {
44
+ value: taskName,
45
+ enumerable: false,
46
+ configurable: true,
47
+ writable: false,
48
+ });
49
+ Reflect.apply(eggRunInBackground, this, [newScope]);
50
+ const proto = PrototypeUtil.getClazzProto(BackgroundTaskHelper);
51
+ const eggObject = app.eggContainerFactory.getEggObject(proto);
52
+ const backgroundTaskHelper = eggObject.obj;
53
+ backgroundTaskHelper.run(async () => {
54
+ await backgroundTaskPromise;
55
+ });
56
+ };
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuX2luX2JhY2tncm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3J1bl9pbl9iYWNrZ3JvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWdCLE1BQU0sS0FBSyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FBQztBQUVoRSxTQUFTLGlCQUFpQixDQUFDLEdBQVUsRUFBRSxVQUFpQjtJQUN0RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDeEQsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakIsR0FBRyxDQUFDLEtBQUssSUFBSSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFnQjtJQUNwRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3ZELEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsZUFBZSxDQUEwQixLQUFxQztRQUNuSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFFLEtBQUssQ0FBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLElBQUkscUJBQWlDLENBQUM7UUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRTtZQUN4RCxxQkFBcUIsR0FBRyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsaUJBQWlCLENBQUMsQ0FBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxxQkFBcUIsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBSSxLQUFhLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLEtBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUN0QyxLQUFLLEVBQUUsUUFBUTtZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUUsUUFBUSxDQUFFLENBQUMsQ0FBQztRQUV0RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFxQixDQUFDLENBQUM7UUFDOUUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsR0FBMkIsQ0FBQztRQUNuRSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEMsTUFBTSxxQkFBcUIsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,8 @@
1
+ import '@eggjs/tegg-config/types';
2
+ import './app/extend/application.ts';
3
+ import './app/extend/application.unittest.ts';
4
+ import './app/extend/context.ts';
5
+ declare module 'egg' {
6
+ interface EggModule {
7
+ }
8
+ }
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ import '@eggjs/tegg-config/types';
2
+ import "./app/extend/application.js";
3
+ import "./app/extend/application.unittest.js";
4
+ import "./app/extend/context.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTywwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyx5QkFBeUIsQ0FBQyJ9
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "teggConfig"
7
7
  ]
8
8
  },
9
- "version": "3.62.0",
9
+ "version": "4.0.0-beta.10",
10
10
  "description": "module plugin for egg",
11
11
  "keywords": [
12
12
  "egg",
@@ -16,23 +16,37 @@
16
16
  "tegg"
17
17
  ],
18
18
  "files": [
19
- "app.js",
20
- "app.d.ts",
21
- "lib/**/*.js",
22
- "lib/**/*.d.ts",
23
- "app/**/*.js",
24
- "app/**/*.d.ts",
25
- "typings/*.d.ts"
19
+ "dist"
26
20
  ],
27
- "types": "typings/index.d.ts",
28
- "scripts": {
29
- "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
30
- "clean": "tsc -b --clean",
31
- "tsc": "npm run clean && tsc -p ./tsconfig.json",
32
- "tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
33
- "prepublishOnly": "npm run tsc:pub"
21
+ "type": "module",
22
+ "exports": {
23
+ ".": "./dist/index.js",
24
+ "./app": "./dist/app.js",
25
+ "./app/extend/application": "./dist/app/extend/application.js",
26
+ "./app/extend/application.unittest": "./dist/app/extend/application.unittest.js",
27
+ "./app/extend/context": "./dist/app/extend/context.js",
28
+ "./app/middleware/tegg_ctx_lifecycle_middleware": "./dist/app/middleware/tegg_ctx_lifecycle_middleware.js",
29
+ "./lib/AppLoadUnit": "./dist/lib/AppLoadUnit.js",
30
+ "./lib/AppLoadUnitInstance": "./dist/lib/AppLoadUnitInstance.js",
31
+ "./lib/CompatibleUtil": "./dist/lib/CompatibleUtil.js",
32
+ "./lib/ConfigSourceLoadUnitHook": "./dist/lib/ConfigSourceLoadUnitHook.js",
33
+ "./lib/ctx_lifecycle_middleware": "./dist/lib/ctx_lifecycle_middleware.js",
34
+ "./lib/EggAppLoader": "./dist/lib/EggAppLoader.js",
35
+ "./lib/EggCompatibleObject": "./dist/lib/EggCompatibleObject.js",
36
+ "./lib/EggCompatibleProtoImpl": "./dist/lib/EggCompatibleProtoImpl.js",
37
+ "./lib/EggContextCompatibleHook": "./dist/lib/EggContextCompatibleHook.js",
38
+ "./lib/EggContextHandler": "./dist/lib/EggContextHandler.js",
39
+ "./lib/EggContextImpl": "./dist/lib/EggContextImpl.js",
40
+ "./lib/EggModuleLoader": "./dist/lib/EggModuleLoader.js",
41
+ "./lib/EggQualifierProtoHook": "./dist/lib/EggQualifierProtoHook.js",
42
+ "./lib/ModuleConfigLoader": "./dist/lib/ModuleConfigLoader.js",
43
+ "./lib/ModuleHandler": "./dist/lib/ModuleHandler.js",
44
+ "./lib/run_in_background": "./dist/lib/run_in_background.js",
45
+ "./lib/Utils": "./dist/lib/Utils.js",
46
+ "./types": "./dist/types.js",
47
+ "./package.json": "./package.json"
34
48
  },
35
- "homepage": "https://github.com/eggjs/tegg",
49
+ "homepage": "https://github.com/eggjs/tegg/tree/next/plugin/tegg",
36
50
  "bugs": {
37
51
  "url": "https://github.com/eggjs/tegg/issues"
38
52
  },
@@ -42,38 +56,49 @@
42
56
  "directory": "plugin/tegg"
43
57
  },
44
58
  "engines": {
45
- "node": ">=14.0.0"
59
+ "node": ">=22.18.0"
46
60
  },
47
61
  "dependencies": {
48
- "@eggjs/egg-module-common": "^3.62.0",
49
- "@eggjs/tegg": "^3.62.0",
50
- "@eggjs/tegg-background-task": "^3.62.0",
51
- "@eggjs/tegg-common-util": "^3.62.0",
52
- "@eggjs/tegg-dynamic-inject-runtime": "^3.62.0",
53
- "@eggjs/tegg-loader": "^3.62.0",
54
- "@eggjs/tegg-metadata": "^3.62.0",
55
- "@eggjs/tegg-runtime": "^3.62.0",
56
- "await-event": "^2.1.0",
57
- "await-first": "^1.0.0",
58
- "extend2": "^1.0.0",
59
- "sdk-base": "^4.2.0"
62
+ "extend2": "^4.0.0",
63
+ "sdk-base": "^5.0.1",
64
+ "@eggjs/egg-module-common": "4.0.0-beta.10",
65
+ "@eggjs/tegg": "4.0.0-beta.10",
66
+ "@eggjs/tegg-common-util": "4.0.0-beta.10",
67
+ "@eggjs/tegg-background-task": "4.0.0-beta.10",
68
+ "@eggjs/tegg-dynamic-inject-runtime": "4.0.0-beta.10",
69
+ "@eggjs/tegg-loader": "4.0.0-beta.10",
70
+ "@eggjs/tegg-metadata": "4.0.0-beta.10",
71
+ "@eggjs/tegg-runtime": "4.0.0-beta.10"
72
+ },
73
+ "peerDependencies": {
74
+ "egg": "beta",
75
+ "@eggjs/tegg-config": "4.0.0-beta.10"
60
76
  },
61
77
  "devDependencies": {
62
- "@eggjs/tegg-config": "^3.62.0",
63
- "@types/mocha": "^10.0.1",
64
- "@types/node": "^20.2.4",
65
- "cross-env": "^7.0.3",
66
- "egg": "^3.9.1",
78
+ "@eggjs/bin": "beta",
79
+ "@eggjs/mock": "beta",
80
+ "@eggjs/tracer": "beta",
81
+ "@types/mocha": "^10.0.10",
82
+ "@types/node": "^22.10.5",
83
+ "egg": "beta",
67
84
  "egg-logger": "^3.0.1",
68
- "egg-mock": "^5.5.0",
69
- "egg-schedule": "^4.0.0",
70
- "egg-tracer": "^2.0.0",
71
- "mocha": "^10.2.0",
72
- "ts-node": "^10.9.1",
73
- "typescript": "^5.0.4"
85
+ "mocha": "^11.0.1",
86
+ "typescript": "^5.9.3",
87
+ "tsdown": "^0.15.6",
88
+ "unplugin-unused": "^0.5.3",
89
+ "@eggjs/tegg-config": "4.0.0-beta.10"
74
90
  },
75
91
  "publishConfig": {
76
92
  "access": "public"
77
93
  },
78
- "gitHead": "b0c5d2dbae617d227909f338013b1e6310054270"
79
- }
94
+ "main": "./dist/index.js",
95
+ "module": "./dist/index.js",
96
+ "types": "./dist/index.d.ts",
97
+ "scripts": {
98
+ "typecheck": "tsc --noEmit",
99
+ "test:mocha": "egg-bin test",
100
+ "cov:mocha": "egg-bin cov",
101
+ "clean": "rimraf dist",
102
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc -p tsconfig.build.json"
103
+ }
104
+ }
@@ -1,24 +0,0 @@
1
- import { EggPrototypeCreatorFactory, EggPrototypeFactory, LoadUnitFactory } from '@eggjs/tegg-metadata';
2
- import { AbstractEggContext, EggContainerFactory, EggObjectFactory, LoadUnitInstanceFactory } from '@eggjs/tegg-runtime';
3
- import { LoaderFactory } from '@eggjs/tegg-loader';
4
- import { EggProtoImplClass, IdenticalUtil, RuntimeConfig, QualifierInfo } from '@eggjs/tegg';
5
- declare const _default: {
6
- readonly eggPrototypeCreatorFactory: typeof EggPrototypeCreatorFactory;
7
- readonly eggPrototypeFactory: EggPrototypeFactory;
8
- readonly loadUnitLifecycleUtil: import("@eggjs/tegg").LifecycleUtil<import("@eggjs/tegg-metadata").LoadUnitLifecycleContext, import("@eggjs/tegg-metadata").LoadUnit>;
9
- readonly loadUnitFactory: typeof LoadUnitFactory;
10
- readonly eggObjectFactory: typeof EggObjectFactory;
11
- readonly loadUnitInstanceFactory: typeof LoadUnitInstanceFactory;
12
- readonly loadUnitInstanceLifecycleUtil: import("@eggjs/tegg").LifecycleUtil<import("@eggjs/tegg-runtime").LoadUnitInstanceLifecycleContext, import("@eggjs/tegg-runtime").LoadUnitInstance>;
13
- readonly eggContainerFactory: typeof EggContainerFactory;
14
- readonly loaderFactory: typeof LoaderFactory;
15
- readonly eggPrototypeLifecycleUtil: import("@eggjs/tegg").LifecycleUtil<import("@eggjs/tegg-metadata").EggPrototypeLifecycleContext, import("@eggjs/tegg-metadata").EggPrototype>;
16
- readonly eggContextLifecycleUtil: import("@eggjs/tegg").LifecycleUtil<import("@eggjs/tegg-runtime").EggContextLifecycleContext, import("@eggjs/tegg-runtime").EggContext>;
17
- readonly eggObjectLifecycleUtil: import("@eggjs/tegg").LifecycleUtil<import("@eggjs/tegg-runtime").EggObjectLifeCycleContext, import("@eggjs/tegg-runtime").EggObject>;
18
- readonly abstractEggContext: typeof AbstractEggContext;
19
- readonly identicalUtil: typeof IdenticalUtil;
20
- readonly runtimeConfig: RuntimeConfig;
21
- getEggObject(clazz: EggProtoImplClass, name?: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<object>;
22
- getEggObjectFromName(name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<object>;
23
- };
24
- export default _default;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tegg_metadata_1 = require("@eggjs/tegg-metadata");
4
- const tegg_runtime_1 = require("@eggjs/tegg-runtime");
5
- const tegg_loader_1 = require("@eggjs/tegg-loader");
6
- const tegg_1 = require("@eggjs/tegg");
7
- exports.default = {
8
- // @eggjs/tegg-metadata should not depend by other egg plugins.
9
- // May make multi singleton instances.
10
- // So tegg-compatible should delegate the metadata factories
11
- // TODO delegate all the singleton
12
- get eggPrototypeCreatorFactory() {
13
- return tegg_metadata_1.EggPrototypeCreatorFactory;
14
- },
15
- get eggPrototypeFactory() {
16
- return tegg_metadata_1.EggPrototypeFactory.instance;
17
- },
18
- get loadUnitLifecycleUtil() {
19
- return tegg_metadata_1.LoadUnitLifecycleUtil;
20
- },
21
- get loadUnitFactory() {
22
- return tegg_metadata_1.LoadUnitFactory;
23
- },
24
- get eggObjectFactory() {
25
- return tegg_runtime_1.EggObjectFactory;
26
- },
27
- get loadUnitInstanceFactory() {
28
- return tegg_runtime_1.LoadUnitInstanceFactory;
29
- },
30
- get loadUnitInstanceLifecycleUtil() {
31
- return tegg_runtime_1.LoadUnitInstanceLifecycleUtil;
32
- },
33
- get eggContainerFactory() {
34
- return tegg_runtime_1.EggContainerFactory;
35
- },
36
- get loaderFactory() {
37
- return tegg_loader_1.LoaderFactory;
38
- },
39
- get eggPrototypeLifecycleUtil() {
40
- return tegg_metadata_1.EggPrototypeLifecycleUtil;
41
- },
42
- get eggContextLifecycleUtil() {
43
- return tegg_runtime_1.EggContextLifecycleUtil;
44
- },
45
- get eggObjectLifecycleUtil() {
46
- return tegg_runtime_1.EggObjectLifecycleUtil;
47
- },
48
- get abstractEggContext() {
49
- return tegg_runtime_1.AbstractEggContext;
50
- },
51
- get identicalUtil() {
52
- return tegg_1.IdenticalUtil;
53
- },
54
- get runtimeConfig() {
55
- const app = this;
56
- const config = app.config;
57
- return {
58
- baseDir: config.baseDir,
59
- env: config.env,
60
- name: config.name,
61
- };
62
- },
63
- async getEggObject(clazz, name, qualifiers) {
64
- if (qualifiers) {
65
- qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
66
- }
67
- const eggObject = await tegg_runtime_1.EggContainerFactory.getOrCreateEggObjectFromClazz(clazz, name, qualifiers);
68
- return eggObject.obj;
69
- },
70
- async getEggObjectFromName(name, qualifiers) {
71
- if (qualifiers) {
72
- qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
73
- }
74
- const eggObject = await tegg_runtime_1.EggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers);
75
- return eggObject.obj;
76
- },
77
- };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQU04QjtBQUM5QixzREFRNkI7QUFDN0Isb0RBQW1EO0FBQ25ELHNDQUE2RjtBQUc3RixrQkFBZTtJQUNiLCtEQUErRDtJQUMvRCxzQ0FBc0M7SUFDdEMsNERBQTREO0lBQzVELGtDQUFrQztJQUNsQyxJQUFJLDBCQUEwQjtRQUM1QixPQUFPLDBDQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLG1DQUFtQixDQUFDLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxxQ0FBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sK0JBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTywrQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxzQ0FBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDL0IsT0FBTyw0Q0FBNkIsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxrQ0FBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTywyQkFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLHlDQUF5QixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLHNDQUF1QixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLHFDQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLGlDQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLG9CQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sR0FBRyxHQUFHLElBQThCLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztZQUNmLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBd0IsRUFBRSxJQUFhLEVBQUUsVUFBNEM7UUFDdEcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUM7UUFDdkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sa0NBQW1CLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRyxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFZLEVBQUUsVUFBNEM7UUFDbkYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUM7UUFDdkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sa0NBQW1CLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0NBQ0YsQ0FBQyJ9