HiveBrain v1.2.0
Get Started
← Back to all entries
patternreactCritical

Typescript react - Could not find a declaration file for module ''react-materialize'. 'path/to/module-name.js' implicitly has an any type

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
implicitlyanyfilepathhasfinddeclarationtypereactcould

Problem

I am trying to import components from react-materialize as -

import {Navbar, NavItem} from 'react-materialize';


But when the webpack is compiling my .tsx it throws an error for the above as -

ERROR in ./src/common/navbar.tsx
(3,31): error TS7016: Could not find a declaration file for module 'react-materi
alize'. 'D:\Private\Works\Typescript\QuickReact\node_modules\react-materialize\l
ib\index.js' implicitly has an 'any' type.


Is there any resolution for this? I'm unsure how to resolve this import statement to work with ts-loader and webpack.

The index.js of react-materialize looks likes this. But how do I resolve this for the module import in my own files?

https://github.com/react-materialize/react-materialize/blob/master/src/index.js

Solution

For those who wanted to know that how did I overcome this . I did a hack kind of stuff .

Inside my project I created a folder called @types and added it to tsconfig.json for find all required types from it . So it looks somewhat like this -
"typeRoots": [
"../node_modules/@types",
"../@types"
]


And inside that I created a file called alltypes.d.ts . To find the unknown types from it . so for me these were the unknown types and I added it over there.

declare module 'react-materialize';
declare module 'react-router';
declare module 'flux';


So now the typescript didn't complain about the types not found anymore . :) win win situation now :)

Code Snippets

declare module 'react-materialize';
declare module 'react-router';
declare module 'flux';

Context

Stack Overflow Q#41462729, score: 161

Revisions (0)

No revisions yet.