diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index a0827a26..84f43808 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -58,4 +58,4 @@ body: validations: required: true -projects: ['atls/11'] \ No newline at end of file +projects: ['atls/11'] diff --git a/.github/ISSUE_TEMPLATE/docs.yaml b/.github/ISSUE_TEMPLATE/docs.yaml index 7718a36f..3f4057cb 100644 --- a/.github/ISSUE_TEMPLATE/docs.yaml +++ b/.github/ISSUE_TEMPLATE/docs.yaml @@ -41,4 +41,4 @@ body: validations: required: true -projects: ['atls/11'] \ No newline at end of file +projects: ['atls/11'] diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml index f3bb4939..71589d1f 100644 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -44,4 +44,4 @@ body: validations: required: true -projects: ['atls/11'] \ No newline at end of file +projects: ['atls/11'] diff --git a/.pnp.cjs b/.pnp.cjs index 274fdba0..2401b809 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -42,6 +42,10 @@ const RAW_RUNTIME_STATE = "name": "@atls/nestjs-cqrs",\ "reference": "workspace:packages/nestjs-cqrs"\ },\ + {\ + "name": "@atls/nestjs-cqrs-kafka-events",\ + "reference": "workspace:packages/nestjs-cqrs-kafka-events"\ + },\ {\ "name": "@atls/nestjs-dataloader",\ "reference": "workspace:packages/nestjs-dataloader"\ @@ -152,6 +156,7 @@ const RAW_RUNTIME_STATE = ["@atls/nestjs-connectrpc", ["virtual:7c4464973bd8ce1f9c1cda98eb9c49c1dca46b75b86a927a752d6c3d7263d9b85347181d21a40d00d98627c4024f2c5e455a4894666e2307f3b2cdb59c4e7931#workspace:packages/nestjs-connectrpc", "workspace:packages/nestjs-connectrpc"]],\ ["@atls/nestjs-connectrpc-errors", ["workspace:packages/nestjs-connectrpc-errors"]],\ ["@atls/nestjs-cqrs", ["workspace:packages/nestjs-cqrs"]],\ + ["@atls/nestjs-cqrs-kafka-events", ["workspace:packages/nestjs-cqrs-kafka-events"]],\ ["@atls/nestjs-dataloader", ["workspace:packages/nestjs-dataloader"]],\ ["@atls/nestjs-external-renderer", ["workspace:packages/nestjs-external-renderer"]],\ ["@atls/nestjs-gateway", ["workspace:packages/nestjs-gateway"]],\ @@ -162,7 +167,7 @@ const RAW_RUNTIME_STATE = ["@atls/nestjs-grpc-playground", ["virtual:51dcb3fe3f47cfb6224dcab5ae8c7e50b5682560d9d6abdf449cb9fd665402b311244dcf35352838e6165320fb5bb25ae45a36f802c2a93ab14064614bee36b9#workspace:packages/nestjs-grpc-playground", "workspace:packages/nestjs-grpc-playground"]],\ ["@atls/nestjs-grpc-reflection", ["virtual:1b645f34e708f7901d1bd6b5b2d1038edc84294a49890304b13123db78ac85a009762dcf36af72cc3f76303827188f19bee713c279b8ca82cc7dee72e3732570#workspace:packages/nestjs-grpc-reflection", "virtual:51dcb3fe3f47cfb6224dcab5ae8c7e50b5682560d9d6abdf449cb9fd665402b311244dcf35352838e6165320fb5bb25ae45a36f802c2a93ab14064614bee36b9#workspace:packages/nestjs-grpc-reflection", "virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#workspace:packages/nestjs-grpc-reflection", "virtual:80857f29dff653ed1b21e1b78c415c79278e1a3708fec8563133922c0b3b287990dd6895d3d76575acec38e5f7e5fa8985f270e2d46a7eb121f744d431d0761f#workspace:packages/nestjs-grpc-reflection", "workspace:packages/nestjs-grpc-reflection"]],\ ["@atls/nestjs-hydra", ["workspace:packages/nestjs-hydra"]],\ - ["@atls/nestjs-kafka", ["workspace:packages/nestjs-kafka"]],\ + ["@atls/nestjs-kafka", ["virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#workspace:packages/nestjs-kafka", "workspace:packages/nestjs-kafka"]],\ ["@atls/nestjs-keto", ["workspace:packages/nestjs-keto"]],\ ["@atls/nestjs-kratos", ["workspace:packages/nestjs-kratos"]],\ ["@atls/nestjs-logger", ["workspace:packages/nestjs-logger"]],\ @@ -698,6 +703,22 @@ const RAW_RUNTIME_STATE = "linkType": "SOFT"\ }]\ ]],\ + ["@atls/nestjs-cqrs-kafka-events", [\ + ["workspace:packages/nestjs-cqrs-kafka-events", {\ + "packageLocation": "./packages/nestjs-cqrs-kafka-events/",\ + "packageDependencies": [\ + ["@atls/nestjs-cqrs-kafka-events", "workspace:packages/nestjs-cqrs-kafka-events"],\ + ["@atls/nestjs-kafka", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#workspace:packages/nestjs-kafka"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/core", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/cqrs", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.2.8"],\ + ["reflect-metadata", "npm:0.2.2"],\ + ["rxjs", "npm:7.8.1"],\ + ["telejson", "npm:7.2.0"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ ["@atls/nestjs-dataloader", [\ ["workspace:packages/nestjs-dataloader", {\ "packageLocation": "./packages/nestjs-dataloader/",\ @@ -1292,7 +1313,7 @@ const RAW_RUNTIME_STATE = ["@grpc/grpc-js", "npm:1.12.5"],\ ["@grpc/proto-loader", "npm:0.7.13"],\ ["@jest/globals", "npm:29.7.0"],\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@nestjs/core", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/microservices", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/testing", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ @@ -1332,6 +1353,34 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@atls/nestjs-kafka", [\ + ["virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#workspace:packages/nestjs-kafka", {\ + "packageLocation": "./.yarn/__virtual__/@atls-nestjs-kafka-virtual-7af1c298b2/1/packages/nestjs-kafka/",\ + "packageDependencies": [\ + ["@atls/nestjs-kafka", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#workspace:packages/nestjs-kafka"],\ + ["@atls/logger", "npm:0.0.2"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/core", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@types/nestjs__common", null],\ + ["@types/nestjs__core", null],\ + ["@types/reflect-metadata", null],\ + ["@types/rxjs", null],\ + ["camelcase", "npm:8.0.0"],\ + ["kafkajs", "npm:2.2.4"],\ + ["reflect-metadata", "npm:0.2.2"],\ + ["rxjs", "npm:7.8.1"]\ + ],\ + "packagePeers": [\ + "@nestjs/common",\ + "@nestjs/core",\ + "@types/nestjs__common",\ + "@types/nestjs__core",\ + "@types/reflect-metadata",\ + "@types/rxjs",\ + "reflect-metadata",\ + "rxjs"\ + ],\ + "linkType": "SOFT"\ + }],\ ["workspace:packages/nestjs-kafka", {\ "packageLocation": "./packages/nestjs-kafka/",\ "packageDependencies": [\ @@ -7516,10 +7565,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#npm:10.4.1", {\ - "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-d13c8c526b/2/.yarn/berry/cache/@nestjs-common-npm-10.4.1-940734b1b1-10c0.zip/node_modules/@nestjs/common/",\ + ["virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-bc8d5973ad/2/.yarn/berry/cache/@nestjs-common-npm-10.4.15-6477955573-10c0.zip/node_modules/@nestjs/common/",\ "packageDependencies": [\ - ["@nestjs/common", "virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#npm:10.4.1"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@types/class-transformer", null],\ ["@types/class-validator", null],\ ["@types/reflect-metadata", null],\ @@ -7529,7 +7578,7 @@ const RAW_RUNTIME_STATE = ["iterare", "npm:1.2.1"],\ ["reflect-metadata", "npm:0.2.2"],\ ["rxjs", "npm:7.8.1"],\ - ["tslib", "npm:2.6.3"],\ + ["tslib", "npm:2.8.1"],\ ["uid", "npm:2.0.2"]\ ],\ "packagePeers": [\ @@ -7544,20 +7593,20 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:7c4464973bd8ce1f9c1cda98eb9c49c1dca46b75b86a927a752d6c3d7263d9b85347181d21a40d00d98627c4024f2c5e455a4894666e2307f3b2cdb59c4e7931#npm:10.4.3", {\ - "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-1c8d6cc6fb/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ + ["virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#npm:10.4.1", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-d13c8c526b/2/.yarn/berry/cache/@nestjs-common-npm-10.4.1-940734b1b1-10c0.zip/node_modules/@nestjs/common/",\ "packageDependencies": [\ - ["@nestjs/common", "virtual:7c4464973bd8ce1f9c1cda98eb9c49c1dca46b75b86a927a752d6c3d7263d9b85347181d21a40d00d98627c4024f2c5e455a4894666e2307f3b2cdb59c4e7931#npm:10.4.3"],\ + ["@nestjs/common", "virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#npm:10.4.1"],\ ["@types/class-transformer", null],\ ["@types/class-validator", null],\ ["@types/reflect-metadata", null],\ ["@types/rxjs", null],\ - ["class-transformer", "npm:0.5.1"],\ - ["class-validator", "npm:0.14.1"],\ + ["class-transformer", null],\ + ["class-validator", null],\ ["iterare", "npm:1.2.1"],\ ["reflect-metadata", "npm:0.2.2"],\ ["rxjs", "npm:7.8.1"],\ - ["tslib", "npm:2.7.0"],\ + ["tslib", "npm:2.6.3"],\ ["uid", "npm:2.0.2"]\ ],\ "packagePeers": [\ @@ -7572,10 +7621,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:82c048b5d29d98effb158530a6945e2dff634e60027727e8e466d7eb17aae4f7dab78b4f8b6e9b66564a6323d8f832ee9648588d0bee432ff101abcba1b0b492#npm:10.4.3", {\ - "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-a824cd9ec9/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ + ["virtual:7c4464973bd8ce1f9c1cda98eb9c49c1dca46b75b86a927a752d6c3d7263d9b85347181d21a40d00d98627c4024f2c5e455a4894666e2307f3b2cdb59c4e7931#npm:10.4.3", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-1c8d6cc6fb/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ "packageDependencies": [\ - ["@nestjs/common", "virtual:82c048b5d29d98effb158530a6945e2dff634e60027727e8e466d7eb17aae4f7dab78b4f8b6e9b66564a6323d8f832ee9648588d0bee432ff101abcba1b0b492#npm:10.4.3"],\ + ["@nestjs/common", "virtual:7c4464973bd8ce1f9c1cda98eb9c49c1dca46b75b86a927a752d6c3d7263d9b85347181d21a40d00d98627c4024f2c5e455a4894666e2307f3b2cdb59c4e7931#npm:10.4.3"],\ ["@types/class-transformer", null],\ ["@types/class-validator", null],\ ["@types/reflect-metadata", null],\ @@ -7583,7 +7632,7 @@ const RAW_RUNTIME_STATE = ["class-transformer", "npm:0.5.1"],\ ["class-validator", "npm:0.14.1"],\ ["iterare", "npm:1.2.1"],\ - ["reflect-metadata", "npm:0.1.14"],\ + ["reflect-metadata", "npm:0.2.2"],\ ["rxjs", "npm:7.8.1"],\ ["tslib", "npm:2.7.0"],\ ["uid", "npm:2.0.2"]\ @@ -7600,16 +7649,16 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:a83c01fc4cba5ca49a56474f02d0e2a42b67fd84218e0ed8446c312a68b5dcda210438f3221534d1b20254ee4cad2d7a7704d91b0774cb67fd2dcafbea6e550e#npm:10.4.3", {\ - "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-6775051a82/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ + ["virtual:82c048b5d29d98effb158530a6945e2dff634e60027727e8e466d7eb17aae4f7dab78b4f8b6e9b66564a6323d8f832ee9648588d0bee432ff101abcba1b0b492#npm:10.4.3", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-a824cd9ec9/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ "packageDependencies": [\ - ["@nestjs/common", "virtual:a83c01fc4cba5ca49a56474f02d0e2a42b67fd84218e0ed8446c312a68b5dcda210438f3221534d1b20254ee4cad2d7a7704d91b0774cb67fd2dcafbea6e550e#npm:10.4.3"],\ + ["@nestjs/common", "virtual:82c048b5d29d98effb158530a6945e2dff634e60027727e8e466d7eb17aae4f7dab78b4f8b6e9b66564a6323d8f832ee9648588d0bee432ff101abcba1b0b492#npm:10.4.3"],\ ["@types/class-transformer", null],\ ["@types/class-validator", null],\ ["@types/reflect-metadata", null],\ ["@types/rxjs", null],\ - ["class-transformer", null],\ - ["class-validator", null],\ + ["class-transformer", "npm:0.5.1"],\ + ["class-validator", "npm:0.14.1"],\ ["iterare", "npm:1.2.1"],\ ["reflect-metadata", "npm:0.1.14"],\ ["rxjs", "npm:7.8.1"],\ @@ -7628,10 +7677,10 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15", {\ - "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-fa24950819/2/.yarn/berry/cache/@nestjs-common-npm-10.4.15-6477955573-10c0.zip/node_modules/@nestjs/common/",\ + ["virtual:a83c01fc4cba5ca49a56474f02d0e2a42b67fd84218e0ed8446c312a68b5dcda210438f3221534d1b20254ee4cad2d7a7704d91b0774cb67fd2dcafbea6e550e#npm:10.4.3", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-common-virtual-6775051a82/2/.yarn/berry/cache/@nestjs-common-npm-10.4.3-c8baed1848-10c0.zip/node_modules/@nestjs/common/",\ "packageDependencies": [\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:a83c01fc4cba5ca49a56474f02d0e2a42b67fd84218e0ed8446c312a68b5dcda210438f3221534d1b20254ee4cad2d7a7704d91b0774cb67fd2dcafbea6e550e#npm:10.4.3"],\ ["@types/class-transformer", null],\ ["@types/class-validator", null],\ ["@types/reflect-metadata", null],\ @@ -7639,9 +7688,9 @@ const RAW_RUNTIME_STATE = ["class-transformer", null],\ ["class-validator", null],\ ["iterare", "npm:1.2.1"],\ - ["reflect-metadata", "npm:0.2.2"],\ + ["reflect-metadata", "npm:0.1.14"],\ ["rxjs", "npm:7.8.1"],\ - ["tslib", "npm:2.8.1"],\ + ["tslib", "npm:2.7.0"],\ ["uid", "npm:2.0.2"]\ ],\ "packagePeers": [\ @@ -8090,6 +8139,45 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15", {\ + "packageLocation": "./.yarn/unplugged/@nestjs-core-virtual-ebe8886e16/node_modules/@nestjs/core/",\ + "packageDependencies": [\ + ["@nestjs/core", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/microservices", null],\ + ["@nestjs/platform-express", null],\ + ["@nestjs/websockets", null],\ + ["@nuxtjs/opencollective", "npm:0.3.2"],\ + ["@types/nestjs__common", null],\ + ["@types/nestjs__microservices", null],\ + ["@types/nestjs__platform-express", null],\ + ["@types/nestjs__websockets", null],\ + ["@types/reflect-metadata", null],\ + ["@types/rxjs", null],\ + ["fast-safe-stringify", "npm:2.1.1"],\ + ["iterare", "npm:1.2.1"],\ + ["path-to-regexp", "npm:3.3.0"],\ + ["reflect-metadata", "npm:0.2.2"],\ + ["rxjs", "npm:7.8.1"],\ + ["tslib", "npm:2.8.1"],\ + ["uid", "npm:2.0.2"]\ + ],\ + "packagePeers": [\ + "@nestjs/common",\ + "@nestjs/microservices",\ + "@nestjs/platform-express",\ + "@nestjs/websockets",\ + "@types/nestjs__common",\ + "@types/nestjs__microservices",\ + "@types/nestjs__platform-express",\ + "@types/nestjs__websockets",\ + "@types/reflect-metadata",\ + "@types/rxjs",\ + "reflect-metadata",\ + "rxjs"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:77887786a24289fa840c9acd370d634accbe79bcf317ecf5401844ffff73b8a593879dd9cce463873637e6414a631dfdb1a2473704bf332d823bcfffac8c2469#npm:10.4.1", {\ "packageLocation": "./.yarn/unplugged/@nestjs-core-virtual-fd48581fb6/node_modules/@nestjs/core/",\ "packageDependencies": [\ @@ -8328,7 +8416,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/unplugged/@nestjs-core-virtual-31c42a0370/node_modules/@nestjs/core/",\ "packageDependencies": [\ ["@nestjs/core", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@nestjs/microservices", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/platform-express", null],\ ["@nestjs/websockets", null],\ @@ -8411,6 +8499,39 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ + ["npm:10.2.8", {\ + "packageLocation": "../.yarn/berry/cache/@nestjs-cqrs-npm-10.2.8-38160fe930-10c0.zip/node_modules/@nestjs/cqrs/",\ + "packageDependencies": [\ + ["@nestjs/cqrs", "npm:10.2.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.2.8", {\ + "packageLocation": "./.yarn/__virtual__/@nestjs-cqrs-virtual-ada63d1bdc/2/.yarn/berry/cache/@nestjs-cqrs-npm-10.2.8-38160fe930-10c0.zip/node_modules/@nestjs/cqrs/",\ + "packageDependencies": [\ + ["@nestjs/cqrs", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.2.8"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@nestjs/core", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ + ["@types/nestjs__common", null],\ + ["@types/nestjs__core", null],\ + ["@types/reflect-metadata", null],\ + ["@types/rxjs", null],\ + ["reflect-metadata", "npm:0.2.2"],\ + ["rxjs", "npm:7.8.1"],\ + ["uuid", "npm:11.0.2"]\ + ],\ + "packagePeers": [\ + "@nestjs/common",\ + "@nestjs/core",\ + "@types/nestjs__common",\ + "@types/nestjs__core",\ + "@types/reflect-metadata",\ + "@types/rxjs",\ + "reflect-metadata",\ + "rxjs"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:a83c01fc4cba5ca49a56474f02d0e2a42b67fd84218e0ed8446c312a68b5dcda210438f3221534d1b20254ee4cad2d7a7704d91b0774cb67fd2dcafbea6e550e#npm:10.2.7", {\ "packageLocation": "./.yarn/__virtual__/@nestjs-cqrs-virtual-2761613dc1/2/.yarn/berry/cache/@nestjs-cqrs-npm-10.2.7-9e294c7177-10c0.zip/node_modules/@nestjs/cqrs/",\ "packageDependencies": [\ @@ -9255,7 +9376,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["@nestjs/microservices", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@grpc/grpc-js", "npm:1.12.5"],\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@nestjs/core", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/websockets", null],\ ["@types/amqp-connection-manager", null],\ @@ -9491,7 +9612,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/__virtual__/@nestjs-platform-express-virtual-a60bba1657/2/.yarn/berry/cache/@nestjs-platform-express-npm-10.4.1-76944971fd-10c0.zip/node_modules/@nestjs/platform-express/",\ "packageDependencies": [\ ["@nestjs/platform-express", "virtual:72b004ed387c0787b678cd5dfc7122e06ad587944d2318f4f2b670be73d1bdd2cd54475be092e6c93d9733e6a0937fc481804a777e8b1de537314c85fa96987e#npm:10.4.1"],\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@nestjs/core", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@types/nestjs__common", null],\ ["@types/nestjs__core", null],\ @@ -10092,7 +10213,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/__virtual__/@nestjs-testing-virtual-72b004ed38/2/.yarn/berry/cache/@nestjs-testing-npm-10.4.15-d591a1705a-10c0.zip/node_modules/@nestjs/testing/",\ "packageDependencies": [\ ["@nestjs/testing", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ - ["@nestjs/common", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ + ["@nestjs/common", "virtual:773e124e6d7d5c23e2706ffde057b7c1d13d30452fb17121aed2189489091a233a955fdd9b958f8fa713a6cdbe245c696fcd7e05eb8d3e4a938f0a00ad757325#npm:10.4.15"],\ ["@nestjs/core", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/microservices", "virtual:ec8981ecaea40e2febae31b46ac73d9116df8c03ad650498e32a27b7067b620948a688dd82750726a2a222ea50e5d2539eb56777a3aebd27de3e0b0824c9aa23#npm:10.4.15"],\ ["@nestjs/platform-express", "virtual:72b004ed387c0787b678cd5dfc7122e06ad587944d2318f4f2b670be73d1bdd2cd54475be092e6c93d9733e6a0937fc481804a777e8b1de537314c85fa96987e#npm:10.4.1"],\ @@ -24316,6 +24437,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["uuid", [\ + ["npm:11.0.2", {\ + "packageLocation": "../.yarn/berry/cache/uuid-npm-11.0.2-13e156cc62-10c0.zip/node_modules/uuid/",\ + "packageDependencies": [\ + ["uuid", "npm:11.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ ["npm:3.4.0", {\ "packageLocation": "../.yarn/berry/cache/uuid-npm-3.4.0-4fd8ef88ad-10c0.zip/node_modules/uuid/",\ "packageDependencies": [\ diff --git a/package.json b/package.json index f21b5a1c..a345cebe 100644 --- a/package.json +++ b/package.json @@ -13,5 +13,8 @@ "typescript": "5.4.2" }, "packageManager": "yarn@4.7.0", + "formatterIgnorePatterns": [ + "**/*/CHANGELOG.md" + ], "typecheckSkipLibCheck": true } diff --git a/packages/nestjs-cqrs-kafka-events/package.json b/packages/nestjs-cqrs-kafka-events/package.json new file mode 100644 index 00000000..cc3215ad --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/package.json @@ -0,0 +1,49 @@ +{ + "name": "@atls/nestjs-cqrs-kafka-events", + "version": "0.0.0", + "license": "BSD-3-Clause", + "type": "module", + "exports": { + "./package.json": "./package.json", + ".": "./src/index.ts" + }, + "main": "src/index.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "yarn library build", + "prepack": "yarn run build", + "postpack": "rm -rf dist" + }, + "dependencies": { + "@atls/nestjs-kafka": "workspace:0.0.2", + "telejson": "7.2.0" + }, + "devDependencies": { + "@nestjs/common": "10.4.15", + "@nestjs/core": "10.4.15", + "@nestjs/cqrs": "10.2.8", + "reflect-metadata": "0.2.2", + "rxjs": "^7.8.1" + }, + "peerDependencies": { + "@nestjs/common": "^10", + "@nestjs/core": "^10", + "@nestjs/cqrs": "^10", + "reflect-metadata": "^0.2", + "rxjs": "^7" + }, + "publishConfig": { + "exports": { + "./package.json": "./package.json", + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + } + }, + "main": "dist/index.js", + "typings": "dist/index.d.ts" + } +} diff --git a/packages/nestjs-cqrs-kafka-events/src/index.ts b/packages/nestjs-cqrs-kafka-events/src/index.ts new file mode 100644 index 00000000..5b9fe018 --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/index.ts @@ -0,0 +1,4 @@ +export * from '@atls/nestjs-kafka' + +export * from './messaging/index.js' +export * from './module/index.js' diff --git a/packages/nestjs-cqrs-kafka-events/src/messaging/index.ts b/packages/nestjs-cqrs-kafka-events/src/messaging/index.ts new file mode 100644 index 00000000..8e52ae0f --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/messaging/index.ts @@ -0,0 +1,2 @@ +export * from './kafka.subscriber.js' +export * from './kafka.publisher.js' diff --git a/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.publisher.ts b/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.publisher.ts new file mode 100644 index 00000000..a392b002 --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.publisher.ts @@ -0,0 +1,40 @@ +import type { Kafka } from '@atls/nestjs-kafka' +import type { Producer } from '@atls/nestjs-kafka' +import type { RecordMetadata } from '@atls/nestjs-kafka' +import type { OnModuleDestroy } from '@nestjs/common' +import type { IEventPublisher } from '@nestjs/cqrs' +import type { IEvent } from '@nestjs/cqrs' + +import { stringify } from 'telejson' + +export class KafkaPublisher implements IEventPublisher, OnModuleDestroy { + private readonly kafkaProducer: Producer + + constructor(kafka: Kafka) { + this.kafkaProducer = kafka.producer() + } + + async onModuleDestroy(): Promise { + await this.kafkaProducer.disconnect() + } + + async connect(): Promise { + await this.kafkaProducer.connect() + } + + async publish(event: IEvent): Promise> { + return this.kafkaProducer.send({ + topic: event.constructor.name, + messages: [{ value: stringify(event) }], + }) + } + + async publishAll(events: Array): Promise> { + return this.kafkaProducer.sendBatch({ + topicMessages: events.map((event) => ({ + topic: event.constructor.name, + messages: [{ value: stringify(event) }], + })), + }) + } +} diff --git a/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.subscriber.ts b/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.subscriber.ts new file mode 100644 index 00000000..ac4c096e --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/messaging/kafka.subscriber.ts @@ -0,0 +1,50 @@ +import type { Consumer } from '@atls/nestjs-kafka' +import type { Kafka } from '@atls/nestjs-kafka' +import type { OnModuleDestroy } from '@nestjs/common' +import type { IEvent } from '@nestjs/cqrs' +import type { IMessageSource } from '@nestjs/cqrs' +import type { Subject } from 'rxjs' + +import { parse } from 'telejson' + +export class KafkaSubscriber implements IMessageSource, OnModuleDestroy { + private readonly kafkaConsumer: Consumer + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + private bridge!: Subject + + constructor(kafka: Kafka, groupId: string) { + this.kafkaConsumer = kafka.consumer({ groupId }) + } + + async onModuleDestroy(): Promise { + await this.kafkaConsumer.disconnect() + } + + async connect(events: Array): Promise { + await this.kafkaConsumer.connect() + + for await (const event of events) { + await this.kafkaConsumer.subscribe({ topic: event.name, fromBeginning: false }) + } + + await this.kafkaConsumer.run({ + eachMessage: async ({ topic, message }) => { + if (this.bridge) { + for (const Event of events) { + if (Event.name === topic) { + const parsedJson = parse((message.value || '').toString()) + const receivedEvent: IEvent = Object.assign(new Event(), parsedJson) + + this.bridge.next(receivedEvent) + } + } + } + }, + }) + } + + bridgeEventsTo(subject: Subject): void { + this.bridge = subject + } +} diff --git a/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.constants.ts b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.constants.ts new file mode 100644 index 00000000..a2d6dafa --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.constants.ts @@ -0,0 +1 @@ +export const CQRS_KAFKA_EVENTS_MODULE_OPTIONS = Symbol('cqrs-kafka-events-module-options') diff --git a/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.interfaces.ts b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.interfaces.ts new file mode 100644 index 00000000..1f3ebb3d --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.interfaces.ts @@ -0,0 +1,23 @@ +import type { KafkaConfig } from '@atls/nestjs-kafka' +import type { ModuleMetadata } from '@nestjs/common/interfaces' +import type { Type } from '@nestjs/common/interfaces' + +export interface CqrsKafkaEventsModuleOptions extends Partial { + groupId?: string +} + +export interface CqrsKafkaEventsOptionsFactory { + createCqrsKafkaEventsOptions: () => + | CqrsKafkaEventsModuleOptions + | Promise +} + +export interface CqrsKafkaEventsModuleAsyncOptions extends Pick { + useExisting?: Type + useClass?: Type + useFactory?: ( + ...args: Array + ) => CqrsKafkaEventsModuleOptions | Promise + // eslint-disable-next-line @typescript-eslint/no-explicit-any + inject?: Array +} diff --git a/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.ts b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.ts new file mode 100644 index 00000000..0c5bc21f --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/module/cqrs-kafka-events.module.ts @@ -0,0 +1,150 @@ +import type { KafkaConfig } from '@atls/nestjs-kafka' +import type { DynamicModule } from '@nestjs/common' +import type { OnModuleInit } from '@nestjs/common' +import type { Provider } from '@nestjs/common' + +import type { CqrsKafkaEventsModuleOptions } from './cqrs-kafka-events.module.interfaces.js' +import type { CqrsKafkaEventsModuleAsyncOptions } from './cqrs-kafka-events.module.interfaces.js' +import type { CqrsKafkaEventsOptionsFactory } from './cqrs-kafka-events.module.interfaces.js' + +import { Module } from '@nestjs/common' +import { EventBus } from '@nestjs/cqrs' +import { EVENTS_HANDLER_METADATA } from '@nestjs/cqrs/dist/decorators/constants.js' +import { ExplorerService } from '@nestjs/cqrs/dist/services/explorer.service.js' + +import { KafkaModule } from '@atls/nestjs-kafka' +import { KafkaFactory } from '@atls/nestjs-kafka' +import { Kafka } from '@atls/nestjs-kafka' + +import { KafkaPublisher } from '../messaging/index.js' +import { KafkaSubscriber } from '../messaging/index.js' +import { CQRS_KAFKA_EVENTS_MODULE_OPTIONS } from './cqrs-kafka-events.module.constants.js' + +@Module({}) +export class CqrsKafkaEventsModule implements OnModuleInit { + constructor( + private readonly eventBus: EventBus, + private readonly kafkaPublisher: KafkaPublisher, + private readonly kafkaSubscriber: KafkaSubscriber, + private readonly explorerService: ExplorerService + ) {} + + static register(options: CqrsKafkaEventsModuleOptions): DynamicModule { + return { + module: CqrsKafkaEventsModule, + imports: [KafkaModule.register(options)], + providers: [ + { + provide: CQRS_KAFKA_EVENTS_MODULE_OPTIONS, + useValue: options, + }, + { + provide: Kafka, + useFactory: (kafkaFactory: KafkaFactory, config: Partial): Kafka => + kafkaFactory.create(config), + inject: [KafkaFactory, CQRS_KAFKA_EVENTS_MODULE_OPTIONS], + }, + { + provide: KafkaSubscriber, + useFactory: ( + kafka: Kafka, + moduleOptions: CqrsKafkaEventsModuleOptions + ): KafkaSubscriber => + new KafkaSubscriber( + kafka, + moduleOptions.groupId || process.env.CQRS_KAFKA_EVENTS_GROUP_ID || 'default' + ), + inject: [Kafka, CQRS_KAFKA_EVENTS_MODULE_OPTIONS], + }, + { + provide: KafkaPublisher, + useFactory: (kafka: Kafka): KafkaPublisher => new KafkaPublisher(kafka), + inject: [Kafka], + }, + ], + } + } + + static registerAsync(options: CqrsKafkaEventsModuleAsyncOptions): DynamicModule { + return { + module: CqrsKafkaEventsModule, + imports: [KafkaModule.register(), ...(options.imports || [])], + providers: [ + ...this.createAsyncProviders(options), + { + provide: Kafka, + useFactory: (kafkaFactory: KafkaFactory, config: Partial): Kafka => + kafkaFactory.create(config), + inject: [KafkaFactory, CQRS_KAFKA_EVENTS_MODULE_OPTIONS], + }, + { + provide: KafkaSubscriber, + useFactory: ( + kafka: Kafka, + moduleOptions: CqrsKafkaEventsModuleOptions + ): KafkaSubscriber => + new KafkaSubscriber( + kafka, + moduleOptions.groupId || process.env.CQRS_KAFKA_EVENTS_GROUP_ID || 'default' + ), + inject: [Kafka, CQRS_KAFKA_EVENTS_MODULE_OPTIONS], + }, + { + provide: KafkaPublisher, + useFactory: (kafka: Kafka): KafkaPublisher => new KafkaPublisher(kafka), + inject: [Kafka], + }, + ], + } + } + + private static createAsyncProviders(options: CqrsKafkaEventsModuleAsyncOptions): Array { + if (options.useExisting || options.useFactory) { + return [this.createAsyncOptionsProvider(options)] + } + + return [ + this.createAsyncOptionsProvider(options), + { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + provide: options.useClass!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + useClass: options.useClass!, + }, + ] + } + + private static createAsyncOptionsProvider(options: CqrsKafkaEventsModuleAsyncOptions): Provider { + if (options.useFactory) { + return { + provide: CQRS_KAFKA_EVENTS_MODULE_OPTIONS, + useFactory: options.useFactory, + inject: options.inject || [], + } + } + + return { + provide: CQRS_KAFKA_EVENTS_MODULE_OPTIONS, + useFactory: ( + optionsFactory: CqrsKafkaEventsOptionsFactory + ): CqrsKafkaEventsModuleOptions | Promise => + optionsFactory.createCqrsKafkaEventsOptions(), + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + inject: [options.useExisting! || options.useClass!], + } + } + + async onModuleInit(): Promise { + await this.kafkaPublisher.connect() + await this.kafkaSubscriber.connect( + (this.explorerService.explore().events || []) + .map( + (handler) => Reflect.getMetadata(EVENTS_HANDLER_METADATA, handler) as FunctionConstructor + ) + .flat() + ) + + this.eventBus.publisher = this.kafkaPublisher + this.kafkaSubscriber.bridgeEventsTo(this.eventBus.subject$) + } +} diff --git a/packages/nestjs-cqrs-kafka-events/src/module/index.ts b/packages/nestjs-cqrs-kafka-events/src/module/index.ts new file mode 100644 index 00000000..4a0a073d --- /dev/null +++ b/packages/nestjs-cqrs-kafka-events/src/module/index.ts @@ -0,0 +1,3 @@ +export * from './cqrs-kafka-events.module.constants.js' +export * from './cqrs-kafka-events.module.js' +export type * from './cqrs-kafka-events.module.interfaces.js' diff --git a/packages/nestjs-cqrs/package.json b/packages/nestjs-cqrs/package.json index aa77907d..77f9b7da 100644 --- a/packages/nestjs-cqrs/package.json +++ b/packages/nestjs-cqrs/package.json @@ -41,5 +41,6 @@ }, "main": "dist/index.js", "typings": "dist/index.d.ts" - } + }, + "typecheckSkipLibCheck": true } diff --git a/yarn.lock b/yarn.lock index af3c5f21..91664fba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -424,6 +424,26 @@ __metadata: languageName: unknown linkType: soft +"@atls/nestjs-cqrs-kafka-events@workspace:packages/nestjs-cqrs-kafka-events": + version: 0.0.0-use.local + resolution: "@atls/nestjs-cqrs-kafka-events@workspace:packages/nestjs-cqrs-kafka-events" + dependencies: + "@atls/nestjs-kafka": "workspace:0.0.2" + "@nestjs/common": "npm:10.4.15" + "@nestjs/core": "npm:10.4.15" + "@nestjs/cqrs": "npm:10.2.8" + reflect-metadata: "npm:0.2.2" + rxjs: "npm:^7.8.1" + telejson: "npm:7.2.0" + peerDependencies: + "@nestjs/common": ^10 + "@nestjs/core": ^10 + "@nestjs/cqrs": ^10 + reflect-metadata: ^0.2 + rxjs: ^7 + languageName: unknown + linkType: soft + "@atls/nestjs-cqrs@workspace:packages/nestjs-cqrs": version: 0.0.0-use.local resolution: "@atls/nestjs-cqrs@workspace:packages/nestjs-cqrs" @@ -755,7 +775,7 @@ __metadata: languageName: unknown linkType: soft -"@atls/nestjs-kafka@workspace:packages/nestjs-kafka": +"@atls/nestjs-kafka@workspace:0.0.2, @atls/nestjs-kafka@workspace:packages/nestjs-kafka": version: 0.0.0-use.local resolution: "@atls/nestjs-kafka@workspace:packages/nestjs-kafka" dependencies: @@ -5079,6 +5099,20 @@ __metadata: languageName: node linkType: hard +"@nestjs/cqrs@npm:10.2.8": + version: 10.2.8 + resolution: "@nestjs/cqrs@npm:10.2.8" + dependencies: + uuid: "npm:11.0.2" + peerDependencies: + "@nestjs/common": ^9.0.0 || ^10.0.0 + "@nestjs/core": ^9.0.0 || ^10.0.0 + reflect-metadata: ^0.1.13 || ^0.2.0 + rxjs: ^7.2.0 + checksum: 10c0/fb56a282d07d5eb8c1619e1dac777f094496f37d7b9aee94c942dde27d6e1516559aaa762d737c3a60dee7a7bae6a7adffa2ba6cf6296bcf60f762517d52d0cb + languageName: node + linkType: hard + "@nestjs/cqrs@npm:^10.2.5": version: 10.2.7 resolution: "@nestjs/cqrs@npm:10.2.7" @@ -16482,7 +16516,7 @@ __metadata: languageName: node linkType: hard -"telejson@npm:^7.1.0": +"telejson@npm:7.2.0, telejson@npm:^7.1.0": version: 7.2.0 resolution: "telejson@npm:7.2.0" dependencies: @@ -17411,6 +17445,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:11.0.2": + version: 11.0.2 + resolution: "uuid@npm:11.0.2" + bin: + uuid: dist/esm/bin/uuid + checksum: 10c0/bd0670a0d6f77f1932da7544c51c32ceb467f3835382df2265f3275c4981d32c136a08a4369fb027ecfffd0b2ae48f19a28266ef636c7347264d5720e85d5ba0 + languageName: node + linkType: hard + "uuid@npm:9.0.1, uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1"