UNPKG

867 Btext/x-handlebars-templateView Raw
1import { createServiceBuilder } from '@backstage/backend-common';
2import { Server } from 'http';
3import { Logger } from 'winston';
4import { createRouter } from './router';
5
6export interface ServerOptions {
7 port: number;
8 enableCors: boolean;
9 logger: Logger;
10}
11
12export async function startStandaloneServer(
13 options: ServerOptions,
14): Promise<Server> {
15 const logger = options.logger.child({ service: '{{id}}-backend' });
16 logger.debug('Starting application server...');
17 const router = await createRouter({
18 logger,
19 });
20
21 let service = createServiceBuilder(module)
22 .setPort(options.port)
23 .addRouter('/{{id}}', router);
24 if (options.enableCors) {
25 service = service.enableCors({ origin: 'http://localhost:3000' });
26 }
27
28 return await service.start().catch(err => {
29 logger.error(err);
30 process.exit(1);
31 });
32}
33
34module.hot?.accept();
35
\No newline at end of file