Skip to Content
GraphQL Tools
DocumentationAPI@graphql-tools/mergesrcinterfacesConfig

Interface: Config

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:29

Extends

Properties

allowLegacyFragmentVariables?

optional allowLegacyFragmentVariables?: boolean

Defined in: node_modules/graphql/language/parser.d.ts:91

Deprecated

will be removed in the v17.0.0

If enabled, the parser will understand and parse variable definitions contained in a fragment definition. They’ll be represented in the variableDefinitions field of the FragmentDefinitionNode.

The syntax is identical to normal, query-defined variables. For example:

fragment A($var: Boolean = false) on T { ... }

Inherited from

ParseOptions.allowLegacyFragmentVariables


commentDescriptions?

optional commentDescriptions?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:57

Descriptions are defined as preceding string literals, however an older experimental version of the SDL supported preceding comments as descriptions. Set to true to enable this deprecated behavior. This option is provided to ease adoption and will be removed in v16.

Default: false


consistentEnumMerge?

optional consistentEnumMerge?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:79


convertExtensions?

optional convertExtensions?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:78


exclusions?

optional exclusions?: string[]

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:76


forceSchemaDefinition?

optional forceSchemaDefinition?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:42

Creates schema definition, even when no types are available Produces: schema { query: Query }

Default: false


ignoreFieldConflicts?

optional ignoreFieldConflicts?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:80


lexer?

optional lexer?: LexerInterface

Defined in: node_modules/graphql/language/parser.d.ts:96

You may override the Lexer class used to lex the source; this is used by schema coordinates to introduce a lexer with a restricted syntax.

Inherited from

ParseOptions.lexer


maxTokens?

optional maxTokens?: number

Defined in: node_modules/graphql/language/parser.d.ts:75

Parser CPU and memory usage is linear to the number of tokens in a document however in extreme cases it becomes quadratic due to memory exhaustion. Parsing happens before validation so even invalid queries can burn lots of CPU time and memory. To prevent this you can set a maximum number of tokens allowed within a document.

Inherited from

ParseOptions.maxTokens


noLocation?

optional noLocation?: boolean

Defined in: node_modules/graphql/language/parser.d.ts:67

By default, the parser creates AST nodes that know the location in the source that they correspond to. This configuration flag disables that behavior for performance or testing.

Inherited from

ParseOptions.noLocation


onFieldTypeConflict?

optional onFieldTypeConflict?: OnFieldTypeConflict

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:101

Called if types of the same fields are different

Default: false

@example: Given:

type User { a: String } type User { a: Int }

Instead of throwing already defined with a different type error, onFieldTypeConflict function is called.


pathToDirectivesInExtensions?

optional pathToDirectivesInExtensions?: string[]

Defined in: packages/utils/src/types.ts:23

Inherited from

GetDocumentNodeFromSchemaOptions.pathToDirectivesInExtensions


repeatableLinkImports?

optional repeatableLinkImports?: Set<string>

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:85

Allow directives that are not defined in the schema, but are imported through federated @links, to be repeated.


reverseArguments?

optional reverseArguments?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:102


reverseDirectives?

optional reverseDirectives?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:75

Puts the next directive first.

Default: false

@example: Given:

type User { a: String @foo } type User { a: String @bar }

Results:

type User { a: @bar @foo }

sort?

optional sort?: boolean | CompareFn<string>

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:77


throwOnConflict?

optional throwOnConflict?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:48

Throws an error on a merge conflict

Default: false


useSchemaDefinition?

optional useSchemaDefinition?: boolean

Defined in: packages/merge/src/typedefs-mergers/merge-typedefs.ts:35

Produces schema { query: ..., mutation: ..., subscription: ... }

Default: true