Skip to content

GitLab Next

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 39,511
    • Issues 39,511
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 1,222
    • Merge requests 1,222
  • Requirements
    • Requirements
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
    • Value stream
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • GitLabGitLab
  • Merge requests
  • !33366

Merged
Created May 29, 2020 by Paul Slaughter@pslaughter🔴Maintainer

Step 1.2 - Break IDE store and router cyclical dependency

  • Overview 18
  • Commits 1
  • Pipelines 8
  • Changes 21
  • Step 1.1 - Create modules to help break store and router cyclical dependency
  • Step 1.2 - Break IDE store and router cyclical dependency

What does this MR do?

This MR breaks the cyclical dependency between the singleton Vuex store and the singleton VueRouter in the IDE.

How does it do this?

  • The router module now exports a factory function which takes a reference to the store as a parameter.
  • It uses the sync_store_and_router module which was introduced in !33787 (merged).

But why? Is this really necessary?

This cyclicaly dependency (besides causing some potentially non-deterministic scenarios) currently creates some difficulty with cleanly testing the FE integration of the IDE. Because of this dependency, the router dispatches actions on import which leaves side-effects and is hard to deal with...

References

  • Related to #208800 (closed)
  • Closes #28717 (closed)
Edited Jun 03, 2020 by Paul Slaughter
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: 208800-step-1-break-store-and-router-cyclical-dependency

Enable Gitpod?

To use Gitpod you must first enable the feature in the integrations section of your user preferences.

Cancel Enable Gitpod