thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #protoc-plugin
apple/swift-protobuf ★ 4963 542 APPLICATION

This is the official Swift implementation of Protocol Buffers from Apple. It produces a runtime library (`SwiftProtobuf`) for serializing/deserializing protobuf messages in binary, JSON, and text format, and a `protoc` plugin (`protoc-gen-swift`) that generates Swift source code from `.proto` files. The architecture is a set of Swift packages (SwiftProtobuf runtime, SwiftProtobufPluginLibrary, protoc-gen-swift) plus a vendored C++ protobuf implementation and Abseil for the plugin's host tool. Key entry points include the `Message` protocol and its extensions for encoding/decoding, the `BinaryDecoder`/`BinaryEncoder` for wire format handling, and the plugin's `CodeGenerator` implementation. External dependencies are `protoc` (the protobuf compiler) for code generation and the vendored protobuf/abseil C++ sources for the custom `protoc` binary. The repository also includes comprehensive test suites, fuzz testing harnesses, and conformance test runner, ensuring robust compatibility across languages.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
grpc/grpc-web ★ 9256 800 APPLICATION

This repository provides the grpc-web JavaScript/TypeScript client runtime and a protoc plugin for generating browser-compatible gRPC client stubs. It enables browser clients to communicate with gRPC services through an HTTP/1.1 proxy (Envoy or grpcwebproxy) by implementing the gRPC-Web protocol. The codebase includes a runtime library (npm package `grpc-web`) with support for unary and server-streaming calls, interceptors, metadata, deadlines, and two wire formats (grpcwebtext, grpcweb). The protoc plugin (`protoc-gen-grpc-web`) is a C++ binary that outputs client code in Closure, CommonJS, or TypeScript styles. Examples and interop tests demonstrate end-to-end usage with Node.js backends, Envoy proxy, and browser clients. The project is now in maintenance mode (no new features) with several drift risks: dual implementation (Closure JS and TypeScript), archived dependencies (Closure library, Protobuf JS), and incomplete TypeScript migration. Despite this, the core components are well-architected and the gRPC-Web stream parser and interceptor pattern are reusable.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: