From 1b80007236409b024e09e3110ee50f8cdc813173 Mon Sep 17 00:00:00 2001 From: Philipp von Weitershausen Date: Tue, 22 Dec 2015 15:16:46 -0800 Subject: [PATCH] Improvements to the packager for very large projects Summary: Here are some small fixes for issues we've encountered with very large RN projects (mostly huge dependency trees in `node_modules`). cc amasad martinbigio Closes https://github.com/facebook/react-native/pull/4880 Reviewed By: svcscm Differential Revision: D2782834 Pulled By: mkonicek fb-gh-sync-id: e316a62b84ba796b80ac819431414ebf27f7b566 --- local-cli/server/runServer.js | 4 ++++ .../src/DependencyResolver/FileWatcher/index.js | 2 +- packager/react-packager/src/DependencyResolver/fastfs.js | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/local-cli/server/runServer.js b/local-cli/server/runServer.js index 47e5e73a2..a05b0e2e5 100644 --- a/local-cli/server/runServer.js +++ b/local-cli/server/runServer.js @@ -49,6 +49,10 @@ function runServer(args, config, readyCallback) { readyCallback(); } ); + // Disable any kind of automatic timeout behavior for incoming + // requests in case it takes the packager more than the default + // timeout of 120 seconds to respond to a request. + serverInstance.timeout = 0; } function getAppMiddleware(args, config) { diff --git a/packager/react-packager/src/DependencyResolver/FileWatcher/index.js b/packager/react-packager/src/DependencyResolver/FileWatcher/index.js index 227687e1c..6c8a07093 100644 --- a/packager/react-packager/src/DependencyResolver/FileWatcher/index.js +++ b/packager/react-packager/src/DependencyResolver/FileWatcher/index.js @@ -13,7 +13,7 @@ const sane = require('sane'); const Promise = require('promise'); const exec = require('child_process').exec; -const MAX_WAIT_TIME = 25000; +const MAX_WAIT_TIME = 120000; // TODO(amasad): can we use watchman version command instead? const detectingWatcherClass = new Promise(function(resolve) { diff --git a/packager/react-packager/src/DependencyResolver/fastfs.js b/packager/react-packager/src/DependencyResolver/fastfs.js index 3a6c3ee13..5bff24379 100644 --- a/packager/react-packager/src/DependencyResolver/fastfs.js +++ b/packager/react-packager/src/DependencyResolver/fastfs.js @@ -293,11 +293,11 @@ class File { } getFiles() { - const files = []; + let files = []; Object.keys(this.children).forEach(key => { const file = this.children[key]; if (file.isDir) { - files.push(...file.getFiles()); + files = files.concat(file.getFiles()); } else { files.push(file); }