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 diff --git a/plugins/events-backend-module-kafka/package.json b/plugins/events-backend-module-kafka/package.json index c2b5c0d10f..01c6bed797 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/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/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 = ); }; }; +}; diff --git a/plugins/events-backend-module-kafka/src/publisher/config.ts b/plugins/events-backend-module-kafka/src/publisher/config.ts index aa5921a7f3..7534ce4d38 100644 --- a/plugins/events-backend-module-kafka/src/publisher/config.ts +++ b/plugins/events-backend-module-kafka/src/publisher/config.ts @@ -14,21 +14,15 @@ * 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 - */ export interface KafkaConsumerConfig { backstageTopic: string; consumerConfig: ConsumerConfig; consumerSubscribeTopics: ConsumerSubscribeTopics; } -/** - * @public - */ export interface KafkaEventSourceConfig { kafkaConfig: KafkaConfig; kafkaConsumerConfigs: KafkaConsumerConfig[]; @@ -54,7 +48,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 3f9a5af805..ae124020a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6308,7 +6308,6 @@ __metadata: "@backstage/plugin-events-node": "workspace:^" "@backstage/types": "workspace:^" kafkajs: "npm:^2.2.4" - luxon: "npm:^3.0.0" languageName: unknown linkType: soft