MetaMask / metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
https://metamask.io
Other
11.67k stars 4.78k forks source link

[TASK] Migrate to Typescript #7601

Closed ghost closed 3 years ago

ghost commented 4 years ago

Intro

MM has evolved to something much larger that an tiny browser-extension. The mm organization hosts now the browser-extension, a mobile browser, a plugin-system (kind of "browser-extensions within a browser-extension"), the "gaba" (which looks like a component model) and more.

The lead/core-developers are very busy with all those (and other) sub-projects. As a result of this, the quite important migration to typescript has fallen a bit back. The already existent so called "technical debt" (e.g. polishing existent code to have flawless technical quality) increases.

Migrating to typescript whilst having so many "moving targets" (software which is live, and in the same time under heavy development - or software which is under development, but depends-on/rewrites existent software) is not that simple.

It is a task which needs the stewardship of an experienced senior+ dev who can focus fully on this, without distractions from daily business / production. Ideally, this dev has past experience getting an overview-of/feeling-for the overall mm-codebase.

The Typescript migration is the basic step to refine the code-base further on a higher grade (e.g. abstract further, increase reuse, simplify dive-in and maintenance, "fuse" gaba/plugin into main-codebase)

Preparation

Process Requirements (draft)

Must

Should

Maybe

Process (draft)

Execution (draft)

Local Test

etg-sig-utils, eth-keyring-controller, eth-simple-keyring

Production

Team

Duration (estimate)

Full Budget

Reduced Budget

(seems not applicable, as core-devs are not available and have anyways their backlogs)

Resources

Personal

I'm applying for the senior/architect role here. Would be productive from "day -n", as I've already started dive-in already, and have the code-base feeling from past tasks. additionally, my estimates re time-frames are usually kept.

ghost commented 4 years ago

@danfinlay , I've updated the issue-text as usual. Should you choose for it: it's ready for a "go", all preparations are done on my side.

Gudahtt commented 3 years ago

We're still working on this, but progress is now being tracked elsewhere, outside of GitHub.