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
- protobuf.js: https://github.com/protobufjs/protobuf.js
- protoscript: https://github.com/TateThurston/protoscript
- protoc-gen-ts: https://github.com/thesayyn/protoc-gen-ts
Implementation | JavaScript and TypeScript |
Standard Plugin |
Supported Edition | Required tests | Recommended tests |
---|---|---|---|---|---|
Protobuf-ES | ✔️ | ✔️ | 2023 | (0 failures) |
(12 failures) |
protobuf-ts | ✔️ | ✔️ | proto3 | (3 failures) |
(7 failures) |
google-protobuf | ❌ | ✔️ | proto3 | (650 failures) |
(305 failures) |
ts-proto | ❌ | ✔️ | proto3 | (741 failures) |
(613 failures) |
protobuf.js | ✔️ | ❌ | 2023 | (1833 failures) |
(579 failures) |
protoscript | ✔️ | ✔️ | proto3 | (1143 failures) |
(541 failures) |
protoc-gen-ts | ❌ | ✔️ | proto3 | (1680 failures) |
(475 failures) |
Implementations are tested with proto2, proto3, and the maximum Edition they advertise to support.
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.
Note
Beginning with the v32.0 release of Protobuf, this repository will no longer be publishing releases of the conformance runner. Users can instead install the conformance runner (and protoc if desired) via the protobuf-conformance package on npm.