Resolve circular dependencies in web ide frontend code
We have the following circular dependencies in app/assets/javascripts/ide/
:
.../ide_router.js -> .../stores/index.js -> .../stores/actions.js -> .../stores/actions/file.js -> .../ide_router.js
.../stores/actions.js -> .../stores/actions/file.js -> .../ide_router.js -> .../stores/index.js -> .../stores/actions.js
.../stores/actions/file.js -> .../ide_router.js -> .../stores/index.js -> .../stores/actions.js -> .../stores/actions/file.js
.../stores/actions/project.js -> .../ide_router.js -> .../stores/index.js -> .../stores/actions.js -> .../stores/actions/project.js
.../stores/index.js -> .../stores/actions.js -> .../stores/actions/file.js -> .../ide_router.js -> .../stores/index.js
.../stores/modules/commit/actions.js -> .../ide_router.js -> .../stores/index.js -> .../stores/modules/commit/index.js -> .../stores/modules/commit/actions.js
.../stores/modules/commit/index.js -> .../stores/modules/commit/actions.js -> .../ide_router.js -> .../stores/index.js -> .../stores/modules/commit/index.js
(https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/212248597)
Webpack's attempt to resolve them can lead to unintended side effects, so we should get rid of them.