@expressots/core 2.8.0 → 2.9.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/lib/CHANGELOG.md +41 -0
- package/lib/cjs/application/app-container.js +94 -82
- package/lib/cjs/application/application-factory.js +74 -72
- package/lib/cjs/application/index.js +7 -7
- package/lib/cjs/common/color-service.provider.js +47 -46
- package/lib/cjs/common/index.js +2 -2
- package/lib/cjs/common/package-resolver.provider.js +35 -35
- package/lib/cjs/common/project-config.provider.js +2 -2
- package/lib/cjs/console/console.js +61 -61
- package/lib/cjs/console/index.js +5 -5
- package/lib/cjs/container-module/container-module.js +111 -111
- package/lib/cjs/container-module/index.js +6 -6
- package/lib/cjs/controller/base-controller.js +75 -75
- package/lib/cjs/controller/index.js +5 -5
- package/lib/cjs/decorator/index.js +17 -17
- package/lib/cjs/decorator/scope-binding.js +44 -44
- package/lib/cjs/error/app-error.js +26 -37
- package/lib/cjs/error/error-handler-middleware.js +28 -28
- package/lib/cjs/error/index.js +9 -9
- package/lib/cjs/error/report.js +54 -57
- package/lib/cjs/error/status-code.js +89 -89
- package/lib/cjs/index.js +26 -26
- package/lib/cjs/middleware/index.js +32 -32
- package/lib/cjs/middleware/interfaces/body-parser.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/compression.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/cookie-parser.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/cookie-session/cookie-session.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/cookie-session/keygrip.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/cors.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/express-rate-limit.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/express-session.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/helmet.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/morgan.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/multer.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/serve-favicon.interface.js +2 -2
- package/lib/cjs/middleware/interfaces/serve-static.interface.js +2 -2
- package/lib/cjs/middleware/middleware-resolver.js +72 -73
- package/lib/cjs/middleware/middleware-service.js +481 -479
- package/lib/cjs/provider/db-in-memory/db-in-memory.provider.js +82 -75
- package/lib/cjs/provider/dto-validator/dto-validator.provider.js +53 -53
- package/lib/cjs/provider/environment/env-validator.provider.js +98 -96
- package/lib/cjs/provider/index.js +13 -13
- package/lib/cjs/provider/logger/{logger-service.js → logger.provider.js} +117 -115
- package/lib/cjs/provider/provider-manager.js +50 -0
- package/lib/cjs/render/handlebars.interface.js +2 -2
- package/lib/cjs/render/index.js +2 -2
- package/lib/cjs/render/render.type.js +2 -2
- package/lib/cjs/types/application/app-container.d.ts +62 -125
- package/lib/cjs/types/application/application-factory.d.ts +34 -33
- package/lib/cjs/types/application/index.d.ts +2 -2
- package/lib/cjs/types/common/color-service.provider.d.ts +29 -29
- package/lib/cjs/types/common/index.d.ts +1 -1
- package/lib/cjs/types/common/package-resolver.provider.d.ts +8 -8
- package/lib/cjs/types/common/project-config.provider.d.ts +56 -47
- package/lib/cjs/types/console/console.d.ts +27 -27
- package/lib/cjs/types/console/index.d.ts +1 -1
- package/lib/cjs/types/container-module/container-module.d.ts +28 -28
- package/lib/cjs/types/container-module/index.d.ts +1 -1
- package/lib/cjs/types/controller/base-controller.d.ts +48 -48
- package/lib/cjs/types/controller/index.d.ts +1 -1
- package/lib/cjs/types/decorator/index.d.ts +1 -1
- package/lib/cjs/types/decorator/scope-binding.d.ts +33 -33
- package/lib/cjs/types/error/app-error.d.ts +29 -29
- package/lib/cjs/types/error/error-handler-middleware.d.ts +11 -11
- package/lib/cjs/types/error/index.d.ts +3 -3
- package/lib/cjs/types/error/report.d.ts +25 -25
- package/lib/cjs/types/error/status-code.d.ts +136 -136
- package/lib/cjs/types/index.d.ts +10 -10
- package/lib/cjs/types/middleware/index.d.ts +13 -13
- package/lib/cjs/types/middleware/interfaces/body-parser.interface.d.ts +33 -33
- package/lib/cjs/types/middleware/interfaces/compression.interface.d.ts +98 -98
- package/lib/cjs/types/middleware/interfaces/cookie-parser.interface.d.ts +9 -9
- package/lib/cjs/types/middleware/interfaces/cookie-session/cookie-session.interface.d.ts +57 -57
- package/lib/cjs/types/middleware/interfaces/cookie-session/keygrip.interface.d.ts +27 -27
- package/lib/cjs/types/middleware/interfaces/cors.interface.d.ts +57 -57
- package/lib/cjs/types/middleware/interfaces/express-rate-limit.interface.d.ts +292 -292
- package/lib/cjs/types/middleware/interfaces/express-session.interface.d.ts +207 -207
- package/lib/cjs/types/middleware/interfaces/helmet.interface.d.ts +210 -210
- package/lib/cjs/types/middleware/interfaces/morgan.interface.d.ts +40 -40
- package/lib/cjs/types/middleware/interfaces/multer.interface.d.ts +255 -255
- package/lib/cjs/types/middleware/interfaces/serve-favicon.interface.d.ts +11 -11
- package/lib/cjs/types/middleware/interfaces/serve-static.interface.d.ts +70 -70
- package/lib/cjs/types/middleware/middleware-resolver.d.ts +11 -11
- package/lib/cjs/types/middleware/middleware-service.d.ts +368 -368
- package/lib/cjs/types/provider/db-in-memory/db-in-memory.provider.d.ts +43 -38
- package/lib/cjs/types/provider/dto-validator/dto-validator.provider.d.ts +11 -11
- package/lib/cjs/types/provider/environment/env-validator.provider.d.ts +35 -30
- package/lib/cjs/types/provider/index.d.ts +5 -5
- package/lib/cjs/types/provider/logger/{logger-service.d.ts → logger.provider.d.ts} +54 -49
- package/lib/cjs/types/provider/provider-manager.d.ts +16 -0
- package/lib/cjs/types/render/handlebars.interface.d.ts +46 -46
- package/lib/cjs/types/render/index.d.ts +2 -2
- package/lib/cjs/types/render/render.type.d.ts +12 -12
- package/lib/package.json +19 -18
- package/package.json +19 -18
- package/lib/cjs/provider/provider-service.js +0 -38
- package/lib/cjs/types/provider/provider-service.d.ts +0 -30
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.IMorgan = exports.multer = exports.ExpressoMiddleware = exports.Middleware = void 0;
|
|
27
|
-
var middleware_service_1 = require("./middleware-service");
|
|
28
|
-
Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return middleware_service_1.Middleware; } });
|
|
29
|
-
Object.defineProperty(exports, "ExpressoMiddleware", { enumerable: true, get: function () { return middleware_service_1.ExpressoMiddleware; } });
|
|
30
|
-
var multer_interface_1 = require("./interfaces/multer.interface");
|
|
31
|
-
Object.defineProperty(exports, "multer", { enumerable: true, get: function () { return multer_interface_1.multer; } });
|
|
32
|
-
exports.IMorgan = __importStar(require("./interfaces/morgan.interface"));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.IMorgan = exports.multer = exports.ExpressoMiddleware = exports.Middleware = void 0;
|
|
27
|
+
var middleware_service_1 = require("./middleware-service");
|
|
28
|
+
Object.defineProperty(exports, "Middleware", { enumerable: true, get: function () { return middleware_service_1.Middleware; } });
|
|
29
|
+
Object.defineProperty(exports, "ExpressoMiddleware", { enumerable: true, get: function () { return middleware_service_1.ExpressoMiddleware; } });
|
|
30
|
+
var multer_interface_1 = require("./interfaces/multer.interface");
|
|
31
|
+
Object.defineProperty(exports, "multer", { enumerable: true, get: function () { return multer_interface_1.multer; } });
|
|
32
|
+
exports.IMorgan = __importStar(require("./interfaces/morgan.interface"));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,73 +1,72 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.middlewareResolver = void 0;
|
|
4
|
-
const
|
|
5
|
-
/**
|
|
6
|
-
* MiddlewareResolver class is responsible for resolving and retrieving Express middlewares
|
|
7
|
-
* by their names. It maintains a registry of available middlewares and provides
|
|
8
|
-
* a method to retrieve them by their name. If a middleware is not installed, it logs
|
|
9
|
-
* an informative message.
|
|
10
|
-
*/
|
|
11
|
-
class MiddlewareResolver {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* @param {
|
|
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
|
-
* @param {
|
|
66
|
-
* @
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
exports.middlewareResolver = middlewareResolver;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.middlewareResolver = void 0;
|
|
4
|
+
const logger_provider_1 = require("../provider/logger/logger.provider");
|
|
5
|
+
/**
|
|
6
|
+
* MiddlewareResolver class is responsible for resolving and retrieving Express middlewares
|
|
7
|
+
* by their names. It maintains a registry of available middlewares and provides
|
|
8
|
+
* a method to retrieve them by their name. If a middleware is not installed, it logs
|
|
9
|
+
* an informative message.
|
|
10
|
+
*/
|
|
11
|
+
class MiddlewareResolver {
|
|
12
|
+
constructor() {
|
|
13
|
+
/**
|
|
14
|
+
* A registry object mapping middleware names to their corresponding package names.
|
|
15
|
+
* It is used to identify and require the middleware from the current working directory.
|
|
16
|
+
*/
|
|
17
|
+
this.middlewareRegistry = {
|
|
18
|
+
cors: "cors",
|
|
19
|
+
compression: "compression",
|
|
20
|
+
cookieParser: "cookie-parser",
|
|
21
|
+
cookieSession: "cookie-session",
|
|
22
|
+
serveFavicon: "serve-favicon",
|
|
23
|
+
morgan: "morgan",
|
|
24
|
+
helmet: "helmet",
|
|
25
|
+
rateLimit: "express-rate-limit",
|
|
26
|
+
multer: "multer",
|
|
27
|
+
session: "express-session",
|
|
28
|
+
// Add other middlewares
|
|
29
|
+
};
|
|
30
|
+
this.logger = new logger_provider_1.Logger();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves a middleware by its name and optionally configures it with provided options.
|
|
34
|
+
*
|
|
35
|
+
* @param {string} middlewareName - The name of the middleware to be retrieved.
|
|
36
|
+
* @param {...any} options - Optional arguments to configure the middleware.
|
|
37
|
+
* @returns {express.RequestHandler | null} - Returns the configured middleware or null if not found or not installed.
|
|
38
|
+
*/
|
|
39
|
+
getMiddleware(middlewareName, ...options) {
|
|
40
|
+
const packageName = this.middlewareRegistry[middlewareName];
|
|
41
|
+
if (!packageName) {
|
|
42
|
+
this.logger.error(`Middleware ${packageName} not found`, "middleware-resolver");
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
let hasMiddleware = "";
|
|
46
|
+
try {
|
|
47
|
+
hasMiddleware = require.resolve(packageName, { paths: [process.cwd()] });
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
this.logger.warn(`Middleware [${packageName}] not installed. Please install it using your package manager.`, "middleware-resolver");
|
|
51
|
+
}
|
|
52
|
+
if (hasMiddleware) {
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
54
|
+
const middleware = require(hasMiddleware);
|
|
55
|
+
return middleware(...options) || middleware.default(...options);
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A utility function that wraps the creation and retrieval of middleware.
|
|
62
|
+
* It creates a new instance of MiddlewareResolver and calls the getMiddleware method.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} middleware - The name of the middleware to be retrieved.
|
|
65
|
+
* @param {...any} options - Optional arguments to configure the middleware.
|
|
66
|
+
* @returns {express.RequestHandler | null} - Returns the configured middleware or null if not found or not installed.
|
|
67
|
+
*/
|
|
68
|
+
function middlewareResolver(middleware, ...options) {
|
|
69
|
+
const resolver = new MiddlewareResolver();
|
|
70
|
+
return resolver.getMiddleware(middleware, ...options);
|
|
71
|
+
}
|
|
72
|
+
exports.middlewareResolver = middlewareResolver;
|