chore: updating graphql-backend to support later versions of graphql-modules
Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
@@ -34,13 +34,13 @@
|
||||
"@backstage/backend-common": "^0.10.0",
|
||||
"@backstage/config": "^0.1.8",
|
||||
"@backstage/plugin-catalog-graphql": "^0.2.14",
|
||||
"@graphql-modules/core": "^0.7.17",
|
||||
"graphql-modules": "^1.0.0",
|
||||
"@types/express": "^4.17.6",
|
||||
"apollo-server": "^2.16.1",
|
||||
"apollo-server-express": "^2.16.1",
|
||||
"apollo-server": "^3.0.0",
|
||||
"apollo-server-express": "^3.0.0",
|
||||
"express": "^4.17.1",
|
||||
"express-promise-router": "^4.1.0",
|
||||
"graphql": "^15.3.0",
|
||||
"graphql": "^16.0.0",
|
||||
"helmet": "^4.0.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"winston": "^3.2.1",
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user