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
- protoc-gen-ts: https://github.com/thesayyn/protoc-gen-ts
- protobuf.js: https://github.com/protobufjs/protobuf.js
Implementation | JavaScript and TypeScript |
Standard Plugin |
Editions | Required tests | Recommended tests |
---|---|---|---|---|---|
Protobuf-ES | ✔️ | ✔️ | ✔️ | (0 failures) |
(0 failures) |
protobuf-ts | ✔️ | ✔️ | ❌ | (3 failures) |
(1 failures) |
google-protobuf | ❌ | ✔️ | ❌ | (649 failures) |
(305 failures) |
ts-proto | ❌ | ✔️ | ❌ | (740 failures) |
(613 failures) |
protoscript | ✔️ | ✔️ | ❌ | (1140 failures) |
(535 failures) |
protoc-gen-ts | ❌ | ✔️ | ❌ | (1678 failures) |
(472 failures) |
protobuf.js | ✔️ | ❌ | ✔️ | (1830 failures) |
(570 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.