Experimenting with a yarn workspace based monorepo that uses gRPC web front end (with envoy proxy) + react on front end and gPRC python baackend without bazel.
-
I probaably wouldn't recommend structuring folders this way, or at least not compiling protos outside of their respective workspaces. Makes importing very tedious (note the python protoc script needs to be run in the parent folder
/packages/in order to add the correct package name due to protoc limitations, which is required for the imports to resolve when compiling within the/serverpackage). -
I had an awful time figuring out
envoyfor gRPC locally due to CORS issues. This config was maybe the straw that broke the camels back for me and I no longer want to use gRPC for the project this is intended for. -
This is probably doable without the need for multiple
yarn workspaceswhere there is just one package.json for the whole project. -
Aborting requests from TS was not immediately clear to me so I made a todo. I think in other languages there are simple approaches and there must be for proto services compiled to ts. I might try
ts-protoornice-grpcnext time I revisit.