@xdarkicex/libravdb-contracts
v2.0.20
Published
LibraVDB IPC protocol types — protobuf-es generated
Readme
libravdb-contracts
This repository is the source of truth for the LibraVDB IPC protocol.
Tooling
We use Buf for deterministic code generation.
Pinned Versions
To ensure bit-perfect parity across environments, use these versions:
- Buf CLI:
v2 - Go Plugin:
buf.build/protocolbuffers/go:v1.32.0 - TypeScript Plugin:
buf.build/bufbuild/es:v1.7.2(Protobuf-ES) - TypeScript Generator Package:
@bufbuild/protoc-gen-esv2.10.0 - TypeScript Runtime Package:
@bufbuild/protobufv2.10.0
Generation
Run the following command from the root of this repository:
buf generateThis will produce:
libravdb/ipc/v1/rpc.pb.go: canonical Go types for the daemon.gen/ts/: TypeScript types and runtime for the plugin.
Linting
Run schema linting from the repository root:
buf lintGenerator Choice: Protobuf-ES
We have chosen protobuf-es over ts-proto for the following reasons:
- Modern Standard: It is the official recommended path for TypeScript by the creators of Buf.
- Type Safety: It provides better integration with modern TypeScript features and avoids the "any" pollution often found in older generators.
- Determinism: By using Buf's remote plugins, we guarantee that every developer generates identical code regardless of their local
protocinstallation. - Performance: It produces smaller, more efficient code that leverage's JavaScript's native binary handling.
