A repository which runs the protocol buffers conformance test suite against various implementations.
The current implementations being tested are:
- Protobuf-ES: https://github.com/bufbuild/protobuf-es
- protobuf-ts: https://github.com/timostamm/protobuf-ts
- google-protobuf: https://github.com/protocolbuffers/protobuf-javascript
- ts-proto: https://github.com/stephenh/ts-proto
- protoscript: https://github.com/TateThurston/protoscript
- protobuf.js: https://github.com/protobufjs/protobuf.js
- protoc-gen-ts: https://github.com/thesayyn/protoc-gen-ts
Implementation | JavaScript and TypeScript |
Standard Plugin |
Editions | Required tests | Recommended tests |
---|---|---|---|---|---|
Protobuf-ES | ✔️ | ✔️ | ✔️ | (0 failures) |
(0 failures) |
protobuf-ts | ✔️ | ✔️ | ❌ | (2 failures) |
(1 failures) |
google-protobuf | ❌ | ✔️ | ❌ | (574 failures) |
(304 failures) |
ts-proto | ❌ | ✔️ | ❌ | (660 failures) |
(611 failures) |
protoscript | ✔️ | ✔️ | ❌ | (1086 failures) |
(533 failures) |
protobuf.js | ✔️ | ❌ | ❌ | (1287 failures) |
(419 failures) |
protoc-gen-ts | ❌ | ✔️ | ❌ | (1598 failures) |
(470 failures) |
Since Editions are relatively new, only implementations that advertise support are tested with Editions.
Note: None of the libraries tested implement the text format, so the results for those test runs are not shown.
To run the conformance tests, run npm test
from the repo root.
Note that only Linux and OSX operating systems are supported.