Update cli default backend plugin to use non-deprecated imports

Signed-off-by: Stephen Glass <stephen@stephen.glass>
This commit is contained in:
Stephen Glass
2024-06-24 23:07:46 -04:00
parent c9a2e96634
commit d22886250c
6 changed files with 21 additions and 6 deletions
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/backend-common': patch
'@backstage/cli': patch
---
Update default backend plugin created by the cli to use non-deprecated error handling middleware
@@ -63,7 +63,7 @@ export type ErrorHandlerOptions = {
*
* @public
* @returns An Express error request handler
* @deprecated Use {@link @backstage/backend-app-api#MiddlewareFactory.create.error} instead
* @deprecated Use {@link @backstage/backend-defaults/rootHttpRouter#MiddlewareFactory.create.error} instead
*/
export function errorHandler(
options: ErrorHandlerOptions = {},
@@ -38,6 +38,7 @@
"node-fetch": "{{versionQuery 'node-fetch' '2.6.7'}}"
},
"devDependencies": {
"@backstage/backend-test-utils": "{{versionQuery '@backstage/backend-test-utils'}}",
"@backstage/cli": "{{versionQuery '@backstage/cli'}}",
"@backstage/plugin-auth-backend": "{{versionQuery '@backstage/plugin-auth-backend'}}",
"@backstage/plugin-auth-backend-module-guest-provider": "{{versionQuery '@backstage/plugin-auth-backend-module-guest-provider'}}",
@@ -16,14 +16,17 @@ export const {{pluginVar}} = createBackendPlugin({
deps: {
httpRouter: coreServices.httpRouter,
logger: coreServices.logger,
config: coreServices.rootConfig,
},
async init({
httpRouter,
logger,
config,
}) {
httpRouter.use(
await createRouter({
logger,
config,
}),
);
httpRouter.addAuthPolicy({
@@ -1,4 +1,4 @@
import { getVoidLogger } from '@backstage/backend-common';
import { mockServices } from '@backstage/backend-test-utils';
import express from 'express';
import request from 'supertest';
@@ -9,7 +9,8 @@ describe('createRouter', () => {
beforeAll(async () => {
const router = await createRouter({
logger: getVoidLogger(),
logger: mockServices.logger.mock(),
config: mockServices.rootConfig(),
});
app = express().use(router);
});
@@ -1,16 +1,18 @@
import { errorHandler } from '@backstage/backend-common';
import { MiddlewareFactory } from '@backstage/backend-defaults/rootHttpRouter';
import { LoggerService } from '@backstage/backend-plugin-api';
import { Config } from '@backstage/config';
import express from 'express';
import Router from 'express-promise-router';
export interface RouterOptions {
logger: LoggerService;
config: Config;
}
export async function createRouter(
options: RouterOptions,
): Promise<express.Router> {
const { logger } = options;
const { logger, config } = options;
const router = Router();
router.use(express.json());
@@ -20,6 +22,8 @@ export async function createRouter(
response.json({ status: 'ok' });
});
router.use(errorHandler());
const middleware = MiddlewareFactory.create({ logger, config });
router.use(middleware.error());
return router;
}