MetaMask / MetaMask/metamask-extension

Resolve Menu component deprecation status

Open
#39,956 0 comments 0 reactions 0 assignees View on GitHub
INVALID-ISSUE-TEMPLATE
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

## **Description**

To unblock https://github.com/MetaMask/metamask-extension/pull/39728, we need to temporarily comment out `ui/menu` in the fitness function at `development/fitness-functions/rules/prevent-deprecated-imports.ts`.

MenuItem is currently used and not deprecated. We need to decide how to handle the Menu component going forward.

## **Technical Details**

The `ui/menu` component is currently listed as deprecated in the fitness function, but `MenuItem` is actively used and not deprecated. We need to either:

1. Refactor Menu to use Popover and make it a standard Design System component
2. Resolve how we use menus and update the deprecation status accordingly
3. Split the Menu component so MenuItem can be used independently

The temporary workaround is to comment out `ui/menu` from `DEPRECATED_COMPONENT_PATHS` in `development/fitness-functions/rules/prevent-deprecated-imports.ts`.

## **Acceptance Criteria**

- Determine the long-term strategy for the Menu component
- Either refactor Menu to use Popover as a DS component OR clarify its non-deprecated status
- Update the fitness function accordingly
- Ensure MenuItem remains available for use

## **References**

- PR that requires this resolution: https://github.com/MetaMask/metamask-extension/pull/39728
- Fitness function file: `development/fitness-functions/rules/prevent-deprecated-imports.ts`

Contributor guide

Open the contributing guide

Research direction

Start with development/fitness-functions/rules/prevent-deprecated-imports.ts and review the ui/menu usage related to PR 39728. Determine the long-term status of Menu and MenuItem, then update the fitness function so the chosen strategy is reflected and MenuItem remains available.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.