Enforce requires scopes directive on types rule #2908
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.
🚨 IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of
the pull request.
Description
Add a schema validation that checks all object types for the @requiresScopes directive. This will enforce that anyone who pushes to the federated graph will have to define and apply proper security to their data.
Fixes #2907
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
I've included a spec.ts and test.ts file testing both the valid and invalid cases for the rule.
Test Environment:
@graphql-eslint/...
:Checklist:
CONTRIBUTING doc and the
style guidelines of this project
Further comments
I'm fairly new to diving deep into graphql and federation, so if there are better alternatives or changes that should be made to this before being accepted, I'm open to discussion.