MetaMask / MetaMask/metamask-extension
Refactor MetaMask extension to TypeScript
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### Background
It has been a long term goal of the MetaMask engineering team to convert all organization JavaScript code to TypeScript to take advantage of it's developer experience and type safety. Our goal was to convert all of the extension dependencies that we maintain to TypeScript first so that we could rely upon the types we create for them. We have progressed that goal a great deal, with only a handful of repositories remaining that have not yet been converted. Our new strategy is to try and convert leaf node files with few dependencies to use TypeScript, and then work our way to the trunk files. If we hit files that bring in dependencies that are not yet typed we will resolve to find types for them in the `@types` DefinitelyTyped repo. If those do not exist, or we own the dependency that is untyped, we will work around them until we have types.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by identifying a leaf-node JavaScript file in the extension and checking its dependencies for existing TypeScript or DefinitelyTyped types; completion is not narrowly defined beyond progressing the broader conversion goal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100