@graphql-mesh/compose-cli
Version:
81 lines (80 loc) • 2.7 kB
text/typescript
import { type IntrospectionOptions } from 'graphql';
import type { MeshComposeCLISourceHandlerDef } from './types.cjs';
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;