@invariant--labs/foundation 1.1.2 → 1.1.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.
Files changed (214) hide show
  1. package/dist/tsconfig.tsbuildinfo +1 -0
  2. package/package.json +108 -45
  3. package/.pnp.cjs +0 -22192
  4. package/.pnp.loader.mjs +0 -2126
  5. package/.yarnrc.yml +0 -1
  6. package/CHANGELOG.md +0 -527
  7. package/eslint.config.mjs +0 -52
  8. package/invariant.json +0 -22
  9. package/jest/jest.config.base.ts +0 -30
  10. package/jest/jest.spec.base.ts +0 -7
  11. package/jest.config.js +0 -49
  12. package/src/core/application/index.ts +0 -1
  13. package/src/core/application/persistence/index.ts +0 -3
  14. package/src/core/application/persistence/query-builder.ts +0 -2
  15. package/src/core/application/persistence/read-projection.ts +0 -2
  16. package/src/core/application/persistence/repository.ts +0 -23
  17. package/src/core/domain/entities/aggregate-root.ts +0 -34
  18. package/src/core/domain/entities/entity.spec.ts +0 -43
  19. package/src/core/domain/entities/entity.ts +0 -29
  20. package/src/core/domain/entities/identifier.spec.ts +0 -34
  21. package/src/core/domain/entities/identifier.ts +0 -16
  22. package/src/core/domain/entities/index.ts +0 -5
  23. package/src/core/domain/entities/projection.ts +0 -7
  24. package/src/core/domain/entities/unique-entity-id.ts +0 -9
  25. package/src/core/domain/events/domain-event.ts +0 -7
  26. package/src/core/domain/events/index.ts +0 -1
  27. package/src/core/domain/index.ts +0 -3
  28. package/src/core/domain/value-objects/index.ts +0 -2
  29. package/src/core/domain/value-objects/range.ts +0 -4
  30. package/src/core/domain/value-objects/value-object.spec.ts +0 -45
  31. package/src/core/domain/value-objects/value-object.ts +0 -17
  32. package/src/core/errors/command-failure.error.spec.ts +0 -30
  33. package/src/core/errors/command-failure.error.ts +0 -9
  34. package/src/core/errors/command-filter.error.ts +0 -3
  35. package/src/core/errors/detailed.error.ts +0 -25
  36. package/src/core/errors/domain.error.spec.ts +0 -27
  37. package/src/core/errors/domain.error.ts +0 -9
  38. package/src/core/errors/entity-not-found.error.spec.ts +0 -32
  39. package/src/core/errors/entity-not-found.error.ts +0 -9
  40. package/src/core/errors/fake-implementation.error.spec.ts +0 -27
  41. package/src/core/errors/fake-implementation.error.ts +0 -15
  42. package/src/core/errors/index.ts +0 -8
  43. package/src/core/errors/query-failure.error.ts +0 -8
  44. package/src/core/errors/too-many-results.error.ts +0 -3
  45. package/src/core/index.ts +0 -4
  46. package/src/core/infrastructure/config/config.provider.ts +0 -78
  47. package/src/core/infrastructure/config/config.service.ts +0 -25
  48. package/src/core/infrastructure/config/index.ts +0 -2
  49. package/src/core/infrastructure/messaging/fake/fake-messaging.service.ts +0 -17
  50. package/src/core/infrastructure/messaging/fake/fake-queue-manager.service.ts +0 -9
  51. package/src/core/infrastructure/messaging/fake/fake-queue-messaging.service.ts +0 -9
  52. package/src/core/infrastructure/messaging/fake/index.ts +0 -3
  53. package/src/core/infrastructure/messaging/index.ts +0 -6
  54. package/src/core/infrastructure/messaging/messaging.service.ts +0 -3
  55. package/src/core/infrastructure/messaging/queue-manager.service.ts +0 -6
  56. package/src/core/infrastructure/messaging/queue-messaging.service.ts +0 -3
  57. package/src/core/infrastructure/messaging/rabbitmq/index.ts +0 -2
  58. package/src/core/infrastructure/messaging/rabbitmq/rabbit-messaging.service.ts +0 -11
  59. package/src/core/infrastructure/messaging/rabbitmq/rabbit-queue-messaging.service.ts +0 -11
  60. package/src/core/infrastructure/messaging/types.ts +0 -28
  61. package/src/core/infrastructure/persistence/errors/index.ts +0 -2
  62. package/src/core/infrastructure/persistence/errors/model-to-entity-conversion.error.ts +0 -9
  63. package/src/core/infrastructure/persistence/errors/persistence.error.ts +0 -8
  64. package/src/core/infrastructure/persistence/in-memory/fake.repository.ts +0 -79
  65. package/src/core/infrastructure/persistence/in-memory/in-memory.query-builder.ts +0 -4
  66. package/src/core/infrastructure/persistence/in-memory/in-memory.repository.spec.ts +0 -50
  67. package/src/core/infrastructure/persistence/in-memory/in-memory.repository.ts +0 -81
  68. package/src/core/infrastructure/persistence/in-memory/index.ts +0 -3
  69. package/src/core/infrastructure/persistence/index.ts +0 -4
  70. package/src/core/infrastructure/persistence/read-side/in-memory.query-builder.ts +0 -4
  71. package/src/core/infrastructure/persistence/read-side/index.ts +0 -1
  72. package/src/core/infrastructure/persistence/read-side/knex/index.ts +0 -2
  73. package/src/core/infrastructure/persistence/read-side/knex/knex-types.definition.ts +0 -13
  74. package/src/core/infrastructure/persistence/read-side/knex/knex.query-builder.ts +0 -70
  75. package/src/core/infrastructure/persistence/read-side/knex-query-builder.ts +0 -70
  76. package/src/core/infrastructure/persistence/read-side/knex-types.definition.ts +0 -13
  77. package/src/core/infrastructure/persistence/write-side/aggregate-typeorm-repository.ts +0 -87
  78. package/src/core/infrastructure/persistence/write-side/entity-typeorm-repository.ts +0 -64
  79. package/src/core/infrastructure/persistence/write-side/in-memory.repository.ts +0 -82
  80. package/src/core/infrastructure/persistence/write-side/index.ts +0 -1
  81. package/src/core/infrastructure/persistence/write-side/model-attributes.ts +0 -4
  82. package/src/core/infrastructure/persistence/write-side/orm-embedded-mapper.ts +0 -11
  83. package/src/core/infrastructure/persistence/write-side/orm-mapper.ts +0 -11
  84. package/src/core/infrastructure/persistence/write-side/typeorm/aggregate-typeorm.repository.ts +0 -87
  85. package/src/core/infrastructure/persistence/write-side/typeorm/entity-typeorm.repository.ts +0 -64
  86. package/src/core/infrastructure/persistence/write-side/typeorm/index.ts +0 -5
  87. package/src/core/infrastructure/persistence/write-side/typeorm/model-attributes.ts +0 -4
  88. package/src/core/infrastructure/persistence/write-side/typeorm/orm-embedded.mapper.ts +0 -11
  89. package/src/core/infrastructure/persistence/write-side/typeorm/orm.mapper.ts +0 -11
  90. package/src/core/types/architecture-layer.ts +0 -52
  91. package/src/core/types/array-element.ts +0 -5
  92. package/src/core/types/index.ts +0 -2
  93. package/src/index.ts +0 -30
  94. package/src/modules/config/config.module.ts +0 -9
  95. package/src/modules/config/index.ts +0 -2
  96. package/src/modules/graphql/index.ts +0 -1
  97. package/src/modules/graphql/paginated-response.object-type.ts +0 -23
  98. package/src/modules/healthcheck/healthcheck-out.dto.ts +0 -43
  99. package/src/modules/healthcheck/index.ts +0 -1
  100. package/src/modules/knex/index.ts +0 -3
  101. package/src/modules/knex/knex-core.module.ts +0 -30
  102. package/src/modules/knex/knex.decorator.ts +0 -5
  103. package/src/modules/knex/knex.interface.ts +0 -12
  104. package/src/modules/knex/knex.module.ts +0 -14
  105. package/src/modules/knex/knex.token.ts +0 -2
  106. package/src/modules/logger/app-logger.ts +0 -28
  107. package/src/modules/logger/index.ts +0 -5
  108. package/src/modules/logger/log.ts +0 -26
  109. package/src/modules/logger/logger.module.ts +0 -47
  110. package/src/modules/logger/logger.service.ts +0 -131
  111. package/src/modules/logger/transports/console-color.transport.ts +0 -41
  112. package/src/modules/logger/transports/console-json.transport.ts +0 -23
  113. package/src/modules/logger/transports/console.transport.ts +0 -10
  114. package/src/modules/logger/transports/fake.transport.ts +0 -18
  115. package/src/modules/logger/transports/index.ts +0 -5
  116. package/src/modules/logger/transports/logger-transport.ts +0 -22
  117. package/src/modules/messaging/index.ts +0 -2
  118. package/src/modules/messaging/messaging.module.ts +0 -92
  119. package/src/modules/queue/default-queue-name.resolver.ts +0 -5
  120. package/src/modules/queue/index.ts +0 -3
  121. package/src/modules/queue/queue.module.ts +0 -73
  122. package/src/modules/queue/rabbit-queue-manager.service.ts +0 -67
  123. package/src/nestjs/errors/handlers/error-handler.ts +0 -38
  124. package/src/nestjs/errors/handlers/error-handler.type.ts +0 -23
  125. package/src/nestjs/errors/handlers/generic-error-handler.ts +0 -59
  126. package/src/nestjs/errors/handlers/handle-errors.decorator.ts +0 -43
  127. package/src/nestjs/errors/handlers/index.ts +0 -5
  128. package/src/nestjs/errors/handlers/validation-error-handler.ts +0 -46
  129. package/src/nestjs/errors/index.ts +0 -2
  130. package/src/nestjs/errors/parsers/axios-metadata.parser.ts +0 -21
  131. package/src/nestjs/errors/parsers/error-metadata.definition.ts +0 -1
  132. package/src/nestjs/errors/parsers/index.ts +0 -5
  133. package/src/nestjs/errors/parsers/knex-metadata.parser.ts +0 -18
  134. package/src/nestjs/errors/parsers/typeorm-metadata.parser.ts +0 -19
  135. package/src/nestjs/errors/parsers/workos-metadata.parser.ts +0 -17
  136. package/src/nestjs/http/decorators/index.ts +0 -1
  137. package/src/nestjs/http/decorators/log-app-ctx.decorator.ts +0 -32
  138. package/src/nestjs/http/dtos/date-range.dto.ts +0 -15
  139. package/src/nestjs/http/dtos/index.ts +0 -1
  140. package/src/nestjs/http/filters/all-exceptions.filter.ts +0 -92
  141. package/src/nestjs/http/filters/command-failure.filter.ts +0 -12
  142. package/src/nestjs/http/filters/index.ts +0 -4
  143. package/src/nestjs/http/filters/rpc-exceptions.filter.ts +0 -10
  144. package/src/nestjs/http/filters/too-many-results.filter.ts +0 -12
  145. package/src/nestjs/http/index.ts +0 -6
  146. package/src/nestjs/http/interceptors/index.ts +0 -2
  147. package/src/nestjs/http/interceptors/log-app-ctx.interceptor.ts +0 -109
  148. package/src/nestjs/http/interceptors/serialize-output.interceptor.ts +0 -19
  149. package/src/nestjs/http/middleware/http-logger.middleware.ts +0 -31
  150. package/src/nestjs/http/middleware/index.ts +0 -2
  151. package/src/nestjs/http/middleware/logger.middleware.ts +0 -21
  152. package/src/nestjs/http/swagger/index.ts +0 -1
  153. package/src/nestjs/http/swagger/swagger.ts +0 -44
  154. package/src/nestjs/index.ts +0 -2
  155. package/src/testing/command-bus.stub.ts +0 -33
  156. package/src/testing/event-bus.stub.ts +0 -56
  157. package/src/testing/event-publisher.stub.ts +0 -24
  158. package/src/testing/fake-logger.ts +0 -20
  159. package/src/testing/index.ts +0 -2
  160. package/src/testing/query-bus.stub.ts +0 -27
  161. package/src/testing/stub.spec.ts +0 -250
  162. package/src/testing/stub.ts +0 -170
  163. package/src/testing/stubs/command-bus.stub.ts +0 -33
  164. package/src/testing/stubs/event-bus.stub.ts +0 -56
  165. package/src/testing/stubs/event-publisher.stub.ts +0 -24
  166. package/src/testing/stubs/index.ts +0 -5
  167. package/src/testing/stubs/query-bus.stub.ts +0 -27
  168. package/src/testing/stubs/stub.ts +0 -170
  169. package/src/utils/array.spec.ts +0 -29
  170. package/src/utils/array.ts +0 -10
  171. package/src/utils/base64.spec.ts +0 -18
  172. package/src/utils/base64.ts +0 -6
  173. package/src/utils/collection.ts +0 -4
  174. package/src/utils/common.ts +0 -13
  175. package/src/utils/csv.ts +0 -49
  176. package/src/utils/date/date-range.ts +0 -4
  177. package/src/utils/date/date.spec.ts +0 -100
  178. package/src/utils/date/date.ts +0 -177
  179. package/src/utils/date/diff.spec.ts +0 -66
  180. package/src/utils/date/diffYear.spec.ts +0 -23
  181. package/src/utils/date/fillMissingRangeValues.spec.ts +0 -523
  182. package/src/utils/date/groubBy.spec.ts +0 -183
  183. package/src/utils/date/index.ts +0 -2
  184. package/src/utils/date/isSame.spec.ts +0 -111
  185. package/src/utils/file.spec.ts +0 -66
  186. package/src/utils/file.ts +0 -5
  187. package/src/utils/hash-key.ts +0 -23
  188. package/src/utils/index.ts +0 -14
  189. package/src/utils/invariant.ts +0 -3
  190. package/src/utils/iso-date.ts +0 -11
  191. package/src/utils/object.spec.ts +0 -18
  192. package/src/utils/object.ts +0 -6
  193. package/src/utils/paginated.ts +0 -36
  194. package/src/utils/string.spec.ts +0 -10
  195. package/src/utils/string.ts +0 -19
  196. package/src/utils/type.ts +0 -9
  197. package/src/utils/xml.ts +0 -6
  198. package/src/validation/ensure-array.decorator.ts +0 -5
  199. package/src/validation/index.ts +0 -7
  200. package/src/validation/is-iso-date.decorator.spec.ts +0 -29
  201. package/src/validation/is-iso-date.decorator.ts +0 -30
  202. package/src/validation/is-less-than-or-equal.decorator.spec.ts +0 -30
  203. package/src/validation/is-less-than-or-equal.decorator.ts +0 -52
  204. package/src/validation/is-less-than.decorator.spec.ts +0 -36
  205. package/src/validation/is-less-than.decorator.ts +0 -52
  206. package/src/validation/is-more-than-or-equal.decorator.spec.ts +0 -30
  207. package/src/validation/is-more-than-or-equal.decorator.ts +0 -52
  208. package/src/validation/is-more-than.decorator.spec.ts +0 -36
  209. package/src/validation/is-more-than.decorator.ts +0 -52
  210. package/src/validation/is-time-string.decorator.spec.ts +0 -35
  211. package/src/validation/is-time-string.decorator.ts +0 -29
  212. package/tsconfig.build.json +0 -6
  213. package/tsconfig.json +0 -34
  214. package/tsconfig.spec.json +0 -14
