apollographql / apollographql/federation

Warn on incompatible versions of the gateway and other internal packages

Open
#2,409 0 comments 0 reactions 0 assignees View on GitHub
P3
Dominant language
TypeScript
Stars
725
Forks
276
Avg merge
1h 47m
Merged PRs (30d)
1

Description

The somewhat implicit contract we use during development is that the `@apollo/gateway` package and its dependencies are released together and should be used together. In other words, you shouldn't mix-and-match various versions of, say, `@apollo/gateway` and `@apollo/query-planner` or `@apollo/federation-internals`.

But in practice, this may not be obvious to all users and I wonder if we could maybe do a better job of warning users to not mix-and-match versions of our packages. At a minimum, we could maybe be a bit more explicit about this in the readme of the various packages, but I wonder if the gateway can detect the version in use of those other packages and issue a warning if, say, the minor versions don't match.

Note: creating this because someone run into such a problem of mixing versions and getting an issue in #2392 .

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the @apollo/gateway package and its @apollo/query-planner and @apollo/federation-internals dependencies, then determine how version compatibility could be detected and where a warning should appear. Done means an agreed warning behavior for incompatible versions, with package README guidance updated if that is selected.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, typescript
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.