|
15 | 15 |
|
16 | 16 | const AssetRegistry = require('AssetRegistry'); |
17 | 17 | const AssetSourceResolver = require('AssetSourceResolver'); |
18 | | -const NativeModules = require('NativeModules'); |
19 | 18 |
|
20 | 19 | import type { ResolvedAssetSource } from 'AssetSourceResolver'; |
21 | 20 |
|
22 | 21 | let _customSourceTransformer, _serverURL, _scriptURL; |
| 22 | +let _sourceCodeScriptURL: ?string; |
23 | 23 |
|
24 | 24 | function getDevServerURL(): ?string { |
25 | 25 | if (_serverURL === undefined) { |
26 | | - var scriptURL = NativeModules.SourceCode.scriptURL; |
27 | | - var match = scriptURL && scriptURL.match(/^https?:\/\/.*?\//); |
| 26 | + const match = _sourceCodeScriptURL && _sourceCodeScriptURL.match(/^https?:\/\/.*?\//); |
28 | 27 | if (match) { |
29 | 28 | // jsBundle was loaded from network |
30 | 29 | _serverURL = match[0]; |
@@ -54,8 +53,7 @@ function _coerceLocalScriptURL(scriptURL: ?string): ?string { |
54 | 53 |
|
55 | 54 | function getScriptURL(): ?string { |
56 | 55 | if (_scriptURL === undefined) { |
57 | | - const scriptURL = NativeModules.SourceCode.scriptURL; |
58 | | - _scriptURL = _coerceLocalScriptURL(scriptURL); |
| 56 | + _scriptURL = _coerceLocalScriptURL(_sourceCodeScriptURL); |
59 | 57 | } |
60 | 58 | return _scriptURL; |
61 | 59 | } |
@@ -91,6 +89,13 @@ function resolveAssetSource(source: any): ?ResolvedAssetSource { |
91 | 89 | return resolver.defaultAsset(); |
92 | 90 | } |
93 | 91 |
|
| 92 | +let sourceCodeScriptURL: ?string = global.nativeExtensions && global.nativeExtensions.SourceCode && global.nativeExtensions.SourceCode.scriptURL; |
| 93 | +if (!sourceCodeScriptURL) { |
| 94 | + const NativeModules = require('NativeModules'); |
| 95 | + sourceCodeScriptURL = NativeModules && NativeModules.SourceCode && NativeModules.SourceCode.scriptURL; |
| 96 | +} |
| 97 | +_sourceCodeScriptURL = sourceCodeScriptURL; |
| 98 | + |
94 | 99 | module.exports = resolveAssetSource; |
95 | 100 | module.exports.pickScale = AssetSourceResolver.pickScale; |
96 | 101 | module.exports.setCustomSourceTransformer = setCustomSourceTransformer; |
0 commit comments