If a name_mapper
points to a non-existent file, it should tell user that the mapped path doesn't exist (instead of the original path) #7427
Open
Description
module.name_mapper='.*\.css$' -> '<PROJECT_ROOT>/css-modules-stub.js.flow'
import foo from `foo.css`
Flow version: 0.91.
Expected behavior
Error should say:
Cannot find module 'foo.css' (after it was remapped to '<PROJECT_ROOT>/css-modules-stub.js.flow', check your .flowconfig mapper paths exist)
Actual behavior
Cannot find module 'foo.css'
Related: #3889
Another example:
module.name_mapper='debug' -> 'empty/object'
If empty/object
doesn't exist, there is no message to say that is the cause of Cannot resolve module 'debug'
error.
There are many cases where name_mapper breaks things by the user wouldn't know. Try this to show the errors that are generated:
module.name_mapper='.*' -> '<PROJECT_ROOT>/some-empty-stub.js'
Then you get errors like this:
Cannot import Component because there is no Component export in react. Did you mean import Component from "..."?
But the cause is that the name_mapper has mapped to a file that doesn't export anything.