Migrate dependency page away from Vuex
Vuex is deprecated at GitLab: https://docs.gitlab.com/ee/development/fe_guide/migrating_from_vuex.html
We have defined the GraphQL API as the primary choice for all user-facing features. We can safely assume that whenever GraphQL is present, so will the Apollo Client. We do not want to use Vuex with Apollo, so the VueX stores count will naturally decline over time as we move from the REST API to GraphQL.
Currently the Group dependencies page is using Vuex to fetch the tokens and filtered dependencies list. And the project dependencies page will also be introducing these filtering capabilities.
We should migrate the Group and Project dependencies away from Vuex:
Phase 1:
- backend: Migrate filtered dependencies from REST to GraphQL so we can take advantage of the Apollo Client
- Issue: Migrate dependency filtering to GraphQL (#513524 - closed)
Phase 2:
- frontend: Remove list type abstraction (unused anyway) in the store
- frontend: Migrate away from Vuex and utilize GraphQL for all dependencies request
⭐ Why this is important
We're doubling our technical debt by building new filtering capabilities on top of existing deprecated code in the project dependency page. The timing is critical - migrating away from Vuex now will be significantly easier while the feature is only on the group page. Delaying this work will increase migration complexity and customer disruption risk as we expand to the project and beyond.