Update web protogen to use protobuf-ts #73
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are having a lot of issues with using the generated web proto files in RDK mainly because the way we currently generate these files uses
CommonJs
while our applications useECMAScript modules
for file imports. This requires us to userollup
as an intermediary build process to convert the files, which is causing unpredictable changes in our build that then cause issues in the RDK CI.For example, the code in this PR has been generated by three different users on three different systems, and all of them produce different file name hashes for the built artifacts than the CI does, blocking the change from being able to merge: viamrobotics/rdk#1478
Since RDK just copies the files from API, we need to update how we generate the files here to use more modern web based tools.
protobuf-ts
will let us generate TS and JS files that are much easier to work with and are more syntactically similar to modern web libraries.This would allow us to remove the
rollup
step in RDK and further productionize our build process there. We have already done this change in theapp
repo and the resulting code was much easier to work with. It also significantly decreases the size of our code base.