jaboja
jaboja

Reputation: 2237

WebStorm reports a "missing import" on built-in objects

I've an ES6 project in WebStorm which obviously sometimes uses some built-in objects like Math or JSON.

Both HTML / ECMAScript 5 and ECMAScript 6 are enabled in "Settings/(...)/JavaScript/Libraries", yet WebStorm still suggests that Math and JSON are missing imports.

When I create an empty new project it works fine. I also noticed that when selecting JSON in such new project and pressing CTRL+B, WebStorm shows definitions from its internal library.

To the contrary in my main project it shows some TypeScript ones from completely unrelated part of the project. If I move the folder with typescript outside the project it seems to work.

Nota bene, the file I have errors in is not written in TypeScript, does not include anything TypeScript related and is not processed with TypeScript in any way. It is only processed with ES6 to ES5 transpiler.

Upvotes: 30

Views: 17609

Answers (3)

I had the same issue and I found the solution:
For me it was because I had a ECMA 5.1 project with a subfolder in ECMA 6.
Just invert it: Set all ECMA 5.1 files in ECMA 5.1 and set the main project version to ECMA 6.

Upvotes: 0

Georgii Oleinikov
Georgii Oleinikov

Reputation: 3915

This worked for me:

  • Navigate Settings -> Languages & Frameworks -> Node.js and NPM
  • Click Enable for Node.js Core library under Coding Assistance section
  • Click Apply

I restarted WebStorm and warnings went away.

Upvotes: 46

jaboja
jaboja

Reputation: 2237

Marking the directory with TypeScript based subproject as excluded (right click → “Mark Directory as” → “Excluded”) solves the problem without need to physically remove it from the project.

Upvotes: 4

Related Questions