chore: updating graphql-backend to support later versions of graphql-modules

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2022-01-13 10:34:20 +01:00
parent e79aaf9712
commit dc4a5d7d91
2 changed files with 10 additions and 19 deletions
+6 -15
View File
@@ -14,22 +14,16 @@
* limitations under the License.
*/
import { errorHandler, resolvePackagePath } from '@backstage/backend-common';
import { errorHandler } from '@backstage/backend-common';
import express from 'express';
import Router from 'express-promise-router';
import { Logger } from 'winston';
import fs from 'fs';
import { GraphQLModule } from '@graphql-modules/core';
import { createApplication } from 'graphql-modules';
import { ApolloServer } from 'apollo-server-express';
import { createModule as createCatalogModule } from '@backstage/plugin-catalog-graphql';
import { Config } from '@backstage/config';
import helmet from 'helmet';
const schemaPath = resolvePackagePath(
'@backstage/plugin-graphql-backend',
'schema.gql',
);
export interface RouterOptions {
logger: Logger;
config: Config;
@@ -38,22 +32,19 @@ export interface RouterOptions {
export async function createRouter(
options: RouterOptions,
): Promise<express.Router> {
const typeDefs = await fs.promises.readFile(schemaPath, 'utf-8');
const catalogModule = await createCatalogModule(options);
const { schema } = new GraphQLModule({
imports: [catalogModule],
typeDefs,
const { createSchemaForApollo } = createApplication({
modules: [catalogModule],
});
const server = new ApolloServer({
schema,
schema: createSchemaForApollo(),
logger: options.logger,
introspection: true,
playground: process.env.NODE_ENV === 'development',
});
await server.start();
const router = Router();
router.get('/health', (_, response) => {