-
Notifications
You must be signed in to change notification settings - Fork 547
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: re-enable TS codegen #3655
Conversation
Also, This is not quite draft nor quite ready. It should be added to based on feedback |
Just realised this STILL won't work due to: https://github.com/ignite/cli/blob/main/ignite/pkg/cosmosbuf/buf.go#L91-L95 Normally the buf export there would also export the (required) google/protobuf/any , google/protobuf/duration, google/protobuf/timeout protos. Need to add them manually or simply reference them in our own proto files (empty proto with 3 import statements should do it) Any other ideas welcome...Although I think the best way is to figure out how to get around the orm/internal buf error. |
…#3657) * feat(pkg/protoc): change package to use protoc binary from files repo * chore(pkg/protoc): remove embedded protoc binary
Co-authored-by: Jerónimo Albi <[email protected]>
Co-authored-by: Danilo Pantani <[email protected]>
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #3655 +/- ##
=======================================
Coverage ? 24.71%
=======================================
Files ? 289
Lines ? 23945
Branches ? 0
=======================================
Hits ? 5918
Misses ? 17494
Partials ? 533
|
This was supposed to be a simple code reversion but ended up being much more.
Final list of steps taken:
Module Resolution algorithm updates:
We now have a single resolveIncludes() method which takes a module path and returns a list of proto include folders needed to build this module. It does so by including default protoc include folders, the module's own proto folder, the app's proto include folders and if module is using buf, it uses buf export to gather required dependencies. If not it simply adds the standard third_party protoDirs
cosmosgen generator struct updates:
appModules now has a corresponding appIncludes field which contains the output of resolveIncludes for the app's modules. Similarly, each entry in thirdModules is now paired by its corresponding includes field.
swagger-typescript-api bumped down to last known working version. Update will happen in another PR
protoc-based openap[i generation scrapped due to incompatibility with current proto structures. Switched to the newly introduced buf version instead. Added a method to generate a merged openapi spec for a single module without operation id renaming to match the prior codegen behaviour
pegged TS version in nodetime to last known working as more recent minor TS updates are incompatible with sta
Things to note: