Generate DSL for Pothos GraphQL from Protocol Buffers IDL
npm install protoc-gen-pothosBuild GraphQL schema from Protobuf and Pothos GraphQL.
- ts-proto
``yaml`proto/buf.yaml
version: v1
deps:
- buf.build/proto-graphql/proto-graphql
`yaml`proto/buf.gen.yaml
version: v1
plugins:
- name: ts
out: ../src/__generated__/proto
strategy: all
path: ../node_modules/.bin/protoc-gen-ts_proto
opt:
- esModuleInterop=true # required
- unrecognizedEnum=false # required
- outputTypeRegistry=true # required
strategy: all
- name: pothos
path: ../node_modules/.bin/protoc-gen-pothos
out: ../src/__generated__/pothos
opt:
- pothos_builder_path=../../builder
- import_prefix=../proto
- import_prefix (string, required)pothos_builder_path
- path to out dir of ts-proto
- (string, required)emit_imported_files
- path to file that exports pothos builder
- (bool, optional)true
- if , protoc-gen-pothos also emits types defined in imported .proto file.scalar
- (string, optional)String
- add scalar mapping
- default:
- Protobuf's 64-bit integer types to Bytes
- Protobuf's bytes type to google.protobuf.Timestamp
- to DateTimegoogle.type.Date
- e.g.
- Map to Date`
- yaml`
opt:
- scalar=google.type.Date=Date
BigInt
opt:
- Map Protobuf's 64-bit integer types to `
- yaml`
opt:
- scalar=int64=BigInt
- scalar=uint64=BigInt
- scalar=sint64=BigInt
- scalar=fixed64=BigInt
- scalar=sfixed64=BigInt
- scalar=google.protobuf.Int64Value=BigInt
- scalar=google.protobuf.UInt64Value=BigInt
- scalar=google.protobuf.SInt64Value=BigInt
- scalar=google.protobuf.Fixed64Value=BigInt
- scalar=google.protobuf.SFixed64Value=BigInt
ignore_non_message_oneof_fields
- (bool`, optional)
- Masayuki Izumi (twitter: @izumin5210, github: @izumin5210)