@application-kit/kafka 0.1.1 → 0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @application-kit/kafka
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 487f5e6: Новый вход `@application-kit/kafka/event-contract` — правила версии контракта события (`versionedQueueName`, `eventVersionOfTopic`, `eventVersionOfHeaders`, `DEFAULT_EVENT_VERSION`, `EVENT_VERSION_HEADER`) без `kafkajs` и `@nestjs/microservices`: производитель события (outbox) берёт имя очереди оттуда и не грузит транспорт в web-процесс. `kafkajs` и `@nestjs/microservices` стали опциональными peers — они нужны только корневому входу. Корень пакета экспортирует то же, что раньше.
8
+
3
9
  ## 0.1.1
4
10
 
5
11
  ### Patch Changes
package/README.md CHANGED
@@ -12,6 +12,8 @@ yarn add @application-kit/kafka
12
12
 
13
13
  Peer-зависимости: `@nestjs/common`, `@nestjs/core`, `@nestjs/microservices`, `kafkajs`, `rxjs`,
14
14
  `@libs-for-dev/nestjs-config-module`, `class-transformer`, `class-validator`, `nestjs-pino`.
15
+ `@nestjs/microservices` и `kafkajs` нужны только корневому входу и объявлены опциональными: процессу,
16
+ который берёт лишь `@application-kit/kafka/event-contract`, ставить их не нужно.
15
17
 
16
18
  Пакет грузится одним экземпляром на процесс: DI-токены — `Symbol()`, и ESM- и CJS-копии разом
17
19
  дали бы два набора токенов.
