We conventionally have two kinds of .proto files. One named *_service.proto with
only one service
in it and no message
types. The rest have no services, only
message types. We have patched ts-proto to depend on this convention in order to
share some generated files between backend and browser.
bazel run //example/name_generator/service
grpcurl -plaintext -proto ./example/name_generator/proto/v1/name_generator_service.proto 127.0.0.1:50051 example.name_generator.proto.v1.NameGenerator/GetRandomName`
enable Chrome flag: #allow-insecure-localhost
bazel run //example/name_generator/service:grpcwebproxy
grpcurl -insecure -proto ./example/name_generator/proto/v1/name_generator_service.proto 127.0.0.1:8443 example.name_generator.proto.v1.NameGenerator/GetRandomName
bazel run //example/frontend
bazel test //example/name_generator/frontend:storyshots
bazel run //example/name_generator/frontend:storyshots.update
- prove grpc-web works in production
- prove that a create-react-app project can use bazel-built npm package within monorepo
- image storyshots through docker
- buf lint through bazel
- eslint through bazel
- markdownlint through bazel
- PR rules_proto with esModuleInterop so we don't need to patch proto-loader?