wgc router grpc-service generate

The generate command generates a protobuf definition and mapping file for a gRPC service from a GraphQL schema, which can be used to implement a gRPC service and can be used for the composition.

Usage

wgc router grpc-service generate [options] [service-name]

Arguments

ArgumentDescriptionDefault
service-nameName of the gRPC serviceservice.v1

Options

OptionDescriptionDefault
-i, --input <path-to-input>The GraphQL schema file to generate a protobuf schema fromRequired
-o, --output <path-to-output>The output directory for the protobuf schema.
-p, --package-name <name>The name of the proto packageservice.v1
-g, --go-package <name>Adds an option go_package to the proto fileNone

Description

This command generates a protobuf definition for a gRPC service from a GraphQL schema.

Examples

Generate a protobuf definition for a gRPC service from a GraphQL schema

wgc router grpc-service generate -i ./schema.graphql -o ./service MyService

Define a custom package name

wgc router grpc-service generate -i ./schema.graphql -o ./service MyService --package-name my.custom.package

Define a custom go package name

wgc router grpc-service generate -i ./schema.graphql -o ./service MyService --go-package github.com/wundergraph/cosmo/service/my-service

Output

The command generates multiple files in the output directory:

  • service.proto: The protobuf definition for the gRPC service
  • service.mapping.json: The mapping file for the gRPC service
  • service.proto.lock.json: The lock file for the protobuf definition

The generated protobuf definition can be used to implement a gRPC service in any language that supports protobuf.

The mapping and the protobuf definition is needed for the composition part.