metamask-extension
metamask-extension copied to clipboard
chore: update typescript to ~v5.3.3
This PR updates our typescript version to 5.3.3 (currently the latest version).
It also updates some eslint and babel dependencies as they older versions didn't work with the newer version of typescript.
There were some rule changes:
-
jsdoc/check-line-alignment
now requires consistent line wrap indentation. This is a large change that I don't want to make in this PR (it should be separate and the commit added to a.git-blame-ignore-revs
file). -
Object<...>
type syntax in jsdoc is not allowed; I fixes the breakages in this PR, as they were minimal - JS files that were checked using
typescript-eslint
aren't anymore. It is no longer permitted to applytypescript-eslint
to files that are not also included in ourtsconfig.json
, and since our JS does not pass the typechecker I had to removetypescript-eslint
from some JS rules. - We previously had a rule
jest/no-large-snapshots
, but it wasn't actually enforced. This eslint package updates fix the rule, but we don't even come close to passing it, so I turned it off - ui/store/actions.ts was beyond repair. I've enabled
@ts-nocheck
for the entire file. I do NOT volunteer as tribute to fix this. :-)
I have also simplified and updated our tsconfig.json
to remove redundant options and align it with the features and files that we use. I've also added compilation caching, which makes successive typescript linting much faster. See comments in tsconfig.json
.
I've merged our .prettierignore
and eslint
ignore lists together, as the two lists seem to have diverged over time. Our eslintrc.js
now imports .prettierignore
so they won't diverge again in the future.
Our eslint config now fully parses our tsconfig.json
and only applies typescript-eslint
to .ts
and .tsx
files that our tsconfig.json lists (the .js
files don't typecheck sucessfully, so they aren't included).
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎
This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
Package | New capabilities | Transitives | Size | Publisher |
---|---|---|---|---|
npm/@tsconfig/[email protected] | None | 0 |
2.5 kB | typescript-deploys |
npm/@typescript-eslint/[email protected] | Transitive: environment, filesystem, shell, unsafe | +77 |
45.6 MB | jameshenry |
npm/@typescript-eslint/[email protected] | Transitive: environment, filesystem, shell, unsafe | +69 |
41.4 MB | jameshenry |
npm/@typescript-eslint/[email protected] | Transitive: environment, filesystem, shell, unsafe | +71 |
41.6 MB | jameshenry |
npm/@typescript-eslint/[email protected] | Transitive: environment, filesystem, shell, unsafe | +69 |
41.1 MB | jameshenry |
npm/@typescript-eslint/[email protected] | None | +1 |
51.6 kB | jameshenry |
npm/[email protected] | None | 0 |
13.6 kB | joshuakgoldberg |
npm/[email protected] | Transitive: environment, filesystem, shell, unsafe | +63 |
10.1 MB | gajus |
npm/[email protected] | None | +1 |
32.8 MB | joshuakgoldberg |
🚮 Removed packages: npm/@cspotcode/[email protected], npm/@typescript-eslint/[email protected], npm/@typescript-eslint/[email protected], npm/@typescript-eslint/[email protected], npm/[email protected]
Builds ready [076fb81]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (755 ± 20 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 80 | 141 | 91 | 12 | 6 |
domContentLoaded | 9 | 45 | 16 | 7 | 3 | ||
load | 702 | 852 | 755 | 41 | 20 | ||
domInteractive | 9 | 45 | 16 | 7 | 3 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
9c59da5
) 68.54% compared to head (18f4e2a
) 68.53%.
Additional details and impacted files
@@ Coverage Diff @@
## develop #22530 +/- ##
===========================================
- Coverage 68.54% 68.53% -0.01%
===========================================
Files 1088 1088
Lines 42908 42893 -15
Branches 11414 11414
===========================================
- Hits 29410 29396 -14
+ Misses 13498 13497 -1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Builds ready [f179cdb]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (946 ± 25 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 124 | 244 | 180 | 31 | 15 |
domContentLoaded | 10 | 98 | 37 | 26 | 12 | ||
load | 880 | 1107 | 946 | 53 | 25 | ||
domInteractive | 10 | 98 | 37 | 26 | 12 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Builds ready [18a69f8]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1059 ± 96 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 118 | 429 | 225 | 83 | 40 |
domContentLoaded | 12 | 97 | 49 | 30 | 14 | ||
load | 794 | 1498 | 1059 | 200 | 96 | ||
domInteractive | 12 | 97 | 49 | 30 | 14 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Builds ready [18a69f8]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (949 ± 25 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 151 | 225 | 190 | 17 | 8 |
domContentLoaded | 9 | 70 | 37 | 24 | 12 | ||
load | 896 | 1089 | 949 | 52 | 25 | ||
domInteractive | 9 | 70 | 37 | 24 | 12 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Should we add the package [email protected]
as part of this PR?
Builds ready [d840987]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1111 ± 42 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 134 | 352 | 217 | 50 | 24 |
domContentLoaded | 9 | 83 | 33 | 23 | 11 | ||
load | 987 | 1329 | 1111 | 88 | 42 | ||
domInteractive | 9 | 83 | 33 | 23 | 11 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Builds ready [18f4e2a]
- builds: chrome, firefox
- builds (beta): chrome
- builds (flask): chrome, firefox
- builds (MMI): chrome, firefox
- builds (test): chrome, firefox
- builds (test-flask): chrome, firefox
- build viz: Build System
- mv3: Background Module Init Stats
- mv3: UI Init Stats
- mv3: Module Load Stats
- mv3: Bundle Size Stats
- mv2: E2e Actions Stats
- code coverage: Report
- storybook: Storybook
- typescript migration: Dashboard
- all artifacts
Page Load Metrics (1073 ± 72 ms)
Platform | Page | Metric | Min (ms) | Max (ms) | Average (ms) | StandardDeviation (ms) | MarginOfError (ms) |
---|---|---|---|---|---|---|---|
Chrome | Home | firstPaint | 98 | 498 | 206 | 76 | 37 |
domContentLoaded | 8 | 96 | 32 | 25 | 12 | ||
load | 872 | 1489 | 1073 | 151 | 72 | ||
domInteractive | 8 | 96 | 32 | 25 | 12 |
Bundle size diffs [🚀 Bundle size reduced!]
- background: 0 Bytes (0.00%)
- ui: 58 Bytes (0.00%)
- common: -72 Bytes (-0.00%)
Should we add the package
[email protected]
as part of this PR?
@HowardBraham, the tsx
package isn't used. The webpack PR I'm working on does add it though.