What is @graphql-codegen/schema-ast?
@graphql-codegen/schema-ast is a plugin for GraphQL Code Generator that allows you to generate a GraphQL schema in AST (Abstract Syntax Tree) format. This can be useful for various purposes such as schema analysis, transformation, and validation.
What are @graphql-codegen/schema-ast's main functionalities?
Generate GraphQL Schema AST
This feature allows you to generate the AST representation of a GraphQL schema. The code sample demonstrates how to use the @graphql-codegen/schema-ast plugin to generate the AST from a simple GraphQL schema.
const { generate } = require('@graphql-codegen/schema-ast');
const schema = `
type Query {
hello: String
}
`;
const config = {
filename: 'schema.graphql',
schema: schema,
plugins: [
{
'schema-ast': {}
}
],
pluginMap: {
'schema-ast': require('@graphql-codegen/schema-ast')
}
};
generate(config).then(output => {
console.log(output);
});
Customizing Output
This feature allows you to customize the output of the generated AST. The code sample shows how to enable comment descriptions in the generated AST.
const { generate } = require('@graphql-codegen/schema-ast');
const schema = `
type Query {
hello: String
}
`;
const config = {
filename: 'schema.graphql',
schema: schema,
plugins: [
{
'schema-ast': {
commentDescriptions: true
}
}
],
pluginMap: {
'schema-ast': require('@graphql-codegen/schema-ast')
}
};
generate(config).then(output => {
console.log(output);
});
Other packages similar to @graphql-codegen/schema-ast
graphql-tools
graphql-tools is a set of utilities from Apollo for building and manipulating GraphQL schemas. It includes features for schema stitching, schema transforms, and more. While @graphql-codegen/schema-ast focuses on generating ASTs, graphql-tools offers a broader range of schema manipulation capabilities.
graphql-code-generator
graphql-code-generator is a tool for generating code from GraphQL schemas and operations. It supports a wide range of plugins for different languages and frameworks. @graphql-codegen/schema-ast is one of the plugins available for graphql-code-generator, specifically for generating ASTs.