From fc653d8057cce0c9e347def26bb4843fe1638175 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Thu, 13 Sep 2018 08:51:16 -0700 Subject: [PATCH] Export init function Summary: This way we can mock it during tests. Reviewed By: jknoxville Differential Revision: D9788349 fbshipit-source-id: 55b2a61186e6294a8098db7add50fd8bbac7a680 --- src/__mocks__/init.js | 10 ++++++++++ src/index.js | 7 ++++--- src/init.js | 28 +++++++++++++++------------- 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 src/__mocks__/init.js diff --git a/src/__mocks__/init.js b/src/__mocks__/init.js new file mode 100644 index 000000000..9c5f81382 --- /dev/null +++ b/src/__mocks__/init.js @@ -0,0 +1,10 @@ +/** + * Copyright 2018-present Facebook. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * @format + */ + +export default function init() { + // no-op +} diff --git a/src/index.js b/src/index.js index a96b95e75..4575c87b3 100644 --- a/src/index.js +++ b/src/index.js @@ -14,9 +14,10 @@ export {SonarBasePlugin, SonarPlugin, SonarDevicePlugin} from './plugin.js'; export {createTablePlugin} from './createTablePlugin.js'; export {default as SonarSidebar} from './chrome/SonarSidebar.js'; -export * from './init.js'; -export {default} from './init.js'; - export {default as AndroidDevice} from './devices/AndroidDevice.js'; export {default as Device} from './devices/BaseDevice.js'; export {default as IOSDevice} from './devices/IOSDevice.js'; + +import init from './init.js'; + +init(); diff --git a/src/init.js b/src/init.js index 96a47ff8c..657489b21 100644 --- a/src/init.js +++ b/src/init.js @@ -62,16 +62,18 @@ const AppFrame = () => ( ); -// $FlowFixMe: this element exists! -ReactDOM.render(, document.getElementById('root')); -// $FlowFixMe: service workers exist! -navigator.serviceWorker - .register( - process.env.NODE_ENV === 'production' - ? path.join(__dirname, 'serviceWorker.js') - : './serviceWorker.js', - ) - .then(r => { - (r.installing || r.active).postMessage({precachedIcons}); - }) - .catch(console.error); +export default function init() { + // $FlowFixMe: this element exists! + ReactDOM.render(, document.getElementById('root')); + // $FlowFixMe: service workers exist! + navigator.serviceWorker + .register( + process.env.NODE_ENV === 'production' + ? path.join(__dirname, 'serviceWorker.js') + : './serviceWorker.js', + ) + .then(r => { + (r.installing || r.active).postMessage({precachedIcons}); + }) + .catch(console.error); +}