From ed0bd8f6165c1ebb060e50201bff51df6845d8d5 Mon Sep 17 00:00:00 2001 From: Ivan Shmidt Date: Thu, 9 Jul 2020 01:54:31 +0200 Subject: [PATCH] fix(proxy): types and versions --- plugins/proxy-backend/package.json | 13 ++++++++++--- plugins/proxy-backend/src/service/router.ts | 6 +++--- .../proxy-backend/src/service/standaloneServer.ts | 10 ++++++++-- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index 6eb8dab99d..521f190eba 100644 --- a/plugins/proxy-backend/package.json +++ b/plugins/proxy-backend/package.json @@ -20,8 +20,9 @@ "clean": "backstage-cli clean" }, "dependencies": { - "@backstage/backend-common": "^0.1.1-alpha.12", - "@backstage/config": "^0.1.1-alpha.12", + "@backstage/backend-common": "^0.1.1-alpha.13", + "@backstage/config": "^0.1.1-alpha.13", + "@backstage/config-loader": "^0.1.1-alpha.13", "@types/express": "^4.17.6", "@types/http-proxy-middleware": "^0.19.3", "express": "^4.17.1", @@ -36,7 +37,7 @@ "yup": "^0.29.1" }, "devDependencies": { - "@backstage/cli": "^0.1.1-alpha.12", + "@backstage/cli": "^0.1.1-alpha.13", "@types/node-fetch": "^2.5.7", "@types/supertest": "^2.0.8", "@types/uuid": "^8.0.0", @@ -44,6 +45,12 @@ "jest-fetch-mock": "^3.0.3", "supertest": "^4.0.2" }, + "workspaces": { + "nohoist": [ + "http-proxy-middleware", + "@types/http-proxy-middleware" + ] + }, "files": [ "dist" ] diff --git a/plugins/proxy-backend/src/service/router.ts b/plugins/proxy-backend/src/service/router.ts index 0f5cd27502..a8fd70c10d 100644 --- a/plugins/proxy-backend/src/service/router.ts +++ b/plugins/proxy-backend/src/service/router.ts @@ -15,7 +15,7 @@ */ import { errorHandler } from '@backstage/backend-common'; -import { AppConfig } from '@backstage/config'; +import { Config } from '@backstage/config'; import express from 'express'; import Router from 'express-promise-router'; import { createProxyMiddleware } from 'http-proxy-middleware'; @@ -23,7 +23,7 @@ import { Logger } from 'winston'; export interface RouterOptions { logger: Logger; - config: AppConfig; + config: Config; } export async function createRouter( @@ -32,7 +32,7 @@ export async function createRouter( const router = Router(); router.use(express.json()); - const proxyConfig = options.config.data.proxy ?? {}; + const proxyConfig = options.config.get('proxy') ?? {}; Object.entries(proxyConfig).forEach(([route, proxyRouteConfig]) => { router.use(createProxyMiddleware(route, proxyRouteConfig)); }); diff --git a/plugins/proxy-backend/src/service/standaloneServer.ts b/plugins/proxy-backend/src/service/standaloneServer.ts index 22b64aaaf5..84c803eeac 100644 --- a/plugins/proxy-backend/src/service/standaloneServer.ts +++ b/plugins/proxy-backend/src/service/standaloneServer.ts @@ -18,6 +18,8 @@ import { createServiceBuilder } from '@backstage/backend-common'; import { Server } from 'http'; import { Logger } from 'winston'; import { createRouter } from './router'; +import { ConfigReader } from '@backstage/config'; +import { loadConfig } from '@backstage/config-loader'; export interface ServerOptions { port: number; @@ -28,17 +30,21 @@ export interface ServerOptions { export async function startStandaloneServer( options: ServerOptions, ): Promise { - const logger = options.logger.child({ service: 'catalog-backend' }); + const logger = options.logger.child({ service: 'proxy-backend' }); logger.debug('Creating application...'); - logger.debug('Starting application server...'); + const config = ConfigReader.fromConfigs(await loadConfig()); const router = await createRouter({ + config, logger, }); const service = createServiceBuilder(module) .enableCors({ origin: 'http://localhost:3000' }) .addRouter('/proxy', router); + + logger.debug('Starting application server...'); + return await service.start().catch(err => { logger.error(err); process.exit(1);