From a3ff3fba0396bc078e946fa9deb959fcfb440f2a Mon Sep 17 00:00:00 2001 From: Jonas Beck Date: Tue, 29 Jul 2025 16:34:18 +0200 Subject: [PATCH 1/4] chore(kafka): remove luxon dependency Signed-off-by: Jonas Beck --- plugins/events-backend-module-kafka/package.json | 3 +-- plugins/events-backend-module-kafka/src/publisher/config.ts | 4 ++-- yarn.lock | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/events-backend-module-kafka/package.json b/plugins/events-backend-module-kafka/package.json index ed9a9383a7..f30a863002 100644 --- a/plugins/events-backend-module-kafka/package.json +++ b/plugins/events-backend-module-kafka/package.json @@ -39,8 +39,7 @@ "@backstage/config": "workspace:^", "@backstage/plugin-events-node": "workspace:^", "@backstage/types": "workspace:^", - "kafkajs": "^2.2.4", - "luxon": "^3.0.0" + "kafkajs": "^2.2.4" }, "devDependencies": { "@backstage/backend-test-utils": "workspace:^", diff --git a/plugins/events-backend-module-kafka/src/publisher/config.ts b/plugins/events-backend-module-kafka/src/publisher/config.ts index aa5921a7f3..69ede48d54 100644 --- a/plugins/events-backend-module-kafka/src/publisher/config.ts +++ b/plugins/events-backend-module-kafka/src/publisher/config.ts @@ -14,8 +14,8 @@ * limitations under the License. */ import { Config, readDurationFromConfig } from '@backstage/config'; +import { durationToMilliseconds } from '@backstage/types'; import { ConsumerConfig, ConsumerSubscribeTopics, KafkaConfig } from 'kafkajs'; -import { Duration } from 'luxon'; /** * @public @@ -54,7 +54,7 @@ const readOptionalHumanDurationInMs = ( if (!humanDuration) return undefined; - return Duration.fromObject(humanDuration).as('milliseconds'); + return durationToMilliseconds(humanDuration); }; export const readConfig = ( diff --git a/yarn.lock b/yarn.lock index 4621fdd8b8..f41135f82f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6246,7 +6246,6 @@ __metadata: "@backstage/plugin-events-node": "workspace:^" "@backstage/types": "workspace:^" kafkajs: "npm:^2.2.4" - luxon: "npm:^3.0.0" languageName: unknown linkType: soft From aa83cc0d5016ccfbc385fb62538041c03d626af0 Mon Sep 17 00:00:00 2001 From: Jonas Beck Date: Tue, 29 Jul 2025 16:41:36 +0200 Subject: [PATCH 2/4] chore(kafka): remove public comments Signed-off-by: Jonas Beck --- .../src/publisher/KafkaConsumerClient.ts | 2 -- .../src/publisher/KafkaConsumingEventPublisher.ts | 3 --- plugins/events-backend-module-kafka/src/publisher/config.ts | 6 ------ 3 files changed, 11 deletions(-) diff --git a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts index 735b0fc224..d506e4a6af 100644 --- a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts +++ b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumerClient.ts @@ -25,8 +25,6 @@ import { loggerServiceAdapter } from './LoggerServiceAdapter'; * KafkaConsumerClient * * This class creates the Kafka client that will be used to create the KafkaConsumingEventPublisher - * - * @public */ export class KafkaConsumerClient { private readonly kafka: Kafka; diff --git a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts index 223e4e99ac..f730696abe 100644 --- a/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts +++ b/plugins/events-backend-module-kafka/src/publisher/KafkaConsumingEventPublisher.ts @@ -21,11 +21,8 @@ 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; diff --git a/plugins/events-backend-module-kafka/src/publisher/config.ts b/plugins/events-backend-module-kafka/src/publisher/config.ts index 69ede48d54..7534ce4d38 100644 --- a/plugins/events-backend-module-kafka/src/publisher/config.ts +++ b/plugins/events-backend-module-kafka/src/publisher/config.ts @@ -17,18 +17,12 @@ import { Config, readDurationFromConfig } from '@backstage/config'; import { durationToMilliseconds } from '@backstage/types'; import { ConsumerConfig, ConsumerSubscribeTopics, KafkaConfig } from 'kafkajs'; -/** - * @public - */ export interface KafkaConsumerConfig { backstageTopic: string; consumerConfig: ConsumerConfig; consumerSubscribeTopics: ConsumerSubscribeTopics; } -/** - * @public - */ export interface KafkaEventSourceConfig { kafkaConfig: KafkaConfig; kafkaConsumerConfigs: KafkaConsumerConfig[]; From 637ed06de63d2fdf0e2d429cb5fcf1e85596fe28 Mon Sep 17 00:00:00 2001 From: Jonas Beck Date: Tue, 29 Jul 2025 16:48:23 +0200 Subject: [PATCH 3/4] chore(kafka): update loggerServiceAdapter Signed-off-by: Jonas Beck --- .../src/publisher/LoggerServiceAdapter.ts | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/plugins/events-backend-module-kafka/src/publisher/LoggerServiceAdapter.ts b/plugins/events-backend-module-kafka/src/publisher/LoggerServiceAdapter.ts index b9e9379104..5d635fb919 100644 --- a/plugins/events-backend-module-kafka/src/publisher/LoggerServiceAdapter.ts +++ b/plugins/events-backend-module-kafka/src/publisher/LoggerServiceAdapter.ts @@ -16,23 +16,21 @@ import { LoggerService } from '@backstage/backend-plugin-api'; import { LogEntry, logLevel } from 'kafkajs'; -export const loggerServiceAdapter = - (loggerService: LoggerService) => (_level: logLevel) => { +export const loggerServiceAdapter = (loggerService: LoggerService) => { + const logMethods: Record void> = + { + [logLevel.ERROR]: loggerService.error, + [logLevel.WARN]: loggerService.warn, + [logLevel.INFO]: loggerService.info, + [logLevel.DEBUG]: loggerService.debug, + [logLevel.NOTHING]: () => {}, + }; + + return (_level: logLevel) => { return (entry: LogEntry) => { const { namespace, level, log } = entry; const { message, ...extra } = log; - const logMethods: Record< - logLevel, - (message: string, meta?: object) => void - > = { - [logLevel.ERROR]: loggerService.error, - [logLevel.WARN]: loggerService.warn, - [logLevel.INFO]: loggerService.info, - [logLevel.DEBUG]: loggerService.debug, - [logLevel.NOTHING]: () => {}, - }; - // Use loggerService method that matches the level logMethods[level].call( loggerService, @@ -43,3 +41,4 @@ export const loggerServiceAdapter = ); }; }; +}; From 0d3800915c702064a28197883623d008ea89be7a Mon Sep 17 00:00:00 2001 From: Jonas Beck Date: Tue, 29 Jul 2025 16:54:47 +0200 Subject: [PATCH 4/4] chore(changeset): add changeset Signed-off-by: Jonas Beck --- .changeset/sad-candies-open.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sad-candies-open.md diff --git a/.changeset/sad-candies-open.md b/.changeset/sad-candies-open.md new file mode 100644 index 0000000000..fb8108c9dd --- /dev/null +++ b/.changeset/sad-candies-open.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-events-backend-module-kafka': patch +--- + +Remove luxon dependency and minor internal improvements