@@ -95,3 +97,7 @@ export class UserConsumer extends ConsumerAbstract {
95
97
  потребитель подписывается `eventTopics(queue, version)`, а труба сверяет версию топика
96
98
  (`eventVersionOfTopic`) с заголовком `x-event-version` (`eventVersionOfHeaders`) до вызова
97
99
  обработчика: сообщение чужой версии уходит в DLQ, не доходя до кода потребителя.
100
+
101
+ Правила версии живут и отдельным входом `@application-kit/kafka/event-contract` — без `kafkajs`,
102
+ `@nestjs/microservices` и побочных эффектов. Его берёт производитель события (web-процесс, outbox),
103
+ которому транспорт не нужен; корень пакета экспортирует то же самое.
@@ -0,0 +1 @@
1
+ export * from './event-contract-version.js';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./event-contract-version.js"), exports);
@@ -1,7 +1,7 @@
1
1
  export * from './configs/index.js';
2
+ export * from './event-contract/index.js';
2
3
  export * from './libs/index.js';
3
4
  export * from './constants.js';
4
- export * from './event-contract-version.js';
5
5
  export * from './kafka-commit-interceptor.js';
6
6
  export * from './kafka-error-handler.js';
7
7
  export * from './kafka.module.js';
package/dist/cjs/index.js CHANGED
@@ -15,9 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./configs/index.js"), exports);
18
+ __exportStar(require("./event-contract/index.js"), exports);
18
19
  __exportStar(require("./libs/index.js"), exports);
19
20
  __exportStar(require("./constants.js"), exports);
20
- __exportStar(require("./event-contract-version.js"), exports);
21
21
  __exportStar(require("./kafka-commit-interceptor.js"), exports);
22
22
  __exportStar(require("./kafka-error-handler.js"), exports);
23
23
  __exportStar(require("./kafka.module.js"), exports);
@@ -16,7 +16,7 @@ exports.KafkaAutoCommit = exports.KafkaCommitInterceptor = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const rxjs_1 = require("rxjs");
18
18
  const constants_js_1 = require("./constants.js");
19
- const event_contract_version_js_1 = require("./event-contract-version.js");
19
+ const event_contract_version_js_1 = require("./event-contract/event-contract-version.js");
20
20
  const kafka_error_handler_js_1 = require("./kafka-error-handler.js");
21
21
  let KafkaCommitInterceptor = class KafkaCommitInterceptor {
22
22
  kafkaErrorHandler;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eventTopics = void 0;
4
- const event_contract_version_js_1 = require("../event-contract-version.js");
4
+ const event_contract_version_js_1 = require("../event-contract/event-contract-version.js");
5
5
  const RETRY_TOPIC_SUFFIX = 'retry';
6
6
  const eventTopics = (queueName, version = event_contract_version_js_1.DEFAULT_EVENT_VERSION) => {
7
7
  const baseTopic = `events.${(0, event_contract_version_js_1.versionedQueueName)(queueName, version)}`;
@@ -0,0 +1 @@
1
+ export * from './event-contract-version.js';
@@ -0,0 +1 @@
1
+ export * from './event-contract-version.js';
@@ -1,7 +1,7 @@
1
1
  export * from './configs/index.js';
2
+ export * from './event-contract/index.js';
2
3
  export * from './libs/index.js';
3
4
  export * from './constants.js';
4
- export * from './event-contract-version.js';
5
5
  export * from './kafka-commit-interceptor.js';
6
6
  export * from './kafka-error-handler.js';
7
7
  export * from './kafka.module.js';
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from './configs/index.js';
2
+ export * from './event-contract/index.js';
2
3
  export * from './libs/index.js';
3
4
  export * from './constants.js';
4
- export * from './event-contract-version.js';
5
5
  export * from './kafka-commit-interceptor.js';
6
6
  export * from './kafka-error-handler.js';
7
7
  export * from './kafka.module.js';
@@ -13,7 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  import { applyDecorators, BadRequestException, Inject, Injectable, UseInterceptors, } from '@nestjs/common';
14
14
  import { catchError, of, tap, throwError } from 'rxjs';
15
15
  import { KAFKA_LOGGER } from './constants.js';
16
- import { eventVersionOfHeaders, eventVersionOfTopic } from './event-contract-version.js';
16
+ import { eventVersionOfHeaders, eventVersionOfTopic } from './event-contract/event-contract-version.js';
17
17
  import { KafkaErrorHandler } from './kafka-error-handler.js';
18
18
  let KafkaCommitInterceptor = class KafkaCommitInterceptor {
19
19
  kafkaErrorHandler;
@@ -1,4 +1,4 @@
1
- import { DEFAULT_EVENT_VERSION, versionedQueueName } from '../event-contract-version.js';
1
+ import { DEFAULT_EVENT_VERSION, versionedQueueName } from '../event-contract/event-contract-version.js';
2
2
  const RETRY_TOPIC_SUFFIX = 'retry';
3
3
  export const eventTopics = (queueName, version = DEFAULT_EVENT_VERSION) => {
4
4
  const baseTopic = `events.${versionedQueueName(queueName, version)}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@application-kit/kafka",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Kafka-транспорт для NestJS: консьюмер-процесс с heartbeat, auto-commit, retry/DLQ и контракт версии события",
5
5
  "keywords": [
6
6
  "consumer",
@@ -32,6 +32,16 @@
32
32
  "default": "./dist/cjs/index.js"
33
33
  }
34
34
  },
35
+ "./event-contract": {
36
+ "import": {
37
+ "types": "./dist/esm/event-contract/index.d.ts",
38
+ "default": "./dist/esm/event-contract/index.js"
39
+ },
40
+ "require": {
41
+ "types": "./dist/cjs/event-contract/index.d.ts",
42
+ "default": "./dist/cjs/event-contract/index.js"
43
+ }
44
+ },
35
45
  "./package.json": "./package.json"
36
46
  },
37
47
  "main": "./dist/cjs/index.js",
@@ -76,6 +86,14 @@
76
86
  "nestjs-pino": "^4.6.1",
77
87
  "rxjs": "^7.8.0"
78
88
  },
89
+ "peerDependenciesMeta": {
90
+ "@nestjs/microservices": {
91
+ "optional": true
92
+ },
93
+ "kafkajs": {
94
+ "optional": true
95
+ }
96
+ },
79
97
  "engines": {
80
98
  "node": ">=24"
81
99
  },