diff --git a/local-cli/server/util/attachHMRServer.js b/local-cli/server/util/attachHMRServer.js index 1e9852b8c..8558e0855 100644 --- a/local-cli/server/util/attachHMRServer.js +++ b/local-cli/server/util/attachHMRServer.js @@ -48,7 +48,12 @@ function attachHMRServer({httpServer, path, packagerServer}) { if (dep.isAsset() || dep.isAsset_DEPRECATED() || dep.isJSON()) { return Promise.resolve({path: dep.path, deps: []}); } - return packagerServer.getShallowDependencies(dep.path) + return packagerServer.getShallowDependencies({ + platform: platform, + dev: true, + hot: true, + entryFile: dep.path + }) .then(deps => { return { path: dep.path, @@ -147,7 +152,12 @@ function attachHMRServer({httpServer, path, packagerServer}) { client.ws.send(JSON.stringify({type: 'update-start'})); stat.then(() => { - return packagerServer.getShallowDependencies(filename) + return packagerServer.getShallowDependencies({ + entryFile: filename, + platform: client.platform, + dev: true, + hot: true, + }) .then(deps => { if (!client) { return []; diff --git a/packager/react-packager/src/Bundler/index.js b/packager/react-packager/src/Bundler/index.js index b25ce4ca5..b8bfb6baa 100644 --- a/packager/react-packager/src/Bundler/index.js +++ b/packager/react-packager/src/Bundler/index.js @@ -426,8 +426,33 @@ class Bundler { this._cache.invalidate(filePath); } - getShallowDependencies(entryFile) { - return this._resolver.getShallowDependencies(entryFile); + getShallowDependencies({ + entryFile, + platform, + dev = true, + minify = !dev, + hot = false, + generateSourceMaps = false, + }) { + return this.getTransformOptions( + entryFile, + { + dev, + platform, + hot, + generateSourceMaps, + projectRoots: this._projectRoots, + }, + ).then(transformSpecificOptions => { + const transformOptions = { + minify, + dev, + platform, + transform: transformSpecificOptions, + }; + + return this._resolver.getShallowDependencies(entryFile, transformOptions); + }); } stat(filePath) { diff --git a/packager/react-packager/src/Resolver/index.js b/packager/react-packager/src/Resolver/index.js index 8de8d5f83..fd67201f3 100644 --- a/packager/react-packager/src/Resolver/index.js +++ b/packager/react-packager/src/Resolver/index.js @@ -120,8 +120,8 @@ class Resolver { }); } - getShallowDependencies(entryFile) { - return this._depGraph.getShallowDependencies(entryFile); + getShallowDependencies(entryFile, transformOptions) { + return this._depGraph.getShallowDependencies(entryFile, transformOptions); } stat(filePath) { diff --git a/packager/react-packager/src/Server/index.js b/packager/react-packager/src/Server/index.js index aa772685b..f7b4b354c 100644 --- a/packager/react-packager/src/Server/index.js +++ b/packager/react-packager/src/Server/index.js @@ -254,8 +254,15 @@ class Server { return this._bundler.hmrBundle(modules, host, port); } - getShallowDependencies(entryFile) { - return this._bundler.getShallowDependencies(entryFile); + getShallowDependencies(options) { + return Promise.resolve().then(() => { + if (!options.platform) { + options.platform = getPlatformExtension(options.entryFile); + } + + const opts = dependencyOpts(options); + return this._bundler.getShallowDependencies(opts); + }); } getModuleForPath(entryFile) {