https://github.com/bufbuild/protobuf-conformance
A repository running the Protobuf conformance tests against various libraries
https://github.com/bufbuild/protobuf-conformance
conformance javascript protobuf typescript
Last synced: 11 months ago
JSON representation
A repository running the Protobuf conformance tests against various libraries
- Host: GitHub
- URL: https://github.com/bufbuild/protobuf-conformance
- Owner: bufbuild
- License: apache-2.0
- Created: 2023-01-20T18:19:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-01T16:56:01.000Z (12 months ago)
- Last Synced: 2025-07-01T17:41:36.724Z (12 months ago)
- Topics: conformance, javascript, protobuf, typescript
- Language: JavaScript
- Homepage:
- Size: 17.9 MB
- Stars: 27
- Watchers: 10
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Protobuf Conformance Tests
A repository which runs the protocol buffers
[conformance test suite](https://github.com/protocolbuffers/protobuf/tree/main/conformance) against various implementations.
## 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
## Results
| Implementation | JavaScript and
TypeScript | Standard
Plugin | Editions | Required tests | Recommended tests |
|---|:---:|:---:|:---:|:---:|:---:|
| [Protobuf-ES](impl/protobuf-es) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | 
(0 failures) | 
(0 failures) |
| [protobuf-ts](impl/protobuf-ts) | :heavy_check_mark: | :heavy_check_mark: | :x: | 
(3 failures) | 
(1 failures) |
| [google-protobuf](impl/google-protobuf) | :x: | :heavy_check_mark: | :x: | 
(649 failures) | 
(305 failures) |
| [ts-proto](impl/ts-proto) | :x: | :heavy_check_mark: | :x: | 
(740 failures) | 
(613 failures) |
| [protoscript](impl/protoscript) | :heavy_check_mark: | :heavy_check_mark: | :x: | 
(1140 failures) | 
(535 failures) |
| [protoc-gen-ts](impl/protoc-gen-ts) | :x: | :heavy_check_mark: | :x: | 
(1678 failures) | 
(472 failures) |
| [protobuf.js](impl/protobuf.js) | :heavy_check_mark: | :x: | :heavy_check_mark: | 
(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.
## Running the tests
To run the conformance tests, run `npm test` from the repo root.
Note that only Linux and OSX operating systems are supported.