@eggjs/tegg-loader 3.46.1 → 3.46.3
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.
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { EggLoadUnitTypeLike, Loader, ModuleReference } from '@eggjs/tegg-types';
|
|
2
|
+
import { ModuleDescriptor } from '@eggjs/tegg-metadata';
|
|
2
3
|
export type LoaderCreator = (unitPath: string) => Loader;
|
|
3
4
|
export declare class LoaderFactory {
|
|
4
5
|
private static loaderCreatorMap;
|
|
5
6
|
static createLoader(unitPath: string, type: EggLoadUnitTypeLike): Loader;
|
|
6
7
|
static registerLoader(type: EggLoadUnitTypeLike, creator: LoaderCreator): void;
|
|
8
|
+
static loadApp(moduleReferences: readonly ModuleReference[]): ModuleDescriptor[];
|
|
7
9
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LoaderFactory = void 0;
|
|
4
|
+
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
4
6
|
class LoaderFactory {
|
|
5
7
|
static createLoader(unitPath, type) {
|
|
6
8
|
const creator = this.loaderCreatorMap.get(type);
|
|
@@ -12,7 +14,33 @@ class LoaderFactory {
|
|
|
12
14
|
static registerLoader(type, creator) {
|
|
13
15
|
this.loaderCreatorMap.set(type, creator);
|
|
14
16
|
}
|
|
17
|
+
static loadApp(moduleReferences) {
|
|
18
|
+
const result = [];
|
|
19
|
+
const multiInstanceClazzList = [];
|
|
20
|
+
for (const moduleReference of moduleReferences) {
|
|
21
|
+
const loader = LoaderFactory.createLoader(moduleReference.path, moduleReference.loaderType || tegg_types_1.EggLoadUnitType.MODULE);
|
|
22
|
+
const res = {
|
|
23
|
+
name: moduleReference.name,
|
|
24
|
+
unitPath: moduleReference.path,
|
|
25
|
+
clazzList: [],
|
|
26
|
+
protos: [],
|
|
27
|
+
multiInstanceClazzList,
|
|
28
|
+
optional: moduleReference.optional,
|
|
29
|
+
};
|
|
30
|
+
result.push(res);
|
|
31
|
+
const clazzList = loader.load();
|
|
32
|
+
for (const clazz of clazzList) {
|
|
33
|
+
if (core_decorator_1.PrototypeUtil.isEggPrototype(clazz)) {
|
|
34
|
+
res.clazzList.push(clazz);
|
|
35
|
+
}
|
|
36
|
+
else if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
|
|
37
|
+
res.multiInstanceClazzList.push(clazz);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
15
43
|
}
|
|
16
44
|
exports.LoaderFactory = LoaderFactory;
|
|
17
45
|
LoaderFactory.loaderCreatorMap = new Map();
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Mb2FkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFxSDtBQUVySCwwREFBc0Q7QUFJdEQsTUFBYSxhQUFhO0lBR3hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxJQUF5QjtRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQXlCLEVBQUUsT0FBc0I7UUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQTRDO1FBQ3pELE1BQU0sTUFBTSxHQUF1QixFQUFFLENBQUM7UUFDdEMsTUFBTSxzQkFBc0IsR0FBd0IsRUFBRSxDQUFDO1FBQ3ZELEtBQUssTUFBTSxlQUFlLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLFVBQVUsSUFBSSw0QkFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RILE1BQU0sR0FBRyxHQUFxQjtnQkFDNUIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO2dCQUMxQixRQUFRLEVBQUUsZUFBZSxDQUFDLElBQUk7Z0JBQzlCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLE1BQU0sRUFBRSxFQUFFO2dCQUNWLHNCQUFzQjtnQkFDdEIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxRQUFRO2FBQ25DLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLDhCQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO3FCQUFNLElBQUksOEJBQWEsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM1RCxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQXZDSCxzQ0F3Q0M7QUF2Q2dCLDhCQUFnQixHQUE0QyxJQUFJLEdBQUcsRUFBRSxDQUFDIn0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EggProtoImplClass } from '@eggjs/core-decorator';
|
|
2
|
+
import type { ModuleReference } from '@eggjs/tegg-common-util';
|
|
3
|
+
export interface ModuleProtoMeta {
|
|
4
|
+
path: string;
|
|
5
|
+
exportNames: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare class ModuleLoaderCache {
|
|
8
|
+
private static enable;
|
|
9
|
+
private static enableDump;
|
|
10
|
+
private static moduleReferences;
|
|
11
|
+
private static readonly cache;
|
|
12
|
+
private static readonly moduleCache;
|
|
13
|
+
static enableCache(): void;
|
|
14
|
+
static openDump(): void;
|
|
15
|
+
static setModuleReferences(moduleReferences: ModuleReference[]): void;
|
|
16
|
+
static addModule(modulePath: string, cache: ModuleProtoMeta[]): void;
|
|
17
|
+
static addModuleCache(modulePath: string, clazzList: EggProtoImplClass[]): void;
|
|
18
|
+
static getModuleProtoCache(modulePath: string): EggProtoImplClass[] | undefined;
|
|
19
|
+
static getModuleReferences(): ModuleReference[] | undefined;
|
|
20
|
+
static getModuleCache(modulePath: string): ModuleProtoMeta[] | undefined;
|
|
21
|
+
static dump(): {
|
|
22
|
+
moduleReferences: ModuleReference[];
|
|
23
|
+
cache: Record<string, ModuleProtoMeta[]>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleLoaderCache = void 0;
|
|
4
|
+
class ModuleLoaderCache {
|
|
5
|
+
static enableCache() {
|
|
6
|
+
ModuleLoaderCache.enable = true;
|
|
7
|
+
}
|
|
8
|
+
static openDump() {
|
|
9
|
+
ModuleLoaderCache.enableDump = true;
|
|
10
|
+
}
|
|
11
|
+
static setModuleReferences(moduleReferences) {
|
|
12
|
+
if (ModuleLoaderCache.enable) {
|
|
13
|
+
ModuleLoaderCache.moduleReferences = moduleReferences;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
static addModule(modulePath, cache) {
|
|
17
|
+
if (ModuleLoaderCache.enableDump) {
|
|
18
|
+
this.cache[modulePath] = cache;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
static addModuleCache(modulePath, clazzList) {
|
|
22
|
+
if (ModuleLoaderCache.enable) {
|
|
23
|
+
this.moduleCache[modulePath] = clazzList;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
static getModuleProtoCache(modulePath) {
|
|
27
|
+
console.log('-------getModuleProtoCache', modulePath, Object.keys(this.moduleCache));
|
|
28
|
+
if (ModuleLoaderCache.enable) {
|
|
29
|
+
return this.moduleCache[modulePath];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static getModuleReferences() {
|
|
33
|
+
if (ModuleLoaderCache.enable) {
|
|
34
|
+
return this.moduleReferences;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static getModuleCache(modulePath) {
|
|
38
|
+
if (ModuleLoaderCache.enableDump) {
|
|
39
|
+
return this.cache[modulePath];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
static dump() {
|
|
43
|
+
return {
|
|
44
|
+
moduleReferences: ModuleLoaderCache.moduleReferences,
|
|
45
|
+
cache: ModuleLoaderCache.cache,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ModuleLoaderCache = ModuleLoaderCache;
|
|
50
|
+
ModuleLoaderCache.enable = false;
|
|
51
|
+
ModuleLoaderCache.enableDump = false;
|
|
52
|
+
ModuleLoaderCache.cache = {};
|
|
53
|
+
ModuleLoaderCache.moduleCache = {};
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZGVyQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FjaGUvTW9kdWxlTG9hZGVyQ2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUEsTUFBYSxpQkFBaUI7SUFPNUIsTUFBTSxDQUFDLFdBQVc7UUFDaEIsaUJBQWlCLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsZ0JBQW1DO1FBQzVELElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFO1lBQzVCLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMzRCxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtCLEVBQUUsU0FBOEI7UUFDdEUsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQWtCO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUI7UUFDeEIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCO1lBQ3BELEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1NBQy9CLENBQUM7SUFDSixDQUFDOztBQXpESCw4Q0EwREM7QUF6RGdCLHdCQUFNLEdBQUcsS0FBSyxDQUFDO0FBQ2YsNEJBQVUsR0FBRyxLQUFLLENBQUM7QUFFVix1QkFBSyxHQUFzQyxFQUFFLENBQUM7QUFDOUMsNkJBQVcsR0FBd0MsRUFBRSxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-loader",
|
|
3
|
-
"version": "3.46.
|
|
3
|
+
"version": "3.46.3",
|
|
4
4
|
"description": "tegg default loader implement",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"node": ">=14.0.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@eggjs/core-decorator": "^3.46.
|
|
40
|
-
"@eggjs/tegg-common-util": "^3.46.
|
|
41
|
-
"@eggjs/tegg-types": "^3.46.
|
|
39
|
+
"@eggjs/core-decorator": "^3.46.3",
|
|
40
|
+
"@eggjs/tegg-common-util": "^3.46.3",
|
|
41
|
+
"@eggjs/tegg-types": "^3.46.3",
|
|
42
42
|
"globby": "^11.1.0",
|
|
43
43
|
"is-type-of": "^1.2.1"
|
|
44
44
|
},
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@eggjs/tegg-metadata": "^3.46.
|
|
49
|
+
"@eggjs/tegg-metadata": "^3.46.3",
|
|
50
50
|
"@types/mocha": "^10.0.1",
|
|
51
51
|
"@types/node": "^20.2.4",
|
|
52
52
|
"cross-env": "^7.0.3",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"ts-node": "^10.9.1",
|
|
55
55
|
"typescript": "^5.0.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "ccff56782b11c32894622755289e325d6c99a325"
|
|
58
58
|
}
|