MetaMask / MetaMask/metamask-sdk

[Bug]: Missing dependencies causing TypeScript build failure in dependents

Open
#1,140 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
338
Forks
260
PR merge metrics
No merged PRs in 30d

Description

### SDK

Web

### Provide environment information

OS: Linux
IDE: Vim
Stage: TypeScript build fails for listed reasons

Howdy team! What follows are the configurations, commands, and resulting errors caused by attempting to install and use the MetaMask SDK in a new project. **TLDR** It seems as though `@types/readable-stream`, `@types/react`, and some unknown packages are missing from y'alls' `package.json` file. And any help on sorting out what the _"unknown packages"_ be would be much appreciated.

### MetaMask SDK Version

0.30.3

### MetaMask Mobile app Version

N/A

### What browser are you using? (if relevant)

N/A

### How are you deploying your application? (if relevant)

N/A

### Describe the Bug

## Error from `npm run ts-build`

```
[USER@HOST PROJECT]$ npm run ts-build

> @ORG/PROJECT@0.0.1 ts-build
> tsc --project tsconfig.json

node_modules/@metamask/providers/dist/types/MetaMaskInpageProvider.d.ts:3:29 - error TS7016: Could not find a declaration file for module 'readable-stream'. '/home/USER/git/hub/ORG/PROJECT/node_modules/readable-stream/readable.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/readable-stream` if it exists or add a new declaration (.d.ts) file containing `declare module 'readable-stream';`

3 import type { Duplex } from 'readable-stream';
~~~~~~~~~~~~~~~~~

node_modules/@metamask/providers/dist/types/StreamProvider.d.ts:5:29 - error TS7016: Could not find a declaration file for module 'readable-stream'. '/home/USER/git/hub/ORG/PROJECT/node_modules/readable-stream/readable.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/readable-stream` if it exists or add a new declaration (.d.ts) file containing `declare module 'readable-stream';`

5 import type { Duplex } from 'readable-stream';
~~~~~~~~~~~~~~~~~

node_modules/@metamask/providers/dist/types/initializeInpageProvider.d.ts:2:29 - error TS7016: Could not find a declaration file for module 'readable-stream'. '/home/USER/git/hub/ORG/PROJECT/node_modules/readable-stream/readable.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/readable-stream` if it exists or add a new declaration (.d.ts) file containing `declare module 'readable-stream';`

2 import type { Duplex } from 'readable-stream';
~~~~~~~~~~~~~~~~~

node_modules/@metamask/sdk/dist/types/src/provider/SDKProvider.d.ts:1:24 - error TS7016: Could not find a declaration file for module 'readable-stream'. '/home/USER/git/hub/ORG/PROJECT/node_modules/readable-stream/readable.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/readable-stream` if it exists or add a new declaration (.d.ts) file containing `declare module 'readable-stream';`

1 import { Duplex } from 'readable-stream';
~~~~~~~~~~~~~~~~~

node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native-webview/index.d.ts:1:27 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

1 import { Component } from 'react';
~~~~~~~

node_modules/react-native-webview/lib/WebViewTypes.d.ts:1:41 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

1 import { ReactElement, Component } from 'react';
~~~~~~~

node_modules/react-native-webview/lib/WebViewTypes.d.ts:2:85 - error TS2305: Module '"react-native"' has no exported member 'Constructor'.

2 import { NativeSyntheticEvent, ViewProps, StyleProp, ViewStyle, NativeMethodsMixin, Constructor, UIManagerStatic, NativeScrollEvent } from 'react-native';
~~~~~~~~~~~

node_modules/react-native/Libraries/Animated/Animated.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Button.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts:108:31 - error TS2503: Cannot find namespace 'JSX'.

108 renderNavigationView: () => JSX.Element;
~~~

node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Pressable/Pressable.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/ScrollView/ScrollView.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/StatusBar/StatusBar.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Switch/Switch.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Touchable/Touchable.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/View/View.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Components/View/ViewPropTypes.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Image/Image.d.ts:10:24 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Lists/FlatList.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Lists/FlatList.d.ts:225:29 - error TS2503: Cannot find namespace 'JSX'.

225 getScrollResponder: () => JSX.Element | null | undefined;
~~~

