UNPKG

wgc

Version:

The official CLI tool to manage the GraphQL Federation Platform Cosmo

81 lines (80 loc) 2.96 kB
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb'; import type { CheckOperationUsageStats, CompositionError, CompositionWarning, FederatedGraphSchemaChange, GraphPruningIssue, LintIssue, SchemaChange } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb'; export type JsonCheckSchemaOutputDescriptor = { status: 'error' | 'success'; code: EnumStatusCode; details?: string; message?: string; url?: string; proposals?: { message: string; }; traffic?: { message: string; }; featureSubgraphCheck?: { message: string; }; changes?: { breaking: SchemaChange[]; nonBreaking: SchemaChange[]; }; composition?: { errors: CompositionError[]; warnings: CompositionWarning[]; }; lint?: { errors: LintIssue[]; warnings: LintIssue[]; }; graphPrune?: { errors: GraphPruningIssue[]; warnings: GraphPruningIssue[]; }; composedSchemaBreakingChanges?: FederatedGraphSchemaChange[]; extensions?: { message: string; }; exceededRowLimit?: boolean; rowLimit: number; operationUsageStats?: CheckOperationUsageStats; }; export declare class JsonCheckSchemaOutputBuilder { private readonly data; private readonly outFile?; constructor(code: EnumStatusCode, rowLimit: number, outFile?: string); setUrl(url: string): this; setCode(code: EnumStatusCode): this; setStatus(success: boolean): this; setMessage(message: string): this; setDetails(details: string | undefined): this; setProposals(message: string): this; initProposals(message: string): this; setTraffic(message: string): this; setFeatureSubgraphCheck(message: string): this; markTrafficLinkedFailed(fallbackMessage: string): this; addBreakingChanges(changes: SchemaChange[]): this; addNonBreakingChanges(changes: SchemaChange[]): this; setOperationUsageStats(stats: CheckOperationUsageStats): this; addCompositionErrors(errors: CompositionError[]): this; addCompositionWarnings(warnings: CompositionWarning[]): this; addLintErrors(errors: LintIssue[]): this; addLintWarnings(warnings: LintIssue[]): this; addGraphPruneErrors(errors: GraphPruningIssue[]): this; addGraphPruneWarnings(warnings: GraphPruningIssue[]): this; markGraphPruneLinkedFailed(): this; addComposedSchemaBreakingChanges(changes: FederatedGraphSchemaChange[]): this; setExtensionError(message: string): this; setExceededRowLimit(exceeded: boolean): this; build(): JsonCheckSchemaOutputDescriptor; /** * Writes valid JSON either to stdout or a file. */ write(): Promise<void>; /** * JSON.stringify replacer that strips protobuf V2 internal fields * (like $typeName) so the output remains a clean, user-facing format. */ private static jsonReplacer; private serializeOutput; }