-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
Description
Repro:
.flowconfig
[lib]
lib
[options]
module.name_mapper='1Doesnt\(Exist\)' -> '\1s'
A.js
/* @flow */
var m1 = require('./1DoesntExist'); // actual error: can't find module 1DoesntExist
var a_1: string = m1.numVal; // expected error: number ~> stringlib/Exists.js
declare module 'Exists' {
declare var exports: {
numVal: number;
};
};Expected output:
A.js:3:19,27: number
This type is incompatible with
A.js:3:10,15: string
Actual output:
A.js:2:22,37: ./1DoesntExist
Required module not found
Workaround:
While libdefs aren't working, it's still possible to map to a node module. There's an npm module called empty that can be useful here. See this gist for a complete example.
I think the issue is that we do name mapping specifically against file paths, so the code just doesn't attempt to handle this case. I think that it should. cc @jeffmo, who originally added this feature.