Merged
Conversation
8695833 to
43adf52
Compare
mnahkies
added a commit
that referenced
this pull request
Apr 16, 2023
previously we output schemas in alphabetically sorted order, same as we do for types. this is problematic as the schemas are runtime code, and if the order is incorrect this causes "use before declaration" type errors. after this change we instead group the scheams based on their dependencies and sort each group such that depended on schemas are output before the schemas that depend on them. the implementation isn't perfect - there are a few edge cases that it doesn't cover, but it's a big improvement on the previous behavior. as a bonus, also adjusted things such that more scheams will be extracted to the schemas.ts file rather than inlined, making them reusuable and the code easier to read. this will fix the build problems on #31 as it was failing due to the ordering issue
mnahkies
added a commit
that referenced
this pull request
Apr 16, 2023
previously we output schemas in alphabetically sorted order, same as we do for types. this is problematic as the schemas are runtime code, and if the order is incorrect this causes "use before declaration" type errors. after this change we instead group the scheams based on their dependencies and sort each group such that depended on schemas are output before the schemas that depend on them. the implementation isn't perfect - there are a few edge cases that it doesn't cover, but it's a big improvement on the previous behavior. as a bonus, also adjusted things such that more scheams will be extracted to the schemas.ts file rather than inlined, making them reusuable and the code easier to read. this will fix the build problems on #31 as it was failing due to the ordering issue
43adf52 to
3b148f8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Was failing due to the zod schema's being output in sorted order and referencing each other:
Fixed via #37