Skip to content

Resolve circular dependencies in filtered search frontend code

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

We have the following circular dependencies in app/assets/javascripts/filtered_search/:

.../available_dropdown_mappings.js -> .../dropdown_hint.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../available_dropdown_mappings.js

.../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_user.js -> .../dropdown_ajax_filter.js

.../dropdown_emoji.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../available_dropdown_mappings.js -> .../dropdown_emoji.js

.../dropdown_hint.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../available_dropdown_mappings.js -> .../dropdown_hint.js

.../dropdown_non_user.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_non_user.js

.../dropdown_user.js -> .../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_user.js

.../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_user.js -> .../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js

.../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_user.js -> .../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js

.../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../dropdown_user.js -> .../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js

.../filtered_search_visual_tokens.js -> ee/.../visual_token_value.js -> .../visual_token_value.js -> .../filtered_search_visual_tokens.js

.../null_dropdown.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> .../available_dropdown_mappings.js -> .../null_dropdown.js

.../visual_token_value.js -> .../filtered_search_visual_tokens.js -> ee/.../visual_token_value.js -> .../visual_token_value.js

ee/.../available_dropdown_mappings.js -> .../dropdown_user.js -> .../dropdown_ajax_filter.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js

ee/.../dropdown_weight.js -> .../filtered_search_dropdown.js -> .../dropdown_utils.js -> .../filtered_search_dropdown_manager.js -> ee/.../available_dropdown_mappings.js -> ee/.../dropdown_weight.js

ee/.../visual_token_value.js -> .../visual_token_value.js -> .../filtered_search_visual_tokens.js -> ee/.../visual_token_value.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.

Edited by 🤖 GitLab Bot 🤖