@graphql-inspector/cli
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
77 lines (76 loc) • 2.09 kB
text/typescript
import { DiffInterceptor } from './diff.cjs';
export type Endpoint = string | {
url: string;
method?: 'get' | 'GET' | 'post' | 'POST';
headers?: {
[name: string]: string;
};
};
export interface SchemaPointer {
ref: string;
path: string;
}
export interface LegacyConfig {
diff?: boolean | Diff;
notifications?: Notifications;
endpoint?: Endpoint;
schema: SchemaPointer;
}
export interface Notifications {
slack?: string;
discord?: string;
webhook?: string;
}
interface Diff {
/** @deprecated */
experimental_merge?: boolean;
annotations?: boolean;
failOnBreaking?: boolean;
approveLabel?: string;
intercept?: DiffInterceptor;
summaryLimit?: number;
}
interface Environment {
branch: string;
endpoint?: Endpoint;
diff?: Diff | boolean;
notifications?: Notifications | boolean;
}
export interface NormalizedEnvironment {
name: string;
schema: string;
branch: string;
endpoint?: Endpoint;
diff: Diff | false;
notifications: Notifications | false;
}
interface SingleEnvironmentConfig extends Environment {
schema: string;
others?: {
diff?: Diff | boolean;
notifications?: Notifications | boolean;
};
}
interface MultipleEnvironmentConfig {
schema: string;
diff?: Diff | boolean;
notifications?: Notifications | boolean;
env: {
[env: string]: Environment;
};
others?: {
diff?: Diff | boolean;
notifications?: Notifications | boolean;
};
}
export type Config = SingleEnvironmentConfig | MultipleEnvironmentConfig | LegacyConfig;
export type NormalizedConfig = {
[env: string]: NormalizedEnvironment;
};
export type NormalizedLegacyConfig = {
__default: NormalizedEnvironment;
};
export declare const defaultConfigName = "__default";
export declare const defaultFallbackBranch = "*";
export declare function createConfig(rawConfig: Config, setConfigKind: (kind: 'legacy' | 'single' | 'multiple') => void, branches?: string[], fallbackBranch?: string): NormalizedEnvironment;
export {};