Don't hardcode 'localhost:8081' as the _hmrURL in the Bundler

Summary:martinbigio this fixes your TODO. 🚀 🚀 🚀
Closes https://github.com/facebook/react-native/pull/5827

Differential Revision: D2932188

Pulled By: martinbigio

fb-gh-sync-id: 8c8caf0782f05b51c90c8d09fdb743ddd3e6f97e
shipit-source-id: 8c8caf0782f05b51c90c8d09fdb743ddd3e6f97e
This commit is contained in:
Adam Miskiewicz 2016-02-26 09:14:18 -08:00 committed by Facebook Github Bot 1
parent 20588a6bf8
commit b2b41da37f
3 changed files with 19 additions and 7 deletions

View File

@ -185,11 +185,23 @@ function attachHMRServer({httpServer, path, packagerServer}) {
return;
}
const httpServerAddress = httpServer.address();
// Sanitize the value from the HTTP server
let packagerHost = 'localhost';
if (httpServer.address().address &&
httpServer.address().address !== '::' &&
httpServer.address().address !== '') {
packagerHost = httpServerAddress.address;
}
let packagerPort = httpServerAddress.port;
return packagerServer.buildBundleForHMR({
entryFile: client.bundleEntry,
platform: client.platform,
resolutionResponse,
});
}, packagerHost, packagerPort);
})
.then(bundle => {
if (!client || !bundle || bundle.isEmpty()) {

View File

@ -168,9 +168,9 @@ class Bundler {
});
}
_sourceHMRURL(platform, path) {
_sourceHMRURL(platform, host, port, path) {
return this._hmrURL(
'http://localhost:8081', // TODO: (martinb) avoid hardcoding
`http://${host}:${port}`,
platform,
'bundle',
path,
@ -211,10 +211,10 @@ class Bundler {
);
}
hmrBundle(options) {
hmrBundle(options, host, port) {
return this._bundle({
bundle: new HMRBundle({
sourceURLFn: this._sourceHMRURL.bind(this, options.platform),
sourceURLFn: this._sourceHMRURL.bind(this, options.platform, host, port),
sourceMappingURLFn: this._sourceMappingHMRURL.bind(
this,
options.platform,

View File

@ -240,8 +240,8 @@ class Server {
return this.buildBundle(options);
}
buildBundleForHMR(modules) {
return this._bundler.hmrBundle(modules);
buildBundleForHMR(modules, host, port) {
return this._bundler.hmrBundle(modules, host, port);
}
getShallowDependencies(entryFile) {