From 1396de9989b5dd31cc178dbe4f5d75c7a6fde6bd Mon Sep 17 00:00:00 2001 From: Steven Chaitoff Date: Thu, 24 Mar 2016 08:07:48 -0700 Subject: [PATCH] file change listener for relay fragments in packager server Reviewed By: martinbigio Differential Revision: D3011797 fb-gh-sync-id: 9f7ddc7b3c0c0e2a78db829343d9fa93a46b4ad6 shipit-source-id: 9f7ddc7b3c0c0e2a78db829343d9fa93a46b4ad6 --- packager/react-packager/src/Server/index.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packager/react-packager/src/Server/index.js b/packager/react-packager/src/Server/index.js index c52762f6c..aa772685b 100644 --- a/packager/react-packager/src/Server/index.js +++ b/packager/react-packager/src/Server/index.js @@ -217,6 +217,12 @@ class Server { this._hmrFileChangeListener = listener; } + addFileChangeListener(listener) { + if (this._fileChangeListeners.indexOf(listener) === -1) { + this._fileChangeListeners.push(listener); + } + } + buildBundle(options) { return Promise.resolve().then(() => { if (!options.platform) { @@ -288,6 +294,15 @@ class Server { return; } + Promise.all( + this._fileChangeListeners.map(listener => listener(absPath)) + ).then( + () => this._onFileChangeComplete(absPath), + () => this._onFileChangeComplete(absPath) + ); + } + + _onFileChangeComplete(absPath) { // Make sure the file watcher event runs through the system before // we rebuild the bundles. this._debouncedFileChangeHandler(absPath);