-
Notifications
You must be signed in to change notification settings - Fork 24.9k
Description
- Review the documentation: https://facebook.github.io/react-nativeSearch for existing issues: https://github.com/facebook/react-native/issuesUse the latest React Native release: https://github.com/facebook/react-native/releasesTo pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
Environment
Run react-native info
in your terminal and paste its contents here.
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.3
CPU: x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Memory: 90.15 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.9.4 - /usr/local/bin/node
Yarn: 1.7.0 - /usr/local/bin/yarn
npm: 6.1.0 - /usr/local/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
Android SDK:
Build Tools: 23.0.1, 25.0.3, 26.0.2, 27.0.3
API Levels: 23, 25, 27
IDEs:
Android Studio: 3.0 AI-171.4443003
Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild
npmPackages:
react: 16.3.2 => 16.3.2
react-native: 0.56.0-rc.1 => 0.56.0-rc.1
npmGlobalPackages:
react-native-cli: 2.0.1
Description
Describe your issue in detail. Include screenshots if needed. If this is a regression, let us know.
react-native-windows
overrides haste modules in react-native
, currently using the @providesModule
attribute. For example, the ScrollView
module in react-native
has behavior that limits it to iOS and Android, we we override the module in react-native-windows
here.
Prior to react-native
0.56.0 RC (which moved to metro
0.38), this behavior worked as expected. Now, the haste module overrides for windows no longer seem to get resolved. Specifically, I get the following error:
Unable to resolve module `AccessibilityInfo` from `/Users/rozele/code/sandbox/v56/node_modules/react-native/Libraries/react-native/react-native-implementation.js`: Module `AccessibilityInfo` does not exist in the Haste module map
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`. 4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.
Please note - the AccessibiltyInfo
module just happens to be the first module in the dependency graph that we provide a *.windows.js
override for, so it has nothing to do with that module specifically.
Reproducible Demo
Let us know how to reproduce the issue. Include a code sample, share a project, or share an app that reproduces the issue using https://snack.expo.io/. Please follow the guidelines for providing a MCVE: https://stackoverflow.com/help/mcve
A very simple test that repos (on both Windows and Mac):
- Generate a new react-native project with 0.56.0-rc.4:
react-native init test --version 0.56.0-rc.4
- Generate a react-native-windows project:
yarn add rnpm-plugin-windows
react-native windows --windowsVersion 0.55.0-rc.0
- Try to generate a windows platform bundle
react-native bundle --platform windows --entry-file index.js --bundle-output test.bundle
Activity
rubennorte commentedon Jun 29, 2018
Thanks for reporting this. This is indeed a breaking change for plugins. In order to prevent having to override the
hasteImplModulePath
configuration in end-user code, we're going to add an exception for react-native-windows in react-native. I'm working in a fix right now.Meanwhile, we're going to work in a long-term solution for overriding core components from plugins, as the current approach is pretty hacky.
rozele commentedon Jun 30, 2018
@rubennorte - definitely agree that a less hacky long term solution is ideal. I've never liked the "special case" of react-native-windows in the metro / react-native repos.
That being said, my parameters for an ideal solution would be one that allows me to install react-native-windows and have it "just work" without changes to the rn-cli.config.js. We have a precedent for plugging into the
react-native link
command via a bit of config in the package.json file here. If we could have something declarative like that for metro / haste modules, that would be ideal.kelset commentedon Jul 10, 2018
Hey @rozele is this still an issue or 0.56.0 fixed it?According to issue #20015 this is still an issue.
PerspectivesLab commentedon Jul 13, 2018
this => Unable to resolve module
AccessibilityInfo
is still an issue for 0.56.0, compiling for android on windows platform .... what is going wrong ? this is a major issue....i cant believe this is happening for 0.56 after 6 release candidates....
guilhermegonzaga commentedon Jul 13, 2018
I got the same issue on Windows 10 :(
guidotajan commentedon Jul 13, 2018
Same issue here! Trying to compile RN 0.56.0 for Android.
Here it's the
react-native info
output:26 remaining items