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
(check this comment instead).Using Vue.js 3 (with @vue/compat) - 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.