@expressots/core 1.0.1 → 1.2.0

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 (149) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +33 -122
  3. package/lib/CHANGELOG.md +120 -0
  4. package/lib/README.md +64 -0
  5. package/lib/cjs/application/app-container.js +40 -0
  6. package/{application → lib/cjs/application}/application.js +101 -62
  7. package/{application → lib/cjs/application}/index.js +9 -9
  8. package/lib/cjs/common/index.js +2 -0
  9. package/lib/cjs/common/project-config.provider.js +2 -0
  10. package/lib/cjs/console/console.js +95 -0
  11. package/{console → lib/cjs/console}/index.js +5 -5
  12. package/lib/cjs/container-module/container-module.js +56 -0
  13. package/{container-module → lib/cjs/container-module}/index.js +5 -5
  14. package/lib/cjs/controller/base-controller.js +77 -0
  15. package/{controller → lib/cjs/controller}/index.js +5 -5
  16. package/{environment → lib/cjs/environment}/env-validator.js +87 -64
  17. package/{environment → lib/cjs/environment}/index.js +5 -5
  18. package/lib/cjs/error/application-error.js +37 -0
  19. package/{error → lib/cjs/error}/error-handler-middleware.js +17 -9
  20. package/{error → lib/cjs/error}/index.js +9 -9
  21. package/lib/cjs/error/report.js +27 -0
  22. package/{error → lib/cjs/error}/status-code.js +83 -83
  23. package/lib/cjs/index.js +24 -0
  24. package/{logger → lib/cjs/logger}/general-logger.js +132 -92
  25. package/{logger → lib/cjs/logger}/index.js +7 -7
  26. package/lib/cjs/types/application/app-container.d.ts +20 -0
  27. package/lib/cjs/types/application/app-container.d.ts.map +1 -0
  28. package/lib/cjs/types/application/application.d.ts +53 -0
  29. package/lib/cjs/types/application/application.d.ts.map +1 -0
  30. package/lib/cjs/types/application/index.d.ts +3 -0
  31. package/lib/cjs/types/application/index.d.ts.map +1 -0
  32. package/lib/cjs/types/common/index.d.ts +2 -0
  33. package/lib/cjs/types/common/index.d.ts.map +1 -0
  34. package/lib/cjs/types/common/project-config.provider.d.ts +22 -0
  35. package/lib/cjs/types/common/project-config.provider.d.ts.map +1 -0
  36. package/lib/cjs/types/console/console.d.ts +28 -0
  37. package/lib/cjs/types/console/console.d.ts.map +1 -0
  38. package/{console → lib/cjs/types/console}/index.d.ts +2 -1
  39. package/lib/cjs/types/console/index.d.ts.map +1 -0
  40. package/lib/cjs/types/container-module/container-module.d.ts +23 -0
  41. package/lib/cjs/types/container-module/container-module.d.ts.map +1 -0
  42. package/lib/cjs/types/container-module/index.d.ts +2 -0
  43. package/lib/cjs/types/container-module/index.d.ts.map +1 -0
  44. package/lib/cjs/types/controller/base-controller.d.ts +30 -0
  45. package/lib/cjs/types/controller/base-controller.d.ts.map +1 -0
  46. package/lib/cjs/types/controller/index.d.ts +2 -0
  47. package/lib/cjs/types/controller/index.d.ts.map +1 -0
  48. package/lib/cjs/types/environment/env-validator.d.ts +28 -0
  49. package/lib/cjs/types/environment/env-validator.d.ts.map +1 -0
  50. package/lib/cjs/types/environment/index.d.ts +2 -0
  51. package/lib/cjs/types/environment/index.d.ts.map +1 -0
  52. package/lib/cjs/types/error/application-error.d.ts +18 -0
  53. package/lib/cjs/types/error/application-error.d.ts.map +1 -0
  54. package/lib/cjs/types/error/error-handler-middleware.d.ts +13 -0
  55. package/lib/cjs/types/error/error-handler-middleware.d.ts.map +1 -0
  56. package/lib/cjs/types/error/index.d.ts +4 -0
  57. package/lib/cjs/types/error/index.d.ts.map +1 -0
  58. package/lib/cjs/types/error/report.d.ts +13 -0
  59. package/lib/cjs/types/error/report.d.ts.map +1 -0
  60. package/{error → lib/cjs/types/error}/status-code.d.ts +137 -136
  61. package/lib/cjs/types/error/status-code.d.ts.map +1 -0
  62. package/lib/cjs/types/index.d.ts +9 -0
  63. package/lib/cjs/types/index.d.ts.map +1 -0
  64. package/lib/cjs/types/logger/general-logger.d.ts +46 -0
  65. package/lib/cjs/types/logger/general-logger.d.ts.map +1 -0
  66. package/lib/cjs/types/logger/index.d.ts +2 -0
  67. package/lib/cjs/types/logger/index.d.ts.map +1 -0
  68. package/lib/esm/application/app-container.js +38 -0
  69. package/lib/esm/application/application.js +96 -0
  70. package/{application/index.d.ts → lib/esm/application/index.js} +2 -2
  71. package/lib/esm/common/index.js +1 -0
  72. package/lib/esm/common/project-config.provider.js +1 -0
  73. package/lib/esm/console/console.js +76 -0
  74. package/lib/esm/console/index.js +1 -0
  75. package/lib/esm/container-module/container-module.js +53 -0
  76. package/{container-module/index.d.ts → lib/esm/container-module/index.js} +1 -1
  77. package/lib/esm/controller/base-controller.js +64 -0
  78. package/{controller/index.d.ts → lib/esm/controller/index.js} +1 -1
  79. package/lib/esm/environment/env-validator.js +80 -0
  80. package/{environment/index.d.ts → lib/esm/environment/index.js} +1 -1
  81. package/lib/esm/error/application-error.js +36 -0
  82. package/lib/esm/error/error-handler-middleware.js +15 -0
  83. package/{error/index.d.ts → lib/esm/error/index.js} +3 -3
  84. package/lib/esm/error/report.js +24 -0
  85. package/lib/esm/error/status-code.js +80 -0
  86. package/{index.d.ts → lib/esm/index.mjs} +8 -7
  87. package/lib/esm/logger/general-logger.js +125 -0
  88. package/{logger/index.d.ts → lib/esm/logger/index.js} +1 -1
  89. package/lib/esm/types/application/app-container.d.ts +20 -0
  90. package/lib/esm/types/application/app-container.d.ts.map +1 -0
  91. package/lib/esm/types/application/application.d.ts +53 -0
  92. package/lib/esm/types/application/application.d.ts.map +1 -0
  93. package/lib/esm/types/application/index.d.ts +3 -0
  94. package/lib/esm/types/application/index.d.ts.map +1 -0
  95. package/lib/esm/types/common/index.d.ts +2 -0
  96. package/lib/esm/types/common/index.d.ts.map +1 -0
  97. package/lib/esm/types/common/project-config.provider.d.ts +22 -0
  98. package/lib/esm/types/common/project-config.provider.d.ts.map +1 -0
  99. package/lib/esm/types/console/console.d.ts +28 -0
  100. package/lib/esm/types/console/console.d.ts.map +1 -0
  101. package/lib/esm/types/console/index.d.ts +2 -0
  102. package/lib/esm/types/console/index.d.ts.map +1 -0
  103. package/lib/esm/types/container-module/container-module.d.ts +23 -0
  104. package/lib/esm/types/container-module/container-module.d.ts.map +1 -0
  105. package/lib/esm/types/container-module/index.d.ts +2 -0
  106. package/lib/esm/types/container-module/index.d.ts.map +1 -0
  107. package/lib/esm/types/controller/base-controller.d.ts +30 -0
  108. package/lib/esm/types/controller/base-controller.d.ts.map +1 -0
  109. package/lib/esm/types/controller/index.d.ts +2 -0
  110. package/lib/esm/types/controller/index.d.ts.map +1 -0
  111. package/lib/esm/types/environment/env-validator.d.ts +28 -0
  112. package/lib/esm/types/environment/env-validator.d.ts.map +1 -0
  113. package/lib/esm/types/environment/index.d.ts +2 -0
  114. package/lib/esm/types/environment/index.d.ts.map +1 -0
  115. package/lib/esm/types/error/application-error.d.ts +18 -0
  116. package/lib/esm/types/error/application-error.d.ts.map +1 -0
  117. package/lib/esm/types/error/error-handler-middleware.d.ts +13 -0
  118. package/lib/esm/types/error/error-handler-middleware.d.ts.map +1 -0
  119. package/lib/esm/types/error/index.d.ts +4 -0
  120. package/lib/esm/types/error/index.d.ts.map +1 -0
  121. package/lib/esm/types/error/report.d.ts +13 -0
  122. package/lib/esm/types/error/report.d.ts.map +1 -0
  123. package/lib/esm/types/error/status-code.d.ts +137 -0
  124. package/lib/esm/types/error/status-code.d.ts.map +1 -0
  125. package/lib/esm/types/index.d.ts +9 -0
  126. package/lib/esm/types/index.d.ts.map +1 -0
  127. package/lib/esm/types/logger/general-logger.d.ts +46 -0
  128. package/lib/esm/types/logger/general-logger.d.ts.map +1 -0
  129. package/lib/esm/types/logger/index.d.ts +2 -0
  130. package/lib/esm/types/logger/index.d.ts.map +1 -0
  131. package/lib/package.json +146 -0
  132. package/package.json +109 -12
  133. package/application/app-container.d.ts +0 -7
  134. package/application/app-container.js +0 -20
  135. package/application/application.d.ts +0 -21
  136. package/console/console.d.ts +0 -9
  137. package/console/console.js +0 -56
  138. package/container-module/container-module.d.ts +0 -8
  139. package/container-module/container-module.js +0 -34
  140. package/controller/base-controller.d.ts +0 -8
  141. package/controller/base-controller.js +0 -37
  142. package/environment/env-validator.d.ts +0 -12
  143. package/error/application-error.d.ts +0 -6
  144. package/error/application-error.js +0 -18
  145. package/error/error-handler-middleware.d.ts +0 -4
  146. package/error/report.d.ts +0 -5
  147. package/error/report.js +0 -15
  148. package/index.js +0 -10
  149. package/logger/general-logger.d.ts +0 -16