package/package.json CHANGED
@@ -1,12 +1,25 @@
1
1
  {
2
2
  "name": "@invariant--labs/foundation",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "require": "./dist/index.js",
10
+ "default": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
6
16
  "license": "MIT",
17
+ "engines": {
18
+ "node": ">=18.0.0"
19
+ },
7
20
  "scripts": {
8
21
  "clean": "rimraf ./dist",
9
- "build": "nest build",
22
+ "build": "tsc -p tsconfig.build.json",
10
23
  "lint": "eslint src/",
11
24
  "lint:types": "tsc --project ./tsconfig.json --noEmit",
12
25
  "test": "NODE_ENV=test jest",
@@ -14,15 +27,97 @@
14
27
  "test:integration": "echo 'integration tests not implemented'",
15
28
  "test:e2e": "echo 'e2e tests not implemented'",
16
29
  "prerelease": "yarn clean && yarn lint && yarn lint:types && yarn test",
17
- "release": "yarn prerelease && yarn build && npm publish --access public"
30
+ "release": "yarn prerelease && yarn build && npm publish --access public",
31
+ "bump:patch": "npm version patch --no-git-tag-version",
32
+ "bump:minor": "npm version minor --no-git-tag-version",
33
+ "bump:major": "npm version major --no-git-tag-version"
34
+ },
35
+ "peerDependencies": {
36
+ "@nestjs/common": "^11.0.0",
37
+ "@nestjs/core": "^11.0.0",
38
+ "@nestjs/cqrs": "^11.0.0",
39
+ "@nestjs/graphql": "^13.0.0",
40
+ "@nestjs/microservices": "^11.0.0",
41
+ "@nestjs/passport": "^11.0.0",
42
+ "@nestjs/swagger": "^11.0.0",
43
+ "@sentry/nestjs": "^10.0.0",
44
+ "class-transformer": "^0.5.0",
45
+ "class-validator": "^0.14.0",
46
+ "graphql": "^16.0.0",
47
+ "knex": "^3.0.0",
48
+ "passport": "^0.7.0",
49
+ "reflect-metadata": "^0.2.0",
50
+ "rxjs": "^7.0.0",
51
+ "typeorm": "^0.3.0"
52
+ },
53
+ "peerDependenciesMeta": {
54
+ "@nestjs/graphql": {
55
+ "optional": true
56
+ },
57
+ "@nestjs/microservices": {
58
+ "optional": true
59
+ },
60
+ "@nestjs/passport": {
61
+ "optional": true
62
+ },
63
+ "@nestjs/swagger": {
64
+ "optional": true
65
+ },
66
+ "@sentry/nestjs": {
67
+ "optional": true
68
+ },
69
+ "graphql": {
70
+ "optional": true
71
+ },
72
+ "knex": {
73
+ "optional": true
74
+ },
75
+ "passport": {
76
+ "optional": true
77
+ },
78
+ "typeorm": {
79
+ "optional": true
80
+ }
81
+ },
82
+ "dependencies": {
83
+ "amqp-connection-manager": "^5.0.0",
84
+ "amqplib": "^0.10.9",
85
+ "axios": "^1.13.2",
86
+ "base-64": "^1.0.0",
87
+ "cls-hooked": "^4.2.2",
88
+ "dayjs": "^1.11.19",
89
+ "dotenv": "^17.2.3",
90
+ "dotenv-safe": "^9.1.0",
91
+ "express-basic-auth": "^1.2.1",
92
+ "fast-xml-parser": "^5.3.3",
93
+ "lodash": "^4.17.21",
94
+ "luxon": "^3.7.2",
95
+ "mime-types": "^3.0.2",
96
+ "passport-headerapikey": "^1.2.2",
97
+ "shallow-equal-object": "^1.1.1",
98
+ "slugify": "^1.6.6",
99
+ "tiny-invariant": "^1.3.3",
100
+ "ts-custom-error": "^3.3.1",
101
+ "tslib": "^2.8.1",
102
+ "utf8": "^3.0.0",
103
+ "uuid": "^13.0.0"
18
104
  },
19
105
  "devDependencies": {
20
106
  "@eslint/js": "^9.39.2",
21
107
  "@jest/globals": "^30.2.0",
22
108
  "@nestjs/axios": "^4.0.1",
109
+ "@nestjs/cli": "^11.0.16",
110
+ "@nestjs/common": "^11.1.12",
111
+ "@nestjs/core": "^11.1.12",
112
+ "@nestjs/cqrs": "^11.0.3",
113
+ "@nestjs/graphql": "^13.2.3",
114
+ "@nestjs/microservices": "^11.1.12",
115
+ "@nestjs/passport": "^11.0.5",
23
116
  "@nestjs/platform-express": "^11.1.12",
24
117
  "@nestjs/schematics": "^11.0.9",
118
+ "@nestjs/swagger": "^11.2.5",
25
119
  "@nestjs/testing": "^11.1.12",
120
+ "@sentry/nestjs": "^10.35.0",
26
121
  "@swc/core": "^1.11.29",
27
122
  "@swc/jest": "^0.2.39",
28
123
  "@types/base-64": "^1.0.2",
@@ -39,58 +134,26 @@
39
134
  "@types/supertest": "^6.0.3",
40
135
  "@types/utf8": "^3.0.3",
41
136
  "@types/uuid": "^11.0.0",
42
- "eslint-config-prettier": "^10.1.8",
43
- "eslint-plugin-no-only-tests": "^3.3.0",
44
- "globals": "^17.0.0",
45
- "jest": "^30.2.0",
46
- "jest-util": "^30.2.0",
47
- "rimraf": "^6.1.2",
48
- "supertest": "^7.1.0",
49
- "terser": "^5.46.0",
50
- "tslib": "^2.8.1",
51
- "typescript": "^5.9.3",
52
- "typescript-eslint": "^8.53.1"
53
- },
54
- "dependencies": {
55
- "@nestjs/cli": "^11.0.16",
56
- "@nestjs/common": "^11.1.12",
57
- "@nestjs/core": "^11.1.12",
58
- "@nestjs/cqrs": "^11.0.3",
59
- "@nestjs/graphql": "^13.2.3",
60
- "@nestjs/microservices": "^11.1.12",
61
- "@nestjs/passport": "^11.0.5",
62
- "@nestjs/swagger": "^11.2.5",
63
- "@sentry/nestjs": "^10.35.0",
64
137
  "@vercel/style-guide": "^6.0.0",
65
- "amqp-connection-manager": "^5.0.0",
66
- "amqplib": "^0.10.9",
67
- "axios": "^1.13.2",
68
- "base-64": "^1.0.0",
69
138
  "class-transformer": "^0.5.1",
70
139
  "class-validator": "^0.14.3",
71
- "cls-hooked": "^4.2.2",
72
- "dayjs": "^1.11.19",
73
- "dotenv": "^17.2.3",
74
- "dotenv-safe": "^9.1.0",
75
140
  "eslint": "^9.39.2",
76
- "express-basic-auth": "^1.2.1",
77
- "fast-xml-parser": "^5.3.3",
141
+ "eslint-config-prettier": "^10.1.8",
142
+ "eslint-plugin-no-only-tests": "^3.3.0",
143
+ "globals": "^17.0.0",
78
144
  "graphql": "^16.12.0",
145
+ "jest": "^30.2.0",
146
+ "jest-util": "^30.2.0",
79
147
  "knex": "^3.1.0",
80
- "lodash": "^4.17.21",
81
- "luxon": "^3.7.2",
82
- "mime-types": "^3.0.2",
83
148
  "passport": "^0.7.0",
84
- "passport-headerapikey": "^1.2.2",
85
149
  "reflect-metadata": "^0.2.2",
150
+ "rimraf": "^6.1.2",
86
151
  "rxjs": "^7.8.2",
87
- "shallow-equal-object": "^1.1.1",
88
- "slugify": "^1.6.6",
89
- "tiny-invariant": "^1.3.3",
90
- "ts-custom-error": "^3.3.1",
152
+ "supertest": "^7.1.0",
153
+ "terser": "^5.46.0",
91
154
  "typeorm": "^0.3.28",
92
- "utf8": "^3.0.0",
93
- "uuid": "^13.0.0"
155
+ "typescript": "^5.9.3",
156
+ "typescript-eslint": "^8.53.1"
94
157
  },
95
158
  "volta": {
96
159
  "node": "24.4.0",