96885838a5ff2ebf066694010d07e9aa1c1daff4 - Ensures type extensions only occur once per file, this is performed at the DSL parsing level to ensure that we can easily raise all errors
6a896395497c03e876881af6554926c4826e19c4 - Adds JSON validation to ensure that any module/file metadata contained in a the JSON representation of a module would resolve to a single module per file, this includes tests in all cases where the module/file can be defined (type, relation, condition).
To avoid unnecessary loops I've tried to add the file/module map tracking to existing checks but not sure if that potentially overloads the separate checks
This is only for JS right now as we don't have a Java version of validateJSON
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected
Description
Deals with the following validation for modules:
validateJSON
References
Closes #187
Review Checklist
main