UNPKG

@graphql-mesh/compose-cli

Version:
81 lines (80 loc) 2.7 kB
import { type IntrospectionOptions } from 'graphql'; import type { MeshComposeCLISourceHandlerDef } from './types.js'; export interface GraphQLSubgraphLoaderHTTPConfiguration { /** * 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. */ endpoint: string; /** * HTTP method used for GraphQL operations (Allowed values: GET, POST) */ method?: 'GET' | 'POST'; /** * Use HTTP GET for Query operations */ useGETForQueries?: boolean; /** * JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime */ operationHeaders?: { [k: string]: any; }; /** * Request Credentials if your environment supports it. * [See more](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials) * * @default "same-origin" (Allowed values: omit, include) */ credentials?: 'omit' | 'include'; /** * Retry attempts if fails */ retry?: number; /** * Timeout in milliseconds */ timeout?: number; /** * Path to the introspection * You can separately give schema introspection or SDL */ source?: string; /** * JSON object representing the Headers to add to the runtime of the API calls only for schema introspection */ schemaHeaders?: any; /** * Federation Subgraph * * @default false */ federation?: boolean; /** * Transport kind * * @default 'http' */ transportKind?: 'http'; /** * While introspecting the schema, you can customize the introspection query by providing these options. * This is useful if you have a GraphQL server that does not support some of the newer features of GraphQL. * * By default, Mesh has the following options; * * ```json * { * "descriptions": true, * "specifiedByUrl": false, * "directiveIsRepeatable": false, * "schemaDescription": false, * "inputValueDeprecation": true, * "oneOf": false * } * ``` */ introspectionOptions?: IntrospectionOptions; } export declare const DEFAULT_INTROSPECTION_OPTIONS: Required<IntrospectionOptions>; export declare function loadGraphQLHTTPSubgraph(subgraphName: string, { endpoint, method, useGETForQueries, operationHeaders, credentials, retry, timeout, source, schemaHeaders, introspectionOptions, federation, transportKind, }: GraphQLSubgraphLoaderHTTPConfiguration): MeshComposeCLISourceHandlerDef;