Apollo Client 2.6 -> 3.0 migration
**DRI**: @ntepluhina
We want to migrate to the next Version of Apollo Client – 3.0.
It would provide a few benefits for our frontend, namely, it would allow us to invalidate the cache.
## Preparation
Version 3.0 comes with a set of breaking changes. In order to prepare our codebase to smooth and painless migration, we need to fix a few things:
- [x] Find a solution to make cache updates immutable as now it's required (doing this by hand is very time-consuming and error-prone): https://gitlab.com/gitlab-org/gitlab/-/issues/227380
- [x] Update all cache updates with this solution: https://gitlab.com/gitlab-org/gitlab/-/issues/227382
- [x] Replace all `writeData` occurrences with `writeQuery`/`writeFragment`: https://gitlab.com/groups/gitlab-org/-/epics/5674
These steps could be done with the current version of Apollo Client (v.2.6.x)
## Migration
Apollo Client [has a migration guide](https://www.apollographql.com/docs/react/migrating/apollo-client-3-migration/), we mainly need to update some related packages and imports: https://gitlab.com/gitlab-org/gitlab/-/issues/325687
epic