grpc / grpc-web

gRPC for Web Clients
https://grpc.io
Apache License 2.0
8.45k stars 760 forks source link

Closure Migration & Typescript-ification #1414

Open sampajano opened 3 months ago

sampajano commented 3 months ago

The Closure Library has entered maintenance mode.

We're working with the Closure team on migrating our dependency to a new Github repo, containing minimal dependencies required for gRPC-Web.

In the same process, we hope to modernize our codebase into TypeScript, and overhaul our toolchain to use TS tooling, so we no longer have to depend on the Closure Compiler.

bivens-dev commented 3 weeks ago

@sampajano Is this rewrite likely to be a 2024 or 2025 thing? I’m super excited to see a revamp of this library that supports modern APIs and better interoperability.

sampajano commented 3 weeks ago

@bivens-dev Hi :) Likely happening in 2024 since I'm working on it already. Although internal migration needs to be completed first before I can start the Github work.

Glad to hear about your interest! :) Is there any particular API that you'd like to see improved? (So far there's no plan to revamp the API yet since I'm just working on migrating the codebase to TS.)

bivens-dev commented 3 weeks ago

Ah maybe I misunderstood. Does that mean XHR rather than fetch or ideally even WebTransport for example?

sampajano commented 3 weeks ago

Both XHR and Fetch would be provided as options just like today.

I plan to follow-up TS migration with some work to improve the Fetch/stream runtime (e.g. memory use, service worker support, etc.) given there were many issues / questions around that area.

WebTransport work is separate will likely start in 2025 :)