Closed sourishkrout closed 7 months ago
Sebastian, are you sure this is related to https://github.com/timostamm/protobuf-ts/releases/tag/v2.9.4 ? The changes were minimal.
The version of TypeScript used by plugin-framework was not changed either (it would be the most likely cuprit).
@timostamm looking at the diff I'm a bit puzzled myself but A/B testing the two versions side-by-side with nothing else changing, I can reliably reproduce the results from above.
I can try to do more digging. Would you have any pointers where to look @timostamm? The only other place I can think of is https://github.com/bufbuild/protobuf-es but I'm somewhat unfamiliar with both projects.
Actually, never mind my comment about:
The only other place I can think of is https://github.com/bufbuild/protobuf-es but I'm somewhat unfamiliar with both projects.
Realized https://github.com/bufbuild/protobuf-es
is not involved here at all.
Update: I just ran protobuf-ts
locally instead of as Buf plugin and the ts compiler in v2.9.4
appears to produce the desired result.
@timostamm any chance you could point me at where I can file an issue for Buf? Thank you! And thanks for maintaining this project!
internal/gen/proto/direct/runme/parser
└── v1
├── parser_pb.client.d.ts
├── parser_pb.client.js
├── parser_pb.d.ts
└── parser_pb.js
2 directories, 4 files
That's right, both projects are completely independent of each other right now. The plan is to gradually change that to keep maintenance manageable, with the first step switching to @bufbuild/protoplugin as the plugin framework. But that has not happened yet.
Thanks for the investigation! I think this is due to a recent optimization for the remote plugins. They use exactly the same code, but the Docker image build recently changed.
Can you file an issue on https://github.com/bufbuild/plugins and reference https://github.com/bufbuild/plugins/tree/main/plugins/community/timostamm-protobuf-ts?
It will be extremely helpful to include a proto file that demonstrates the issue. The problem most likely does not show for every proto input, and may only show under rare circumstances. So you'll save the folks a lot of trial an error if you include an example.
Filed https://github.com/bufbuild/plugins/issues/1162 in this issues place.
Starting with
v2.9.4
it appears thatoutput_javascript
no longer emits typescript definitions. Conversely,output_typescript
won't emit any JS files and unfortunately won't play nicely with bundlers (when consumed through Buf via node_modules) either.Here's the difference,
v2.9.4
; please note how theparser_pb.d.ts
is absent:And here's
v2.9.3
: