apollographql / apollographql/federation

[js-repo-migration] Address affected PRs

Open
#141 0 comments 0 reactions 1 assignee Claimed by @abernix View on GitHub
Dominant language
TypeScript
Stars
725
Forks
276
Avg merge
1h 47m
Merged PRs (30d)
1

Description

Follows up: #134

As noted in #134, we'll need to bring PRs over from the `apollo-server` repository that, if approved and merged, would need to land here in this `federation` repository since the code will no longer exist in the `apollo-server` repository.

I will help usher these over using some `git`-foo, but there might be some asks of contributors to re-open their PRs on this repository. I will try to make that as painless as possible and take on the additional burden myself as necessary to make sure the contributions are not lost. Of course, we will still need to review those PRs and determine if they're aligned with the project roadmap and direction, but I hope that conversation can continue - mainly - on this new home for federation-related concerns.

## Affected PRs

This is the list from #134, and _this copy_ should become the source for tracking the progress. I am including the details about how I acquired this list originally here for completeness.

I queried all PRs (on the `apollo-server` repository) affected by the move executed in #134 using a query against the GitHub API (hidden in the expando here for brevity reasons; expand at your own curiosity).

The GraphQL query and the `jq` filter to run on its results

> Please note there are two pages to this list, but only 100 can be fetched at a time. Use the connections cursor to get the next page.

### Query
```graphql
{
prSearch: search(type: ISSUE, first: 100, query: "repo:apollographql/apollo-server is:pr is:open") {
issueCount
edges {
node {
... on PullRequest {
id
number
title
url
changedFiles
files(first: 100) {
pageInfo {
startCursor
hasNextPage
}
nodes {
... on PullRequestChangedFile {
path
}
}
}
}
}
}
}
}
```

### `jq` filter on the results (both pages of them, separately)

```
cat output_of_above |
jq '
[
.data.prSearch.edges[].node |
select(
.files.nodes[].path |
test("apollo-(gateway|federation)")
) |
{ url, title }
] |
unique_by(.url)
'
```

Running that query yields the following candidates for review. Again, some of these are worth addressing in the near term and some of them might not be aligned with our current roadmap and could wait until later (or might need to be re-applied in Rust as the query planner itself is now written in Rust).

#### Needs further action (not closed yet)

- [ ] [Allow to use @provide with interfaces & Allow to use @extend one fields defined in service different then base](https://github.com/apollographql/apollo-server/pull/3987)
- [ ] [[WIP] Fix (#4283 #3582): Union with interfaces issue](https://github.com/apollographql/apollo-server/pull/4298)
- [ ] [Build Federated Schemas From Existing Schema](https://github.com/apollographql/apollo-server/pull/4310)
- [ ] [Add resolveReferences](https://github.com/apollographql/apollo-server/pull/3024)

#### Keep checking in on (closed on AS, make sure they get re-opened here.)

- [ ] [feat: Add support for including excepting SourceCharacter to printDescription](https://github.com/apollographql/apollo-server/pull/3765)
- [ ] [Enable overriding services for local dev with managed config in Apollo Gateway](https://github.com/apollographql/apollo-server/pull/4245)
- [ ] [Handle external types that do not exist gracefully](https://github.com/apollographql/apollo-server/pull/3914)
- [ ] [Allow to use @provide with interfaces](https://github.com/apollographql/apollo-server/pull/3244)

#### Already re-landed

- [x] [feat(gateway): support alternate query plan cache implementations](https://github.com/apollographql/apollo-server/pull/4026)
- [x] [Federation: Insert empty Subscription type definition](https://github.com/apollographql/apollo-server/pull/4148)
- [x] [federation: fix warning for mismatched unnamed @external](https://github.com/apollographql/apollo-server/pull/4392)
- [x] [Add test reproducing #4063](https://github.com/apollographql/apollo-server/pull/4281)
- [x] [federation: Include originalError in downstreamServiceError](https://github.com/apollographql/apollo-server/pull/3211)
- [x] [[RESTDataSource] refactor to allow overridding the Error class](https://github.com/apollographql/apollo-server/pull/4308)
- [x] [WIP: Gateway builds different query plan depending on fragmentation of incoming query](https://github.com/apollographql/apollo-server/pull/3830)
- [x] [Add Query Plan tests from integration test suite](https://github.com/apollographql/apollo-server/pull/4469)
- [x] [Release: integrate WASM query planner](https://github.com/apollographql/apollo-server/pull/4533)
- [x] [Narrow `willSendRequest`'s parameter type](https://github.com/apollographql/apollo-server/pull/3587)
- [x] [Gateway: pass through errors encountered when running final execute](https://github.com/apollographql/apollo-server/pull/4523)

#### Not re-landing / resolved otherwise

- [x] [Make communicating with Apollo's commercial products into ordinary plugins](https://github.com/apollographql/apollo-server/pull/4453): @glasser is responsible for getting https://github.com/apollographql/federation/pull/148 merged
- [x] [[BREAKING] Expand didEncounterErrors API](https://github.com/apollographql/apollo-server/pull/4380)
- [x] [feat(apollo-gateway): opentracing](https://github.com/apollographql/apollo-server/pull/3660)
- [x] [Validate against using keys that haven't been declared](https://github.com/apollographql/apollo-server/pull/3227)
- [x] [Allow custom fetch instance to be passed into remote gateway datasource](https://github.com/apollographql/apollo-server/pull/3754)
- [x] CLOSED ~[[Cradle] Convert federation spec tests into BDD test suite](https://github.com/apollographql/apollo-server/pull/4141)~

This was affected, but #134 was actually based on its branch, so it can be closed now as "merged" (albeit in a funny, round-about merge-y way).

### Affected, but not important to address directly (dependency updates only)

These are just dependency updates. Since we have Dependabot on this repository now, these should get re-opened by a similar process over here in `federation`-land. (Worth noting, however, that both of these needed special handling. On the plus side, it's great they can be handled outside of the scope of the Apollo Server repository where we needed to wait until Apollo Server 3.0 to bump them!)

Therefore, I've marked these as _done_ (e.g., `[x]`), intentionally.

- [x] [chore(deps): update dependency node-fetch to v2.6.0](https://github.com/apollographql/apollo-server/pull/4502)
- [x] [chore(deps): update dependency graphql to v15](https://github.com/apollographql/apollo-server/pull/3953)

Assignees: @abernix

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.