Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ℹ️ Federation Packages Repository Move #4560

Closed
abernix opened this issue Sep 11, 2020 · 0 comments · Fixed by #4561
Closed

ℹ️ Federation Packages Repository Move #4560

abernix opened this issue Sep 11, 2020 · 0 comments · Fixed by #4561
Assignees

Comments

@abernix
Copy link
Member

abernix commented Sep 11, 2020

tl;dr @apollo/federation and @apollo/gateway have moved to apollographql/federation with apollographql/federation#134. We are aware of existing PRs which modify packages/apollo-federation or packages/apollo-gateway on this repository and ask that those affected hold tight while next steps happen in the next few weekdays. I/we will post on the affected PRs/here in this issue with updates.  Please feel free to leave questions related to this particular migration in this tracking issue! Thanks for your understanding and cooperation. We believe this will yield better organization and separation of concerns in the long-run!

Since its introduction, Apollo Federation has grown into its own product and — in terms of how its code evolves — is largely decoupled from Apollo Server's code itself (e.g., apollo-server-* packages and supporting packages).

In technical practice, code changes have rarely affected or needed to be coupled to Apollo Server directly, apart from the initial support for accepting a gateway parameter on the ApolloServer constructor. We also believe that Apollo Gateway and Federation progress should be tracked separately from Apollo Server since using Apollo Federation doesn't necessarily require Apollo Server (though we think it's a great coupling!; they work great together!)

On the Apollo Federation repository, apollographql/federation#134 already brought the @apollo/gateway and @apollo/federation packages from this repository — along with the relevant JavaScript infrastructure for building them (with TypeScript) and testing them (with Jest) — to their new home on that repository.

The next step is to remove that code from here in apollo-server so we have a single source of truth. In terms of deleting code from the repository, that is a simple ergonomic. However, this will leave a number of existing PRs in a state where they are trying to merge code to a codebase that has that code removed. I will be working on the next steps for those PRs. We suggest everyone leave those PRs as is for now while I run a few things to try to simplify the migration process on the whole.

I suspect this will be some automated git format-patch-ing generation and branch creation on the other side of things, but it may have some asks of the original PRs. In the case that the original PR authors cannot make the lift, I can absolutely facilitate that.

There is a GitHub Project tracking the remaining action items as I tackle them. See those for more specific details! Thank you again for your patience and cooperation and please let me know if you have any feedback.

@abernix abernix self-assigned this Sep 11, 2020
@abernix abernix pinned this issue Sep 11, 2020
abernix added a commit that referenced this issue Sep 11, 2020
…oving.

This is a precursor to a step that will remove this code which has been
moved to another repository.

See #4560 for details,
and follow the next commit for the removal!
abernix added a commit that referenced this issue Sep 11, 2020
Everything will continue, however, as federation becomes more independent
from Apollo Server, it (and its concerns, like Apollo Gateway) move to their
own repository.  (It's always been relatively independent, but it didn't
necessarily warrant its own repository before.)

This includes `apollo-federation-integration-testsuite` (unpublished to
npm), `@apollo/gateway (which lived in `packages/apollo-gateway` here and as
`/gateway-js` on the new repository), and `@apollo/federation` (which lived
in `packages/apollo-federation` here and as `/federation-js` on the new
repository).

See #4560 for details,
and also apollographql/federation#134 for where (and
how) it was introduced on the other side.
@abernix abernix unpinned this issue Nov 12, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant