Files
payload/src/bin/generateGraphQLSchema.ts
Jacob Fletcher 9f30553813 feat: async plugins (#2030)
* feat: async plugins

* wip: async config

* fix: async config
2023-02-13 10:46:55 -05:00

27 lines
754 B
TypeScript

/* eslint-disable no-nested-ternary */
import fs from 'fs';
import { printSchema } from 'graphql';
import Logger from '../utilities/logger';
import loadConfig from '../config/load';
import payload from '..';
export async function generateGraphQLSchema(): Promise<void> {
const logger = Logger();
const config = await loadConfig();
await payload.init({
secret: '--unused--',
mongoURL: false,
local: true,
});
logger.info('Compiling GraphQL schema...');
fs.writeFileSync(config.graphQL.schemaOutputFile, printSchema(payload.schema));
logger.info(`GraphQL written to ${config.graphQL.schemaOutputFile}`);
}
// when generateGraphQLSchema.js is launched directly
if (module.id === require.main.id) {
generateGraphQLSchema();
}