Docs
I'm a Library Author
GraphQLProjectConfig

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.