Enable Vue 3 migration rollout for Secret Detection exclusions page

What does this MR do and why?

Opts the project-level Secret Detection Exclusions page into the Vue 3 migration system, behind a feature flag.

When vue3_migrate_secret_detection_exclusions is enabled, Rails serves the Vue 3 (@vue/compat) chunk for this page.

Otherwise it continues to run on Vue 2. No JavaScript or controller changes are needed.

  • ee/app/assets/javascripts/pages/projects/security/secret_detection_configuration/index.js (entrypoint)
  • ee/app/assets/javascripts/security_configuration/secret_detection/ (app code)

Part of the Vue 2 → Vue 3 migration (&6252). Follows the same pattern as !247789.

Rollout Issue: #607891.

What changed

  • ee/config/feature_flags/beta/vue3_migrate_secret_detection_exclusions.yml (added)
  • ee/app/assets/javascripts/pages/projects/security/secret_detection_configuration/vue3_migration.yml (added)

Note: The flag is named for the page's content, not its directory. The entrypoint directory is secret_detection_configuration, but the page is the Secret Detection Exclusions UI, so the flag is vue3_migrate_secret_detection_exclusions. It satisfies the vue3_migrate_ prefix rule enforced in config/helpers/vue3_migration_file_validation.js.

How to verify

The page is gated twice, so you need an Ultimate license and to have Maintainer+ role on the project.

  • Run Feature.enable(:vue3_migrate_secret_detection_exclusions) in your Rails console.
  • Navigate to Secure > Secret Detection on a project (path is /-/security/secret_detection).
  • Confirm the browser console reports Using Vue.js 3 (with @vue/compat) (check this comment instead).
  • Verify each one of the following:
    • The exclusions list is displayed.
    • The create/edit drawer works.
    • The delete confirmation modal works.
    • Form validation per exclusion type.
    • The empty state.
Edited by Ahmed Hemdan

Merge request reports

Loading