node_modules/react-native/Libraries/Lists/SectionList.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Modal/Modal.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/ReactNative/AppRegistry.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/ReactNative/RendererProxy.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/ReactNative/RootTag.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/ReactNative/UIManager.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Text/Text.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/Types/CoreEventTypes.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/Libraries/YellowBox/YellowBoxDeprecated.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:78:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'Blob' must be of type '{ new (blobParts?: BlobPart[] | undefined, options?: BlobPropertyBag | undefined): Blob; prototype: Blob; }', but here has type '{ new (blobParts?: (string | Blob)[] | undefined, options?: BlobOptions | undefined): Blob; prototype: Blob; }'.

78 declare var Blob: {
~~~~

node_modules/typescript/lib/lib.dom.d.ts:2571:13
2571 declare var Blob: {
~~~~
'Blob' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:84:3 - error TS2687: All declarations of 'name' must have identical modifiers.

84 name: string;
~~~~

node_modules/react-native/types/modules/globals.d.ts:85:3 - error TS2687: All declarations of 'lastModified' must have identical modifiers.

85 lastModified: number;
~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:88:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'File' must be of type '{ new (fileBits: BlobPart[], fileName: string, options?: FilePropertyBag | undefined): File; prototype: File; }', but here has type '{ new (fileParts?: (string | Blob)[] | undefined, name?: string | undefined, options?: BlobOptions | undefined): File; prototype: File; }'.

88 declare var File: {
~~~~

node_modules/typescript/lib/lib.dom.d.ts:5340:13
5340 declare var File: {
~~~~
'File' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:113:15 - error TS2300: Duplicate identifier 'FormData'.

113 declare class FormData {
~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5562:11
5562 interface FormData {
~~~~~~~~
'FormData' was also declared here.
node_modules/typescript/lib/lib.dom.d.ts:5572:13
5572 declare var FormData: {
~~~~~~~~
and here.
node_modules/typescript/lib/lib.dom.iterable.d.ts:86:11
86 interface FormData {
~~~~~~~~
and here.

node_modules/react-native/types/modules/globals.d.ts:141:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'Headers' must be of type '{ new (init?: HeadersInit | undefined): Headers; prototype: Headers; }', but here has type '{ new (init?: HeadersInit_ | undefined): Headers; prototype: Headers; }'.

141 declare var Headers: {
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:8600:13
8600 declare var Headers: {
~~~~~~~
'Headers' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:175:3 - error TS2717: Subsequent property declarations must have the same type. Property 'body' must be of type 'BodyInit | null | undefined', but here has type 'BodyInit_ | undefined.

175 body?: BodyInit_ | undefined;
~~~~

node_modules/typescript/lib/lib.dom.d.ts:1591:5
1591 body?: BodyInit | null;
~~~~
'body' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:177:3 - error TS2717: Subsequent property declarations must have the same type. Property 'headers' must be of type 'HeadersInit | undefined', but here has type 'HeadersInit_ | undefined.

177 headers?: HeadersInit_ | undefined;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:1597:5
1597 headers?: HeadersInit;
~~~~~~~
'headers' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:183:3 - error TS2717: Subsequent property declarations must have the same type. Property 'window' must be of type 'null | undefined', but here has type 'any'.

183 window?: any | undefined;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:1615:5
1615 window?: null;
~~~~~~
'window' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:184:3 - error TS2717: Subsequent property declarations must have the same type. Property 'signal' must be of type 'AbortSignal | null | undefined', but here has type 'AbortSignal | undefined.

184 signal?: AbortSignal | undefined;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:1613:5
1613 signal?: AbortSignal | null;
~~~~~~
'signal' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:194:12 - error TS2717: Subsequent property declarations must have the same type. Property 'signal' must be of type 'AbortSignal', but here has type 'AbortSignal | undefined'.

194 readonly signal: AbortSignal | undefined;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:11725:14
11725 readonly signal: AbortSignal;
~~~~~~
'signal' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:198:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'Request' must be of type '{ new (input: RequestInfo | URL, init?: RequestInit | undefined): Request; prototype: Request; }', but here has type '{ new (input: string | Request, init?: RequestInit | undefined): Request; prototype: Request; }'.

198 declare var Request: {
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:11731:13
11731 declare var Request: {
~~~~~~~
'Request' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:203:14 - error TS2300: Duplicate identifier 'RequestInfo'.

203 declare type RequestInfo = Request | string;
~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:18345:6
18345 type RequestInfo = Request | string;
~~~~~~~~~~~
'RequestInfo' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:206:3 - error TS2717: Subsequent property declarations must have the same type. Property 'headers' must be of type 'HeadersInit | undefined', but here has type 'HeadersInit_ | undefined'
.

206 headers?: HeadersInit_ | undefined;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:1623:5
1623 headers?: HeadersInit;
~~~~~~~
'headers' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:222:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'Response' must be of type '{ new (body?: BodyInit | null | undefined, init?: ResponseInit | undefined): Response; prototype: Response; error(): Response; redirect(url: string | URL, status?: number | undefined): Response; }', but here has type '{ new (body?: BodyInit_ | undefined, init?: ResponseInit | undefined): Response; prototype : Response; error: () => Response; redirect: (url: string, status?: number | undefined) => Response; }'.

222 declare var Response: {
~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:11782:13
11782 declare var Response: {
~~~~~~~~
'Response' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:284:12 - error TS2717: Subsequent property declarations must have the same type. Property 'DONE' must be of type 'number', but here has type '4'.

284 readonly DONE: 4;
~~~~

node_modules/typescript/lib/lib.dom.d.ts:17165:14
17165 readonly DONE: number;
~~~~
'DONE' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:285:12 - error TS2717: Subsequent property declarations must have the same type. Property 'HEADERS_RECEIVED' must be of type 'number', but here has type '2'.

285 readonly HEADERS_RECEIVED: 2;
~~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17166:14
17166 readonly HEADERS_RECEIVED: number;
~~~~~~~~~~~~~~~~
'HEADERS_RECEIVED' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:286:12 - error TS2717: Subsequent property declarations must have the same type. Property 'LOADING' must be of type 'number', but here has type '3'.

286 readonly LOADING: 3;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17167:14
17167 readonly LOADING: number;
~~~~~~~
'LOADING' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:287:12 - error TS2717: Subsequent property declarations must have the same type. Property 'OPENED' must be of type 'number', but here has type '1'.

287 readonly OPENED: 1;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17168:14
17168 readonly OPENED: number;
~~~~~~
'OPENED' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:288:12 - error TS2717: Subsequent property declarations must have the same type. Property 'UNSENT' must be of type 'number', but here has type '0'.

288 readonly UNSENT: 0;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17169:14
17169 readonly UNSENT: number;
~~~~~~
'UNSENT' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:301:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'XMLHttpRequest' must be of type '{ new (): XMLHttpRequest; prototype: XMLHttpRequest; readonly DONE: number; readonly HEADERS_RECEIVED: number; readonly LOADING: number; readonly OPENED: number; readonly UNSENT: number; }', but here has type '{ new (): XMLHttpRequest; prototype: XMLHttpRequest; readonly DONE: 4; readonly HEADERS_RECEIVED: 2; readonly LOADING: 3; readonly OPENED: 1; readonly UNSENT: 0; }'.

301 declare var XMLHttpRequest: {
~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17176:13
17176 declare var XMLHttpRequest: {
~~~~~~~~~~~~~~
'XMLHttpRequest' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:312:3 - error TS2717: Subsequent property declarations must have the same type. Property 'abort' must be of type 'ProgressEvent', but here has type 'ProgressEv
ent'.

312 abort: ProgressEvent;
~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17187:5
17187 "abort": ProgressEvent;
~~~~~~~
'abort' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:313:3 - error TS2717: Subsequent property declarations must have the same type. Property 'error' must be of type 'ProgressEvent', but here has type 'ProgressEv
ent'.

313 error: ProgressEvent;
~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17188:5
17188 "error": ProgressEvent;
~~~~~~~
'error' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:314:3 - error TS2717: Subsequent property declarations must have the same type. Property 'load' must be of type 'ProgressEvent', but here has type 'ProgressEvent'.

314 load: ProgressEvent;
~~~~

node_modules/typescript/lib/lib.dom.d.ts:17189:5
17189 "load": ProgressEvent;
~~~~~~
'load' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:315:3 - error TS2717: Subsequent property declarations must have the same type. Property 'loadend' must be of type 'ProgressEvent', but here has type 'ProgressEvent'.

315 loadend: ProgressEvent;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17190:5
17190 "loadend": ProgressEvent;
~~~~~~~~~
'loadend' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:316:3 - error TS2717: Subsequent property declarations must have the same type. Property 'loadstart' must be of type 'ProgressEvent', but here has type 'ProgressEvent'.

316 loadstart: ProgressEvent;
~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17191:5
17191 "loadstart": ProgressEvent;
~~~~~~~~~~~
'loadstart' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:317:3 - error TS2717: Subsequent property declarations must have the same type. Property 'progress' must be of type 'ProgressEvent', but here has type 'ProgressEvent'.

317 progress: ProgressEvent;
~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17192:5
17192 "progress": ProgressEvent;
~~~~~~~~~~
'progress' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:318:3 - error TS2717: Subsequent property declarations must have the same type. Property 'timeout' must be of type 'ProgressEvent', but here has type 'ProgressEvent'.

318 timeout: ProgressEvent;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:17193:5
17193 "timeout": ProgressEvent;
~~~~~~~~~
'timeout' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:371:14 - error TS2300: Duplicate identifier 'XMLHttpRequestResponseType'.

371 declare type XMLHttpRequestResponseType =
~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:18505:6
18505 type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";
~~~~~~~~~~~~~~~~~~~~~~~~~~
'XMLHttpRequestResponseType' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:384:15 - error TS2300: Duplicate identifier 'URL'.

384 declare class URL {
~~~

node_modules/typescript/lib/lib.dom.d.ts:14499:11
14499 interface URL {
~~~
'URL' was also declared here.
node_modules/typescript/lib/lib.dom.d.ts:14516:13
14516 declare var URL: {
~~~
and here.

node_modules/react-native/types/modules/globals.d.ts:409:15 - error TS2300: Duplicate identifier 'URLSearchParams'.

409 declare class URLSearchParams {
~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:14526:11
14526 interface URLSearchParams {
~~~~~~~~~~~~~~~
'URLSearchParams' was also declared here.
node_modules/typescript/lib/lib.dom.d.ts:14545:13
14545 declare var URLSearchParams: {
~~~~~~~~~~~~~~~
and here.
node_modules/typescript/lib/lib.dom.iterable.d.ts:263:11
263 interface URLSearchParams {
~~~~~~~~~~~~~~~
and here.

node_modules/react-native/types/modules/globals.d.ts:468:3 - error TS2717: Subsequent property declarations must have the same type. Property 'onopen' must be of type '((this: WebSocket, ev: Event) => any) | null', but here has type '(() => void) | null'.

468 onopen: (() => void) | null;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16721:5
16721 onopen: ((this: WebSocket, ev: Event) => any) | null;
~~~~~~
'onopen' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:469:3 - error TS2717: Subsequent property declarations must have the same type. Property 'onmessage' must be of type '((this: WebSocket, ev: MessageEvent) => any) | null', but here has type '((event: WebSocketMessageEvent) => void) | null'.

469 onmessage: ((event: WebSocketMessageEvent) => void) | null;
~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16720:5
16720 onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;
~~~~~~~~~
'onmessage' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:470:3 - error TS2717: Subsequent property declarations must have the same type. Property 'onerror' must be of type '((this: WebSocket, ev: Event) => any) | null', but here has type '((event: WebSocketErrorEvent) => void) | null'.

470 onerror: ((event: WebSocketErrorEvent) => void) | null;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16719:5
16719 onerror: ((this: WebSocket, ev: Event) => any) | null;
~~~~~~~
'onerror' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:471:3 - error TS2717: Subsequent property declarations must have the same type. Property 'onclose' must be of type '((this: WebSocket, ev: CloseEvent) => any) | null', but here has type '((event: WebSocketCloseEvent) => void) | null'.

471 onclose: ((event: WebSocketCloseEvent) => void) | null;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16718:5
16718 onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;
~~~~~~~
'onclose' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:472:3 - error TS2717: Subsequent property declarations must have the same type. Property 'addEventListener' must be of type '{ (type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | ... 1 more ... | undefined): void; }', but here
has type 'WebsocketEventListener'.

472 addEventListener: WebsocketEventListener;
~~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16736:5
16736 addEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'addEventListener' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:473:3 - error TS2717: Subsequent property declarations must have the same type. Property 'removeEventListener' must be of type '{ (type: K, listener: ( this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | ... 1 more ... | undefined): void; }', but here has type 'WebsocketEventListener'.

473 removeEventListener: WebsocketEventListener;
~~~~~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16738:5
16738 removeEventListener(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'removeEventListener' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:476:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'WebSocket' must be of type '{ new (url: string | URL, protocols?: string | string[] | undefined): WebSocket; prototype: WebSocket; readonly CLOSED: number; readonly CLOSING: number; readonly CONNECTING: number; readonly OPEN: number; }', but here has type '{ new (uri: string, protocols?: string | string[] | null | undefined, options? : { [optionName: string]: any; headers: { [headerName: string]: string; }; } | null | undefined): WebSocket; ... 4 more ...; readonly OPEN: number; }'.

476 declare var WebSocket: {
~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:16742:13
16742 declare var WebSocket: {
~~~~~~~~~
'WebSocket' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:500:15 - error TS2300: Duplicate identifier 'AbortSignal'.

500 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:2059:11
2059 interface AbortSignal extends EventTarget {
~~~~~~~~~~~
'AbortSignal' was also declared here.
node_modules/typescript/lib/lib.dom.d.ts:2071:13
2071 declare var AbortSignal: {
~~~~~~~~~~~
and here.

node_modules/react-native/types/modules/globals.d.ts:500:15 - error TS2420: Class 'AbortSignal' incorrectly implements interface 'EventTarget'.
Property 'dispatchEvent' is missing in type 'AbortSignal' but required in type 'EventTarget'.

500 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5309:5
5309 dispatchEvent(event: Event): boolean;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'dispatchEvent' is declared here.

node_modules/react-native/types/modules/globals.d.ts:535:15 - error TS2300: Duplicate identifier 'AbortController'.

535 declare class AbortController {
~~~~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:2042:11
2042 interface AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.
node_modules/typescript/lib/lib.dom.d.ts:2049:13
2049 declare var AbortController: {
~~~~~~~~~~~~~~~
and here.

node_modules/react-native/types/modules/globals.d.ts:560:12 - error TS2717: Subsequent property declarations must have the same type. Property 'error' must be of type 'DOMException | null', but here has type 'Error | null'.

560 readonly error: Error | null;
~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5368:14
5368 readonly error: DOMException | null;
~~~~~
'error' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:570:12 - error TS2717: Subsequent property declarations must have the same type. Property 'result' must be of type 'string | ArrayBuffer | null', but here has type 'string | ArrayBuffer'
.

570 readonly result: string | ArrayBuffer;
~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5376:14
5376 readonly result: string | ArrayBuffer | null;
~~~~~~
'result' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:576:12 - error TS2717: Subsequent property declarations must have the same type. Property 'DONE' must be of type 'number', but here has type '2'.

576 readonly DONE: 2;
~~~~

node_modules/typescript/lib/lib.dom.d.ts:5382:14
5382 readonly DONE: number;
~~~~
'DONE' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:577:12 - error TS2717: Subsequent property declarations must have the same type. Property 'EMPTY' must be of type 'number', but here has type '0'.

577 readonly EMPTY: 0;
~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5383:14
5383 readonly EMPTY: number;
~~~~~
'EMPTY' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:578:12 - error TS2717: Subsequent property declarations must have the same type. Property 'LOADING' must be of type 'number', but here has type '1'.

578 readonly LOADING: 1;
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5384:14
5384 readonly LOADING: number;
~~~~~~~
'LOADING' was also declared here.

node_modules/react-native/types/modules/globals.d.ts:593:13 - error TS2403: Subsequent variable declarations must have the same type. Variable 'FileReader' must be of type '{ new (): FileReader; prototype: FileReader; readonly DONE: number; readonly EMPTY: number; readonly LOADING: number; }', but here has type '{ new (): FileReader; prototype: FileReader; readonly DONE: 2; readonly EMPTY: 0; readonly LOADING: 1; }'.

593 declare var FileReader: {
~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5391:13
5391 declare var FileReader: {
~~~~~~~~~~
'FileReader' was also declared here.

node_modules/react-native/types/public/ReactNativeTypes.d.ts:10:29 - error TS7016: Could not find a declaration file for module 'react'. '/home/USER/git/hub/ORG/PROJECT/node_modules/react/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`

10 import type * as React from 'react';
~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:2042:11 - error TS2300: Duplicate identifier 'AbortController'.

2042 interface AbortController {
~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:535:15
535 declare class AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:2049:13 - error TS2300: Duplicate identifier 'AbortController'.

2049 declare var AbortController: {
~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:535:15
535 declare class AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:2059:11 - error TS2300: Duplicate identifier 'AbortSignal'.

2059 interface AbortSignal extends EventTarget {
~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:500:15
500 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~
'AbortSignal' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:2071:13 - error TS2300: Duplicate identifier 'AbortSignal'.

2071 declare var AbortSignal: {
~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:500:15
500 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~
'AbortSignal' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:5335:14 - error TS2687: All declarations of 'lastModified' must have identical modifiers.

5335 readonly lastModified: number;
~~~~~~~~~~~~

node_modules/typescript/lib/lib.dom.d.ts:5336:14 - error TS2687: All declarations of 'name' must have identical modifiers.

5336 readonly name: string;
~~~~

node_modules/typescript/lib/lib.dom.d.ts:5562:11 - error TS2300: Duplicate identifier 'FormData'.

5562 interface FormData {
~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:113:15
113 declare class FormData {
~~~~~~~~
'FormData' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:5572:13 - error TS2300: Duplicate identifier 'FormData'.

5572 declare var FormData: {
~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:113:15
113 declare class FormData {
~~~~~~~~
'FormData' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:14499:11 - error TS2300: Duplicate identifier 'URL'.

14499 interface URL {
~~~

node_modules/react-native/types/modules/globals.d.ts:384:15
384 declare class URL {
~~~
'URL' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:14516:13 - error TS2300: Duplicate identifier 'URL'.

14516 declare var URL: {
~~~

node_modules/react-native/types/modules/globals.d.ts:384:15
384 declare class URL {
~~~
'URL' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:14526:11 - error TS2300: Duplicate identifier 'URLSearchParams'.

14526 interface URLSearchParams {
~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:409:15
409 declare class URLSearchParams {
~~~~~~~~~~~~~~~
'URLSearchParams' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:14545:13 - error TS2300: Duplicate identifier 'URLSearchParams'.

14545 declare var URLSearchParams: {
~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:409:15
409 declare class URLSearchParams {
~~~~~~~~~~~~~~~
'URLSearchParams' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:18345:6 - error TS2300: Duplicate identifier 'RequestInfo'.

18345 type RequestInfo = Request | string;
~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:203:14
203 declare type RequestInfo = Request | string;
~~~~~~~~~~~
'RequestInfo' was also declared here.

node_modules/typescript/lib/lib.dom.d.ts:18505:6 - error TS2300: Duplicate identifier 'XMLHttpRequestResponseType'.

18505 type XMLHttpRequestResponseType = "" | "arraybuffer" | "blob" | "document" | "json" | "text";
~~~~~~~~~~~~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:371:14
371 declare type XMLHttpRequestResponseType =
~~~~~~~~~~~~~~~~~~~~~~~~~~
'XMLHttpRequestResponseType' was also declared here.

node_modules/typescript/lib/lib.dom.iterable.d.ts:86:11 - error TS2300: Duplicate identifier 'FormData'.

86 interface FormData {
~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:113:15
113 declare class FormData {
~~~~~~~~
'FormData' was also declared here.

node_modules/typescript/lib/lib.dom.iterable.d.ts:263:11 - error TS2300: Duplicate identifier 'URLSearchParams'.

263 interface URLSearchParams {
~~~~~~~~~~~~~~~

node_modules/react-native/types/modules/globals.d.ts:409:15
409 declare class URLSearchParams {
~~~~~~~~~~~~~~~
'URLSearchParams' was also declared here.

Found 107 errors in 44 files.

Errors Files
1 node_modules/@metamask/providers/dist/types/MetaMaskInpageProvider.d.ts:3
1 node_modules/@metamask/providers/dist/types/StreamProvider.d.ts:5
1 node_modules/@metamask/providers/dist/types/initializeInpageProvider.d.ts:2
1 node_modules/@metamask/sdk/dist/types/src/provider/SDKProvider.d.ts:1
1 node_modules/@react-native/virtualized-lists/Lists/VirtualizedList.d.ts:10
1 node_modules/react-native-webview/index.d.ts:1
2 node_modules/react-native-webview/lib/WebViewTypes.d.ts:1
1 node_modules/react-native/Libraries/Animated/Animated.d.ts:10
1 node_modules/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts:10
1 node_modules/react-native/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts:10
1 node_modules/react-native/Libraries/Components/Button.d.ts:10
2 node_modules/react-native/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts:10
1 node_modules/react-native/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts:10
1 node_modules/react-native/Libraries/Components/Pressable/Pressable.d.ts:10
1 node_modules/react-native/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts:10
1 node_modules/react-native/Libraries/Components/RefreshControl/RefreshControl.d.ts:10
1 node_modules/react-native/Libraries/Components/SafeAreaView/SafeAreaView.d.ts:10
1 node_modules/react-native/Libraries/Components/ScrollView/ScrollView.d.ts:10
1 node_modules/react-native/Libraries/Components/StatusBar/StatusBar.d.ts:10
1 node_modules/react-native/Libraries/Components/Switch/Switch.d.ts:10
1 node_modules/react-native/Libraries/Components/TextInput/InputAccessoryView.d.ts:10
1 node_modules/react-native/Libraries/Components/TextInput/TextInput.d.ts:10
1 node_modules/react-native/Libraries/Components/Touchable/Touchable.d.ts:10
1 node_modules/react-native/Libraries/Components/Touchable/TouchableHighlight.d.ts:10
1 node_modules/react-native/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts:10
1 node_modules/react-native/Libraries/Components/Touchable/TouchableOpacity.d.ts:10
1 node_modules/react-native/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts:10
1 node_modules/react-native/Libraries/Components/View/View.d.ts:10
1 node_modules/react-native/Libraries/Components/View/ViewPropTypes.d.ts:10
1 node_modules/react-native/Libraries/Image/Image.d.ts:10
2 node_modules/react-native/Libraries/Lists/FlatList.d.ts:10
1 node_modules/react-native/Libraries/Lists/SectionList.d.ts:10
1 node_modules/react-native/Libraries/Modal/Modal.d.ts:10
1 node_modules/react-native/Libraries/ReactNative/AppRegistry.d.ts:10
1 node_modules/react-native/Libraries/ReactNative/RendererProxy.d.ts:10
1 node_modules/react-native/Libraries/ReactNative/RootTag.d.ts:10
1 node_modules/react-native/Libraries/ReactNative/UIManager.d.ts:10
1 node_modules/react-native/Libraries/Text/Text.d.ts:10
1 node_modules/react-native/Libraries/Types/CoreEventTypes.d.ts:10
1 node_modules/react-native/Libraries/YellowBox/YellowBoxDeprecated.d.ts:10
47 node_modules/react-native/types/modules/globals.d.ts:78
1 node_modules/react-native/types/public/ReactNativeTypes.d.ts:10
14 node_modules/typescript/lib/lib.dom.d.ts:2042
2 node_modules/typescript/lib/lib.dom.iterable.d.ts:86
```

## Installing suggested packages

```bash
npm i --save-dev @types/readable-stream
npm i --save-dev @types/react
```

### Updated `package.json`

```json
{
"name": "@ORG/PROJECT",
"version": "0.0.1",
"description": "Example of authenticating a Dapp with MetaMask",
"main": "index.js",
"scripts": {
"ts-build": "tsc --project tsconfig.json",
"ts-watch": "tsc --project tsconfig.json --watch",
"ts-lint": "npx eslint ts/assets --ext .ts,.tsx",
"js-lint": "npx eslint ts/assets --ext .js,.jsx",
"py-serve": "python3 -m http.server --bind 127.0.0.1 8080"
},
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/ORG/PROJECT.git"
},
"keywords": [
"metamask",
"dapp"
],
"author": "S0AndS0",
"license": "AGPL-3.0",
"bugs": {
"url": "https://github.com/ORG/PROJECT/issues"
},
"homepage": "https://github.com/ORG/PROJECT#readme",
"devDependencies": {
"@metamask/sdk": "^0.30.3",
"@types/react": "^18.3.12",
"@types/readable-stream": "^4.0.18",
"typescript": "^4.1.2"
}
}
```

______

## Errors, though less, persist with `npm run ts-build`

### Expected Behavior

Expect `npm run ts-build` to _build_ (transpile) TypeScript into JavaScript

### Link to reproduction - Issues with a link to complete (but minimal) reproduction code will be addressed faster

_No response_

### To Reproduce

## Initial `package.json`

```json
{
"name": "@ORG/PROJECT",
"version": "0.0.1",
"description": "Example of authenticating a Dapp with MetaMask",
"main": "index.js",
"scripts": {
"ts-build": "tsc --project tsconfig.json",
"ts-watch": "tsc --project tsconfig.json --watch",
"ts-lint": "npx eslint ts/assets --ext .ts,.tsx",
"js-lint": "npx eslint ts/assets --ext .js,.jsx",
"py-serve": "python3 -m http.server --bind 127.0.0.1 8080"
},
"repository": {
"type": "git",
"url": "git+ssh://git@github.com/ORG/PROJECT.git"
},
"keywords": [
"metamask"
],
"author": "S0AndS0",
"license": "AGPL-3.0",
"bugs": {
"url": "https://github.com/ORG/PROJECT/issues"
},
"homepage": "https://github.com/ORG/PROJECT#readme",
"devDependencies": {
"@metamask/sdk": "^0.30.3",
"typescript": "^4.1.2"
}
}
```

## Write a TypeScript file that imports types from MetaMask

```typescript
"use strict";

import type MetaMaskSDK from '@metamask/sdk';

/**
* @file
* @author S0AndS0
* @license AGPL-3.0
*/

const memory_storage: {
[key: string]: unknown;
accounts?: string[];
} = {
accounts: undefined,
};

window.addEventListener("load", (_event) => {
const button__authenticate_metamask = document.getElementById(
"button__authenticate_metamask"
) as HTMLButtonElement;

const button__sign_text = document.getElementById(
"button__sign_text"
) as HTMLButtonElement;

const textarea__input = document.getElementById(
"textarea__input"
) as HTMLTextAreaElement;

const textarea__output = document.getElementById(
"textarea__output"
) as HTMLTextAreaElement;

//
button__authenticate_metamask.addEventListener("click", (event) => {
event.preventDefault();
window.ethereum?.request({
method: "eth_requestAccounts",
}).catch((error) => {
console.error('eth_requestAccounts error ->', error);
throw error;
})
.then((accounts) => {
if (typeof accounts !== 'object') {
throw new TypeError(`Object Array expected but got -> ${typeof accounts}`);
} else if (!accounts || Object.keys(accounts).length) {
throw new Error('Empty accounts list');
}

memory_storage.accounts = accounts as string[];
console.log('eth_requestAccounts saved accounts ->', {memory_storage});
});
});

//
button__sign_text.addEventListener("click", (event) => {
if (!textarea__input.value.length) {
throw new Error("No message provided to sign");
} else if (
memory_storage.accounts === undefined ||
!memory_storage.accounts.length
) {
throw new Error("No accounts found");
}

window.ethereum
?.request({
method: "personal_sign",
})
.then((result) => {
if (typeof result !== 'string') {
throw new Error()
}
textarea__output.value = result;
});
});
});

// vim: expandtab
```

## Run `npm run ts-build` as prescribed

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with `npm run ts-build` using the issue's TypeScript configuration and inspect the SDK's `package.json` alongside the reported declarations from `@metamask/providers`, `@metamask/sdk`, `react-native`, and `react-native-webview`. Done means a new dependent project builds without the reported missing declaration, JSX namespace, and `react-native` type errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, react-native, typescript
Domain
build-system, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.