Files
payload/src/bin/generateGraphQLSchema.ts
Christian Schurr 82961767e3 feat!: enforces payload.init is async
* Run connectMongoose before starting payload init

* - reverted changes
- added deprecated to init
- docs: changed all payload.init to payload.initAsync
- changed all internal init calls

* forgotten inits in docs

* reverted back - removed init and renamed initAsync to init
2023-01-09 11:24:22 -05:00

27 lines
748 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 = 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();
}