Doing a bunch of front-end coding lately, I'm really frustrated with the DX. HMR is spotty on both the server & client, relay-compiler will seemingly restart for no reason, etc.
Investing time here in DX will yield huge savings as every developer will be able to code faster, so we should prioritize this.
Thoughts:
My conclusion is HMR on the server is unreliable. We should get rid of it (for the server). If we are thoughtful, a server restart should be almost as fast as HMR.
having a co-dependency between server & client packages is wrong. The client should have no dependencies on parabol-server & all shared assets should live in the client.
We could probably shortcut the GQL Executor in development & just go direct to executeGraphQL
There should be a way to cache the server bundle & the client bundle independently, although I'm not sure how to do this without some HMR on the server
We should get those .graphql files living on the client compiled & hardcoded so we don't need that babel transformer. in the future, we'll just attach the GH schema to ours & all requests will go through parabol-server
Doing a bunch of front-end coding lately, I'm really frustrated with the DX. HMR is spotty on both the server & client, relay-compiler will seemingly restart for no reason, etc.
Investing time here in DX will yield huge savings as every developer will be able to code faster, so we should prioritize this.
Thoughts:
.graphql
files living on the client compiled & hardcoded so we don't need that babel transformer. in the future, we'll just attach the GH schema to ours & all requests will go through parabol-server@tianrunhe @tiffanyhan @nickoferrall any input here is welcome! let's get a list of what we want the perfect DX to look like & start building