From 494d607e2855e09669be4bc8065d476df90463de Mon Sep 17 00:00:00 2001 From: wvengen Date: Wed, 30 Dec 2015 08:18:45 -0800 Subject: [PATCH] Improve watcher timeout error message (fixes #5005) Summary: Closes https://github.com/facebook/react-native/pull/5022 Reviewed By: svcscm Differential Revision: D2793185 Pulled By: milend fb-gh-sync-id: ec49d27d6e405924269a48f32cce401b1ce380f6 --- .../DependencyResolver/FileWatcher/index.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/packager/react-packager/src/DependencyResolver/FileWatcher/index.js b/packager/react-packager/src/DependencyResolver/FileWatcher/index.js index 6c8a07093..d75e02119 100644 --- a/packager/react-packager/src/DependencyResolver/FileWatcher/index.js +++ b/packager/react-packager/src/DependencyResolver/FileWatcher/index.js @@ -96,11 +96,7 @@ function createWatcher(rootConfig) { return new Promise(function(resolve, reject) { const rejectTimeout = setTimeout(function() { - reject(new Error([ - 'Watcher took too long to load', - 'Try running `watchman version` from your terminal', - 'https://facebook.github.io/watchman/docs/troubleshooting.html', - ].join('\n'))); + reject(new Error(timeoutMessage(Watcher))); }, MAX_WAIT_TIME); watcher.once('ready', function() { @@ -111,4 +107,17 @@ function createWatcher(rootConfig) { }); } +function timeoutMessage(Watcher) { + const lines = [ + 'Watcher took too long to load (' + Watcher.name + ')', + ]; + if (Watcher === sane.WatchmanWatcher) { + lines.push( + 'Try running `watchman version` from your terminal', + 'https://facebook.github.io/watchman/docs/troubleshooting.html', + ); + } + return lines.join('\n'); +} + module.exports = FileWatcher;