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

Refactor rover dev for use with rover lsp #2170

Draft
wants to merge 60 commits into
base: language-server
Choose a base branch
from

Conversation

dylan-apollo
Copy link
Member

@dylan-apollo dylan-apollo commented Sep 23, 2024

WIP refactor—lots of TODO: in the code.

Broad strokes, this PR:

  1. Removes the multi-terminal mode from rover dev again, along with all IPC, leader/follower stuff, etc.
  2. Consolidates how composition works with a new Composer struct
  3. Adds some type safety around fully resolved supergraph yamls (that should be contributed to apollo-federation-types eventually)
  4. Extracts all the rover dev file/introspection watcher stuff into a new Watcher struct which is re-used by rover lsp
  5. Adds supergraph.yaml file watching for both rover dev and rover lsp, so changing federation versions/subgraphs auto-recomposes and updates the file/introspection watchers

loshz and others added 30 commits September 24, 2024 10:49
Add unit tests for the `RunComposition` handler.
Add tests for `SubgraphWatcher` handle events.
Fixes tests against the [supergraph demo
repo](https://github.com/apollographql/supergraph-demo). In the previous
iteration, the federation version resolver defaulted to the
`FederationVersion::LatestFedTwo` when it should have been
`FederationVersion::LatestFedOne`
Compose a single time at startup instead of adding/removing subgraphs from subgraph watchers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants