@eggjs/tegg-standalone 3.17.0 → 3.18.1
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/src/ConfigSourceLoadUnitHook.d.ts +4 -0
- package/dist/src/ConfigSourceLoadUnitHook.js +5 -1
- package/dist/src/EggModuleLoader.js +4 -20
- package/dist/src/LoadUnitInnerClassHook.d.ts +5 -0
- package/dist/src/LoadUnitInnerClassHook.js +22 -0
- package/dist/src/Runner.d.ts +6 -0
- package/dist/src/Runner.js +32 -1
- package/package.json +12 -11
- package/dist/src/StandaloneGraph.d.ts +0 -29
- package/dist/src/StandaloneGraph.js +0 -127
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
2
|
import { LifecycleHook } from '@eggjs/tegg';
|
|
3
|
+
/**
|
|
4
|
+
* Hook for inject moduleConfig.
|
|
5
|
+
* Add default qualifier value is current module name.
|
|
6
|
+
*/
|
|
3
7
|
export declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
4
8
|
preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
|
|
5
9
|
}
|
|
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ConfigSourceLoadUnitHook = void 0;
|
|
4
4
|
const tegg_1 = require("@eggjs/tegg");
|
|
5
5
|
const ConfigSource_1 = require("./ConfigSource");
|
|
6
|
+
/**
|
|
7
|
+
* Hook for inject moduleConfig.
|
|
8
|
+
* Add default qualifier value is current module name.
|
|
9
|
+
*/
|
|
6
10
|
class ConfigSourceLoadUnitHook {
|
|
7
11
|
async preCreate(ctx, loadUnit) {
|
|
8
12
|
const classList = ctx.loader.load();
|
|
@@ -17,4 +21,4 @@ class ConfigSourceLoadUnitHook {
|
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
exports.ConfigSourceLoadUnitHook = ConfigSourceLoadUnitHook;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZ1NvdXJjZUxvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FHcUI7QUFDckIsaURBQXVGO0FBRXZGOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkIsRUFBRSxRQUFrQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLG9CQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQztZQUNqRixNQUFNLHFCQUFxQixHQUFHLG9CQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSw2Q0FBOEIsQ0FBQyxDQUFDO1lBQ3RILElBQUksa0JBQWtCLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDaEQsSUFBQSxvQ0FBcUIsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRjtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBWkQsNERBWUMifQ==
|
|
@@ -3,36 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EggModuleLoader = void 0;
|
|
4
4
|
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
5
5
|
const tegg_loader_1 = require("@eggjs/tegg-loader");
|
|
6
|
-
const
|
|
7
|
-
const tegg_1 = require("@eggjs/tegg");
|
|
8
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
6
|
+
const helper_1 = require("@eggjs/tegg/helper");
|
|
9
7
|
class EggModuleLoader {
|
|
10
8
|
constructor(moduleReferences) {
|
|
11
9
|
this.moduleReferences = moduleReferences;
|
|
12
10
|
}
|
|
13
11
|
buildAppGraph(loaderCache) {
|
|
14
|
-
const appGraph = new
|
|
12
|
+
const appGraph = new helper_1.AppGraph();
|
|
15
13
|
for (const moduleConfig of this.moduleReferences) {
|
|
16
14
|
const modulePath = moduleConfig.path;
|
|
17
|
-
const moduleNode = new
|
|
15
|
+
const moduleNode = new helper_1.ModuleNode(moduleConfig);
|
|
18
16
|
const loader = tegg_loader_1.LoaderFactory.createLoader(modulePath, tegg_metadata_1.EggLoadUnitType.MODULE);
|
|
19
17
|
loaderCache.set(modulePath, loader);
|
|
20
18
|
const clazzList = loader.load();
|
|
21
19
|
for (const clazz of clazzList) {
|
|
22
|
-
// TODO copy from ModuleLoadUnit, duplicate code
|
|
23
|
-
const moduleName = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(modulePath);
|
|
24
|
-
const defaultQualifier = [{
|
|
25
|
-
attribute: tegg_1.InitTypeQualifierAttribute,
|
|
26
|
-
value: tegg_1.PrototypeUtil.getInitType(clazz, {
|
|
27
|
-
unitPath: modulePath,
|
|
28
|
-
}),
|
|
29
|
-
}, {
|
|
30
|
-
attribute: tegg_1.LoadUnitNameQualifierAttribute,
|
|
31
|
-
value: moduleName,
|
|
32
|
-
}];
|
|
33
|
-
defaultQualifier.forEach(qualifier => {
|
|
34
|
-
tegg_1.QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
|
|
35
|
-
});
|
|
36
20
|
moduleNode.addClazz(clazz);
|
|
37
21
|
}
|
|
38
22
|
appGraph.addNode(moduleNode);
|
|
@@ -57,4 +41,4 @@ class EggModuleLoader {
|
|
|
57
41
|
}
|
|
58
42
|
}
|
|
59
43
|
exports.EggModuleLoader = EggModuleLoader;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VnZ01vZHVsZUxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBMEY7QUFDMUYsb0RBQW1EO0FBQ25ELCtDQUEwRDtBQUcxRCxNQUFhLGVBQWU7SUFHMUIsWUFBWSxnQkFBNEM7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFFTyxhQUFhLENBQUMsV0FBZ0M7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxpQkFBUSxFQUFFLENBQUM7UUFDaEMsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLG1CQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsMkJBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLCtCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFO2dCQUM3QixVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUNELFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBZSxFQUFFLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDbkQsS0FBSyxNQUFNLFlBQVksSUFBSSxnQkFBZ0IsRUFBRTtZQUMzQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSwrQkFBZSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsK0JBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sU0FBUyxDQUFDO1FBQ2pCLG9CQUFvQjtJQUN0QixDQUFDO0NBQ0Y7QUF2Q0QsMENBdUNDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LifecycleHook } from '@eggjs/tegg-lifecycle';
|
|
2
|
+
import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
3
|
+
export declare class LoadUnitInnerClassHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
4
|
+
postCreate(_: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadUnitInnerClassHook = void 0;
|
|
4
|
+
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
5
|
+
const tegg_dynamic_inject_runtime_1 = require("@eggjs/tegg-dynamic-inject-runtime");
|
|
6
|
+
const INNER_CLASS_LIST = [
|
|
7
|
+
tegg_dynamic_inject_runtime_1.EggObjectFactory,
|
|
8
|
+
];
|
|
9
|
+
class LoadUnitInnerClassHook {
|
|
10
|
+
async postCreate(_, loadUnit) {
|
|
11
|
+
if (loadUnit.type === 'StandaloneLoadUnitType') {
|
|
12
|
+
for (const clazz of INNER_CLASS_LIST) {
|
|
13
|
+
const protos = await tegg_metadata_1.EggPrototypeCreatorFactory.createProto(clazz, loadUnit);
|
|
14
|
+
for (const proto of protos) {
|
|
15
|
+
tegg_metadata_1.EggPrototypeFactory.instance.registerPrototype(proto, loadUnit);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.LoadUnitInnerClassHook = LoadUnitInnerClassHook;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbm5lckNsYXNzSG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Mb2FkVW5pdElubmVyQ2xhc3NIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUs4QjtBQUU5QixvRkFBc0U7QUFFdEUsTUFBTSxnQkFBZ0IsR0FBRztJQUN2Qiw4Q0FBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQWEsc0JBQXNCO0lBQ2pDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBMkIsRUFBRSxRQUFrQjtRQUM5RCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssd0JBQXdCLEVBQUU7WUFDOUMsS0FBSyxNQUFNLEtBQUssSUFBSSxnQkFBZ0IsRUFBRTtnQkFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQ0FBMEIsQ0FBQyxXQUFXLENBQUMsS0FBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEcsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7b0JBQzFCLG1DQUFtQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQ2pFO2FBQ0Y7U0FDRjtJQUNILENBQUM7Q0FDRjtBQVhELHdEQVdDIn0=
|
package/dist/src/Runner.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ export declare class Runner {
|
|
|
18
18
|
private loadUnitLoader;
|
|
19
19
|
private runnerProto;
|
|
20
20
|
private configSourceEggPrototypeHook;
|
|
21
|
+
private loadUnitMultiInstanceProtoHook;
|
|
22
|
+
private readonly loadUnitInnerClassHook;
|
|
23
|
+
private readonly crosscutAdviceFactory;
|
|
24
|
+
private readonly loadUnitAopHook;
|
|
25
|
+
private readonly eggPrototypeCrossCutHook;
|
|
26
|
+
private readonly eggObjectAopHook;
|
|
21
27
|
loadUnits: LoadUnit[];
|
|
22
28
|
loadUnitInstances: LoadUnitInstance[];
|
|
23
29
|
innerObjects: Record<string, InnerObject[]>;
|
package/dist/src/Runner.js
CHANGED
|
@@ -6,6 +6,8 @@ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
|
6
6
|
const tegg_runtime_1 = require("@eggjs/tegg-runtime");
|
|
7
7
|
const tegg_1 = require("@eggjs/tegg");
|
|
8
8
|
const standalone_1 = require("@eggjs/tegg/standalone");
|
|
9
|
+
const aop_1 = require("@eggjs/tegg/aop");
|
|
10
|
+
const tegg_aop_runtime_1 = require("@eggjs/tegg-aop-runtime");
|
|
9
11
|
const EggModuleLoader_1 = require("./EggModuleLoader");
|
|
10
12
|
const StandaloneLoadUnit_1 = require("./StandaloneLoadUnit");
|
|
11
13
|
const StandaloneContext_1 = require("./StandaloneContext");
|
|
@@ -13,6 +15,7 @@ const StandaloneContextHandler_1 = require("./StandaloneContextHandler");
|
|
|
13
15
|
const ModuleConfigs_1 = require("./ModuleConfigs");
|
|
14
16
|
const ConfigSource_1 = require("./ConfigSource");
|
|
15
17
|
const ConfigSourceLoadUnitHook_1 = require("./ConfigSourceLoadUnitHook");
|
|
18
|
+
const LoadUnitInnerClassHook_1 = require("./LoadUnitInnerClassHook");
|
|
16
19
|
class Runner {
|
|
17
20
|
constructor(cwd, options) {
|
|
18
21
|
this.loadUnits = [];
|
|
@@ -66,6 +69,19 @@ class Runner {
|
|
|
66
69
|
this.loadUnitLoader = new EggModuleLoader_1.EggModuleLoader(this.moduleReferences);
|
|
67
70
|
const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook_1.ConfigSourceLoadUnitHook();
|
|
68
71
|
tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
|
|
72
|
+
this.loadUnitInnerClassHook = new LoadUnitInnerClassHook_1.LoadUnitInnerClassHook();
|
|
73
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitInnerClassHook);
|
|
74
|
+
// TODO refactor with egg module
|
|
75
|
+
// aop runtime
|
|
76
|
+
this.crosscutAdviceFactory = new aop_1.CrosscutAdviceFactory();
|
|
77
|
+
this.loadUnitAopHook = new tegg_aop_runtime_1.LoadUnitAopHook(this.crosscutAdviceFactory);
|
|
78
|
+
this.eggPrototypeCrossCutHook = new tegg_aop_runtime_1.EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
|
|
79
|
+
this.eggObjectAopHook = new tegg_aop_runtime_1.EggObjectAopHook();
|
|
80
|
+
tegg_metadata_1.EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
|
|
81
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
|
|
82
|
+
tegg_runtime_1.EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
|
|
83
|
+
this.loadUnitMultiInstanceProtoHook = new tegg_metadata_1.LoadUnitMultiInstanceProtoHook();
|
|
84
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
69
85
|
}
|
|
70
86
|
async init() {
|
|
71
87
|
StandaloneContextHandler_1.StandaloneContextHandler.register();
|
|
@@ -132,7 +148,22 @@ class Runner {
|
|
|
132
148
|
if (this.configSourceEggPrototypeHook) {
|
|
133
149
|
tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
134
150
|
}
|
|
151
|
+
if (this.loadUnitInnerClassHook) {
|
|
152
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitInnerClassHook);
|
|
153
|
+
}
|
|
154
|
+
if (this.eggPrototypeCrossCutHook) {
|
|
155
|
+
tegg_metadata_1.EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
|
|
156
|
+
}
|
|
157
|
+
if (this.loadUnitAopHook) {
|
|
158
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
|
|
159
|
+
}
|
|
160
|
+
if (this.eggObjectAopHook) {
|
|
161
|
+
tegg_runtime_1.EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
|
|
162
|
+
}
|
|
163
|
+
if (this.loadUnitMultiInstanceProtoHook) {
|
|
164
|
+
tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
165
|
+
}
|
|
135
166
|
}
|
|
136
167
|
}
|
|
137
168
|
exports.Runner = Runner;
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBMkY7QUFDM0Ysd0RBSzhCO0FBQzlCLHNEQU02QjtBQUM3QixzQ0FBK0Q7QUFDL0QsdURBQW9FO0FBQ3BFLHlDQUF3RDtBQUN4RCw4REFBc0c7QUFFdEcsdURBQW9EO0FBQ3BELDZEQUErRjtBQUMvRiwyREFBd0Q7QUFDeEQseUVBQXNFO0FBQ3RFLG1EQUFvRTtBQUNwRSxpREFBZ0U7QUFDaEUseUVBQXNFO0FBQ3RFLHFFQUFrRTtBQVlsRSxNQUFhLE1BQU07SUFtQmpCLFlBQVksR0FBVyxFQUFFLE9BQXVCO1FBSmhELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUl6QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQ0FBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixhQUFhLEVBQUUsQ0FBQztvQkFDZCxHQUFHLEVBQUUsSUFBSSw2QkFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7aUJBQzNDLENBQUM7WUFDRixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQTJCO1lBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRztTQUNsQixDQUFDO1FBQ0YsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxhQUFhO2FBQ25CLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzdDLE1B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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-standalone",
|
|
3
3
|
"description": "tegg standalone",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.18.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
7
7
|
"typescript",
|
|
@@ -38,15 +38,16 @@
|
|
|
38
38
|
"author": "killagu <killa123@126.com>",
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@eggjs/egg-module-common": "^3.
|
|
42
|
-
"@eggjs/tegg": "^3.
|
|
43
|
-
"@eggjs/tegg-
|
|
44
|
-
"@eggjs/tegg-
|
|
45
|
-
"@eggjs/tegg-
|
|
46
|
-
"@eggjs/tegg-
|
|
47
|
-
"@eggjs/tegg-
|
|
48
|
-
"@eggjs/tegg-
|
|
49
|
-
"@eggjs/tegg-
|
|
41
|
+
"@eggjs/egg-module-common": "^3.18.1",
|
|
42
|
+
"@eggjs/tegg": "^3.18.1",
|
|
43
|
+
"@eggjs/tegg-aop-runtime": "^3.18.1",
|
|
44
|
+
"@eggjs/tegg-background-task": "^3.18.1",
|
|
45
|
+
"@eggjs/tegg-common-util": "^3.18.1",
|
|
46
|
+
"@eggjs/tegg-dynamic-inject-runtime": "^3.18.1",
|
|
47
|
+
"@eggjs/tegg-lifecycle": "^3.18.1",
|
|
48
|
+
"@eggjs/tegg-loader": "^3.18.1",
|
|
49
|
+
"@eggjs/tegg-metadata": "^3.18.1",
|
|
50
|
+
"@eggjs/tegg-runtime": "^3.18.1"
|
|
50
51
|
},
|
|
51
52
|
"publishConfig": {
|
|
52
53
|
"access": "public"
|
|
@@ -59,5 +60,5 @@
|
|
|
59
60
|
"ts-node": "^10.9.1",
|
|
60
61
|
"typescript": "^5.0.4"
|
|
61
62
|
},
|
|
62
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "265ac4ae37cad57cd7d38a0ea21d945a8f620b0c"
|
|
63
64
|
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { GraphNodeObj } from '@eggjs/tegg-common-util';
|
|
2
|
-
import { EggProtoImplClass, EggPrototypeName, QualifierInfo } from '@eggjs/tegg';
|
|
3
|
-
export interface ModuleConfig {
|
|
4
|
-
path: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class ModuleNode implements GraphNodeObj {
|
|
7
|
-
readonly id: string;
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly moduleConfig: ModuleConfig;
|
|
10
|
-
private clazzList;
|
|
11
|
-
static readModuleName(modulePath: string): string;
|
|
12
|
-
constructor(moduleConfig: ModuleConfig);
|
|
13
|
-
addClazz(clazz: EggProtoImplClass): void;
|
|
14
|
-
getClazzList(): readonly EggProtoImplClass[];
|
|
15
|
-
getPublicClazzList(): readonly EggProtoImplClass[];
|
|
16
|
-
toString(): string;
|
|
17
|
-
verifyQualifiers(clazz: EggProtoImplClass, qualifiers: QualifierInfo[]): boolean;
|
|
18
|
-
verifyQualifier(clazzQualifiers: QualifierInfo[], qualifier: QualifierInfo): boolean;
|
|
19
|
-
findImplementClazzList(objName: EggPrototypeName, qualifiers: QualifierInfo[], innerFind: boolean): EggProtoImplClass[];
|
|
20
|
-
}
|
|
21
|
-
export declare class StandaloneGraph {
|
|
22
|
-
private graph;
|
|
23
|
-
moduleConfigList: Array<ModuleConfig>;
|
|
24
|
-
constructor();
|
|
25
|
-
addNode(moduleNode: ModuleNode): void;
|
|
26
|
-
private findDependencyModule;
|
|
27
|
-
build(): void;
|
|
28
|
-
sort(): void;
|
|
29
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.StandaloneGraph = exports.ModuleNode = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
10
|
-
const tegg_1 = require("@eggjs/tegg");
|
|
11
|
-
class ModuleNode {
|
|
12
|
-
// TODO refactor to ModuleUtil
|
|
13
|
-
static readModuleName(modulePath) {
|
|
14
|
-
const pkgPath = path_1.default.join(modulePath, 'package.json');
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
16
|
-
const pkg = require(pkgPath);
|
|
17
|
-
(0, assert_1.default)(pkg.eggModule, `module config not found in package ${pkgPath}`);
|
|
18
|
-
const { name } = pkg.eggModule;
|
|
19
|
-
return name;
|
|
20
|
-
}
|
|
21
|
-
constructor(moduleConfig) {
|
|
22
|
-
this.moduleConfig = moduleConfig;
|
|
23
|
-
this.id = moduleConfig.path;
|
|
24
|
-
this.name = ModuleNode.readModuleName(moduleConfig.path);
|
|
25
|
-
this.clazzList = [];
|
|
26
|
-
}
|
|
27
|
-
addClazz(clazz) {
|
|
28
|
-
this.clazzList.push(clazz);
|
|
29
|
-
}
|
|
30
|
-
getClazzList() {
|
|
31
|
-
return this.clazzList;
|
|
32
|
-
}
|
|
33
|
-
getPublicClazzList() {
|
|
34
|
-
return this.clazzList.filter(clazz => tegg_1.PrototypeUtil.getInitType(clazz, {
|
|
35
|
-
unitPath: this.moduleConfig.path,
|
|
36
|
-
}) === tegg_1.AccessLevel.PUBLIC);
|
|
37
|
-
}
|
|
38
|
-
toString() {
|
|
39
|
-
return `${this.name}@${this.moduleConfig.path}`;
|
|
40
|
-
}
|
|
41
|
-
verifyQualifiers(clazz, qualifiers) {
|
|
42
|
-
const clazzQualifiers = tegg_1.QualifierUtil.getProtoQualifiers(clazz);
|
|
43
|
-
for (const qualifier of qualifiers) {
|
|
44
|
-
if (!this.verifyQualifier(clazzQualifiers, qualifier)) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
verifyQualifier(clazzQualifiers, qualifier) {
|
|
51
|
-
const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
|
|
52
|
-
return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
|
|
53
|
-
}
|
|
54
|
-
findImplementClazzList(objName, qualifiers, innerFind) {
|
|
55
|
-
const moduleQualifier = qualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute);
|
|
56
|
-
if (moduleQualifier && moduleQualifier.value !== this.name) {
|
|
57
|
-
return [];
|
|
58
|
-
}
|
|
59
|
-
const clazzList = innerFind ? this.clazzList : this.getPublicClazzList();
|
|
60
|
-
const implList = clazzList
|
|
61
|
-
.filter(clazz => tegg_1.PrototypeUtil.getObjNames(clazz, {
|
|
62
|
-
unitPath: this.moduleConfig.path,
|
|
63
|
-
}).includes(objName))
|
|
64
|
-
.filter(clazz => this.verifyQualifiers(clazz, qualifiers));
|
|
65
|
-
if (implList.length === 1) {
|
|
66
|
-
return implList;
|
|
67
|
-
}
|
|
68
|
-
const initTypeQualifiers = tegg_1.INIT_TYPE_TRY_ORDER.map(type => ({
|
|
69
|
-
attribute: tegg_1.InitTypeQualifierAttribute,
|
|
70
|
-
value: type,
|
|
71
|
-
}));
|
|
72
|
-
for (const initTypeQualifier of initTypeQualifiers) {
|
|
73
|
-
const initTypeList = implList.filter(clazz => this.verifyQualifiers(clazz, [initTypeQualifier]));
|
|
74
|
-
if (initTypeList.length === 1) {
|
|
75
|
-
return initTypeList;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return implList;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.ModuleNode = ModuleNode;
|
|
82
|
-
class StandaloneGraph {
|
|
83
|
-
constructor() {
|
|
84
|
-
this.graph = new tegg_common_util_1.Graph();
|
|
85
|
-
}
|
|
86
|
-
addNode(moduleNode) {
|
|
87
|
-
if (!this.graph.addVertex(new tegg_common_util_1.GraphNode(moduleNode))) {
|
|
88
|
-
throw new Error(`duplicate module: ${moduleNode}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
findDependencyModule(objName, properqualifiers, protoQualifiers) {
|
|
92
|
-
var _a;
|
|
93
|
-
const nodes = Array.from(this.graph.nodes.values());
|
|
94
|
-
const hostModuleName = (_a = protoQualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute)) === null || _a === void 0 ? void 0 : _a.value;
|
|
95
|
-
return nodes.filter(node => {
|
|
96
|
-
// private 的类只能在当前 module 中被找到
|
|
97
|
-
const clazzList = node.val.findImplementClazzList(objName, properqualifiers, hostModuleName === node.val.name);
|
|
98
|
-
return clazzList.length;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
build() {
|
|
102
|
-
for (const node of this.graph.nodes.values()) {
|
|
103
|
-
for (const clazz of node.val.getClazzList()) {
|
|
104
|
-
const injectObjects = tegg_1.PrototypeUtil.getInjectObjects(clazz);
|
|
105
|
-
for (const injectObject of injectObjects) {
|
|
106
|
-
const properqualifiers = tegg_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
|
|
107
|
-
const protoQualifiers = tegg_1.QualifierUtil.getProtoQualifiers(clazz);
|
|
108
|
-
const dependencyModules = this.findDependencyModule(injectObject.objName, properqualifiers, protoQualifiers);
|
|
109
|
-
for (const moduleNode of dependencyModules) {
|
|
110
|
-
if (node !== moduleNode) {
|
|
111
|
-
this.graph.addEdge(node, moduleNode);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
sort() {
|
|
119
|
-
const loopPath = this.graph.loopPath();
|
|
120
|
-
if (loopPath) {
|
|
121
|
-
throw new Error('module has recursive deps: ' + loopPath);
|
|
122
|
-
}
|
|
123
|
-
this.moduleConfigList = this.graph.sort().map(t => t.val.moduleConfig);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.StandaloneGraph = StandaloneGraph;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0YW5kYWxvbmVHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLDhEQUF5RTtBQUN6RSxzQ0FVcUI7QUFNckIsTUFBYSxVQUFVO0lBTXJCLDhCQUE4QjtJQUM5QixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELDhEQUE4RDtRQUM5RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBQSxnQkFBTSxFQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsc0NBQXNDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxZQUEwQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMs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
|