@eggjs/tegg-plugin 4.0.0-beta.7 → 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/app/extend/application.d.ts +47 -54
- package/dist/app/extend/application.js +79 -72
- package/dist/app/extend/application.unittest.d.ts +19 -23
- package/dist/app/extend/application.unittest.js +53 -41
- package/dist/app/extend/context.d.ts +17 -21
- package/dist/app/extend/context.js +34 -29
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +3 -7
- package/dist/app.d.ts +16 -18
- package/dist/app.js +54 -48
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -4
- package/dist/lib/AppLoadUnit.d.ts +18 -22
- package/dist/lib/AppLoadUnit.js +89 -77
- package/dist/lib/AppLoadUnitInstance.d.ts +19 -23
- package/dist/lib/AppLoadUnitInstance.js +81 -68
- package/dist/lib/CompatibleUtil.d.ts +13 -17
- package/dist/lib/CompatibleUtil.js +95 -96
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
- package/dist/lib/ConfigSourceLoadUnitHook.js +20 -21
- package/dist/lib/EggAppLoader.d.ts +15 -19
- package/dist/lib/EggAppLoader.js +127 -105
- package/dist/lib/EggCompatibleObject.d.ts +16 -19
- package/dist/lib/EggCompatibleObject.js +40 -35
- package/dist/lib/EggCompatibleProtoImpl.d.ts +20 -24
- package/dist/lib/EggCompatibleProtoImpl.js +52 -50
- package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
- package/dist/lib/EggContextCompatibleHook.js +44 -32
- package/dist/lib/EggContextHandler.d.ts +8 -12
- package/dist/lib/EggContextHandler.js +26 -29
- package/dist/lib/EggContextImpl.d.ts +5 -9
- package/dist/lib/EggContextImpl.js +15 -18
- package/dist/lib/EggModuleLoader.d.ts +10 -14
- package/dist/lib/EggModuleLoader.js +53 -49
- package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
- package/dist/lib/EggQualifierProtoHook.js +62 -48
- package/dist/lib/ModuleConfigLoader.d.ts +7 -11
- package/dist/lib/ModuleConfigLoader.js +80 -83
- package/dist/lib/ModuleHandler.d.ts +12 -16
- package/dist/lib/ModuleHandler.js +51 -44
- package/dist/lib/Utils.d.ts +1 -4
- package/dist/lib/Utils.js +33 -30
- package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -6
- package/dist/lib/ctx_lifecycle_middleware.js +31 -25
- package/dist/lib/run_in_background.d.ts +3 -7
- package/dist/lib/run_in_background.js +54 -48
- package/dist/types.d.ts +7 -6
- package/dist/types.js +3 -4
- package/package.json +12 -12
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import { Application } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
declare const LONG_STACK_DELIMITER = "\n --------------------\n";
|
|
5
|
-
declare function hijackRunInBackground(app: Application): void;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { LONG_STACK_DELIMITER, hijackRunInBackground };
|
|
1
|
+
import { Application } from 'egg';
|
|
2
|
+
export declare const LONG_STACK_DELIMITER = "\n --------------------\n";
|
|
3
|
+
export declare function hijackRunInBackground(app: Application): void;
|
|
@@ -1,52 +1,58 @@
|
|
|
1
|
-
import
|
|
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";
|
|
2
6
|
import { getCalleeFromStack } from "./Utils.js";
|
|
3
|
-
|
|
4
|
-
import { BackgroundTaskHelper, PrototypeUtil } from "@eggjs/tegg";
|
|
5
|
-
import { TEGG_CONTEXT } from "@eggjs/egg-module-common";
|
|
6
|
-
import { Application } from "egg";
|
|
7
|
-
|
|
8
|
-
//#region src/lib/run_in_background.ts
|
|
9
|
-
const LONG_STACK_DELIMITER = "\n --------------------\n";
|
|
7
|
+
export const LONG_STACK_DELIMITER = '\n --------------------\n';
|
|
10
8
|
function addLongStackTrace(err, causeError) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
+
}
|
|
15
17
|
}
|
|
16
|
-
function hijackRunInBackground(app) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
+
};
|
|
49
57
|
}
|
|
50
|
-
|
|
51
|
-
//#endregion
|
|
52
|
-
export { LONG_STACK_DELIMITER, hijackRunInBackground };
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuX2luX2JhY2tncm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3J1bl9pbl9iYWNrZ3JvdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWdCLE1BQU0sS0FBSyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxPQUFPLGlCQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FBQztBQUVoRSxTQUFTLGlCQUFpQixDQUFDLEdBQVUsRUFBRSxVQUFpQjtJQUN0RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDeEQsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakIsR0FBRyxDQUFDLEtBQUssSUFBSSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFnQjtJQUNwRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3ZELEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsZUFBZSxDQUEwQixLQUFxQztRQUNuSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFFLEtBQUssQ0FBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLElBQUkscUJBQWlDLENBQUM7UUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRTtZQUN4RCxxQkFBcUIsR0FBRyxPQUFPLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsaUJBQWlCLENBQUMsQ0FBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxxQkFBcUIsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBSSxLQUFhLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLEtBQWEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRTtZQUN0QyxLQUFLLEVBQUUsUUFBUTtZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUUsUUFBUSxDQUFFLENBQUMsQ0FBQztRQUV0RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxLQUFxQixDQUFDLENBQUM7UUFDOUUsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsR0FBMkIsQ0FBQztRQUNuRSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEMsTUFBTSxxQkFBcUIsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
5
|
declare module 'egg' {
|
|
6
|
-
|
|
7
|
-
}
|
|
6
|
+
interface EggModule {
|
|
7
|
+
}
|
|
8
|
+
}
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '@eggjs/tegg-config/types';
|
|
2
2
|
import "./app/extend/application.js";
|
|
3
3
|
import "./app/extend/application.unittest.js";
|
|
4
|
-
import "
|
|
5
|
-
|
|
6
|
-
export { };
|
|
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": "4.0.0-beta.
|
|
9
|
+
"version": "4.0.0-beta.9",
|
|
10
10
|
"description": "module plugin for egg",
|
|
11
11
|
"keywords": [
|
|
12
12
|
"egg",
|
|
@@ -61,18 +61,18 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"extend2": "^4.0.0",
|
|
63
63
|
"sdk-base": "^5.0.1",
|
|
64
|
-
"@eggjs/egg-module-common": "4.0.0-beta.
|
|
65
|
-
"@eggjs/tegg": "4.0.0-beta.
|
|
66
|
-
"@eggjs/tegg
|
|
67
|
-
"@eggjs/tegg-common-util": "4.0.0-beta.
|
|
68
|
-
"@eggjs/tegg-dynamic-inject-runtime": "4.0.0-beta.
|
|
69
|
-
"@eggjs/tegg-loader": "4.0.0-beta.
|
|
70
|
-
"@eggjs/tegg-metadata": "4.0.0-beta.
|
|
71
|
-
"@eggjs/tegg-runtime": "4.0.0-beta.
|
|
64
|
+
"@eggjs/egg-module-common": "4.0.0-beta.9",
|
|
65
|
+
"@eggjs/tegg-background-task": "4.0.0-beta.9",
|
|
66
|
+
"@eggjs/tegg": "4.0.0-beta.9",
|
|
67
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.9",
|
|
68
|
+
"@eggjs/tegg-dynamic-inject-runtime": "4.0.0-beta.9",
|
|
69
|
+
"@eggjs/tegg-loader": "4.0.0-beta.9",
|
|
70
|
+
"@eggjs/tegg-metadata": "4.0.0-beta.9",
|
|
71
|
+
"@eggjs/tegg-runtime": "4.0.0-beta.9"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"egg": "beta",
|
|
75
|
-
"@eggjs/tegg-config": "4.0.0-beta.
|
|
75
|
+
"@eggjs/tegg-config": "4.0.0-beta.9"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"@eggjs/bin": "beta",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"typescript": "^5.9.3",
|
|
87
87
|
"tsdown": "^0.15.6",
|
|
88
88
|
"unplugin-unused": "^0.5.3",
|
|
89
|
-
"@eggjs/tegg-config": "4.0.0-beta.
|
|
89
|
+
"@eggjs/tegg-config": "4.0.0-beta.9"
|
|
90
90
|
},
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"access": "public"
|
|
@@ -99,6 +99,6 @@
|
|
|
99
99
|
"test:mocha": "egg-bin test",
|
|
100
100
|
"cov:mocha": "egg-bin cov",
|
|
101
101
|
"clean": "rimraf dist",
|
|
102
|
-
"build": "tsdown"
|
|
102
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc -p tsconfig.build.json"
|
|
103
103
|
}
|
|
104
104
|
}
|