@eggjs/standalone 4.0.0-beta.34 → 4.0.0-beta.36
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/ConfigSourceLoadUnitHook.js +19 -18
- package/dist/EggModuleLoader.d.ts +20 -16
- package/dist/EggModuleLoader.js +54 -59
- package/dist/Runner.d.ts +51 -47
- package/dist/Runner.js +176 -241
- package/dist/StandaloneContext.d.ts +8 -4
- package/dist/StandaloneContext.js +14 -10
- package/dist/StandaloneContextHandler.js +18 -14
- package/dist/StandaloneInnerObject.d.ts +18 -14
- package/dist/StandaloneInnerObject.js +27 -27
- package/dist/StandaloneInnerObjectProto.d.ts +23 -19
- package/dist/StandaloneInnerObjectProto.js +47 -50
- package/dist/StandaloneLoadUnit.d.ts +9 -22
- package/dist/StandaloneLoadUnit.js +53 -60
- package/dist/index.d.ts +7 -6
- package/dist/index.js +8 -7
- package/dist/main.d.ts +7 -3
- package/dist/main.js +28 -31
- package/package.json +38 -42
- package/dist/ConfigSourceLoadUnitHook.d.ts +0 -9
- package/dist/ModuleConfig.d.ts +0 -1
- package/dist/ModuleConfig.js +0 -9
- package/dist/StandaloneContextHandler.d.ts +0 -6
- package/dist/StandaloneContextImpl.d.ts +0 -5
- package/dist/StandaloneContextImpl.js +0 -10
package/dist/Runner.js
CHANGED
|
@@ -1,244 +1,179 @@
|
|
|
1
|
-
import { ModuleConfigUtil, } from '@eggjs/tegg-common-util';
|
|
2
|
-
import { EggPrototypeLifecycleUtil, GlobalGraph, LoadUnitFactory, LoadUnitLifecycleUtil, LoadUnitMultiInstanceProtoHook, } from '@eggjs/metadata';
|
|
3
|
-
import { ContextHandler, EggContainerFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, ModuleLoadUnitInstance, } from '@eggjs/tegg-runtime';
|
|
4
|
-
import { PrototypeUtil, ModuleConfigs, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
|
|
5
|
-
import { StandaloneUtil } from '@eggjs/tegg/standalone';
|
|
6
|
-
import { CrosscutAdviceFactory } from '@eggjs/tegg/aop';
|
|
7
|
-
import { crossCutGraphHook, EggObjectAopHook, EggPrototypeCrossCutHook, LoadUnitAopHook, pointCutGraphHook, } from '@eggjs/aop-runtime';
|
|
8
|
-
import { DalTableEggPrototypeHook, DalModuleLoadUnitHook, MysqlDataSourceManager, SqlMapManager, TableModelManager, TransactionPrototypeHook, } from '@eggjs/dal-plugin';
|
|
9
1
|
import { EggModuleLoader } from "./EggModuleLoader.js";
|
|
10
|
-
import {
|
|
2
|
+
import { ConfigSourceLoadUnitHook } from "./ConfigSourceLoadUnitHook.js";
|
|
11
3
|
import { StandaloneContext } from "./StandaloneContext.js";
|
|
12
4
|
import { StandaloneContextHandler } from "./StandaloneContextHandler.js";
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const runner = eggObject.obj;
|
|
189
|
-
try {
|
|
190
|
-
return await runner.main();
|
|
191
|
-
}
|
|
192
|
-
finally {
|
|
193
|
-
if (ctx.destroy) {
|
|
194
|
-
ctx.destroy(lifecycle).catch((e) => {
|
|
195
|
-
e.message = `[tegg/standalone] destroy tegg context failed: ${e.message}`;
|
|
196
|
-
console.warn(e);
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
async destroy() {
|
|
203
|
-
if (this.loadUnitInstances) {
|
|
204
|
-
for (const instance of this.loadUnitInstances) {
|
|
205
|
-
await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
if (this.loadUnits) {
|
|
209
|
-
for (const loadUnit of this.loadUnits) {
|
|
210
|
-
await LoadUnitFactory.destroyLoadUnit(loadUnit);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
if (this.configSourceEggPrototypeHook) {
|
|
214
|
-
LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
215
|
-
}
|
|
216
|
-
if (this.eggPrototypeCrossCutHook) {
|
|
217
|
-
EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
|
|
218
|
-
}
|
|
219
|
-
if (this.loadUnitAopHook) {
|
|
220
|
-
LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
|
|
221
|
-
}
|
|
222
|
-
if (this.eggObjectAopHook) {
|
|
223
|
-
EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
|
|
224
|
-
}
|
|
225
|
-
if (this.loadUnitMultiInstanceProtoHook) {
|
|
226
|
-
LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
227
|
-
}
|
|
228
|
-
if (this.dalTableEggPrototypeHook) {
|
|
229
|
-
EggPrototypeLifecycleUtil.deleteLifecycle(this.dalTableEggPrototypeHook);
|
|
230
|
-
}
|
|
231
|
-
if (this.dalModuleLoadUnitHook) {
|
|
232
|
-
LoadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
|
|
233
|
-
}
|
|
234
|
-
if (this.transactionPrototypeHook) {
|
|
235
|
-
EggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
|
|
236
|
-
}
|
|
237
|
-
MysqlDataSourceManager.instance.clear();
|
|
238
|
-
SqlMapManager.instance.clear();
|
|
239
|
-
TableModelManager.instance.clear();
|
|
240
|
-
// clear configNames
|
|
241
|
-
ModuleConfigUtil.setConfigNames(undefined);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEdBSWpCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUVMLHlCQUF5QixFQUN6QixXQUFXLEVBRVgsZUFBZSxFQUNmLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUVuQixzQkFBc0IsRUFFdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxhQUFhLEVBRWIsYUFBYSxFQUNiLDhCQUE4QixHQUUvQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsaUJBQWlCLEdBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsd0JBQXdCLEdBQ3pCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JB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
|
|
5
|
+
import { StandaloneLoadUnit, StandaloneLoadUnitType } from "./StandaloneLoadUnit.js";
|
|
6
|
+
import { EggPrototypeLifecycleUtil, GlobalGraph, LoadUnitFactory, LoadUnitLifecycleUtil, LoadUnitMultiInstanceProtoHook } from "@eggjs/metadata";
|
|
7
|
+
import { EggObjectAopHook, EggPrototypeCrossCutHook, LoadUnitAopHook, crossCutGraphHook, pointCutGraphHook } from "@eggjs/aop-runtime";
|
|
8
|
+
import { DalModuleLoadUnitHook, DalTableEggPrototypeHook, MysqlDataSourceManager, SqlMapManager, TableModelManager, TransactionPrototypeHook } from "@eggjs/dal-plugin";
|
|
9
|
+
import { ConfigSourceQualifierAttribute, ModuleConfigs, PrototypeUtil } from "@eggjs/tegg";
|
|
10
|
+
import { ModuleConfigUtil } from "@eggjs/tegg-common-util";
|
|
11
|
+
import { ContextHandler, EggContainerFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, ModuleLoadUnitInstance } from "@eggjs/tegg-runtime";
|
|
12
|
+
import { CrosscutAdviceFactory } from "@eggjs/tegg/aop";
|
|
13
|
+
import { StandaloneUtil } from "@eggjs/tegg/standalone";
|
|
14
|
+
|
|
15
|
+
//#region src/Runner.ts
|
|
16
|
+
var Runner = class Runner {
|
|
17
|
+
cwd;
|
|
18
|
+
moduleReferences;
|
|
19
|
+
moduleConfigs;
|
|
20
|
+
env;
|
|
21
|
+
name;
|
|
22
|
+
options;
|
|
23
|
+
loadUnitLoader;
|
|
24
|
+
runnerProto;
|
|
25
|
+
configSourceEggPrototypeHook;
|
|
26
|
+
loadUnitMultiInstanceProtoHook;
|
|
27
|
+
dalTableEggPrototypeHook;
|
|
28
|
+
dalModuleLoadUnitHook;
|
|
29
|
+
transactionPrototypeHook;
|
|
30
|
+
crosscutAdviceFactory;
|
|
31
|
+
loadUnitAopHook;
|
|
32
|
+
eggPrototypeCrossCutHook;
|
|
33
|
+
eggObjectAopHook;
|
|
34
|
+
loadUnits = [];
|
|
35
|
+
loadUnitInstances = [];
|
|
36
|
+
innerObjects;
|
|
37
|
+
constructor(cwd, options) {
|
|
38
|
+
this.cwd = cwd;
|
|
39
|
+
this.env = options?.env;
|
|
40
|
+
this.name = options?.name;
|
|
41
|
+
this.options = options;
|
|
42
|
+
this.moduleReferences = Runner.getModuleReferences(this.cwd, options?.dependencies);
|
|
43
|
+
this.moduleConfigs = {};
|
|
44
|
+
this.innerObjects = {
|
|
45
|
+
moduleConfigs: [{ obj: new ModuleConfigs(this.moduleConfigs) }],
|
|
46
|
+
moduleConfig: []
|
|
47
|
+
};
|
|
48
|
+
const runtimeConfig = {
|
|
49
|
+
baseDir: this.cwd,
|
|
50
|
+
name: this.name,
|
|
51
|
+
env: this.env
|
|
52
|
+
};
|
|
53
|
+
this.innerObjects.runtimeConfig = [{ obj: runtimeConfig }];
|
|
54
|
+
if (!ModuleConfigUtil.configNames) ModuleConfigUtil.configNames = ["module.default", `module.${this.env}`];
|
|
55
|
+
for (const reference of this.moduleReferences) {
|
|
56
|
+
const absoluteRef = {
|
|
57
|
+
path: ModuleConfigUtil.resolveModuleDir(reference.path, this.cwd),
|
|
58
|
+
name: reference.name
|
|
59
|
+
};
|
|
60
|
+
const moduleName = ModuleConfigUtil.readModuleNameSync(absoluteRef.path);
|
|
61
|
+
this.moduleConfigs[moduleName] = {
|
|
62
|
+
name: moduleName,
|
|
63
|
+
reference: absoluteRef,
|
|
64
|
+
config: ModuleConfigUtil.loadModuleConfigSync(absoluteRef.path)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
for (const moduleConfig of Object.values(this.moduleConfigs)) this.innerObjects.moduleConfig.push({
|
|
68
|
+
obj: moduleConfig.config,
|
|
69
|
+
qualifiers: [{
|
|
70
|
+
attribute: ConfigSourceQualifierAttribute,
|
|
71
|
+
value: moduleConfig.name
|
|
72
|
+
}]
|
|
73
|
+
});
|
|
74
|
+
if (options?.innerObjects) for (const [name, obj] of Object.entries(options.innerObjects)) this.innerObjects[name] = [{ obj }];
|
|
75
|
+
else if (options?.innerObjectHandlers) Object.assign(this.innerObjects, options.innerObjectHandlers);
|
|
76
|
+
}
|
|
77
|
+
async load() {
|
|
78
|
+
StandaloneContextHandler.register();
|
|
79
|
+
LoadUnitFactory.registerLoadUnitCreator(StandaloneLoadUnitType, () => {
|
|
80
|
+
return new StandaloneLoadUnit(this.innerObjects);
|
|
81
|
+
});
|
|
82
|
+
LoadUnitInstanceFactory.registerLoadUnitInstanceClass(StandaloneLoadUnitType, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
|
|
83
|
+
return [await LoadUnitFactory.createLoadUnit("MockStandaloneLoadUnitPath", StandaloneLoadUnitType, { async load() {
|
|
84
|
+
return [];
|
|
85
|
+
} }), ...await this.loadUnitLoader.load()];
|
|
86
|
+
}
|
|
87
|
+
static getModuleReferences(cwd, dependencies) {
|
|
88
|
+
return (dependencies || []).concat(cwd).reduce((list, baseDir) => {
|
|
89
|
+
const module = typeof baseDir === "string" ? { baseDir } : baseDir;
|
|
90
|
+
return list.concat(...ModuleConfigUtil.readModuleReference(module.baseDir, module));
|
|
91
|
+
}, []);
|
|
92
|
+
}
|
|
93
|
+
static async preLoad(cwd, dependencies) {
|
|
94
|
+
const moduleReferences = Runner.getModuleReferences(cwd, dependencies);
|
|
95
|
+
await EggModuleLoader.preLoad(moduleReferences, {
|
|
96
|
+
baseDir: cwd,
|
|
97
|
+
logger: console,
|
|
98
|
+
dump: false
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
async initLoaderInstance() {
|
|
102
|
+
this.loadUnitLoader = new EggModuleLoader(this.moduleReferences, {
|
|
103
|
+
logger: (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console,
|
|
104
|
+
baseDir: this.cwd,
|
|
105
|
+
dump: this.options?.dump
|
|
106
|
+
});
|
|
107
|
+
await this.loadUnitLoader.init();
|
|
108
|
+
GlobalGraph.instance.registerBuildHook(crossCutGraphHook);
|
|
109
|
+
GlobalGraph.instance.registerBuildHook(pointCutGraphHook);
|
|
110
|
+
const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
|
|
111
|
+
LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
|
|
112
|
+
this.crosscutAdviceFactory = new CrosscutAdviceFactory();
|
|
113
|
+
this.loadUnitAopHook = new LoadUnitAopHook(this.crosscutAdviceFactory);
|
|
114
|
+
this.eggPrototypeCrossCutHook = new EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
|
|
115
|
+
this.eggObjectAopHook = new EggObjectAopHook();
|
|
116
|
+
EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
|
|
117
|
+
LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
|
|
118
|
+
EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
|
|
119
|
+
this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
|
|
120
|
+
LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
121
|
+
const logger = (this.innerObjects.logger && this.innerObjects.logger[0])?.obj || console;
|
|
122
|
+
this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook(this.env ?? "", this.moduleConfigs, logger);
|
|
123
|
+
this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook(logger);
|
|
124
|
+
this.transactionPrototypeHook = new TransactionPrototypeHook(this.moduleConfigs, logger);
|
|
125
|
+
EggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
|
|
126
|
+
EggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
|
|
127
|
+
LoadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
|
|
128
|
+
}
|
|
129
|
+
async init() {
|
|
130
|
+
await this.initLoaderInstance();
|
|
131
|
+
this.loadUnits = await this.load();
|
|
132
|
+
const instances = [];
|
|
133
|
+
for (const loadUnit of this.loadUnits) {
|
|
134
|
+
const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
|
|
135
|
+
instances.push(instance);
|
|
136
|
+
}
|
|
137
|
+
this.loadUnitInstances = instances;
|
|
138
|
+
const runnerClass = StandaloneUtil.getMainRunner();
|
|
139
|
+
if (!runnerClass) throw new Error("not found runner class. Do you add @Runner decorator?");
|
|
140
|
+
const proto = PrototypeUtil.getClazzProto(runnerClass);
|
|
141
|
+
if (!proto) throw new Error(`can not get proto for clazz ${runnerClass.name}`);
|
|
142
|
+
this.runnerProto = proto;
|
|
143
|
+
}
|
|
144
|
+
async run(aCtx) {
|
|
145
|
+
const lifecycle = {};
|
|
146
|
+
const ctx = aCtx || new StandaloneContext();
|
|
147
|
+
return await ContextHandler.run(ctx, async () => {
|
|
148
|
+
if (ctx.init) await ctx.init(lifecycle);
|
|
149
|
+
const runner = (await EggContainerFactory.getOrCreateEggObject(this.runnerProto)).obj;
|
|
150
|
+
try {
|
|
151
|
+
return await runner.main();
|
|
152
|
+
} finally {
|
|
153
|
+
if (ctx.destroy) ctx.destroy(lifecycle).catch((e) => {
|
|
154
|
+
e.message = `[tegg/standalone] destroy tegg context failed: ${e.message}`;
|
|
155
|
+
console.warn(e);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
async destroy() {
|
|
161
|
+
if (this.loadUnitInstances) for (const instance of this.loadUnitInstances) await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
|
|
162
|
+
if (this.loadUnits) for (const loadUnit of this.loadUnits) await LoadUnitFactory.destroyLoadUnit(loadUnit);
|
|
163
|
+
if (this.configSourceEggPrototypeHook) LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
164
|
+
if (this.eggPrototypeCrossCutHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
|
|
165
|
+
if (this.loadUnitAopHook) LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
|
|
166
|
+
if (this.eggObjectAopHook) EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
|
|
167
|
+
if (this.loadUnitMultiInstanceProtoHook) LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
168
|
+
if (this.dalTableEggPrototypeHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.dalTableEggPrototypeHook);
|
|
169
|
+
if (this.dalModuleLoadUnitHook) LoadUnitLifecycleUtil.deleteLifecycle(this.dalModuleLoadUnitHook);
|
|
170
|
+
if (this.transactionPrototypeHook) EggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
|
|
171
|
+
MysqlDataSourceManager.instance.clear();
|
|
172
|
+
SqlMapManager.instance.clear();
|
|
173
|
+
TableModelManager.instance.clear();
|
|
174
|
+
ModuleConfigUtil.setConfigNames(void 0);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
//#endregion
|
|
179
|
+
export { Runner };
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { AbstractEggContext } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { AbstractEggContext } from "@eggjs/tegg-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/StandaloneContext.d.ts
|
|
4
|
+
declare class StandaloneContext extends AbstractEggContext {
|
|
5
|
+
id: string;
|
|
6
|
+
constructor();
|
|
5
7
|
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { StandaloneContext };
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { AbstractEggContext } from
|
|
2
|
-
import { IdenticalUtil } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { AbstractEggContext } from "@eggjs/tegg-runtime";
|
|
2
|
+
import { IdenticalUtil } from "@eggjs/lifecycle";
|
|
3
|
+
|
|
4
|
+
//#region src/StandaloneContext.ts
|
|
5
|
+
var StandaloneContext = class extends AbstractEggContext {
|
|
6
|
+
id;
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.id = IdenticalUtil.createContextId();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { StandaloneContext };
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
1
|
+
import { ContextHandler } from "@eggjs/tegg-runtime";
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
|
|
4
|
+
//#region src/StandaloneContextHandler.ts
|
|
5
|
+
var StandaloneContextHandler = class StandaloneContextHandler {
|
|
6
|
+
static storage = new AsyncLocalStorage();
|
|
7
|
+
static register() {
|
|
8
|
+
ContextHandler.getContextCallback = () => {
|
|
9
|
+
return StandaloneContextHandler.storage.getStore();
|
|
10
|
+
};
|
|
11
|
+
ContextHandler.runInContextCallback = (context, fn) => {
|
|
12
|
+
return StandaloneContextHandler.storage.run(context, fn);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { StandaloneContextHandler };
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { StandaloneInnerObjectProto } from "./StandaloneInnerObjectProto.js";
|
|
2
|
+
import { EggPrototype } from "@eggjs/metadata";
|
|
3
|
+
import { EggObjectName } from "@eggjs/tegg";
|
|
4
|
+
import { EggObject } from "@eggjs/tegg-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/StandaloneInnerObject.d.ts
|
|
7
|
+
declare class StandaloneInnerObject implements EggObject {
|
|
8
|
+
#private;
|
|
9
|
+
readonly isReady: boolean;
|
|
10
|
+
readonly proto: StandaloneInnerObjectProto;
|
|
11
|
+
readonly name: EggObjectName;
|
|
12
|
+
readonly id: string;
|
|
13
|
+
constructor(name: EggObjectName, proto: StandaloneInnerObjectProto);
|
|
14
|
+
get obj(): object;
|
|
15
|
+
injectProperty(): void;
|
|
16
|
+
static createObject(name: EggObjectName, proto: EggPrototype): Promise<StandaloneInnerObject>;
|
|
15
17
|
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { StandaloneInnerObject };
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { EggObjectFactory } from '@eggjs/tegg-runtime';
|
|
2
|
-
import { IdenticalUtil } from '@eggjs/tegg';
|
|
3
1
|
import { StandaloneInnerObjectProto } from "./StandaloneInnerObjectProto.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
2
|
+
import { IdenticalUtil } from "@eggjs/tegg";
|
|
3
|
+
import { EggObjectFactory } from "@eggjs/tegg-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/StandaloneInnerObject.ts
|
|
6
|
+
var StandaloneInnerObject = class StandaloneInnerObject {
|
|
7
|
+
isReady = true;
|
|
8
|
+
#obj;
|
|
9
|
+
proto;
|
|
10
|
+
name;
|
|
11
|
+
id;
|
|
12
|
+
constructor(name, proto) {
|
|
13
|
+
this.proto = proto;
|
|
14
|
+
this.name = name;
|
|
15
|
+
this.id = IdenticalUtil.createObjectId(this.proto.id);
|
|
16
|
+
}
|
|
17
|
+
get obj() {
|
|
18
|
+
if (!this.#obj) this.#obj = this.proto.constructEggObject();
|
|
19
|
+
return this.#obj;
|
|
20
|
+
}
|
|
21
|
+
injectProperty() {}
|
|
22
|
+
static async createObject(name, proto) {
|
|
23
|
+
return new StandaloneInnerObject(name, proto);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
28
26
|
EggObjectFactory.registerEggObjectCreateMethod(StandaloneInnerObjectProto, StandaloneInnerObject.createObject);
|
|
29
|
-
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { StandaloneInnerObject };
|