facebook/flow

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)

Open

#7,427 opened on 2019年2月1日

GitHub で見る
 (5 comments) (0 reactions) (0 assignees)Rust (22,203 stars) (1,885 forks)batch import
enhancementerror messagesgood first issuemodule resolution

説明

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: https://github.com/facebook/flow/issues/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.

Related

コントリビューターガイド