@@ -0,0 +1,46 @@
1
+ /**
2
+ * LogLevel enumeration defines the available log levels.
3
+ */
4
+ declare enum LogLevel {
5
+ Debug = 0,
6
+ Error = 1,
7
+ Info = 2
8
+ }
9
+ /**
10
+ * GeneralLogger class is a utility class to manage logging within the application.
11
+ */
12
+ declare class GeneralLogger {
13
+ private logger;
14
+ constructor();
15
+ /**
16
+ * Creates a console transport for logging.
17
+ * @returns {transports.ConsoleTransportInstance} A Winston console transport instance.
18
+ */
19
+ private createConsoleTransport;
20
+ /**
21
+ * Creates a rotational file transport for logging.
22
+ * @returns {DailyRotateFile} A Winston daily rotate file transport instance.
23
+ */
24
+ private createRotationalFileTransport;
25
+ /**
26
+ * Creates a logger options object for Winston.
27
+ * @returns {LoggerOptions} A Winston logger options object.
28
+ */
29
+ private createLoggerOptions;
30
+ /**
31
+ * Retrieves the path and line number of the error.
32
+ * @param error - An Error object containing error details.
33
+ * @returns {string} A string containing the path and line number of the error.
34
+ */
35
+ private getPathAndLine;
36
+ /**
37
+ * Logs a message or error with the specified log level and service.
38
+ * @param logLevel - The log level to use (Debug, Error, or Info).
39
+ * @param content - The message or Error object to log.
40
+ * @param service - The service name (optional) associated with the log.
41
+ */
42
+ log(logLevel: LogLevel, content: Error | string, service?: string): void;
43
+ }
44
+ declare const log: (logLevel: LogLevel, content: Error | string, service?: string) => void;
45
+ export { LogLevel, GeneralLogger, log };
46
+ //# sourceMappingURL=general-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general-logger.d.ts","sourceRoot":"","sources":["../../../../packages/core/src/logger/general-logger.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,aAAK,QAAQ;IACT,KAAK,IAAA;IACL,KAAK,IAAA;IACL,IAAI,IAAA;CACP;AAED;;GAEG;AACH,cACM,aAAa;IAEf,OAAO,CAAC,MAAM,CAAS;;IAMvB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAerC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;OAKG;IACI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAwB3E;AAGD,QAAA,MAAM,GAAG,aA3BgB,QAAQ,WAAW,KAAK,GAAG,MAAM,YAAY,MAAM,SA2B9C,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { GeneralLogger, LogLevel, log } from './general-logger';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/core/src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,146 @@
1
+ {
2
+ "name": "@expressots/core",
3
+ "version": "1.2.0",
4
+ "description": "Expressots - modern, fast, lightweight nodejs web framework (@core)",
5
+ "author": "Richard Zampieri",
6
+ "main": "./lib/cjs/index.js",
7
+ "types": "./lib/cjs/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./lib/esm/types/index.d.ts",
12
+ "default": "./lib/esm/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./lib/cjs/types/index.d.ts",
16
+ "default": "./lib/cjs/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": [
21
+ "lib/**/*"
22
+ ],
23
+ "license": "MIT",
24
+ "homepage": "https://expresso-ts.com",
25
+ "funding": {
26
+ "type": "",
27
+ "url": ""
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/expressots/expressots"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/expressots/expressots/issues"
35
+ },
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "keywords": [
40
+ "expressots",
41
+ "nodejs",
42
+ "microservices",
43
+ "typescript",
44
+ "clean-architecture",
45
+ "typescript-framework",
46
+ "framework",
47
+ "server-side"
48
+ ],
49
+ "engines": {
50
+ "node": ">=18.10.0"
51
+ },
52
+ "scripts": {
53
+ "win-clean": "if exist lib (del /q lib\\*)",
54
+ "linux-clean": "rm -f lib/*",
55
+ "win-cpy": "xcopy package.json lib\\ && xcopy README.md lib\\ && xcopy CHANGELOG.md lib\\ /Y",
56
+ "linux-cpy": "cp package.json README.md CHANGELOG.md lib/",
57
+ "build:win": "npm run win-clean && npm run build:esm && npm run build:cjs && npm run win-cpy",
58
+ "build:linux": "npm run linux-clean && npm run build:esm && npm run build:cjs && npm run linux-cpy",
59
+ "build:esm": "tsc -p tsconfig.esm.json && mv lib/esm/index.js lib/esm/index.mjs ",
60
+ "build:cjs": "tsc -p tsconfig.cjs.json",
61
+ "git": "powershell -Command \"git add .; git commit -m \"%1\"; npm run release\"",
62
+ "release": "release-it",
63
+ "test": "jest"
64
+ },
65
+ "dependencies": {
66
+ "@commitlint/cli": "^17.5.1",
67
+ "@commitlint/config-conventional": "^17.4.4",
68
+ "@release-it/conventional-changelog": "^5.1.1",
69
+ "chalk": "^4.1.2",
70
+ "dotenv": "^16.0.3",
71
+ "express": "^4.18.2",
72
+ "husky": "^8.0.3",
73
+ "inversify": "^6.0.1",
74
+ "inversify-binding-decorators": "^4.0.0",
75
+ "inversify-express-utils": "^6.4.3",
76
+ "jest": "^29.5.0",
77
+ "reflect-metadata": "^0.1.13",
78
+ "release-it": "^15.9.3",
79
+ "winston": "^3.8.2",
80
+ "winston-daily-rotate-file": "^4.7.1"
81
+ },
82
+ "devDependencies": {
83
+ "@types/express": "^4.17.17",
84
+ "@types/jest": "^29.5.0",
85
+ "@types/node": "^18.15.11",
86
+ "ts-jest": "^29.0.5",
87
+ "typescript": "^5.0.3"
88
+ },
89
+ "release-it": {
90
+ "git": {
91
+ "commitMessage": "chore(release): ${version}"
92
+ },
93
+ "github": {
94
+ "release": true
95
+ },
96
+ "npm": {
97
+ "publish": false
98
+ },
99
+ "plugins": {
100
+ "@release-it/conventional-changelog": {
101
+ "infile": "CHANGELOG.md",
102
+ "preset": {
103
+ "name": "conventionalcommits",
104
+ "types": [
105
+ {
106
+ "type": "feat",
107
+ "section": "Features"
108
+ },
109
+ {
110
+ "type": "fix",
111
+ "section": "Bug Fixes"
112
+ },
113
+ {
114
+ "type": "perf",
115
+ "section": "Performance Improvements"
116
+ },
117
+ {
118
+ "type": "revert",
119
+ "section": "Reverts"
120
+ },
121
+ {
122
+ "type": "docs",
123
+ "section": "Documentation"
124
+ },
125
+ {
126
+ "type": "refactor",
127
+ "section": "Code Refactoring"
128
+ },
129
+ {
130
+ "type": "test",
131
+ "section": "Tests"
132
+ },
133
+ {
134
+ "type": "build",
135
+ "section": "Build System"
136
+ },
137
+ {
138
+ "type": "ci",
139
+ "section": "Continuous Integrations"
140
+ }
141
+ ]
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
package/package.json CHANGED
@@ -1,9 +1,25 @@
1
1
  {
2
2
  "name": "@expressots/core",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "description": "Expressots - modern, fast, lightweight nodejs web framework (@core)",
5
5
  "author": "Richard Zampieri",
6
- "types": "./dist/index.d.ts",
6
+ "main": "./lib/cjs/index.js",
7
+ "types": "./lib/cjs/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./lib/esm/types/index.d.ts",
12
+ "default": "./lib/esm/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./lib/cjs/types/index.d.ts",
16
+ "default": "./lib/cjs/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": [
21
+ "lib/**/*"
22
+ ],
7
23
  "license": "MIT",
8
24
  "homepage": "https://expresso-ts.com",
9
25
  "funding": {
@@ -14,36 +30,117 @@
14
30
  "type": "git",
15
31
  "url": "https://github.com/expressots/expressots"
16
32
  },
33
+ "bugs": {
34
+ "url": "https://github.com/expressots/expressots/issues"
35
+ },
17
36
  "publishConfig": {
18
37
  "access": "public"
19
38
  },
39
+ "keywords": [
40
+ "expressots",
41
+ "nodejs",
42
+ "microservices",
43
+ "typescript",
44
+ "clean-architecture",
45
+ "typescript-framework",
46
+ "framework",
47
+ "server-side"
48
+ ],
20
49
  "engines": {
21
50
  "node": ">=18.10.0"
22
51
  },
23
52
  "scripts": {
24
- "build": "tsc",
25
- "postbuild": "xcopy \"package.json\" \"dist\" /y && xcopy \"README.md\" \"dist\" /y",
26
- "release": "npm run build && npm run postbuild",
53
+ "win-clean": "if exist lib (del /q lib\\*)",
54
+ "linux-clean": "rm -f lib/*",
55
+ "win-cpy": "xcopy package.json lib\\ && xcopy README.md lib\\ && xcopy CHANGELOG.md lib\\ /Y",
56
+ "linux-cpy": "cp package.json README.md CHANGELOG.md lib/",
57
+ "build:win": "npm run win-clean && npm run build:esm && npm run build:cjs && npm run win-cpy",
58
+ "build:linux": "npm run linux-clean && npm run build:esm && npm run build:cjs && npm run linux-cpy",
59
+ "build:esm": "tsc -p tsconfig.esm.json && mv lib/esm/index.js lib/esm/index.mjs ",
60
+ "build:cjs": "tsc -p tsconfig.cjs.json",
61
+ "git": "powershell -Command \"git add .; git commit -m \"%1\"; npm run release\"",
62
+ "release": "release-it",
27
63
  "test": "jest"
28
64
  },
29
- "keywords": [],
30
65
  "dependencies": {
66
+ "@commitlint/cli": "^17.5.1",
67
+ "@commitlint/config-conventional": "^17.4.4",
68
+ "@release-it/conventional-changelog": "^5.1.1",
31
69
  "chalk": "^4.1.2",
32
70
  "dotenv": "^16.0.3",
33
71
  "express": "^4.18.2",
72
+ "husky": "^8.0.3",
34
73
  "inversify": "^6.0.1",
35
74
  "inversify-binding-decorators": "^4.0.0",
36
- "inversify-express-utils": "^6.3.2",
75
+ "inversify-express-utils": "^6.4.3",
76
+ "jest": "^29.5.0",
37
77
  "reflect-metadata": "^0.1.13",
38
- "typescript": "^4.9.5",
39
- "winston": "^3.8.1",
78
+ "release-it": "^15.9.3",
79
+ "winston": "^3.8.2",
40
80
  "winston-daily-rotate-file": "^4.7.1"
41
81
  },
42
82
  "devDependencies": {
43
83
  "@types/express": "^4.17.17",
44
- "@types/jest": "^29.4.0",
45
- "jest": "^29.4.2",
84
+ "@types/jest": "^29.5.0",
85
+ "@types/node": "^18.15.11",
46
86
  "ts-jest": "^29.0.5",
47
- "ts-node-dev": "^2.0.0"
87
+ "typescript": "^5.0.3"
88
+ },
89
+ "release-it": {
90
+ "git": {
91
+ "commitMessage": "chore(release): ${version}"
92
+ },
93
+ "github": {
94
+ "release": true
95
+ },
96
+ "npm": {
97
+ "publish": false
98
+ },
99
+ "plugins": {
100
+ "@release-it/conventional-changelog": {
101
+ "infile": "CHANGELOG.md",
102
+ "preset": {
103
+ "name": "conventionalcommits",
104
+ "types": [
105
+ {
106
+ "type": "feat",
107
+ "section": "Features"
108
+ },
109
+ {
110
+ "type": "fix",
111
+ "section": "Bug Fixes"
112
+ },
113
+ {
114
+ "type": "perf",
115
+ "section": "Performance Improvements"
116
+ },
117
+ {
118
+ "type": "revert",
119
+ "section": "Reverts"
120
+ },
121
+ {
122
+ "type": "docs",
123
+ "section": "Documentation"
124
+ },
125
+ {
126
+ "type": "refactor",
127
+ "section": "Code Refactoring"
128
+ },
129
+ {
130
+ "type": "test",
131
+ "section": "Tests"
132
+ },
133
+ {
134
+ "type": "build",
135
+ "section": "Build System"
136
+ },
137
+ {
138
+ "type": "ci",
139
+ "section": "Continuous Integrations"
140
+ }
141
+ ]
142
+ }
143
+ }
144
+ }
48
145
  }
49
146
  }
@@ -1,7 +0,0 @@
1
- import { Container, ContainerModule } from "inversify";
2
- declare class AppContainer {
3
- private container;
4
- constructor();
5
- create(modules: ContainerModule[]): Container;
6
- }
7
- export { AppContainer };
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var AppContainer_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AppContainer = void 0;
5
- const tslib_1 = require("tslib");
6
- const inversify_1 = require("inversify");
7
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
8
- let AppContainer = AppContainer_1 = class AppContainer {
9
- constructor() { }
10
- create(modules) {
11
- this.container = new inversify_1.Container();
12
- this.container.load((0, inversify_binding_decorators_1.buildProviderModule)(), ...modules);
13
- return this.container;
14
- }
15
- };
16
- AppContainer = AppContainer_1 = tslib_1.__decorate([
17
- (0, inversify_binding_decorators_1.provide)(AppContainer_1),
18
- tslib_1.__metadata("design:paramtypes", [])
19
- ], AppContainer);
20
- exports.AppContainer = AppContainer;
@@ -1,21 +0,0 @@
1
- import express from "express";
2
- import { Container } from "inversify";
3
- import { IApplicationMessageToConsole } from "../console/console";
4
- declare enum ServerEnvironment {
5
- Development = "development",
6
- Staging = "staging",
7
- Production = "production"
8
- }
9
- declare class Application {
10
- private app;
11
- private port;
12
- private environment;
13
- constructor();
14
- protected configureServices(): void;
15
- protected postServerInitialization(): void;
16
- protected serverShutdown(): void;
17
- create(container: Container, middlewares?: express.RequestHandler[]): Application;
18
- listen(port: number, environment: ServerEnvironment, consoleMessage?: IApplicationMessageToConsole): void;
19
- }
20
- declare const appServerInstance: Application;
21
- export { appServerInstance as AppInstance, Application, ServerEnvironment };
@@ -1,9 +0,0 @@
1
- interface IApplicationMessageToConsole {
2
- appName: string;
3
- appVersion: string;
4
- }
5
- declare class Console {
6
- private printColor;
7
- messageServer(port: any, environment: string, consoleMessage?: IApplicationMessageToConsole): Promise<void>;
8
- }
9
- export { Console, IApplicationMessageToConsole };
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var Console_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Console = void 0;
5
- const tslib_1 = require("tslib");
6
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
8
- var ColorStyle;
9
- (function (ColorStyle) {
10
- ColorStyle[ColorStyle["None"] = 0] = "None";
11
- ColorStyle[ColorStyle["Yellow"] = 1] = "Yellow";
12
- ColorStyle[ColorStyle["Blue"] = 2] = "Blue";
13
- ColorStyle[ColorStyle["Green"] = 3] = "Green";
14
- ColorStyle[ColorStyle["Red"] = 4] = "Red";
15
- })(ColorStyle || (ColorStyle = {}));
16
- let Console = Console_1 = class Console {
17
- async printColor(message, colorStyle) {
18
- switch (colorStyle) {
19
- case ColorStyle.Yellow:
20
- return console.log(chalk_1.default.bgYellow.black(message));
21
- case ColorStyle.Blue:
22
- return console.log(chalk_1.default.bgBlue.black(message));
23
- case ColorStyle.Green:
24
- return console.log(chalk_1.default.bgGreen.black(message));
25
- case ColorStyle.Red:
26
- return console.log(chalk_1.default.bgRed.black(message));
27
- }
28
- }
29
- async messageServer(port, environment, consoleMessage) {
30
- const appConsoleMessage = {
31
- appName: (consoleMessage === null || consoleMessage === void 0 ? void 0 : consoleMessage.appName) || "Application",
32
- appVersion: (consoleMessage === null || consoleMessage === void 0 ? void 0 : consoleMessage.appVersion) || "not provided",
33
- };
34
- let terminalColor = ColorStyle.None;
35
- switch (environment.toLowerCase()) {
36
- case "development":
37
- terminalColor = ColorStyle.Yellow;
38
- break;
39
- case "staging":
40
- terminalColor = ColorStyle.Blue;
41
- break;
42
- case "production":
43
- terminalColor = ColorStyle.Green;
44
- break;
45
- default:
46
- terminalColor = ColorStyle.Red;
47
- break;
48
- }
49
- this.printColor(`${appConsoleMessage.appName} version ${appConsoleMessage.appVersion} is running on ` +
50
- `port ${port} - Environment: ${environment}`, terminalColor);
51
- }
52
- };
53
- Console = Console_1 = tslib_1.__decorate([
54
- (0, inversify_binding_decorators_1.provide)(Console_1)
55
- ], Console);
56
- exports.Console = Console;
@@ -1,8 +0,0 @@
1
- import { ContainerModule } from "inversify";
2
- declare class BaseModule {
3
- constructor();
4
- private static createSymbols;
5
- static createContainerModule(controllers: any[]): ContainerModule;
6
- }
7
- declare const CreateModule: typeof BaseModule.createContainerModule;
8
- export { CreateModule };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var BaseModule_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.CreateModule = void 0;
5
- const tslib_1 = require("tslib");
6
- const inversify_1 = require("inversify");
7
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
8
- let BaseModule = BaseModule_1 = class BaseModule {
9
- constructor() { }
10
- static createSymbols(controllers) {
11
- const symbols = new Map();
12
- for (const controller of controllers) {
13
- const target = controller;
14
- const symbol = Symbol.for(target.name);
15
- symbols.set(symbol, target);
16
- }
17
- return symbols;
18
- }
19
- static createContainerModule(controllers) {
20
- const symbols = BaseModule_1.createSymbols(controllers);
21
- return new inversify_1.ContainerModule(bind => {
22
- for (const symbol of symbols) {
23
- const target = symbol.valueOf();
24
- bind(target[0]).to(target[1]);
25
- }
26
- });
27
- }
28
- };
29
- BaseModule = BaseModule_1 = tslib_1.__decorate([
30
- (0, inversify_binding_decorators_1.provide)(BaseModule_1),
31
- tslib_1.__metadata("design:paramtypes", [])
32
- ], BaseModule);
33
- const CreateModule = BaseModule.createContainerModule;
34
- exports.CreateModule = CreateModule;
@@ -1,8 +0,0 @@
1
- import { interfaces } from 'inversify-express-utils';
2
- declare abstract class BaseController implements interfaces.Controller {
3
- private serviceName;
4
- constructor(serviceName: string);
5
- protected callUseCaseAsync(useCase: Promise<any>, res: any, successStatusCode: number): Promise<any>;
6
- protected callUseCase(useCase: any, res: any, successStatusCode: number): any;
7
- }
8
- export { BaseController };
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var BaseController_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.BaseController = void 0;
5
- const tslib_1 = require("tslib");
6
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
7
- const error_1 = require("../error");
8
- let BaseController = BaseController_1 = class BaseController {
9
- constructor(serviceName) {
10
- this.serviceName = serviceName;
11
- }
12
- async callUseCaseAsync(useCase, res, successStatusCode) {
13
- let dataReturn;
14
- try {
15
- dataReturn = await useCase;
16
- return res.status(successStatusCode).json(dataReturn);
17
- }
18
- catch (error) {
19
- error_1.Report.Error(error);
20
- }
21
- }
22
- callUseCase(useCase, res, successStatusCode) {
23
- let dataReturn;
24
- try {
25
- dataReturn = useCase;
26
- return res.status(successStatusCode).json(dataReturn);
27
- }
28
- catch (error) {
29
- error_1.Report.Error(error);
30
- }
31
- }
32
- };
33
- BaseController = BaseController_1 = tslib_1.__decorate([
34
- (0, inversify_binding_decorators_1.provide)(BaseController_1),
35
- tslib_1.__metadata("design:paramtypes", [String])
36
- ], BaseController);
37
- exports.BaseController = BaseController;
@@ -1,12 +0,0 @@
1
- declare class EnvValidatorProvider {
2
- static get(key: string, defaultValue?: any): any;
3
- static checkAll(): void;
4
- }
5
- declare global {
6
- interface String {
7
- AsBoolean(): boolean | undefined;
8
- AsNumber(): number | undefined;
9
- AsString(): string | undefined;
10
- }
11
- }
12
- export { EnvValidatorProvider as Environments };
@@ -1,6 +0,0 @@
1
- declare class AppError extends Error {
2
- statusCode: number;
3
- service: string;
4
- constructor(statusCode: number, message: string, service?: string);
5
- }
6
- export { AppError };
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var AppError_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.AppError = void 0;
5
- const tslib_1 = require("tslib");
6
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
7
- let AppError = AppError_1 = class AppError extends Error {
8
- constructor(statusCode, message, service) {
9
- super(message);
10
- this.statusCode = statusCode;
11
- this.service = service;
12
- }
13
- };
14
- AppError = AppError_1 = tslib_1.__decorate([
15
- (0, inversify_binding_decorators_1.provide)(AppError_1),
16
- tslib_1.__metadata("design:paramtypes", [Number, String, String])
17
- ], AppError);
18
- exports.AppError = AppError;
@@ -1,4 +0,0 @@
1
- import { NextFunction, Request, Response } from "express";
2
- import { AppError } from "./application-error";
3
- declare function errorHandler(error: AppError, req: Request, res: Response, next: NextFunction): void;
4
- export default errorHandler;
package/error/report.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { AppError } from "./application-error";
2
- declare class Report {
3
- static Error(error: AppError): void;
4
- }
5
- export { Report };
package/error/report.js DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var Report_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Report = void 0;
5
- const tslib_1 = require("tslib");
6
- const inversify_binding_decorators_1 = require("inversify-binding-decorators");
7
- let Report = Report_1 = class Report {
8
- static Error(error) {
9
- throw error;
10
- }
11
- };
12
- Report = Report_1 = tslib_1.__decorate([
13
- (0, inversify_binding_decorators_1.provide)(Report_1)
14
- ], Report);
15
- exports.Report = Report;
package/index.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./application"), exports);
5
- tslib_1.__exportStar(require("./console"), exports);
6
- tslib_1.__exportStar(require("./container-module"), exports);
7
- tslib_1.__exportStar(require("./controller"), exports);
8
- tslib_1.__exportStar(require("./environment"), exports);
9
- tslib_1.__exportStar(require("./error"), exports);
10
- tslib_1.__exportStar(require("./logger"), exports);