From 81cd5ada4603db0087004592c8145fc7fb38147d Mon Sep 17 00:00:00 2001 From: Martin Konicek Date: Mon, 7 Mar 2016 17:14:30 +0000 Subject: [PATCH] Attempt to make RN work with npm 2 --- package.json | 6 ++---- .../src/AssetServer/__tests__/AssetServer-test.js | 1 + packager/react-packager/src/Resolver/index.js | 11 ++++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index be9c68c74edf..34a7995e7b9e 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,9 @@ "haste": { "defaultPlatform": "ios", "providesModuleNodeModules": [ - "fbjs", "react", "react-native", - "parse", - "react-transform-hmr" + "parse" ], "platforms": [ "ios", @@ -155,7 +153,7 @@ "mkdirp": "^0.5.1", "module-deps": "^3.9.1", "node-fetch": "^1.3.3", - "node-haste": "~2.4.0", + "node-haste": "~2.6.1", "opn": "^3.0.2", "optimist": "^0.6.1", "progress": "^1.1.8", diff --git a/packager/react-packager/src/AssetServer/__tests__/AssetServer-test.js b/packager/react-packager/src/AssetServer/__tests__/AssetServer-test.js index 15bfc0ce05fb..7f3d11916d8b 100644 --- a/packager/react-packager/src/AssetServer/__tests__/AssetServer-test.js +++ b/packager/react-packager/src/AssetServer/__tests__/AssetServer-test.js @@ -3,6 +3,7 @@ jest .dontMock('node-haste/lib/lib/getPlatformExtension') .dontMock('node-haste/node_modules/throat') + .dontMock('node-haste/lib/fastpath') .dontMock('../'); jest diff --git a/packager/react-packager/src/Resolver/index.js b/packager/react-packager/src/Resolver/index.js index d60e0fb2b4d5..b91355dde1a3 100644 --- a/packager/react-packager/src/Resolver/index.js +++ b/packager/react-packager/src/Resolver/index.js @@ -84,13 +84,18 @@ class Resolver { (opts.blacklistRE && opts.blacklistRE.test(filepath)); }, providesModuleNodeModules: [ - 'react', - 'react-native', + // Use the project's installed version of react-native + // as the "haste" version of `react-native` + // (and ignore any nested copies); + { name: 'react-native', parent: null }, + // Use the react peerDep for the "haste" + // version of `react`. + { name: 'react', parent: null }, // Parse requires AsyncStorage. They will // change that to require('react-native') which // should work after this release and we can // remove it from here. - 'parse', + { name: 'parse', parent: null }, ], platforms: ['ios', 'android'], preferNativePlatform: true,