@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.
Files changed (97) hide show
  1. package/lib/CHANGELOG.md +41 -0
  2. package/lib/cjs/application/app-container.js +94 -82
  3. package/lib/cjs/application/application-factory.js +74 -72
  4. package/lib/cjs/application/index.js +7 -7
  5. package/lib/cjs/common/color-service.provider.js +47 -46
  6. package/lib/cjs/common/index.js +2 -2
  7. package/lib/cjs/common/package-resolver.provider.js +35 -35
  8. package/lib/cjs/common/project-config.provider.js +2 -2
  9. package/lib/cjs/console/console.js +61 -61
  10. package/lib/cjs/console/index.js +5 -5
  11. package/lib/cjs/container-module/container-module.js +111 -111
  12. package/lib/cjs/container-module/index.js +6 -6
  13. package/lib/cjs/controller/base-controller.js +75 -75
  14. package/lib/cjs/controller/index.js +5 -5
  15. package/lib/cjs/decorator/index.js +17 -17
  16. package/lib/cjs/decorator/scope-binding.js +44 -44
  17. package/lib/cjs/error/app-error.js +26 -37
  18. package/lib/cjs/error/error-handler-middleware.js +28 -28
  19. package/lib/cjs/error/index.js +9 -9
  20. package/lib/cjs/error/report.js +54 -57
  21. package/lib/cjs/error/status-code.js +89 -89
  22. package/lib/cjs/index.js +26 -26
  23. package/lib/cjs/middleware/index.js +32 -32
  24. package/lib/cjs/middleware/interfaces/body-parser.interface.js +2 -2
  25. package/lib/cjs/middleware/interfaces/compression.interface.js +2 -2
  26. package/lib/cjs/middleware/interfaces/cookie-parser.interface.js +2 -2
  27. package/lib/cjs/middleware/interfaces/cookie-session/cookie-session.interface.js +2 -2
  28. package/lib/cjs/middleware/interfaces/cookie-session/keygrip.interface.js +2 -2
  29. package/lib/cjs/middleware/interfaces/cors.interface.js +2 -2
  30. package/lib/cjs/middleware/interfaces/express-rate-limit.interface.js +2 -2
  31. package/lib/cjs/middleware/interfaces/express-session.interface.js +2 -2
  32. package/lib/cjs/middleware/interfaces/helmet.interface.js +2 -2
  33. package/lib/cjs/middleware/interfaces/morgan.interface.js +2 -2
  34. package/lib/cjs/middleware/interfaces/multer.interface.js +2 -2
  35. package/lib/cjs/middleware/interfaces/serve-favicon.interface.js +2 -2
  36. package/lib/cjs/middleware/interfaces/serve-static.interface.js +2 -2
  37. package/lib/cjs/middleware/middleware-resolver.js +72 -73
  38. package/lib/cjs/middleware/middleware-service.js +481 -479
  39. package/lib/cjs/provider/db-in-memory/db-in-memory.provider.js +82 -75
  40. package/lib/cjs/provider/dto-validator/dto-validator.provider.js +53 -53
  41. package/lib/cjs/provider/environment/env-validator.provider.js +98 -96
  42. package/lib/cjs/provider/index.js +13 -13
  43. package/lib/cjs/provider/logger/{logger-service.js → logger.provider.js} +117 -115
  44. package/lib/cjs/provider/provider-manager.js +50 -0
  45. package/lib/cjs/render/handlebars.interface.js +2 -2
  46. package/lib/cjs/render/index.js +2 -2
  47. package/lib/cjs/render/render.type.js +2 -2
  48. package/lib/cjs/types/application/app-container.d.ts +62 -125
  49. package/lib/cjs/types/application/application-factory.d.ts +34 -33
  50. package/lib/cjs/types/application/index.d.ts +2 -2
  51. package/lib/cjs/types/common/color-service.provider.d.ts +29 -29
  52. package/lib/cjs/types/common/index.d.ts +1 -1
  53. package/lib/cjs/types/common/package-resolver.provider.d.ts +8 -8
  54. package/lib/cjs/types/common/project-config.provider.d.ts +56 -47
  55. package/lib/cjs/types/console/console.d.ts +27 -27
  56. package/lib/cjs/types/console/index.d.ts +1 -1
  57. package/lib/cjs/types/container-module/container-module.d.ts +28 -28
  58. package/lib/cjs/types/container-module/index.d.ts +1 -1
  59. package/lib/cjs/types/controller/base-controller.d.ts +48 -48
  60. package/lib/cjs/types/controller/index.d.ts +1 -1
  61. package/lib/cjs/types/decorator/index.d.ts +1 -1
  62. package/lib/cjs/types/decorator/scope-binding.d.ts +33 -33
  63. package/lib/cjs/types/error/app-error.d.ts +29 -29
  64. package/lib/cjs/types/error/error-handler-middleware.d.ts +11 -11
  65. package/lib/cjs/types/error/index.d.ts +3 -3
  66. package/lib/cjs/types/error/report.d.ts +25 -25
  67. package/lib/cjs/types/error/status-code.d.ts +136 -136
  68. package/lib/cjs/types/index.d.ts +10 -10
  69. package/lib/cjs/types/middleware/index.d.ts +13 -13
  70. package/lib/cjs/types/middleware/interfaces/body-parser.interface.d.ts +33 -33
  71. package/lib/cjs/types/middleware/interfaces/compression.interface.d.ts +98 -98
  72. package/lib/cjs/types/middleware/interfaces/cookie-parser.interface.d.ts +9 -9
  73. package/lib/cjs/types/middleware/interfaces/cookie-session/cookie-session.interface.d.ts +57 -57
  74. package/lib/cjs/types/middleware/interfaces/cookie-session/keygrip.interface.d.ts +27 -27
  75. package/lib/cjs/types/middleware/interfaces/cors.interface.d.ts +57 -57
  76. package/lib/cjs/types/middleware/interfaces/express-rate-limit.interface.d.ts +292 -292
  77. package/lib/cjs/types/middleware/interfaces/express-session.interface.d.ts +207 -207
  78. package/lib/cjs/types/middleware/interfaces/helmet.interface.d.ts +210 -210
  79. package/lib/cjs/types/middleware/interfaces/morgan.interface.d.ts +40 -40
  80. package/lib/cjs/types/middleware/interfaces/multer.interface.d.ts +255 -255
  81. package/lib/cjs/types/middleware/interfaces/serve-favicon.interface.d.ts +11 -11
  82. package/lib/cjs/types/middleware/interfaces/serve-static.interface.d.ts +70 -70
  83. package/lib/cjs/types/middleware/middleware-resolver.d.ts +11 -11
  84. package/lib/cjs/types/middleware/middleware-service.d.ts +368 -368
  85. package/lib/cjs/types/provider/db-in-memory/db-in-memory.provider.d.ts +43 -38
  86. package/lib/cjs/types/provider/dto-validator/dto-validator.provider.d.ts +11 -11
  87. package/lib/cjs/types/provider/environment/env-validator.provider.d.ts +35 -30
  88. package/lib/cjs/types/provider/index.d.ts +5 -5
  89. package/lib/cjs/types/provider/logger/{logger-service.d.ts → logger.provider.d.ts} +54 -49
  90. package/lib/cjs/types/provider/provider-manager.d.ts +16 -0
  91. package/lib/cjs/types/render/handlebars.interface.d.ts +46 -46
  92. package/lib/cjs/types/render/index.d.ts +2 -2
  93. package/lib/cjs/types/render/render.type.d.ts +12 -12
  94. package/lib/package.json +19 -18
  95. package/package.json +19 -18
  96. package/lib/cjs/provider/provider-service.js +0 -38
  97. 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 logger_service_1 = require("../provider/logger/logger-service");
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
- logger;
13
- constructor() {
14
- this.logger = new logger_service_1.Logger();
15
- }
16
- /**
17
- * A registry object mapping middleware names to their corresponding package names.
18
- * It is used to identify and require the middleware from the current working directory.
19
- */
20
- middlewareRegistry = {
21
- cors: "cors",
22
- compression: "compression",
23
- cookieParser: "cookie-parser",
24
- cookieSession: "cookie-session",
25
- serveFavicon: "serve-favicon",
26
- morgan: "morgan",
27
- helmet: "helmet",
28
- rateLimit: "express-rate-limit",
29
- multer: "multer",
30
- session: "express-session",
31
- // Add other middlewares
32
- };
33
- /**
34
- * Retrieves a middleware by its name and optionally configures it with provided options.
35
- *
36
- * @param {string} middlewareName - The name of the middleware to be retrieved.
37
- * @param {...any} options - Optional arguments to configure the middleware.
38
- * @returns {express.RequestHandler | null} - Returns the configured middleware or null if not found or not installed.
39
- */
40
- getMiddleware(middlewareName, ...options) {
41
- const packageName = this.middlewareRegistry[middlewareName];
42
- if (!packageName) {
43
- this.logger.error(`Middleware ${packageName} not found`, "middleware-resolver");
44
- return null;
45
- }
46
- let hasMiddleware = "";
47
- try {
48
- hasMiddleware = require.resolve(packageName, { paths: [process.cwd()] });
49
- }
50
- catch (error) {
51
- this.logger.warn(`Middleware [${packageName}] not installed. Please install it using your package manager.`, "middleware-resolver");
52
- }
53
- if (hasMiddleware) {
54
- // eslint-disable-next-line @typescript-eslint/no-var-requires
55
- const middleware = require(hasMiddleware);
56
- return middleware(...options) || middleware.default(...options);
57
- }
58
- return null;
59
- }
60
- }
61
- /**
62
- * A utility function that wraps the creation and retrieval of middleware.
63
- * It creates a new instance of MiddlewareResolver and calls the getMiddleware method.
64
- *
65
- * @param {string} middleware - The name of the middleware to be retrieved.
66
- * @param {...any} options - Optional arguments to configure the middleware.
67
- * @returns {express.RequestHandler | null} - Returns the configured middleware or null if not found or not installed.
68
- */
69
- function middlewareResolver(middleware, ...options) {
70
- const resolver = new MiddlewareResolver();
71
- return resolver.getMiddleware(middleware, ...options);
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;