Extending Remote Schemas
Sometimes, the remote schemas stiched into our Gateway schema are... "not so nice". For instance, it's common to find schemas that don't use required fields where they should, mistakenly making our codebase believe that a field could be empty when it can't.
Although we have no control over those remote schemas, we do have control over our generated Gateway schema.
Modifying type/field definitions isn't often recommended, but if we are sure there is room for improvement, the ./extend.graphql schema definition is the place to override some types and fields.
Besides adding overrides to this file, though, we must at a validation ignore rule to the ./index.ts, so that when our Gateway application is booted with diverging schema definitions, it doesn't complain much about our "incompatible" override.
In theory, this functionality could be used to modify locally defined GraphQL modules, but this would be non-sense as we already have control over these schemas.