GraphQL Mesh
GraphQL Mesh config file
| Type | object |
|---|---|
| File match |
.meshrc.yml
.meshrc.yaml
.meshrc.json
.graphql-mesh.yaml
.graphql-mesh.yml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/graphql-mesh/latest.json |
| Source | https://unpkg.com/@graphql-mesh/types/esm/config-schema.json |
Validate with Lintel
npx @lintel/lintel check
Properties
Defines the list of your external data sources for your API mesh
13 nested properties
Spawn multiple server instances as node clusters (default: 1) (Any of: Int, Boolean)
TCP Port to listen (default: 4000) (Any of: Int, String)
The binding hostname (default: localhost)
7 nested properties
Path to your static files you want to be served with GraphQL Mesh HTTP Server
Show GraphiQL Playground
2 nested properties
Path to GraphQL Endpoint (default: /graphql)
Path to the browser that will be used by mesh serve to open a playground window in development mode
This feature can be disabled by passing false (Any of: String, Boolean)
Title of GraphiQL Playground
Enable and define a limit for Request Batching
Endpoint for Health Check
By default, GraphQL Mesh does not allow parameters in the request body except query, variables, extensions, and operationName.
This option allows you to specify additional parameters that are allowed in the request body.
@default []
@example ['doc_id', 'id']
1 nested properties
1 nested properties
Codegen Configuration
Transform to apply to the unified mesh schema
Additional type definitions, or type definitions overrides you wish to add to the schema mesh
Additional resolvers, or resolvers overrides you wish to add to the schema mesh (Any of: String, AdditionalStitchingResolverObject, AdditionalStitchingBatchResolverObject, AdditionalSubscriptionObject)
4 nested properties
1 nested properties
The name of the Workers KV namespace to use for caching.
Make sure you have configured the following namespace described in here.
1 nested properties
6 nested properties
Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE
Any of: RedisConfigSentinel, RedisConfigSingle, RedisConfigCluster
Merge method
PubSub Implementation (Any of: String, PubSubConfig)
Provide a query or queries for GraphQL Playground, validation and SDK Generation The value can be the file path, glob expression for the file paths or the SDL. (.js, .jsx, .graphql, .gql, .ts and .tsx files are supported.
3 nested properties
Whether to allow execution of arbitrary GraphQL operations aside from persisted operations.
Whether to skip validation of the persisted operation
3 nested properties
Error to be thrown when the persisted operation is not found
Error to be thrown when rejecting non-persisted operations
Error to be thrown when the extraction of the persisted operation id failed
Path to a file exporting a logger instance compatible with the Logger type from @graphql-mesh/types
Path to a custom W3 Compatible Fetch Implementation
Allow connections to an SSL endpoint without certificates
Path to a JavaScript file with a default export of Envelop plugins
If you are using a CDN for a source (e.g. Federation Supergraph), this will be the polling interval in milliseconds for the CDN without a downtime
Definitions
1 nested properties
The name of the Workers KV namespace to use for caching.
Make sure you have configured the following namespace described in here.
1 nested properties
6 nested properties
Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE
Any of: RedisConfigSentinel, RedisConfigSingle, RedisConfigCluster
The name of the Workers KV namespace to use for caching.
Make sure you have configured the following namespace described in here.
Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE
Flag to indicate lazyConnect value for Redis client.
@default: true
Needed for TLS connections to Redis Cluster (especially when using AWS Elasticache Clusters with TLS).
@see https://github.com/redis/ioredis?tab=readme-ov-file#special-note-aws-elasticache-clusters-with-tls
Enable TLS for Redis Cluster connections. Required for AWS Elasticache Clusters with TLS.
@see https://github.com/redis/ioredis?tab=readme-ov-file#special-note-aws-elasticache-clusters-with-tls
identifies a group of Redis instances composed of a master and one or more slaves
A list of sentinels to connect to. The list does not need to enumerate all your sentinel instances, but a few so that if one is down the client will try the next one.
(optional) password for Sentinel instances.
(optional) with a value of slave will return a random slave from the Sentinel group. (Allowed values: master, slave)
(optional) set to true if connecting to sentinel instances that are encrypted
Flag to indicate lazyConnect value for Redis client.
@default: true
Flag to indicate lazyConnect value for Redis client.
@default: true
Spawn multiple server instances as node clusters (default: 1) (Any of: Int, Boolean)
TCP Port to listen (default: 4000) (Any of: Int, String)
The binding hostname (default: localhost)
7 nested properties
Path to your static files you want to be served with GraphQL Mesh HTTP Server
Show GraphiQL Playground
2 nested properties
Path to GraphQL Endpoint (default: /graphql)
Path to the browser that will be used by mesh serve to open a playground window in development mode
This feature can be disabled by passing false (Any of: String, Boolean)
Title of GraphiQL Playground
Enable and define a limit for Request Batching
Endpoint for Health Check
By default, GraphQL Mesh does not allow parameters in the request body except query, variables, extensions, and operationName.
This option allows you to specify additional parameters that are allowed in the request body.
@default []
@example ['doc_id', 'id']
1 nested properties
The name you wish to set to your remote API, this will be used for building the GraphQL context
14 nested properties
Handler for remote/local/third-party GraphQL schema (Any of: GraphQLHandlerHTTPConfiguration, GraphQLHandlerCodeFirstConfiguration, GraphQLHandlerMultipleHTTPConfiguration)
9 nested properties
gRPC Endpoint
gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)
Request timeout in milliseconds Default: 200000
Use https instead of http for gRPC connection
MetaData
prefix to collect Query method default: list, get
Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation
9 nested properties
Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation
Timeout for the HTTP request in milliseconds
3 nested properties
10 nested properties
The hostname of the database you are connecting to. (Default: localhost)
The port number to connect to. (Default: 3306)
The source IP address to use for TCP connection
The MySQL user to authenticate as
The password of that MySQL user
Name of the database to use for this connection
Use existing Pool instance
Format: modulePath#exportName
Use specific tables for your schema
Use specific fields of specific tables
6 nested properties
URL for the Neo4j Instance e.g. neo4j://localhost
Username for basic authentication
Password for basic authentication
Provide GraphQL Type Definitions instead of inferring
Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.
Specifies database name
6 nested properties
Base URL for OData API
Custom $metadata File or URL
Headers to be used with the $metadata requests
Headers to be used with the operation requests
Enable batching (Allowed values: multipart, json)
Use $expand for navigation props instead of seperate HTTP requests (Default: false)
9 nested properties
A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint
Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)
Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
JSON object representing the Headers to add to the runtime of the API calls
Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false
Allows to explicitly override the default operation (Query or Mutation) for any OAS operation
JSON object representing the query search parameters to add to the API calls
Timeout for the HTTP request in milliseconds
9 nested properties
A connection string to your Postgres database
An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.
Connection Pool instance or settings or you can provide the path of a code file that exports any of those
Extra Postgraphile Plugins to append
Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")
Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)
Enable GraphQL websocket transport support for subscriptions (default: true)
Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)
A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.
8 nested properties
Timeout for the HTTP request in milliseconds
6 nested properties
A url to your WSDL or generated SDL with annotations
JSON object representing the Headers to add to the runtime of the API calls only for schema introspection
You can also provide .js or .ts file path that exports schemaHeaders as an object
JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime
The name of the alias to be used in the envelope for body components
default: body
The namespace of the SOAP envelope
By default, SOAP handler detects the SOAP version and if SOAP version is 1.1,
it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace
If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace
5 nested properties
A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
9 nested properties
The name of the host to connect to.
The port number to attach to on the host.
The name of your service. Used for logging.
Path to IDL file
The path on which the Thrift service is listening. Defaults to '/thrift'.
Boolean value indicating whether to use https. Defaults to false.
Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)
JSON object representing the Headers to add to the runtime of the API calls
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
2 nested properties
Pointer to your SQLite database
Path to the SQL Dump file if you want to build a in-memory database
List of transforms to apply to the current API source, before unifying it with the rest of the sources
Transformer to apply caching for your data sources
2 nested properties
Optional, name to use for grouping under the root types. If not specific, the API name is used.
3 nested properties
2 nested properties
2 nested properties
Version of the federation spec Default: v2.0
Transformer to filter (white/black list) GraphQL types, fields and arguments (Any of: FilterSchemaTransform, Any)
Transformer to hoist GraphQL fields
5 nested properties
Specify to apply naming-convention transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
5 nested properties
Specify to apply prefix transform to bare schema or by wrapping original schema (Allowed values: bare, wrap)
The prefix to apply to the schema types. By default it's the API name.
List of ignored types
Changes root types and changes the field names (default: false)
Changes types (default: true)
5 nested properties
Types to skip pruning
Set to true to skip pruning object types or interfaces with no fields
Set to true to skip pruning interfaces that are not implemented by any other types
Set to true to skip pruning empty unions
Set to true to skip pruning unused types
RateLimit transform
Transformer to rename GraphQL types and fields (Any of: RenameTransform, Any)
2 nested properties
Array of rules to replace fields
Additional type definition to used to replace field types
Transformer to apply composition to resolvers (Any of: ResolversCompositionTransform, Any)
1 nested properties
Array of rules to transfer fields or args
3 nested properties
Denotes a root field used to query a merged type across services. The marked field's name is analogous to the fieldName setting in merged type configuration, while the field's arguments and return type are used to infer merge configuration. Directive arguments tune the merge behavior
The path to a code file that has additional type merging configuration
Handler for remote/local/third-party GraphQL schema (Any of: GraphQLHandlerHTTPConfiguration, GraphQLHandlerCodeFirstConfiguration, GraphQLHandlerMultipleHTTPConfiguration)
9 nested properties
gRPC Endpoint
gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)
Request timeout in milliseconds Default: 200000
3 nested properties
Use https instead of http for gRPC connection
MetaData
prefix to collect Query method default: list, get
Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation
9 nested properties
Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation
4 nested properties
When arrays are stringified, by default they are not given explicit indices:
a=b&a=c&a=d
You may override this by setting the indices option to true:
a[0]=b&a[1]=c&a[2]=d
You can configure how to format arrays in the query strings.
Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)
Even if there is a single item in an array, this option treats them as arrays (default: false)
Stringify the nested objects as JSON (default: false)
Timeout for the HTTP request in milliseconds
3 nested properties
10 nested properties
The hostname of the database you are connecting to. (Default: localhost)
The port number to connect to. (Default: 3306)
The source IP address to use for TCP connection
The MySQL user to authenticate as
The password of that MySQL user
Name of the database to use for this connection
2 nested properties
Default: true
Path to your CA
Use existing Pool instance
Format: modulePath#exportName
Use specific tables for your schema
Use specific fields of specific tables
6 nested properties
URL for the Neo4j Instance e.g. neo4j://localhost
Username for basic authentication
Password for basic authentication
Provide GraphQL Type Definitions instead of inferring
Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.
Specifies database name
6 nested properties
Base URL for OData API
Custom $metadata File or URL
Headers to be used with the $metadata requests
Headers to be used with the operation requests
Enable batching (Allowed values: multipart, json)
Use $expand for navigation props instead of seperate HTTP requests (Default: false)
9 nested properties
A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint
Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)
Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
JSON object representing the Headers to add to the runtime of the API calls
Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false
Allows to explicitly override the default operation (Query or Mutation) for any OAS operation
JSON object representing the query search parameters to add to the API calls
Timeout for the HTTP request in milliseconds
9 nested properties
A connection string to your Postgres database
An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.
Connection Pool instance or settings or you can provide the path of a code file that exports any of those
Extra Postgraphile Plugins to append
Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")
Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)
Enable GraphQL websocket transport support for subscriptions (default: true)
Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)
A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.
8 nested properties
Timeout for the HTTP request in milliseconds
6 nested properties
A url to your WSDL or generated SDL with annotations
JSON object representing the Headers to add to the runtime of the API calls only for schema introspection
You can also provide .js or .ts file path that exports schemaHeaders as an object
JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime
The name of the alias to be used in the envelope for body components
default: body
3 nested properties
The namespace of the SOAP Header
For example: <http://www.example.com/namespace>
The content of the SOAP Header
For example: { "key": "value" } then the content will be <key>value</key>
The name of the alias to be used in the envelope
default: header
The namespace of the SOAP envelope
By default, SOAP handler detects the SOAP version and if SOAP version is 1.1,
it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace
If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace
5 nested properties
A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
9 nested properties
The name of the host to connect to.
The port number to attach to on the host.
The name of your service. Used for logging.
Path to IDL file
The path on which the Thrift service is listening. Defaults to '/thrift'.
Boolean value indicating whether to use https. Defaults to false.
Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)
JSON object representing the Headers to add to the runtime of the API calls
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
2 nested properties
Pointer to your SQLite database
Path to the SQL Dump file if you want to build a in-memory database
1 nested properties
7 nested properties
If this expression is truthy, mocking would be enabled
You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null (Any of: Boolean, String)
Access Token for Usage Reporting
8 nested properties
30s by default
5 by default
200 by default
Send reports in interval (defaults to 10_000ms)
Max number of traces to send at once (defaults to 25)
7 nested properties
Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000
Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl
A list of operations (by name) to be ignored by Hive.
Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0
(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false
4 nested properties
Author of current version of the schema
Commit SHA hash (or any identifier) related to the schema version
3 nested properties
Point to your own instance of GraphQL Hive API
Used by schema reporting and token info.
Address of your own GraphQL Hive application
Used by token info to generate a link to the organization, project and target.
Point to your own instance of GraphQL Hive Usage API
Used by usage reporting.
4 nested properties
Whether arbitrary documents should be allowed along-side persisted documents. false by default
Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default
2 nested properties
If the following patterns match the request URL, the response will be cached. (Any of: String, URLPatternObj)
If the following patterns match the request URL, the response will not be cached. (Any of: String, URLPatternObj)
1 nested properties
5 nested properties
Invalidate a query or queries when a specific operation is done without an error
Custom strategy for building resources identifiers
By default resource identifiers are built by concatenating the Typename with the id separated by a color (User:1).
This may be useful if you are using a relay compliant schema and the Typename information is not required for building a unique topic.
Default: "{typename}:{id}"
Whether the extensions should include a list of all resource identifiers for the latest operation result. Any of those can be used for invalidating and re-scheduling the operation execution.
This is mainly useful for discovering and learning what kind of topics a given query will subscribe to.
The default value is true if DEBUG environment variable is set
Identifier unique field
Default: "id"
Specify which fields should be indexed for specific invalidations.
5 nested properties
If this expression is truthy, mocking would be enabled
You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null
Do not mock any other resolvers other than defined in mocks.
For example, you can enable this if you don't want to mock entire schema but partially.
Mock configurations
The path to the code runs before the store is attached to the schema
Set to 'deterministic' if the default random mock generation behavior causes flakiness.
Default: 'random' (Allowed values: deterministic, random)
7 nested properties
default false. When set to true, includes the GraphQL document defining the operations and fragments
default false. When set to true, includes all the operation variables with their values
default: false. When set to true, includes the execution result of both delegation and execution
default false. When set to true, track resolvers as segments to monitor their performance
default false. When set to true, includes all the arguments passed to resolvers and delegation with their values
default false. When set to true append the names of operation root fields to the transaction name
Allows to set a custom operation name to be used as transaction name and attribute
extractOperationName: {context.headers['x-operation-name']}
1 nested properties
1 nested properties
10 nested properties
Maximum age in ms. Defaults to Infinity. Set it to 0 for disabling the global TTL.
Overwrite the ttl for query operations whose selection contains a specific schema coordinate (e.g. Query.users). Useful if the selection of a specific field should reduce the TTL of the query operation.
Skip caching of following the types.
List of fields that are used to identify the entity.
Whether the mutation execution result should be used for invalidating resources.
Defaults to true
Include extension values that provide useful information, such as whether the cache was hit or which resources a mutation invalidated.
Allows to cache responses based on the resolved session id. Return a unique value for each session. Creates a global session by default. Example;
sessionId: "{context.headers.userId}"
Specify whether the cache should be used based on the context.
if: "context.headers.userId != null"
Customize the behavior how the response cache key is computed from the documentString, variableValues, contextValue and sessionId. If the given string is interpolated as empty, default behavior is used. Example;
# Cache by specific value
cacheKey: "{variableValues.userId}"
# Cache by documentString
cacheKey: "{documentString}"
# Cache by operationName
cacheKey: "{operationName}"
# Cache by some header value
cacheKey: "{contextValue.headers.authorization}"
# Or combine two of each
cacheKey: "{contextValue.headers.authorization}-{operationName}"
Checks if the result should be cached.
shouldCacheResult: "result.errors.length > 0"
3 nested properties
HTTP URL pattern to be applied For example; apply: - http://my-remote-api.com/* <- * will apply this extension to all paths of remote API
Path to the directory of the generated snapshot files
Expression for when to activate this extension. Value can be a valid JS expression string or a boolean (Any of: String, Boolean)
3 nested properties
If you wish to disable introspection for logging (default: false)
prefix.operations.count (default: graphql)
24 nested properties
Allowed values: tcp, udp, uds, stream
22 nested properties
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
The path to the metrics endpoint
default: /metrics (Any of: Boolean, String)
Extract specific property from the result
If return types don't match, you can specify a result type to apply inline fragment
Extract specific property from the result
If return types don't match, you can specify a result type to apply inline fragment
Whether to allow execution of arbitrary GraphQL operations aside from persisted operations.
Whether to skip validation of the persisted operation
3 nested properties
Error to be thrown when the persisted operation is not found
Error to be thrown when rejecting non-persisted operations
Error to be thrown when the extraction of the persisted operation id failed
Error to be thrown when the persisted operation is not found
Error to be thrown when rejecting non-persisted operations
Error to be thrown when the extraction of the persisted operation id failed
HTTP Source Configurations
Handling strategy (default: fallback) (Allowed values: fallback, race, highestValue)
2 nested properties
A file path to your GraphQL Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
A url or file path to your remote GraphQL endpoint. If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
JSON object representing the Headers to add to the runtime of the API calls only for schema introspection
JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime
Use HTTP GET for Query operations
HTTP method used for GraphQL operations (Allowed values: GET, POST)
Request Credentials if your environment supports it. See more
@default "same-origin" (Allowed values: omit, include)
Path to a custom W3 Compatible WebSocket Implementation
Path to the introspection You can separately give schema introspection or SDL
SSE - Server Sent Events WS - New graphql-ws LEGACY_WS - Legacy subscriptions-transport-ws (Allowed values: SSE, WS, LEGACY_WS)
URL to your endpoint serving all subscription queries for this source
Retry attempts if fails
Timeout in milliseconds
Enable/Disable automatic query batching
JSON object representing the connectionParams from a WebSocket connection to add to the runtime of the API calls only for operation during runtime.
More information about the WebSocket connectionParams:
- When using
subscriptionsProtocol=WS(graphql-ws): https://github.com/enisdenjo/graphql-ws/blob/master/docs/interfaces/client.ClientOptions.md#connectionparams - When using
subscriptionsProtocol=LEGACY_WS(subscriptions-transport-ws): https://github.com/apollographql/subscriptions-transport-ws/blob/51270cc7dbaf09c7b9aa67368f1de58148c7d334/README.md#subscriptionclient
gRPC Endpoint
gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)
Request timeout in milliseconds Default: 200000
3 nested properties
Use https instead of http for gRPC connection
MetaData
prefix to collect Query method default: list, get
Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation
2 nested properties
When arrays are stringified, by default they are not given explicit indices:
a=b&a=c&a=d
You may override this by setting the indices option to true:
a[0]=b&a[1]=c&a[2]=d
You can configure how to format arrays in the query strings.
Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)
Even if there is a single item in an array, this option treats them as arrays (default: false)
Stringify the nested objects as JSON (default: false)
Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation
4 nested properties
When arrays are stringified, by default they are not given explicit indices:
a=b&a=c&a=d
You may override this by setting the indices option to true:
a[0]=b&a[1]=c&a[2]=d
You can configure how to format arrays in the query strings.
Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)
Even if there is a single item in an array, this option treats them as arrays (default: false)
Stringify the nested objects as JSON (default: false)
Timeout for the HTTP request in milliseconds
This Field based on the field name of the URL path. Example: "https://MyAPIURL.com/FieldNameHere/", so we will set the "field: FieldNameHere".
Type field is set the opertion type: Query, Mutation or Subscription. (Allowed values: Query, Mutation, Subscription)
Your chance to describe the operation! Make sure the description is clear and concise.
Your chance to provide request schema name.
The path definition of the JSON Schema sample. Example: "./jsons/questions.response.json".
Inset any name for the type of the request body.
This body will be merged with the request body sent with the underlying HTTP request
Yay! Now you can provide the response schema name.
Did you use Sample? Provide the response sample path.
Inset any name for the type of the response body.
You can define your response schemas by status codes;
responseByStatusCode:
200:
responseSchema: ./someschema.json#/somepath
404:
responseSample: ./error-sample.json
responseTypeName: MyError
Expose response details done to the upstream API When you enable this, you will see a new field in the response type;
type MyResponseType {
myFooField: String
_response: ResponseMetadata
}
# And a new type for the response metadata object
type ResponseMetadata {
url: URL
status: Int
method: String
headers: JSON
body: String
}
Mapping the JSON Schema and define the arguments of the operation.
Example:
argTypeMap: user_id: type: string
JSON object representing the mapping of query search parameters (added to the route path) and the matching argument.
Example:
queryParamArgMap: id: user_id
Allowed values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
If true, this operation cannot have requestSchema or requestSample And the request body will be passed as binary with its mime type unless you define an explicit Content-Type header
If true, @deprecated will be added to the field definition
Allowed values: Query, Mutation, Subscription
This body will be merged with the request body sent with the underlying HTTP request
If true, @deprecated will be added to the field definition
5 nested properties
3 nested properties
15 nested properties
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, JSON
Any of: Boolean, PaginationResolverOpts
3 nested properties
4 nested properties
3 nested properties
15 nested properties
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, JSON
Any of: Boolean, PaginationResolverOpts
15 nested properties
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, JSON
Any of: Boolean, PaginationResolverOpts
3 nested properties
15 nested properties
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, JSON
Any of: Boolean, PaginationResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, ComposeWithMongooseResolverOpts
Any of: Boolean, JSON
Any of: Boolean, PaginationResolverOpts
6 nested properties
Any of: Boolean, JSON
1 nested properties
1 nested properties
4 nested properties
Any of: Boolean, JSON
The hostname of the database you are connecting to. (Default: localhost)
The port number to connect to. (Default: 3306)
The source IP address to use for TCP connection
The MySQL user to authenticate as
The password of that MySQL user
Name of the database to use for this connection
2 nested properties
Default: true
Path to your CA
Use existing Pool instance
Format: modulePath#exportName
Use specific tables for your schema
Use specific fields of specific tables
Default: true
Path to your CA
URL for the Neo4j Instance e.g. neo4j://localhost
Username for basic authentication
Password for basic authentication
Provide GraphQL Type Definitions instead of inferring
Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.
Specifies database name
Base URL for OData API
Custom $metadata File or URL
Headers to be used with the $metadata requests
Headers to be used with the operation requests
Enable batching (Allowed values: multipart, json)
Use $expand for navigation props instead of seperate HTTP requests (Default: false)
A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint
Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)
Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
JSON object representing the Headers to add to the runtime of the API calls
Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false
Allows to explicitly override the default operation (Query or Mutation) for any OAS operation
JSON object representing the query search parameters to add to the API calls
Timeout for the HTTP request in milliseconds
Allowed values: query, mutation, Query, Mutation
If this expression is truthy, mocking would be enabled
You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null (Any of: Boolean, String)
Access Token for Usage Reporting
8 nested properties
30s by default
5 by default
200 by default
Send reports in interval (defaults to 10_000ms)
Max number of traces to send at once (defaults to 25)
7 nested properties
2 nested properties
Extract client name
Example: {context.headers['x-client-name']}
Extract client version
Example: {context.headers['x-client-version']}
Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000
Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl
A list of operations (by name) to be ignored by Hive.
Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0
(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false
4 nested properties
Author of current version of the schema
Commit SHA hash (or any identifier) related to the schema version
3 nested properties
Point to your own instance of GraphQL Hive API
Used by schema reporting and token info.
Address of your own GraphQL Hive application
Used by token info to generate a link to the organization, project and target.
Point to your own instance of GraphQL Hive Usage API
Used by usage reporting.
4 nested properties
2 nested properties
CDN endpoint
Access Token for Persisted Documents CDN
Whether arbitrary documents should be allowed along-side persisted documents. false by default
Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default
30s by default
5 by default
200 by default
Send reports in interval (defaults to 10_000ms)
Max number of traces to send at once (defaults to 25)
2 nested properties
Extract client name
Example: {context.headers['x-client-name']}
Extract client version
Example: {context.headers['x-client-version']}
Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000
Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl
A list of operations (by name) to be ignored by Hive.
Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0
(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false
Extract client name
Example: {context.headers['x-client-name']}
Extract client version
Example: {context.headers['x-client-version']}
Author of current version of the schema
Commit SHA hash (or any identifier) related to the schema version
Point to your own instance of GraphQL Hive API
Used by schema reporting and token info.
Address of your own GraphQL Hive application
Used by token info to generate a link to the organization, project and target.
Point to your own instance of GraphQL Hive Usage API
Used by usage reporting.
2 nested properties
CDN endpoint
Access Token for Persisted Documents CDN
Whether arbitrary documents should be allowed along-side persisted documents. false by default
Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default
CDN endpoint
Access Token for Persisted Documents CDN
If the following patterns match the request URL, the response will be cached. (Any of: String, URLPatternObj)
If the following patterns match the request URL, the response will not be cached. (Any of: String, URLPatternObj)
Invalidate a query or queries when a specific operation is done without an error
Custom strategy for building resources identifiers
By default resource identifiers are built by concatenating the Typename with the id separated by a color (User:1).
This may be useful if you are using a relay compliant schema and the Typename information is not required for building a unique topic.
Default: "{typename}:{id}"
Whether the extensions should include a list of all resource identifiers for the latest operation result. Any of those can be used for invalidating and re-scheduling the operation execution.
This is mainly useful for discovering and learning what kind of topics a given query will subscribe to.
The default value is true if DEBUG environment variable is set
Identifier unique field
Default: "id"
Specify which fields should be indexed for specific invalidations.
Path to the operation that could effect it. In a form: Mutation.something. Note that wildcard is not supported in this field.
Polling interval in milliseconds
If this expression is truthy, mocking would be enabled
You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null
Do not mock any other resolvers other than defined in mocks.
For example, you can enable this if you don't want to mock entire schema but partially.
Mock configurations
The path to the code runs before the store is attached to the schema
Set to 'deterministic' if the default random mock generation behavior causes flakiness.
Default: 'random' (Allowed values: deterministic, random)
Resolver path Example: User.firstName
If this expression is truthy, mocking would be enabled
You can use environment variables expression, for example: ${MOCKING_ENABLED}
Faker.js expression or function
Read more (https://github.com/marak/Faker.js/#fakerfake)
Example:
faker: name.firstName
faker: {{ name.firstName }} {{ name.lastName }}
Custom mocking It can be a module or json file. Both "moduleName#exportName" or only "moduleName" would work
You can also provide a function directly
Length of the mock list
For the list types [ObjectType], how many ObjectType you want to return?
default: 2
3 nested properties
Update the data on the mock store
default false. When set to true, includes the GraphQL document defining the operations and fragments
default false. When set to true, includes all the operation variables with their values
default: false. When set to true, includes the execution result of both delegation and execution
default false. When set to true, track resolvers as segments to monitor their performance
default false. When set to true, includes all the arguments passed to resolvers and delegation with their values
default false. When set to true append the names of operation root fields to the transaction name
Allows to set a custom operation name to be used as transaction name and attribute
extractOperationName: {context.headers['x-operation-name']}
Maximum age in ms. Defaults to Infinity. Set it to 0 for disabling the global TTL.
Overwrite the ttl for query operations whose selection contains a specific schema coordinate (e.g. Query.users). Useful if the selection of a specific field should reduce the TTL of the query operation.
Skip caching of following the types.
List of fields that are used to identify the entity.
Whether the mutation execution result should be used for invalidating resources.
Defaults to true
Include extension values that provide useful information, such as whether the cache was hit or which resources a mutation invalidated.
Allows to cache responses based on the resolved session id. Return a unique value for each session. Creates a global session by default. Example;
sessionId: "{context.headers.userId}"
Specify whether the cache should be used based on the context.
if: "context.headers.userId != null"
Customize the behavior how the response cache key is computed from the documentString, variableValues, contextValue and sessionId. If the given string is interpolated as empty, default behavior is used. Example;
# Cache by specific value
cacheKey: "{variableValues.userId}"
# Cache by documentString
cacheKey: "{documentString}"
# Cache by operationName
cacheKey: "{operationName}"
# Cache by some header value
cacheKey: "{contextValue.headers.authorization}"
# Or combine two of each
cacheKey: "{contextValue.headers.authorization}-{operationName}"
Checks if the result should be cached.
shouldCacheResult: "result.errors.length > 0"
HTTP URL pattern to be applied For example; apply: - http://my-remote-api.com/* <- * will apply this extension to all paths of remote API
Path to the directory of the generated snapshot files
Expression for when to activate this extension. Value can be a valid JS expression string or a boolean (Any of: String, Boolean)
If you wish to disable introspection for logging (default: false)
prefix.operations.count (default: graphql)
24 nested properties
1 nested properties
Allowed values: tcp, udp, uds, stream
1 nested properties
Allowed values: tcp, udp, uds, stream
A connection string to your Postgres database
An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.
Connection Pool instance or settings or you can provide the path of a code file that exports any of those
Extra Postgraphile Plugins to append
Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")
Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)
Enable GraphQL websocket transport support for subscriptions (default: true)
Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)
A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.
Timeout for the HTTP request in milliseconds
A url to your WSDL or generated SDL with annotations
JSON object representing the Headers to add to the runtime of the API calls only for schema introspection
You can also provide .js or .ts file path that exports schemaHeaders as an object
JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime
The name of the alias to be used in the envelope for body components
default: body
3 nested properties
The namespace of the SOAP Header
For example: <http://www.example.com/namespace>
The content of the SOAP Header
For example: { "key": "value" } then the content will be <key>value</key>
The name of the alias to be used in the envelope
default: header
The namespace of the SOAP envelope
By default, SOAP handler detects the SOAP version and if SOAP version is 1.1,
it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace
If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace
The namespace of the SOAP Header
For example: <http://www.example.com/namespace>
The content of the SOAP Header
For example: { "key": "value" } then the content will be <key>value</key>
The name of the alias to be used in the envelope
default: header
A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
The name of the subgraph you want to configure
A url or file path to your remote GraphQL endpoint. If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.
JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime
Use HTTP GET for Query operations
HTTP method used for GraphQL operations (Allowed values: GET, POST)
Request Credentials if your environment supports it. See more
@default "same-origin" (Allowed values: omit, include)
Path to a custom W3 Compatible WebSocket Implementation
Path to the introspection You can separately give schema introspection or SDL
SSE - Server Sent Events WS - New graphql-ws LEGACY_WS - Legacy subscriptions-transport-ws (Allowed values: SSE, WS, LEGACY_WS)
URL to your endpoint serving all subscription queries for this source
Retry attempts if fails
Timeout in milliseconds
JSON object representing the connectionParams from a WebSocket connection to add to the runtime of the API calls only for operation during runtime.
More information about the WebSocket connectionParams:
- When using
subscriptionsProtocol=WS(graphql-ws): https://github.com/enisdenjo/graphql-ws/blob/master/docs/interfaces/client.ClientOptions.md#connectionparams - When using
subscriptionsProtocol=LEGACY_WS(subscriptions-transport-ws): https://github.com/apollographql/subscriptions-transport-ws/blob/51270cc7dbaf09c7b9aa67368f1de58148c7d334/README.md#subscriptionclient
The name of the host to connect to.
The port number to attach to on the host.
The name of your service. Used for logging.
Path to IDL file
The path on which the Thrift service is listening. Defaults to '/thrift'.
Boolean value indicating whether to use https. Defaults to false.
Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)
JSON object representing the Headers to add to the runtime of the API calls
If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.
The type and field to apply cache to, you can use wild cards as well, for example: Query.*
Cache key to use to store your resolvers responses.
The default is: {typeName}-{fieldName}-{argsHash}-{fieldNamesHash}
Available variables:
{args.argName}- use resolver argument{typeName}- use name of the type{fieldName}- use name of the field{argsHash}- a hash based on the 'args' object{fieldNamesHash}- a hash based on the field names selected by the client{info}- the GraphQLResolveInfo of the resolver
Available interpolations:
{format|date}- returns the current date with a specific format
2 nested properties
Invalidate the cache when a specific operation is done without an error
Specified in seconds, the time-to-live (TTL) value limits the lifespan
Invalidate the cache when a specific operation is done without an error
Specified in seconds, the time-to-live (TTL) value limits the lifespan
Path to the operation that could effect it. In a form: Mutation.something. Note that wildcard is not supported in this field.
Cache key to invalidate on successful resolver (no error), see cacheKey for list of available options in this field.
Optional, name to use for grouping under the root types. If not specific, the API name is used.
3 nested properties
Version of the federation spec Default: v2.0
5 nested properties
Any of: String, ResolveReferenceObject
Any of: String, ResolveReferenceObject
Name of root field name that resolves the reference
You need configure the arguments for that field;
args:
someArg: "{root.someKeyValue}"
Array of filter rules
Specify to apply filter-schema transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)
Filter deprecated types
Filter deprecated fields
Type name that defines where field should be hoisted to
Array of fieldsNames to reach the field to be hoisted (Any of: String, HoistFieldTransformFieldPathConfigObject)
Name the hoisted field should have when hoisted to the type specified in typeName
Defines if args in path are filtered (default = false)
Field name
Match fields based on argument, needs to implement (arg: GraphQLArgument) => boolean;
Specify to apply naming-convention transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase
Specify to apply prefix transform to bare schema or by wrapping original schema (Allowed values: bare, wrap)
The prefix to apply to the schema types. By default it's the API name.
List of ignored types
Changes root types and changes the field names (default: false)
Changes types (default: true)
Types to skip pruning
Set to true to skip pruning object types or interfaces with no fields
Set to true to skip pruning interfaces that are not implemented by any other types
Set to true to skip pruning empty unions
Set to true to skip pruning unused types
The type name that the following field belongs to
The field of the type that the rate limit is applied to
The maximum number of requests that can be made in a given time period
The time period in which the rate limit is applied
The identifier expression that determines the identity of the request (e.g. {context.req.socket.remoteAddress})
Array of rename rules
Specify to apply rename transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)
3 nested properties
3 nested properties
Use Regular Expression for type names
Use Regular Expression for field names
Use Regular Expression for field names
Flags to use in the Regular Expression
Flag to indicate whether certain default types (built-ins, scalars and other types specified an exclusion list) should be renamed or not.
@default: false
Array of rules to replace fields
Additional type definition to used to replace field types
Array of resolver/composer to apply
Specify to apply resolvers-composition transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)
The GraphQL Resolver path Example: Query.users
Path to the composer function Example: ./src/auth.js#authComposer
Array of rules to transfer fields or args
Allowed values: move, copy
Denotes a root field used to query a merged type across services. The marked field's name is analogous to the fieldName setting in merged type configuration, while the field's arguments and return type are used to infer merge configuration. Directive arguments tune the merge behavior
The path to a code file that has additional type merging configuration
Specifies the name of a field to pick off origin objects as the key value. When omitted, a @key directive must be included on the return type's definition to be built into an object key.
https://www.graphql-tools.com/docs/stitch-directives-sdl#object-keys
Specifies which field argument receives the merge key. This may be omitted for fields with only one argument where the recipient can be inferred.
Specifies a string of additional keys and values to apply to other arguments,
formatted as \"\"\" arg1: "value", arg2: "value" \"\"\".
Advanced use only; Allows building a custom key just for the argument from the selectionSet included by the @key directive.
Advanced use only; This argument specifies a string expression that allows more customization of the input arguments. Rules for evaluation of this argument are as follows:
- basic object parsing of the input key:
"arg1: $key.arg1, arg2: $key.arg2" - any expression enclosed by double brackets will be evaluated once for each of the requested keys, and then sent as a list:
"input: { keys: [[$key]] }" - selections from the key can be referenced by using the $ sign and dot notation:
"upcs: [[$key.upc]]", so that$key.upcrefers to theupcfield of the key.
Name of the type (Query by default)
1 nested properties
Specifies types and fields that provide a canonical definition to be built into the gateway schema. Useful for selecting preferred characteristics among types and fields that overlap across subschemas. Root fields marked as canonical specify which subschema the field proxies for new queries entering the graph.
1 nested properties
Pointer to your SQLite database
Path to the SQL Dump file if you want to build a in-memory database
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
Any of: Boolean, String
The path to the metrics endpoint
default: /metrics (Any of: Boolean, String)