An open API service indexing awesome lists of open source software.

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

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.