Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

react-native: Required module not found #3875

Open
kimjuny opened this issue May 4, 2017 · 12 comments
Open

react-native: Required module not found #3875

kimjuny opened this issue May 4, 2017 · 12 comments

Comments

@kimjuny
Copy link

kimjuny commented May 4, 2017

.flowconfig

...
[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow
flow/
...

index.js

import { View } from 'react-native'; ---> produce: react-native. Required module not found.
...

Maybe my libs settings for flowconfig is broken?

  • react-native 0.42.3
  • flow-bin 0.45.0
@kimjuny
Copy link
Author

kimjuny commented May 4, 2017

Well, I managed to declare a 'react-native' module definition(libdef), this is a workaround, I prefer a general solution(if there is any?).

@vTrip
Copy link

vTrip commented Jun 5, 2017

Could you share you solution, I am getting this for all my modules that i import into files.

@jukben
Copy link

jukben commented Jun 5, 2017

@vTrip For example:

Extend flowconfig like this

.flowconfig
module.name_mapper='\(react-native\)' -> '<PROJECT_ROOT>/modulesStub.js'

and then create stub like this:

modulesStub.js
export default {};

@imerkle
Copy link

imerkle commented Jun 21, 2017

This should work

[ignore]
<PROJECT_ROOT>/node_modules/[^r].* 

to generate custom regex goto https://dsslimshaddy.github.io/flowignore/

@spinningarrow
Copy link

spinningarrow commented Aug 31, 2017

Seeing this issue with flow 0.53.1 as well. Any idea what's causing it?

@dozoisch
Copy link

Getting the same with flow 0.53.1 and react-native August.

I have unsafe.enable_getters_and_setters=true. Is there any thing in terms of extension or anything that I need?

@divyanshu013
Copy link

Here's a quick solution that works for me to ignore the flow related errors for react-native

  1. Change into your project directory
cd my-awesome-project
  1. Create a directory called flow-typed in your project if it doesn't exists
mkdir flow-typed
  1. Add a file react-native.js
touch react-native.js
  1. Add the following to react-native.js and hit save using your favorite editor
declare module 'react-native' {
	declare module.exports: any;
}

@bodolsog
Copy link

@divyanshu013 You forgot mention that there is needed also:

  1. Add /flow-typed/ into .flowconfig as included libs:
;.flowconfig file

[include]

[libs]
; Your other libs, usually followed:
; node_modules/react-native/Libraries/react-native/react-native-interface.js
; node_modules/react-native/flow/
; node_modules/expo/flow/
flow-typed/

After that flow will known, that should check flow-typed declarations for all "missed" libs

@divyanshu013
Copy link

Actually the above solution worked for me at the point of writing. I haven't used flow since then so a lot might have changed. Thanks for updating

@zhiquan-yu
Copy link

@divyanshu013 I think it's a good solution, maybe react-native team can give us a library defination in https://github.com/flowtype/flow-typed

@MutableLoss
Copy link

Probably quite obvious by now, but still an issue with v0.63.0 using React-Native 0.53.0's .flowconfig.

@saadq
Copy link

saadq commented Mar 24, 2018

It looks like someone wrote up a Flow libdef for react-native as a GitHub gist. It looks like this would be a good place to start for submitting it to flow-typed.

Note – Based on the comments in that gist, there do seem to be some minor errors with that libdef that need to be fixed though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests