GraphQLProjectConfig
The GraphQLProjectConfig represents projects defined in the GraphQL Config file.
A basic usage:
import { loadConfig } from 'graphql-config'
 
async function main() {
  const config = await loadConfig({ ... }) // an instance of GraphQLConfig
 
  const project = config.getDefault() // an instance of GraphQLProjectConfig
}API
name
type: string
Project’s name.
filepath
type: string
An exact path of a config file.
dirpath
type: string
A path of a directory where GraphQL Config was found.
extensions
type: IExtensions
A raw key-value object representing extensions.
schema
type: SchemaPointer
Value defined in schema property, in the config file.
documents
type: DocumentPointer
Value defined in documents property, in the config file.
include
type: string | string[]
Value defined in include property, in the config file.
exclude
type: string | string[]
Value defined in exclude property, in the config file.
projects
type: { [projectName: string]: GraphQLProjectConfig }
A key-value object where the key is a project’s name but the value contains GraphQLProjectConfig object.
hasExtension()
type: hasExtension(name: string): boolean
Checks if the project contains the extension.
getDefault()
type: getDefault(): GraphQLProjectConfig | never
Returns a default project.
extension()
type: extension<T = any>(name: string): T
Allows accessing extension’s configuration + schema, documents, include and exclude values are also added to the object.
getSchema()
type: getSchema(): Promise<GraphQLSchema>
type: getSchema(out: 'DocumentNode'): Promise<DocumentNode>
type: getSchema(out: 'GraphQLSchema'): Promise<GraphQLSchema>
Allows accessing GraphQLSchema object based on provided information (in schema property of project’s configuration).
getSchemaSync()
type: getSchemaSync(): GraphQLSchema
type: getSchemaSync(out: 'DocumentNode'): DocumentNode
type: getSchemaSync(out: 'GraphQLSchema'): GraphQLSchema
Allows accessing GraphQLSchema object based on provided information (in schema property of project’s configuration).
getDocuments()
type: getDocuments(): Promise<Source[]>
Access Operations and Fragments wrapped with Source class based on provided information (in documents property of project’s configuration).
getDocumentsSync()
type: getDocumentsSync(): Source[]
Access Operations and Fragments wrapped with Source class based on provided information (in documents property of project’s configuration).
match()
type: match(filepath: string): boolean
Checks if the file belongs to the project. It considers schema, documents, include and exclude options to see if the file path matches one of those values.