@eggjs/tegg-plugin 0.1.9 → 0.1.16
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/lib/AppGraph.d.ts +2 -1
- package/lib/AppGraph.js +15 -7
- package/package.json +12 -12
package/lib/AppGraph.d.ts
CHANGED
|
@@ -12,10 +12,11 @@ export declare class ModuleNode implements GraphNodeObj {
|
|
|
12
12
|
constructor(moduleConfig: ModuleConfig);
|
|
13
13
|
addClazz(clazz: EggProtoImplClass): void;
|
|
14
14
|
getClazzList(): readonly EggProtoImplClass[];
|
|
15
|
+
getPublicClazzList(): readonly EggProtoImplClass[];
|
|
15
16
|
toString(): string;
|
|
16
17
|
verifyQualifiers(clazz: EggProtoImplClass, qualifiers: QualifierInfo[]): boolean;
|
|
17
18
|
verifyQualifier(clazzQualifiers: QualifierInfo[], qualifier: QualifierInfo): boolean;
|
|
18
|
-
findImplementClazzList(objName: EggPrototypeName, qualifiers: QualifierInfo[]): EggProtoImplClass[];
|
|
19
|
+
findImplementClazzList(objName: EggPrototypeName, qualifiers: QualifierInfo[], innerFind: boolean): EggProtoImplClass[];
|
|
19
20
|
}
|
|
20
21
|
export declare class AppGraph {
|
|
21
22
|
private graph;
|
package/lib/AppGraph.js
CHANGED
|
@@ -30,6 +30,9 @@ class ModuleNode {
|
|
|
30
30
|
getClazzList() {
|
|
31
31
|
return this.clazzList;
|
|
32
32
|
}
|
|
33
|
+
getPublicClazzList() {
|
|
34
|
+
return this.clazzList.filter(clazz => { var _a; return ((_a = tegg_1.PrototypeUtil.getProperty(clazz)) === null || _a === void 0 ? void 0 : _a.accessLevel) === tegg_1.AccessLevel.PUBLIC; });
|
|
35
|
+
}
|
|
33
36
|
toString() {
|
|
34
37
|
return `${this.name}@${this.moduleConfig.path}`;
|
|
35
38
|
}
|
|
@@ -46,12 +49,13 @@ class ModuleNode {
|
|
|
46
49
|
const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
|
|
47
50
|
return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
|
|
48
51
|
}
|
|
49
|
-
findImplementClazzList(objName, qualifiers) {
|
|
52
|
+
findImplementClazzList(objName, qualifiers, innerFind) {
|
|
50
53
|
const moduleQualifier = qualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute);
|
|
51
54
|
if (moduleQualifier && moduleQualifier.value !== this.name) {
|
|
52
55
|
return [];
|
|
53
56
|
}
|
|
54
|
-
const
|
|
57
|
+
const clazzList = innerFind ? this.clazzList : this.getPublicClazzList();
|
|
58
|
+
const implList = clazzList
|
|
55
59
|
.filter(clazz => { var _a; return ((_a = tegg_1.PrototypeUtil.getProperty(clazz)) === null || _a === void 0 ? void 0 : _a.name) === objName; })
|
|
56
60
|
.filter(clazz => this.verifyQualifiers(clazz, qualifiers));
|
|
57
61
|
if (implList.length === 1) {
|
|
@@ -80,10 +84,13 @@ class AppGraph {
|
|
|
80
84
|
throw new Error(`duplicate module: ${moduleNode}`);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
|
-
findDependencyModule(objName,
|
|
87
|
+
findDependencyModule(objName, properqualifiers, protoQualifiers) {
|
|
88
|
+
var _a;
|
|
84
89
|
const nodes = Array.from(this.graph.nodes.values());
|
|
90
|
+
const hostModuleName = (_a = protoQualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute)) === null || _a === void 0 ? void 0 : _a.value;
|
|
85
91
|
return nodes.filter(node => {
|
|
86
|
-
|
|
92
|
+
// private 的类只能在当前 module 中被找到
|
|
93
|
+
const clazzList = node.val.findImplementClazzList(objName, properqualifiers, hostModuleName === node.val.name);
|
|
87
94
|
return clazzList.length;
|
|
88
95
|
});
|
|
89
96
|
}
|
|
@@ -92,8 +99,9 @@ class AppGraph {
|
|
|
92
99
|
for (const clazz of node.val.getClazzList()) {
|
|
93
100
|
const injectObjects = tegg_1.PrototypeUtil.getInjectObjects(clazz);
|
|
94
101
|
for (const injectObject of injectObjects) {
|
|
95
|
-
const
|
|
96
|
-
const
|
|
102
|
+
const properqualifiers = tegg_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
|
|
103
|
+
const protoQualifiers = tegg_1.QualifierUtil.getProtoQualifiers(clazz);
|
|
104
|
+
const dependencyModules = this.findDependencyModule(injectObject.objName, properqualifiers, protoQualifiers);
|
|
97
105
|
for (const moduleNode of dependencyModules) {
|
|
98
106
|
if (node !== moduleNode) {
|
|
99
107
|
this.graph.addEdge(node, moduleNode);
|
|
@@ -112,4 +120,4 @@ class AppGraph {
|
|
|
112
120
|
}
|
|
113
121
|
}
|
|
114
122
|
exports.AppGraph = AppGraph;
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBcHBHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLDhEQUF5RTtBQUN6RSxzQ0FVcUI7QUFNckIsTUFBYSxVQUFVO0lBZ0JyQixZQUFZLFlBQTBCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFmRCw4QkFBOEI7SUFDOUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN0RCw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUEsZ0JBQU0sRUFBQyxHQUFHLENBQUMsU0FBUyxFQUFFLHNDQUFzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVNELFFBQVEsQ0FBQyxLQUF3QjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FB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
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"teggConfig"
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
|
-
"version": "0.1.
|
|
9
|
+
"version": "0.1.16",
|
|
10
10
|
"description": "module plugin for egg",
|
|
11
11
|
"keywords": [
|
|
12
12
|
"egg",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"clean": "tsc -b --clean",
|
|
30
30
|
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
31
31
|
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
32
|
-
"
|
|
32
|
+
"prepublishOnly": "npm run tsc:pub",
|
|
33
33
|
"autod": "autod"
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://github.com/eggjs/tegg",
|
|
@@ -45,18 +45,18 @@
|
|
|
45
45
|
"node": ">=14.0.0"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@eggjs/egg-module-common": "^0.1.
|
|
49
|
-
"@eggjs/tegg": "^0.1.
|
|
50
|
-
"@eggjs/tegg-background-task": "^0.1.
|
|
51
|
-
"@eggjs/tegg-common-util": "^0.1.
|
|
52
|
-
"@eggjs/tegg-dynamic-inject-runtime": "^0.1.
|
|
53
|
-
"@eggjs/tegg-loader": "^0.1.
|
|
54
|
-
"@eggjs/tegg-metadata": "^0.1.
|
|
55
|
-
"@eggjs/tegg-runtime": "^0.1.
|
|
48
|
+
"@eggjs/egg-module-common": "^0.1.13",
|
|
49
|
+
"@eggjs/tegg": "^0.1.16",
|
|
50
|
+
"@eggjs/tegg-background-task": "^0.1.13",
|
|
51
|
+
"@eggjs/tegg-common-util": "^0.1.13",
|
|
52
|
+
"@eggjs/tegg-dynamic-inject-runtime": "^0.1.16",
|
|
53
|
+
"@eggjs/tegg-loader": "^0.1.16",
|
|
54
|
+
"@eggjs/tegg-metadata": "^0.1.16",
|
|
55
|
+
"@eggjs/tegg-runtime": "^0.1.16",
|
|
56
56
|
"sdk-base": "^3.6.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@eggjs/tegg-config": "^0.1.
|
|
59
|
+
"@eggjs/tegg-config": "^0.1.13",
|
|
60
60
|
"egg": "^2.26.1",
|
|
61
61
|
"egg-mock": "^3.25.1",
|
|
62
62
|
"egg-tracer": "^1.1.0",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "34e3f9c31c07de8149aaa061833c96cf25cae2d9"
|
|
69
69
|
}
|