Configuration
faster-graphql-codegen is in alpha
Config documentation may be incorrect, incomplete or out of date.
Since faster-graphql-codegen is a drop-in replacement for graphql-codegen, it uses the same config format.
However, there are still some slight differences to be aware of, and these are documented here.
codegen.ts format
Here's a basic codegen.ts file:
import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: 'schema.graphql',
documents: null,
generates: {
'__generated__/baseTypes.ts': {
plugins: ['typescript']
}
}
}
export default configschema
Required. Must be a string or an array of strings. Must point to a local file.
import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: 'schema.graphql',
documents: null,
generates: {
'__generated__/baseTypes.ts': {
plugins: ['typescript']
}
}
}
export default configimport type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: [
'base.graphql',
'search.graphql',
],
documents: null,
generates: {
'__generated__/baseTypes.ts': {
plugins: ['typescript']
}
}
}
export default configgenerates
An object containg outputs and their configurations. The object key is the name of the output file.
import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: 'schema.graphql',
documents: null,
generates: {
'__generated__/baseTypes.ts': {
plugins: ['typescript']
}
}
}
export default configplugins
A generates config must contain a list of plugins. For available plugins please see the plugin page.
Other formats
faster-graphql-codegen can also read this configuration from a .yaml or .json file.
schema: ["schema.graphql"]
documents: []
overwrite: true
generates:
'baseTypes.ts':
plugins: [typescript]import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: 'schema.graphql',
documents: [],
overwrite: true,
generates: {
'__generated__/baseTypes.ts': {
plugins: ['typescript']
}
}
}
export default configA note on performance
STATIC FILES LOAD FASTER
JSON and YAML config files are faster to load.
Dynamic config files (JS and TS) are supported for compatibility purposes, but they are slower to load, because they have to be interpreted first.
If you are not using any Javascript features, please consider using a static format such as JSON or YAML.