grpc-web
Superstruct
grpc-web | Superstruct | |
---|---|---|
10 | 26 | |
4,337 | 6,815 | |
0.3% | - | |
0.0 | 5.5 | |
8 months ago | 3 days ago | |
TypeScript | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
grpc-web
-
Full Stack Forays with Go and gRPC
A proxy is required to communicate from web clients to a server running gRPC, and there are only two choices for this proxy: a. The Improbable gRPC-Web client or b. The Google gRPC-Web client
-
gRPC + Envoy + grpc-web = scalable multiplexed streaming?
I'll have to try the Improbable method (https://github.com/improbable-eng/grpc-web) - as it definitely includes a websocket transport, hopefully this multiplexes requests on that transport and would hence solve the problem. I'll post again once I know...
-
API Gateway in Go for Websockets to Websockets communication
I think you should check out https://github.com/improbable-eng/grpc-web/tree/master/go/grpcwebproxy
-
RPC in Go using Twitch's Twirp
What I like with gRPC is that it allows both client and server side streaming. Twirp seems to not have this feature at all. In contrast the https://github.com/improbable-eng/grpc-web even supports server and client streaming while wrapping gRPC in a HTTP1.1 Web connection.
-
Goomerang 🪃 A protocol buffers over websockets communications library
I highly recommend also to look into https://github.com/improbable-eng/grpc-web in contrast to the 'official' gRPC-web from google the improbable-eng Implementation can do both server side and client side gRPC streaming (when used with their JavaScript client library) and all this on an http1.1/websocket basis...
-
is there any startup or famous web app using grpc/grpc-web for their frontend
We use https://github.com/improbable-eng/grpc-web for the server part with https://github.com/protobufjs/protobuf.js on the frontend.
-
Why isn't gRPC used more for browser to api transport over REST / graphql?
I'm debating whether or not to rely on grpc for all client to API transport using improbable-eng's grpc-web project. The hesitation I'm running into is concern over unforeseen pitfalls. The fact that it isn't widely used is the main cause for my apprehension.
-
Aspiring Golang Developer here, could you suggest a few ideas of what I could write with Golang?
If you use https://github.com/improbable-eng/grpc-web you do not need envoy, you can wrap your golang grpc connection. I then mux the grpc and grpc-web so that I can use the same endpoint to serve http1 and http2 clients. This makes it easy to host on the cloud, eg. google cloud run.
-
Can App Load Balancer or ECS (Fargate) handle HTTP1 proxying for gRPC services?
I'm setting up a server portion of a website which uses (g)RPC. My dev setup is a docker-compose.yml that starts up my server on 50051 & another service that runs grpcwebproxy (exposes 8080 and proxies to my server @ 50051).
- JROH - Solution & Framework for JSON-RPC over HTTP
Superstruct
-
Popular Libraries For Building Type-safe Web Application APIs
You can check out Superstruct documentation here.
-
Lessons from open-source: Replace zod with superstruct if you do not use zod’s advanced capabilities
This is where I saw compiled folder has superstruct’s minified code.
-
Mastering Type-Safe JSON Serialization in TypeScript
However, working with the unknown type is less convenient than merely specifying the desired data type. Apart from type-casting, there are multiple ways to convert the unknown type into the required data type. One such method is utilizing the Superstruct library to validate data at runtime and throw detailed errors if the data is invalid.
- Where DRY Applies
-
Unleashing the Power of TypeScript: Improving Standard Library Types
For example, the superstruct library is a lighter alternative to Zod. This library is more suitable for use on the client side since it has a relatively small size (13.1 kB vs 3.4 kB).
-
Banditypes: The mighty 400-byte schema validator for TS / JS
Banditstash, like all the newer validation libraries (yup, zod, superstruct, typed) can auto-generate TS type from a JS schema:
-
Typescript Runtime Validators and DX, a type-checking performance analysis of zod/superstruct/yup/typebox
Superstruct 1.0.3
-
React Router Actions Form Submission and Validation
Inside the action, the first thing we're going to do is get the formData using the request object. Then we will create an object from the formData data that will later be validated by our superstruct schema.
-
Is there any reason not to use typescript?
You could use Zod or Superstruct to validate the types of values, or use typestack/class-validator if it makes sense.
- Why doesn’t TypeScript natively do any type checking
What are some alternatives?
protobuf-ts - Protobuf and RPC for TypeScript
zod - TypeScript-first schema validation with static type inference
twirp - A simple RPC framework with protobuf service definitions
Yup - Dead simple Object schema validation
ts-proto - An idiomatic protobuf generator for TypeScript
joi - The most powerful data validation library for JS [Moved to: https://github.com/hapijs/joi]
protoc-gen-validate - Protocol Buffer Validation - Being replaced by github.com/bufbuild/protovalidate
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
grpc-json-mock - This is a mock of grpc used for front-end development. Prepare the server using nodejs.
MikroORM - TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, MS SQL Server, PostgreSQL and SQLite/libSQL databases.
openapi - an OpenAPI 3.x library for go
openapi-cop - A proxy that validates responses and requests against an OpenAPI document. https://www.npmjs.com/package/openapi-cop https://hub.docker.com/r/lxlu/openapi-cop