UNPKG

767 BJavaScriptView Raw
1import { introspectionFromSchema } from 'graphql';
2import { removeFederation } from '@graphql-codegen/plugin-helpers';
3import { extname } from 'path';
4
5const plugin = async (schema, _documents, pluginConfig) => {
6 const cleanSchema = pluginConfig.federation ? removeFederation(schema) : schema;
7 const introspection = introspectionFromSchema(cleanSchema, { descriptions: true });
8 return pluginConfig.minify ? JSON.stringify(introspection) : JSON.stringify(introspection, null, 2);
9};
10const validate = async (schema, documents, config, outputFile) => {
11 if (extname(outputFile) !== '.json') {
12 throw new Error(`Plugin "introspection" requires extension to be ".json"!`);
13 }
14};
15
16export { plugin, validate };
17//# sourceMappingURL=index.esm.js.map