Resolve circular dependencies in frontend imports
We have some circular dependencies in the frontend code. This code evaluates differently depending on the order files are imported. We should resolve them and introduce a check (https://www.npmjs.com/package/circular-dependency-plugin).
https://gitlab.com/gitlab-org/gitlab-ee/commits/winh-circular-dependencies-ee (https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/212248597)
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_hint.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/available_dropdown_mappings.jsERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_emoji.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_emoji.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_hint.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_hint.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_non_user.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_non_user.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js -> ee/app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/null_dropdown.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/null_dropdown.js
ERROR in Circular dependency detected: app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js -> ee/app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/visual_token_value.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/actions.js -> app/assets/javascripts/ide/stores/actions/file.js -> app/assets/javascripts/ide/ide_router.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/actions.js -> app/assets/javascripts/ide/stores/actions/file.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/actions.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/actions/file.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/actions.js -> app/assets/javascripts/ide/stores/actions/file.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/actions/project.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/actions.js -> app/assets/javascripts/ide/stores/actions/project.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/actions.js -> app/assets/javascripts/ide/stores/actions/file.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/modules/commit/actions.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/modules/commit/index.js -> app/assets/javascripts/ide/stores/modules/commit/actions.js
ERROR in Circular dependency detected: app/assets/javascripts/ide/stores/modules/commit/index.js -> app/assets/javascripts/ide/stores/modules/commit/actions.js -> app/assets/javascripts/ide/ide_router.js -> app/assets/javascripts/ide/stores/index.js -> app/assets/javascripts/ide/stores/modules/commit/index.js
ERROR in Circular dependency detected: app/assets/javascripts/image_diff/helpers/index.js -> app/assets/javascripts/image_diff/helpers/utils_helper.js -> app/assets/javascripts/image_diff/image_badge.js -> app/assets/javascripts/image_diff/helpers/index.js
ERROR in Circular dependency detected: app/assets/javascripts/image_diff/helpers/utils_helper.js -> app/assets/javascripts/image_diff/image_badge.js -> app/assets/javascripts/image_diff/helpers/index.js -> app/assets/javascripts/image_diff/helpers/utils_helper.js
ERROR in Circular dependency detected: app/assets/javascripts/image_diff/image_badge.js -> app/assets/javascripts/image_diff/helpers/index.js -> app/assets/javascripts/image_diff/helpers/utils_helper.js -> app/assets/javascripts/image_diff/image_badge.js
ERROR in Circular dependency detected: app/assets/javascripts/image_diff/image_diff.js -> app/assets/javascripts/image_diff/helpers/index.js -> app/assets/javascripts/image_diff/helpers/utils_helper.js -> app/assets/javascripts/image_diff/image_diff.js
ERROR in Circular dependency detected: app/assets/javascripts/image_diff/replaced_image_diff.js -> app/assets/javascripts/image_diff/helpers/index.js -> app/assets/javascripts/image_diff/helpers/utils_helper.js -> app/assets/javascripts/image_diff/replaced_image_diff.js
ERROR in Circular dependency detected: ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> app/assets/javascripts/filtered_search/dropdown_user.js -> app/assets/javascripts/filtered_search/dropdown_ajax_filter.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js
ERROR in Circular dependency detected: ee/app/assets/javascripts/filtered_search/dropdown_weight.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown.js -> app/assets/javascripts/filtered_search/dropdown_utils.js -> app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js -> ee/app/assets/javascripts/filtered_search/available_dropdown_mappings.js -> ee/app/assets/javascripts/filtered_search/dropdown_weight.js
ERROR in Circular dependency detected: ee/app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/visual_token_value.js -> app/assets/javascripts/filtered_search/filtered_search_visual_tokens.js -> ee/app/assets/javascripts/filtered_search/visual_token_value.js