@eggjs/tegg-controller-plugin 0.2.0 → 1.0.4
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/app.js +8 -2
- package/lib/ControllerLoadUnitHandler.js +2 -3
- package/lib/EggControllerLoader.d.ts +1 -1
- package/lib/EggControllerLoader.js +3 -3
- package/lib/errors.d.ts +5 -0
- package/lib/errors.js +16 -0
- package/lib/impl/http/HTTPMethodRegister.js +6 -2
- package/package.json +13 -11
- package/typings/index.d.ts +4 -0
package/app.js
CHANGED
|
@@ -11,6 +11,7 @@ const EggControllerHook_1 = require("./lib/EggControllerHook");
|
|
|
11
11
|
const ControllerMetadataManager_1 = require("./lib/ControllerMetadataManager");
|
|
12
12
|
const EggControllerPrototypeHook_1 = require("./lib/EggControllerPrototypeHook");
|
|
13
13
|
const RootProtoManager_1 = require("./lib/RootProtoManager");
|
|
14
|
+
const EggControllerLoader_1 = require("./lib/EggControllerLoader");
|
|
14
15
|
// Load Controller process
|
|
15
16
|
// 1. await add load unit is ready, controller may depend other load unit
|
|
16
17
|
// 2. load ${app_base_dir}app/controller file
|
|
@@ -20,15 +21,20 @@ class ControllerAppBootHook {
|
|
|
20
21
|
this.app = app;
|
|
21
22
|
this.controllerRegisterFactory = new ControllerRegisterFactory_1.ControllerRegisterFactory(this.app);
|
|
22
23
|
this.app.rootProtoManager = new RootProtoManager_1.RootProtoManager();
|
|
24
|
+
this.app.controllerRegisterFactory = this.controllerRegisterFactory;
|
|
25
|
+
this.app.controllerMetaBuilderFactory = tegg_1.ControllerMetaBuilderFactory;
|
|
23
26
|
this.loadUnitHook = new AppLoadUnitControllerHook_1.AppLoadUnitControllerHook(this.controllerRegisterFactory, this.app.rootProtoManager);
|
|
24
27
|
this.controllerPrototypeHook = new EggControllerPrototypeHook_1.EggControllerPrototypeHook();
|
|
25
28
|
}
|
|
26
29
|
configWillLoad() {
|
|
27
30
|
this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitHook);
|
|
28
31
|
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.controllerPrototypeHook);
|
|
32
|
+
this.app.loaderFactory.registerLoader(ControllerLoadUnit_1.CONTROLLER_LOAD_UNIT, unitPath => {
|
|
33
|
+
return new EggControllerLoader_1.EggControllerLoader(unitPath);
|
|
34
|
+
});
|
|
29
35
|
this.controllerRegisterFactory.registerControllerRegister(tegg_1.ControllerType.HTTP, HTTPControllerRegister_1.HTTPControllerRegister.create);
|
|
30
36
|
this.app.loadUnitFactory.registerLoadUnitCreator(ControllerLoadUnit_1.CONTROLLER_LOAD_UNIT, (ctx) => {
|
|
31
|
-
return new ControllerLoadUnit_1.ControllerLoadUnit(
|
|
37
|
+
return new ControllerLoadUnit_1.ControllerLoadUnit(`tegg-app-controller:${ctx.unitPath}`, ctx.unitPath, ctx.loader, this.app.eggPrototypeFactory, this.app.eggPrototypeCreatorFactory);
|
|
32
38
|
});
|
|
33
39
|
this.app.loadUnitInstanceFactory.registerLoadUnitInstanceClass(ControllerLoadUnit_1.CONTROLLER_LOAD_UNIT, (ctx) => {
|
|
34
40
|
return new ControllerLoadUnitInstance_1.ControllerLoadUnitInstance(ctx.loadUnit, this.app.loadUnitInstanceLifecycleUtil);
|
|
@@ -71,4 +77,4 @@ class ControllerAppBootHook {
|
|
|
71
77
|
}
|
|
72
78
|
}
|
|
73
79
|
exports.default = ControllerAppBootHook;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsaUVBQW9GO0FBQ3BGLGlGQUE4RTtBQUM5RSwrRUFBNEU7QUFFNUUsc0NBQTJFO0FBQzNFLG1GQUFnRjtBQUNoRiwrRUFBNEU7QUFDNUUsK0VBQTRFO0FBQzVFLCtEQUE0RDtBQUU1RCwrRUFBNEU7QUFDNUUsaUZBQThFO0FBQzlFLDZEQUEwRDtBQUMxRCxtRUFBZ0U7QUFFaEUsMEJBQTBCO0FBQzFCLHlFQUF5RTtBQUN6RSw2Q0FBNkM7QUFDN0Msc0RBQXNEO0FBRXRELE1BQXFCLHFCQUFxQjtJQVF4QyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxtQ0FBZ0IsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEdBQUcsbUNBQTRCLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHFEQUF5QixDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksdURBQTBCLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsaUJBQWlC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
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.ControllerLoadUnitHandler = void 0;
|
|
7
7
|
const sdk_base_1 = __importDefault(require("sdk-base"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const EggControllerLoader_1 = require("./EggControllerLoader");
|
|
10
9
|
const ControllerLoadUnit_1 = require("./ControllerLoadUnit");
|
|
11
10
|
class ControllerLoadUnitHandler extends sdk_base_1.default {
|
|
12
11
|
constructor(app) {
|
|
@@ -14,8 +13,8 @@ class ControllerLoadUnitHandler extends sdk_base_1.default {
|
|
|
14
13
|
this.app = app;
|
|
15
14
|
}
|
|
16
15
|
async _init() {
|
|
17
|
-
const loader = new EggControllerLoader_1.EggControllerLoader(this.app.config.baseDir);
|
|
18
16
|
const controllerDir = path_1.default.join(this.app.config.baseDir, 'app/controller');
|
|
17
|
+
const loader = this.app.loaderFactory.createLoader(controllerDir, ControllerLoadUnit_1.CONTROLLER_LOAD_UNIT);
|
|
19
18
|
this.controllerLoadUnit = await this.app.loadUnitFactory.createLoadUnit(controllerDir, ControllerLoadUnit_1.CONTROLLER_LOAD_UNIT, loader);
|
|
20
19
|
this.controllerLoadUnitInstance = await this.app.loadUnitInstanceFactory.createLoadUnitInstance(this.controllerLoadUnit);
|
|
21
20
|
}
|
|
@@ -29,4 +28,4 @@ class ControllerLoadUnitHandler extends sdk_base_1.default {
|
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
exports.ControllerLoadUnitHandler = ControllerLoadUnitHandler;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlckxvYWRVbml0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNvbnRyb2xsZXJMb2FkVW5pdEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQTRCO0FBQzVCLGdEQUF3QjtBQUl4Qiw2REFBNEQ7QUFFNUQsTUFBYSx5QkFBMEIsU0FBUSxrQkFBSTtJQUtqRCxZQUFZLEdBQWdCO1FBQzFCLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sYUFBYSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSx5Q0FBdUMsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUseUNBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUN6RTtRQUNELElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ25DLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNqRztJQUNILENBQUM7Q0FDRjtBQXpCRCw4REF5QkMifQ==
|
|
@@ -8,8 +8,8 @@ const globby_1 = __importDefault(require("globby"));
|
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const tegg_loader_1 = require("@eggjs/tegg-loader");
|
|
10
10
|
class EggControllerLoader {
|
|
11
|
-
constructor(
|
|
12
|
-
this.controllerDir =
|
|
11
|
+
constructor(controllerDir) {
|
|
12
|
+
this.controllerDir = controllerDir;
|
|
13
13
|
}
|
|
14
14
|
load() {
|
|
15
15
|
const filePattern = tegg_loader_1.LoaderUtil.filePattern();
|
|
@@ -34,4 +34,4 @@ class EggControllerLoader {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.EggControllerLoader = EggControllerLoader;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udHJvbGxlckxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0NvbnRyb2xsZXJMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLGdEQUF3QjtBQUN4QixvREFBZ0Q7QUFHaEQsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxhQUFxQjtRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sV0FBVyxHQUFHLHdCQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxLQUFlLENBQUM7UUFDcEIsSUFBSTtZQUNGLE1BQU0sZUFBZSxHQUFHLGdCQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQzFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BELEtBQUssR0FBRyxlQUFlLENBQUM7U0FDekI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDWCxnQ0FBZ0M7U0FDakM7UUFDRCxNQUFNLGNBQWMsR0FBd0IsRUFBRSxDQUFDO1FBQy9DLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLE1BQU0sYUFBYSxHQUFHLHdCQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFO2dCQUNqQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1NBQ0Y7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUEzQkQsa0RBMkJDIn0=
|
package/lib/errors.d.ts
ADDED
package/lib/errors.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RouterConflictError = void 0;
|
|
4
|
+
const tegg_metadata_1 = require("@eggjs/tegg-metadata");
|
|
5
|
+
var ErrorCodes;
|
|
6
|
+
(function (ErrorCodes) {
|
|
7
|
+
ErrorCodes["ROUTER_CONFLICT"] = "ROUTER_CONFLICT";
|
|
8
|
+
})(ErrorCodes || (ErrorCodes = {}));
|
|
9
|
+
/** 路由冲突错误 */
|
|
10
|
+
class RouterConflictError extends tegg_metadata_1.TeggError {
|
|
11
|
+
constructor(msg) {
|
|
12
|
+
super(msg, ErrorCodes.ROUTER_CONFLICT);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.RouterConflictError = RouterConflictError;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUFpRDtBQUVqRCxJQUFLLFVBRUo7QUFGRCxXQUFLLFVBQVU7SUFDYixpREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBRkksVUFBVSxLQUFWLFVBQVUsUUFFZDtBQUVELGFBQWE7QUFDYixNQUFhLG1CQUFvQixTQUFRLHlCQUFTO0lBQ2hELFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUFKRCxrREFJQyJ9
|
|
@@ -9,6 +9,8 @@ const tegg_1 = require("@eggjs/tegg");
|
|
|
9
9
|
const egg_module_common_1 = require("@eggjs/egg-module-common");
|
|
10
10
|
const path_to_regexp_1 = __importDefault(require("path-to-regexp"));
|
|
11
11
|
const Acl_1 = require("./Acl");
|
|
12
|
+
const errors_1 = require("../../errors");
|
|
13
|
+
const egg_errors_1 = require("egg-errors");
|
|
12
14
|
class HTTPMethodRegister {
|
|
13
15
|
constructor(proto, controllerMeta, methodMeta, router, eggContainerFactory) {
|
|
14
16
|
this.proto = proto;
|
|
@@ -79,7 +81,9 @@ class HTTPMethodRegister {
|
|
|
79
81
|
const matched = this.router.match(methodRealPath, this.methodMeta.method);
|
|
80
82
|
const methodName = this.controllerMeta.getMethodName(this.methodMeta);
|
|
81
83
|
if (matched.route) {
|
|
82
|
-
|
|
84
|
+
const [layer] = matched.path;
|
|
85
|
+
const err = new errors_1.RouterConflictError(`register http controller ${methodName} failed, ${this.methodMeta.method} ${methodRealPath} is conflict with exists rule ${layer.path}`);
|
|
86
|
+
throw egg_errors_1.FrameworkErrorFormater.format(err);
|
|
83
87
|
}
|
|
84
88
|
// 2. do register
|
|
85
89
|
const routerFunc = this.router[this.methodMeta.method.toLowerCase()];
|
|
@@ -102,4 +106,4 @@ class HTTPMethodRegister {
|
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
108
|
exports.HTTPMethodRegister = HTTPMethodRegister;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZFJlZ2lzdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSFRUUE1ldGhvZFJlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1QixzQ0FRcUI7QUFHckIsZ0VBQXdEO0FBRXhELG9FQUEwQztBQUMxQywrQkFBNkM7QUFDN0MseUNBQW1EO0FBQ25ELDJDQUFvRDtBQUVwRCxNQUFhLGtCQUFrQjtJQU83QixZQUNFLEtBQW1CLEVBQ25CLGNBQWtDLEVBQ2xDLFVBQTBCLEVBQzFCLE1BQStCLEVBQy9CLG1CQUErQztRQUUvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUEwQjtRQUM5QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLEtBQUssU0FBUyxDQUFDO1FBQzlELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxLQUFLLFdBQVUsR0FBWTtZQUNoQyxnQ0FBZ0M7WUFDaEMsaUVBQWlFO1lBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRyxHQUFXLENBQUMsZ0NBQVksQ0FBQyxDQUFDLENBQUM7WUFDOUcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUMzQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLE1BQU0sSUFBSSxHQUFzQyxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVFLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxZQUFhLENBQUMsR0FBRyxHQUFHLENBQUM7YUFDM0I7WUFDRCxLQUFLLE1BQU0sQ0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFFLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDbEQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUNsQixLQUFLLG9CQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDL0IsTUFBTTtxQkFDUDtvQkFDRCxLQUFLLG9CQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3hCLE1BQU0sU0FBUyxHQUFrQixLQUFzQixDQUFDO3dCQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3pDLE1BQU07cUJBQ1A7b0JBQ0QsS0FBSyxvQkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN4QixNQUFNLFVBQVUsR0FBbUIsS0FBdUIsQ0FBQzt3QkFDM0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN6QyxNQUFNO3FCQUNQO29CQUNELEtBQUssb0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDMUIsTUFBTSxVQUFVLEdBQXFCLEtBQXlCLENBQUM7d0JBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDM0MsTUFBTTtxQkFDUDtvQkFDRDt3QkFDRSxnQkFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDL0I7YUFDRjtZQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELCtEQUErRDtZQUMvRCxvQkFBb0I7WUFDcEIsTUFBTSxjQUFjLEdBQUksR0FBRyxDQUFDLFFBQWdCLENBQUMsZUFBZSxDQUFDO1lBRTdEO1lBQ0UsV0FBVztZQUNYLElBQUksSUFBSSxJQUFJO2dCQUNaLG9DQUFvQztnQkFDcEMscUJBQXFCO2dCQUNyQixnRUFBZ0U7Z0JBQ2hFLENBQUMsY0FBYyxFQUNmO2dCQUNBLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxnQkFBa0M7UUFDekMsMkNBQTJDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDakIsTUFBTSxDQUFFLEtBQUssQ0FBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSw0QkFBbUIsQ0FBQyw0QkFBNEIsVUFBVSxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLGNBQWMsaUNBQWlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdLLE1BQU0sbUNBQXNCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsaUJBQWlCO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sYUFBYSxHQUFHLElBQUEsMEJBQW9CLEVBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakYsSUFBSSxhQUFhLEVBQUU7WUFDakIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFDbkMsQ0FBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsT0FBTyxDQUFFLENBQUMsQ0FBQztRQUVqRSxrR0FBa0c7UUFDbEcsTUFBTSxNQUFNLEdBQUcsSUFBQSx3QkFBWSxFQUFDLGNBQWMsRUFBRTtZQUMxQyxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFDSCxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQWUsRUFBRSxFQUFFO1lBQzdFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBaEhELGdEQWdIQyJ9
|
package/package.json
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
"name": "@eggjs/tegg-controller-plugin",
|
|
3
3
|
"eggPlugin": {
|
|
4
4
|
"name": "teggController",
|
|
5
|
+
"strict": false,
|
|
5
6
|
"dependencies": [
|
|
6
7
|
"tegg"
|
|
7
8
|
]
|
|
8
9
|
},
|
|
9
|
-
"version": "0.
|
|
10
|
+
"version": "1.0.4",
|
|
10
11
|
"description": "controller decorator for egg",
|
|
11
12
|
"keywords": [
|
|
12
13
|
"egg",
|
|
@@ -45,21 +46,22 @@
|
|
|
45
46
|
"node": ">=14.0.0"
|
|
46
47
|
},
|
|
47
48
|
"dependencies": {
|
|
48
|
-
"@eggjs/egg-module-common": "^0.
|
|
49
|
-
"@eggjs/tegg": "^0.2
|
|
50
|
-
"@eggjs/tegg-common-util": "^0.
|
|
51
|
-
"@eggjs/tegg-loader": "^0.
|
|
52
|
-
"@eggjs/tegg-metadata": "^0.
|
|
53
|
-
"@eggjs/tegg-runtime": "^0.
|
|
49
|
+
"@eggjs/egg-module-common": "^1.0.0",
|
|
50
|
+
"@eggjs/tegg": "^1.0.2",
|
|
51
|
+
"@eggjs/tegg-common-util": "^1.0.0",
|
|
52
|
+
"@eggjs/tegg-loader": "^1.0.1",
|
|
53
|
+
"@eggjs/tegg-metadata": "^1.0.1",
|
|
54
|
+
"@eggjs/tegg-runtime": "^1.0.1",
|
|
54
55
|
"@types/koa-router": "^7.0.40",
|
|
56
|
+
"egg-errors": "^2.3.0",
|
|
55
57
|
"koa-compose": "^3.2.1",
|
|
56
58
|
"path-to-regexp": "^1.8.0"
|
|
57
59
|
},
|
|
58
60
|
"devDependencies": {
|
|
59
|
-
"@eggjs/module-test-util": "^0.
|
|
61
|
+
"@eggjs/module-test-util": "^1.0.1",
|
|
60
62
|
"@eggjs/router": "^2.0.0",
|
|
61
|
-
"@eggjs/tegg-config": "^0.
|
|
62
|
-
"@eggjs/tegg-plugin": "^0.2
|
|
63
|
+
"@eggjs/tegg-config": "^1.0.0",
|
|
64
|
+
"@eggjs/tegg-plugin": "^1.0.2",
|
|
63
65
|
"egg": "^2.26.0",
|
|
64
66
|
"egg-mock": "^3.25.1",
|
|
65
67
|
"egg-tracer": "^1.1.0",
|
|
@@ -68,5 +70,5 @@
|
|
|
68
70
|
"publishConfig": {
|
|
69
71
|
"access": "public"
|
|
70
72
|
},
|
|
71
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "e0beab323241c53bb028e41a30dc308b12b959de"
|
|
72
74
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import 'egg';
|
|
2
2
|
import '@eggjs/tegg-plugin';
|
|
3
3
|
import { RootProtoManager } from '../lib/RootProtoManager';
|
|
4
|
+
import { ControllerRegisterFactory } from '../lib/ControllerRegisterFactory';
|
|
5
|
+
import { ControllerMetaBuilderFactory } from '@eggjs/tegg';
|
|
4
6
|
|
|
5
7
|
declare module 'egg' {
|
|
6
8
|
export interface TEggControllerApp {
|
|
7
9
|
rootProtoManager: RootProtoManager;
|
|
10
|
+
controllerRegisterFactory: ControllerRegisterFactory;
|
|
11
|
+
controllerMetaBuilderFactory: typeof ControllerMetaBuilderFactory;
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
export interface Application extends TEggControllerApp {
|