{"_id":"@claudeseo/nest-kafka","_rev":"3-64a8222ff90b4846dae3247317bafc16","name":"@claudeseo/nest-kafka","dist-tags":{"latest":"0.0.3"},"versions":{"0.0.1":{"name":"@claudeseo/nest-kafka","version":"0.0.1","description":"simple integrate kafka.js with nest.js","main":"dist/index.js","types":"dist/index.d.ts","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main","next"]},"scripts":{"lint":"gts lint","lint:fix":"gtx fix","clean":"gts clean","compile":"tsc","prepare":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/ClaudeSeo/nest-kafka.git"},"keywords":["nestjs","kafkajs"],"author":{"name":"ClaudeSeo","email":"ehdaudtj@gmail.com"},"license":"Unlicense","bugs":{"url":"https://github.com/ClaudeSeo/nest-kafka/issues"},"homepage":"https://github.com/ClaudeSeo/nest-kafka#readme","engines":{"node":">=14"},"dependencies":{"@nestjs/common":"^8.2.6","@nestjs/core":"^8.2.6","@nestjs/microservices":"^8.2.6","kafkajs":"^1.15.0","lodash":"^4.17.21","reflect-metadata":"^0.1.13","rxjs":"^7.5.2"},"devDependencies":{"@nestjs/config":"^1.1.6","@types/lodash":"^4.14.178","@types/node":"^14.18.10","gts":"^3.1.0","ts-node":"^10.4.0","typescript":"^4.5.5"},"gitHead":"cd7fd2820669582918798f7ceb82be84fd8b4a75","_id":"@claudeseo/nest-kafka@0.0.1","_nodeVersion":"14.18.3","_npmVersion":"6.14.15","dist":{"integrity":"sha512-w0qn/NZ5jEqOdvzIdgM/sTyCoFPyqnnoz7nPWxLUVT1fc+XkJXwHE6t+FJe9Mj9XrPPBXGTaBbwlOc+JWja6iA==","shasum":"e3271e6d08d786098f05a345b2b42852f074dfde","tarball":"https://registry.npmjs.org/@claudeseo/nest-kafka/-/nest-kafka-0.0.1.tgz","fileCount":57,"unpackedSize":73149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/qyICRA9TVsSAnZWagAAU+8P/idLv0S4tsPgZLvf4Pwh\nR3W3hIilfgfE+QZE3FdbEZJbIHfn3FCCesbRdZ/OVpKW8GQZ4tbH5Pf/Gelu\nf/NA2oHGtU1Nkz1HCBUnBb8dMHxDgCoOcPmYj27DjQ7VQ2pH1XH3q7zZnP/V\nJglcldjD7xuWZrmOG075AxT9IoEfqoF6kVTgd9o5YPNk+DA0vFYANHjVOMqq\nd+BkFAp+B0AyZIvOv8tI/aTMRmUfNjq39AYwQlweuxM2jRRGT2et+noY4n0x\nbBoCDo/fA3bq7sHInib5ARXo2Ard/a8FYKxbU0j0rDhbz714vOKZTdvnqMTn\nzJmRAz71OepVIel+L3rGg9GweRpaDfSUyRmi0oECj4Gd575wp5Xz4edcn26D\nsH2vfCzIDLd6482tN/9A+W+DHsd7OkjxWRTp/hudc2B38gzP4J1AW0cZSNZo\ndiW8AQWQJNL+Qzw9FV9l2047cBz7iR1DUDHDY0U8MKgqH6viOINAEJg2RscB\ngNkTVdm+jERTVxDSuyowh8w3sAENkEWLI/5WzudoAGLlTbvasCTZDmxDcPHL\nk6tTMHX7HSNXWBYPOWEywSc/c/FAhuVL1NTaPOKNXqOLtdKmMkFHp/HKstz+\nSrZmu5YRd2ML8mZa2DYhn2Hi2PQn9tOfdFlMZ4SNu5LCCETUAxmC/c6FuwkU\njtT7\r\n=HtQi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEss+d/9fku40HHv2/4RnI+K0W8PVIguK7qLZ8r+U845AiEAtbOta5RHDJNDJHTzhW1D2oUsgXIR1QLqi+XyKPd+MYQ="}]},"_npmUser":{"name":"claudeseo","email":"ehdaudtj@gmail.com"},"directories":{},"maintainers":[{"name":"claudeseo","email":"ehdaudtj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nest-kafka_0.0.1_1644080264765_0.26060489393472075"},"_hasShrinkwrap":false},"0.0.2":{"name":"@claudeseo/nest-kafka","version":"0.0.2","description":"simple integrate kafka.js with nest.js","main":"dist/index.js","types":"dist/index.d.ts","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main","next"]},"scripts":{"lint":"gts lint","lint:fix":"gtx fix","clean":"gts clean","compile":"tsc","prepare":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/ClaudeSeo/nest-kafka.git"},"keywords":["nestjs","kafkajs"],"author":{"name":"ClaudeSeo","email":"ehdaudtj@gmail.com"},"license":"Unlicense","bugs":{"url":"https://github.com/ClaudeSeo/nest-kafka/issues"},"homepage":"https://github.com/ClaudeSeo/nest-kafka#readme","engines":{"node":">=14"},"dependencies":{"@nestjs/common":"^8.2.6","@nestjs/core":"^8.2.6","@nestjs/microservices":"^8.2.6","kafkajs":"^1.15.0","lodash":"^4.17.21","reflect-metadata":"^0.1.13","rxjs":"^7.5.2"},"devDependencies":{"@nestjs/config":"^1.1.6","@types/lodash":"^4.14.178","@types/node":"^14.18.10","gts":"^3.1.0","ts-node":"^10.4.0","typescript":"^4.5.5"},"gitHead":"9b8cb99b7bc7bb47145483ff3732ae789a748411","_id":"@claudeseo/nest-kafka@0.0.2","_nodeVersion":"14.18.3","_npmVersion":"6.14.15","dist":{"integrity":"sha512-cvYXa8X9Y91VwsW8R9gdCL6VEoR0EBGnjF6jq0TYl1vktLnBmI0w8uaZ/q8szPT0m/UskkVoWo1lyuPPCz/wRg==","shasum":"75fc1f6c505e5a4c0d893d08a775fefb7d47c3ca","tarball":"https://registry.npmjs.org/@claudeseo/nest-kafka/-/nest-kafka-0.0.2.tgz","fileCount":57,"unpackedSize":73149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/q7rCRA9TVsSAnZWagAAQS0P/08ax+rkI2v3I39umedm\nRU7CxQ/T/eub5s8FgHs5Nep2g62Rl3eumvHZQEKo1EUOqFm1eIkO44wK5MPN\nSqfs43aErHLD+R2dJpwg96jT7/1hKKz7ioUd52ms06pFD1nOnWbdL7fcvncH\nYQr2Z5P5PeTEKnyIUdRpIEBQn8He4jAfgD5ZTrvBgR4XQOLRvGEmqLP/Sg6X\nIOJdq0ToS4hvRXeuuHslyHwmuic3XNCvb6VLXFASVJl4NX/jgjs4CV6CcMhY\nRr3XN1qTUTh9cq3MK+njfLz/2dN4TAV7ZAVV4pLt5vUQlgDdY2y7pPC2LVPp\n5wr73/j67lPRiChGLJ/87+Nkz4iXJsKPgWFa9jOxy60FYp2dOaOASmb3u8uQ\na2ly/I55iffqW8m+lw2LG5iP6TXDKCrsjIVKFUHa+o0q80h9wTVFD9SSJMbP\nwGfaUWCcDjxP5cNXO7zJyZnrlCd3cjJ5nOszxNTdZ4xFKb32l3AVaL1JtdHG\nyvmtPlmWKP2BxwxViKGObFahejAPeQTwp/w+0n4Q8lnNAp28JtgxEyYM+Mj5\nUWJqJpzHRpEyELkaXdPQTTKpWcmvuAhvXb2XGdt3wJMR3CF5vd5w0eX2WPwX\npED8LxPcqaYFtzGX9HdibE8EcigpFnECfpszNM1VTitxYxduBAoPSBZVZez0\nU5fn\r\n=x8Ni\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9lvuOL+mUUe5d+KFgzj143r+oMIEDg82fSG22lJpt5AiEA7LZI0+jCRHQKlIBXLfBM5HzOoYJxYP6jCe3DWGGFLkE="}]},"_npmUser":{"name":"claudeseo","email":"ehdaudtj@gmail.com"},"directories":{},"maintainers":[{"name":"claudeseo","email":"ehdaudtj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nest-kafka_0.0.2_1644080875416_0.34446790262112303"},"_hasShrinkwrap":false},"0.0.3":{"name":"@claudeseo/nest-kafka","version":"0.0.3","description":"simple integrate kafka.js with nest.js","main":"dist/index.js","types":"dist/index.d.ts","release":{"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog","@semantic-release/npm","@semantic-release/github","@semantic-release/git"],"branches":["main","next"]},"scripts":{"lint":"gts lint","lint:fix":"gtx fix","clean":"gts clean","compile":"tsc","prepare":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/ClaudeSeo/nest-kafka.git"},"keywords":["nestjs","kafkajs"],"author":{"name":"ClaudeSeo","email":"ehdaudtj@gmail.com"},"license":"Unlicense","bugs":{"url":"https://github.com/ClaudeSeo/nest-kafka/issues"},"homepage":"https://github.com/ClaudeSeo/nest-kafka#readme","engines":{"node":">=14"},"dependencies":{"@nestjs/common":"^8.2.6","@nestjs/core":"^8.2.6","@nestjs/microservices":"^8.2.6","kafkajs":"^1.15.0","lodash":"^4.17.21","reflect-metadata":"^0.1.13","rxjs":"^7.5.2"},"devDependencies":{"@nestjs/config":"^1.1.6","@types/lodash":"^4.14.178","@types/node":"^14.18.10","gts":"^3.1.0","ts-node":"^10.4.0","typescript":"^4.5.5"},"gitHead":"1b71beff24720bfcd1578aae492068b68465a507","_id":"@claudeseo/nest-kafka@0.0.3","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-94wOD9QIYH25gRr0Hh5zdLgQsnU5Q5TvvdmzqoMkmD38KBr8fVAB0BHZn50sRxGmMGG9AWVLeYcSkxQpb1r4uw==","shasum":"0fe27cb46234663ce468d8b8ad55f2bf28b8a459","tarball":"https://registry.npmjs.org/@claudeseo/nest-kafka/-/nest-kafka-0.0.3.tgz","fileCount":31,"unpackedSize":40146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/rBlCRA9TVsSAnZWagAAAIUP+wR9Ko5nJqUVEB2wETsn\nmIe0Nel2tnKzSfggTX/VPqrqRX6O6Eno4piSbXc3DuPCBryy/raGF9MjLMkn\nBd1RbqmBd7wzq5dH+0OP4OkxDbiQaRrhY5pihBKQwtoVkbyRt1wqLMmvsIKZ\n1ccB2LgL1Rq1CHekpVGDyV5HN5alKpXZZOSq01XKWJOtPnHmUwDS+h2DeiHX\nk/uhJA6dNW43gFzoOZkc1qtDv2kSmtXeWVs6jY19M80nFFTilOJ9ECSARuMK\nNvTerBS2BXASgss8lYHWZbr6kgkouVaBx37213vyRa4rZfrsWYgwsG7YJdUy\nFboL0uDc/W0UMkbwtmm2/Lnn6iH746UiwoO/RzjDhzVF3ltwAs2l/Xie47nt\nrYMZaSldmURtekjcWivGtnawSQlY1zxrlk8EOOqNLgZAG6cRihSyD9Nx88SH\nwUSHTwaAdSG7u0ddFL5HPRCjUakAQyWHVHJ6GHFMKWGsg5qB4lXBt2+LMBOW\nsn7zUj8BRQ/bMrF7oRw0mMW3WpGaaWd0fKu3Qq1WbttlXWNES0JIGrnc2VTF\nxJK9Elkryl70PkAzS1Zu8p7NnltHs5RkUvaPBUkg1HiIjmZ9/MsiImwZ3kep\nKk/EoCfIHKOUJVdFuzNXqw2KlNuRTAwke7pnYj3yWaKW3b3Ze28lewULl5s9\nXrRW\r\n=6HZR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDmysu2RrOkKhhvke1T1fTroChsU3hAkIOdVVDyB4mX9AiBeE+hG066tRcMkQrOFqUUlmXc5ETvI0aUDuJktT+aN/A=="}]},"_npmUser":{"name":"claudeseo","email":"ehdaudtj@gmail.com"},"directories":{},"maintainers":[{"name":"claudeseo","email":"ehdaudtj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nest-kafka_0.0.3_1644081253746_0.2263864835175593"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-05T16:57:44.691Z","0.0.1":"2022-02-05T16:57:44.928Z","modified":"2022-04-04T23:14:03.809Z","0.0.2":"2022-02-05T17:07:55.564Z","0.0.3":"2022-02-05T17:14:13.971Z"},"maintainers":[{"name":"claudeseo","email":"ehdaudtj@gmail.com"}],"description":"simple integrate kafka.js with nest.js","homepage":"https://github.com/ClaudeSeo/nest-kafka#readme","keywords":["nestjs","kafkajs"],"repository":{"type":"git","url":"git+https://github.com/ClaudeSeo/nest-kafka.git"},"author":{"name":"ClaudeSeo","email":"ehdaudtj@gmail.com"},"bugs":{"url":"https://github.com/ClaudeSeo/nest-kafka/issues"},"license":"Unlicense","readme":"<p align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\n</p>\n\n# nest-kafka\n\n![](https://img.shields.io/github/package-json/v/claudeseo/nest-kafka)\n[![npm-version](https://img.shields.io/npm/v/@claudeseo/nest-kafka.svg)](https://www.npmjs.com/package/@claudeseo/nest-kafka)\n[![Build Status](https://github.com/ClaudeSeo/nest-kafka/actions/workflows/release.yml/badge.svg)](https://github.com/ClaudeSeo/nest-kafka/actions/workflows/release.yml)\n[![Release date](https://img.shields.io/github/release-date/claudeseo/nest-kafka)](https://github.com/claudeseo/nest-kafka/releases)\n[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\n\n## Description\n\nSimple Integrate Kafka.js With Nest.js\n\n## Module Initialization\n\nRegister Kafka Module with the `registerAsync` method\n\n```typescript\nimport { ConfigModule, ConfigService } from '@nestjs/config';\n\n@Module({\n  imports: [\n    ConfigModule.forRoot({\n      isGlobal: true,\n    }),\n    KafkaModule.registerAsync({\n      inject: [ConfigService],\n      useFactory: async (configService: ConfigService) => {\n        const brokers = configService.get<string[]>('kafka.broker', [\n          'localhost:9092',\n        ]);\n\n        return {\n          consume_method: 'each',\n          options: {\n            client: {\n              brokers,\n              clientId: 'kafka-sample',\n            },\n            consumer: {\n              groupId: 'kafka-sample',\n            },\n            producer: {\n              allowAutoTopicCreation: false,\n            },\n            subscribe: {\n              fromBeginning: false,\n            },\n            run: {\n              autoCommit: false,\n            },\n          },\n        };\n      },\n    }),\n  ],\n})\nexport class SomeModule {}\n```\n\n### Configure\n\n| Config                          | Options                                           |\n| ------------------------------- | ------------------------------------------------- |\n| consume_method                  | 'each' or 'batch'                                 |\n| options                         |                                                   |\n| options.client                  | https://kafka.js.org/docs/configuration           |\n| options.consumer                | https://kafka.js.org/docs/consuming#options       |\n| options.producer                | https://kafka.js.org/docs/producing#options       |\n| options.run                     |                                                   |\n| options.run.autoCommit          | true or false                                     |\n| options.subscribe               | https://kafka.js.org/docs/consuming#frombeginning |\n| options.subscribe.fromBeginning | true or false                                     |\n| options.connect                 |                                                   |\n| options.connect.consumer        | true or false                                     |\n| options.connect.producer        | true or false                                     |\n\n## Consumer\n\n```ts\nconst TOPIC_NAME = 'test';\n\n@Controller()\nexport class AppController implements OnModuleInit {\n  constructor(@InjectKafka() private readonly kafkaService: KafkaService) {}\n\n  onModuleInit() {\n    this.kafkaService.subscribeOf(TOPIC_NAME, this);\n  }\n\n  @KafkaSubscribeTo(TOPIC_NAME)\n  async handler(payload: KafkaEachPayload): Promise<void> {\n    console.log(payload);\n\n    await this.kafkaService.commitOffset(\n      payload.topic,\n      payload.partition,\n      payload.message.offset\n    );\n  }\n}\n```\n\n## Producer\n\n```ts\n@Injectable()\nexport class AppService {\n  constructor(@InjectKafka() private readonly kafkaService: KafkaService) {}\n\n  async sendMessage(): Promise<void> {\n    await this.kafkaService.sendMessage({\n      topic: 'test2',\n      messages: [\n        {\n          key: null,\n          value: 'Hello World',\n        },\n      ],\n    });\n  }\n}\n```\n","readmeFilename":"README.md"}