From 89658c5ae463fb16928a18baf01970a2a5e67237 Mon Sep 17 00:00:00 2001 From: Jonas Beck Date: Wed, 19 Mar 2025 14:34:40 +0100 Subject: [PATCH] chore(api-report): remove api report warnings Signed-off-by: Jonas Beck --- .../events-backend-module-kafka/report.api.md | 25 +++++++++++++++---- .../events-backend-module-kafka/src/index.ts | 13 ++++++++++ .../src/publisher/KafkaConsumerClient.ts | 7 ++++++ .../publisher/KafkaConsumingEventPublisher.ts | 7 ++++++ .../src/publisher/config.ts | 6 +++++ 5 files changed, 53 insertions(+), 5 deletions(-) diff --git a/plugins/events-backend-module-kafka/report.api.md b/plugins/events-backend-module-kafka/report.api.md index b8fd142d0e..6c2c4c70f4 100644 --- a/plugins/events-backend-module-kafka/report.api.md +++ b/plugins/events-backend-module-kafka/report.api.md @@ -1,4 +1,4 @@ -## API Report File for "@internal/plugin-events-backend-module-kafka" +## API Report File for "@backstage/plugin-events-backend-module-kafka" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). @@ -9,13 +9,14 @@ import { ConsumerConfig } from 'kafkajs'; import { ConsumerSubscribeTopics } from 'kafkajs'; import { EventsService } from '@backstage/plugin-events-node'; import { Kafka } from 'kafkajs'; +import { KafkaConfig } from 'kafkajs'; import { LoggerService } from '@backstage/backend-plugin-api'; // @public const eventsModuleKafkaConsumingEventPublisher: BackendFeature; export default eventsModuleKafkaConsumingEventPublisher; -// @public (undocumented) +// @public export class KafkaConsumerClient { // (undocumented) static fromConfig(env: { @@ -30,6 +31,16 @@ export class KafkaConsumerClient { } // @public (undocumented) +export interface KafkaConsumerConfig { + // (undocumented) + backstageTopic: string; + // (undocumented) + consumerConfig: ConsumerConfig; + // (undocumented) + consumerSubscribeConfig: ConsumerSubscribeTopics; +} + +// @public export class KafkaConsumingEventPublisher { // (undocumented) static fromConfig(env: { @@ -44,7 +55,11 @@ export class KafkaConsumingEventPublisher { start(): Promise; } -// Warnings were encountered during analysis: -// -// src/publisher/KafkaConsumingEventPublisher.d.ts:13:9 - (ae-forgotten-export) The symbol "KafkaConsumerConfig" needs to be exported by the entry point index.d.ts +// @public (undocumented) +export interface KafkaEventSourceConfig { + // (undocumented) + kafkaConfig: KafkaConfig; + // (undocumented) + kafkaConsumerConfig: KafkaConsumerConfig[]; +} ``` diff --git a/plugins/events-backend-module-kafka/src/index.ts b/plugins/events-backend-module-kafka/src/index.ts index ff4fe2a209..8980bcbaa7 100644 --- a/plugins/events-backend-module-kafka/src/index.ts +++ b/plugins/events-backend-module-kafka/src/index.ts @@ -14,6 +14,19 @@ * limitations under the License. */ +/** + * The module "kafka" for the Backstage backend plugin "events" + * adding an Kafka-based publisher, + * receiving events from an Kafka topic and passing it to the + * internal event broker. + * + * @packageDocumentation + */ + export { KafkaConsumerClient } from './publisher/KafkaConsumerClient'; export { KafkaConsumingEventPublisher } from './publisher/KafkaConsumingEventPublisher'; export { eventsModuleKafkaConsumingEventPublisher as default } from './service/eventsModuleKafkaConsumingEventPublisher'; +export type { + KafkaConsumerConfig, + KafkaEventSourceConfig, +} from './publisher/config'; diff --git a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts index 06a7b2594c..124eb4f1cb 100644 --- a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts +++ b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts @@ -21,6 +21,13 @@ import { KafkaEventSourceConfig, readConfig } from './config'; import { KafkaConsumingEventPublisher } from './KafkaConsumingEventPublisher'; import { LoggerServiceCreator } from './LoggerServiceCreator'; +/** + * KafkaConsumerClient + * + * This class creates the Kafka client that will be used to create the KafkaConsumingEventPublisher + * + * @public + */ export class KafkaConsumerClient { private readonly kafka: Kafka; private readonly consumers: KafkaConsumingEventPublisher[]; diff --git a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts index 90db289a8a..53df325af4 100644 --- a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts +++ b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts @@ -20,6 +20,13 @@ import { KafkaConsumerConfig } from './config'; type EventMetadata = EventParams['metadata']; +/** + * + * This class subscribes to Kafka topics and publishes events received to the registered subscriber. + * The message payload will be used as the event payload and passed to the subscribers. + * + * @public + */ export class KafkaConsumingEventPublisher { private readonly kafkaConsumer: Consumer; private readonly consumerSubscribeOptions: ConsumerSubscribeTopics; diff --git a/plugins/events-backend-module-kafka/src/publisher/config.ts b/plugins/events-backend-module-kafka/src/publisher/config.ts index 206ea0b8ac..b62598ab80 100644 --- a/plugins/events-backend-module-kafka/src/publisher/config.ts +++ b/plugins/events-backend-module-kafka/src/publisher/config.ts @@ -16,12 +16,18 @@ import { Config } from '@backstage/config'; import { ConsumerConfig, ConsumerSubscribeTopics, KafkaConfig } from 'kafkajs'; +/** + * @public + */ export interface KafkaConsumerConfig { backstageTopic: string; consumerConfig: ConsumerConfig; consumerSubscribeConfig: ConsumerSubscribeTopics; } +/** + * @public + */ export interface KafkaEventSourceConfig { kafkaConfig: KafkaConfig; kafkaConsumerConfig: KafkaConsumerConfig[];