From 419f3878bd519d40db3bbad21cb8760c0da64e97 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 11 Jul 2024 14:29:18 +0200 Subject: [PATCH] backend-defaults: refactor rootHttpRouterServiceFactory to define options on its own Signed-off-by: Patrik Oldsberg --- .changeset/lucky-wolves-pull.md | 5 +++++ packages/backend-app-api/api-report.md | 9 ++++----- .../backend-defaults/api-report-rootHttpRouter.md | 11 +++++------ .../rootHttpRouter/rootHttpRouterServiceFactory.ts | 14 ++++++++++---- packages/backend-test-utils/api-report.md | 9 ++++----- 5 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 .changeset/lucky-wolves-pull.md diff --git a/.changeset/lucky-wolves-pull.md b/.changeset/lucky-wolves-pull.md new file mode 100644 index 0000000000..17ed4572b6 --- /dev/null +++ b/.changeset/lucky-wolves-pull.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-defaults': patch +--- + +Refactor of `rootHttpRouterServiceFactory` to allow it to be constructed with options, but without declaring options via `createServiceFactory`. diff --git a/packages/backend-app-api/api-report.md b/packages/backend-app-api/api-report.md index 54e2900cc2..7f9b54dd8f 100644 --- a/packages/backend-app-api/api-report.md +++ b/packages/backend-app-api/api-report.md @@ -292,11 +292,10 @@ export type RootHttpRouterConfigureContext = RootHttpRouterConfigureContext_2; export type RootHttpRouterFactoryOptions = RootHttpRouterFactoryOptions_2; // @public @deprecated (undocumented) -export const rootHttpRouterServiceFactory: ServiceFactoryCompat< - RootHttpRouterService, - 'root', - RootHttpRouterFactoryOptions_2 ->; +export const rootHttpRouterServiceFactory: (( + options?: RootHttpRouterFactoryOptions_2 | undefined, +) => ServiceFactory) & + ServiceFactory; // @public @deprecated export const rootLifecycleServiceFactory: ServiceFactoryCompat< diff --git a/packages/backend-defaults/api-report-rootHttpRouter.md b/packages/backend-defaults/api-report-rootHttpRouter.md index 9ea4cd7ebb..329398a7b8 100644 --- a/packages/backend-defaults/api-report-rootHttpRouter.md +++ b/packages/backend-defaults/api-report-rootHttpRouter.md @@ -19,7 +19,7 @@ import { RequestListener } from 'http'; import { RootConfigService } from '@backstage/backend-plugin-api'; import { RootHttpRouterService } from '@backstage/backend-plugin-api'; import type { Server } from 'node:http'; -import { ServiceFactoryCompat } from '@backstage/backend-plugin-api'; +import { ServiceFactory } from '@backstage/backend-plugin-api'; // @public export function createHttpServer( @@ -141,11 +141,10 @@ export type RootHttpRouterFactoryOptions = { }; // @public (undocumented) -export const rootHttpRouterServiceFactory: ServiceFactoryCompat< - RootHttpRouterService, - 'root', - RootHttpRouterFactoryOptions ->; +export const rootHttpRouterServiceFactory: (( + options?: RootHttpRouterFactoryOptions, +) => ServiceFactory) & + ServiceFactory; // (No @packageDocumentation comment for this package) ``` diff --git a/packages/backend-defaults/src/entrypoints/rootHttpRouter/rootHttpRouterServiceFactory.ts b/packages/backend-defaults/src/entrypoints/rootHttpRouter/rootHttpRouterServiceFactory.ts index 22f5c2f310..c3a97737e4 100644 --- a/packages/backend-defaults/src/entrypoints/rootHttpRouter/rootHttpRouterServiceFactory.ts +++ b/packages/backend-defaults/src/entrypoints/rootHttpRouter/rootHttpRouterServiceFactory.ts @@ -69,9 +69,10 @@ function defaultConfigure({ applyDefaults }: RootHttpRouterConfigureContext) { applyDefaults(); } -/** @public */ -export const rootHttpRouterServiceFactory = createServiceFactory( - (options?: RootHttpRouterFactoryOptions) => ({ +const rootHttpRouterServiceFactoryWithOptions = ( + options?: RootHttpRouterFactoryOptions, +) => + createServiceFactory({ service: coreServices.rootHttpRouter, deps: { config: coreServices.rootConfig, @@ -122,5 +123,10 @@ export const rootHttpRouterServiceFactory = createServiceFactory( return router; }, - }), + })(); + +/** @public */ +export const rootHttpRouterServiceFactory = Object.assign( + rootHttpRouterServiceFactoryWithOptions, + rootHttpRouterServiceFactoryWithOptions(), ); diff --git a/packages/backend-test-utils/api-report.md b/packages/backend-test-utils/api-report.md index af7edba061..3439d37231 100644 --- a/packages/backend-test-utils/api-report.md +++ b/packages/backend-test-utils/api-report.md @@ -290,11 +290,10 @@ export namespace mockServices { // (undocumented) export namespace rootHttpRouter { const // (undocumented) - factory: ServiceFactoryCompat< - RootHttpRouterService, - 'root', - RootHttpRouterFactoryOptions - >; + factory: (( + options?: RootHttpRouterFactoryOptions | undefined, + ) => ServiceFactory) & + ServiceFactory; const // (undocumented) mock: ( partialImpl?: Partial | undefined,