UNPKG

cl-react-graph

Version:
93 lines (68 loc) 3.02 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _react = _interopRequireDefault(require("react")); var _reactDom = _interopRequireDefault(require("react-dom")); var _domready = _interopRequireDefault(require("domready")); var _socketIo = _interopRequireDefault(require("./socketIo")); var _emitter = _interopRequireDefault(require("./emitter")); var _apiRunnerBrowser = require("./api-runner-browser"); var _loader = _interopRequireWildcard(require("./loader")); var _syncRequires = _interopRequireDefault(require("./sync-requires")); var _pages = _interopRequireDefault(require("./pages.json")); window.___emitter = _emitter.default; (0, _loader.setApiRunnerForLoader)(_apiRunnerBrowser.apiRunner); // Let the site/plugins run code very early. (0, _apiRunnerBrowser.apiRunnerAsync)(`onClientEntry`).then(() => { // Hook up the client to socket.io on server const socket = (0, _socketIo.default)(); if (socket) { socket.on(`reload`, () => { window.location.reload(); }); } /** * Service Workers are persistent by nature. They stick around, * serving a cached version of the site if they aren't removed. * This is especially frustrating when you need to test the * production build on your local machine. * * Let's unregister the service workers in development, and tidy up a few errors. */ if (supportsServiceWorkers(location, navigator)) { navigator.serviceWorker.getRegistrations().then(registrations => { for (var _iterator = registrations, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } let registration = _ref; registration.unregister(); } }); } const rootElement = document.getElementById(`___gatsby`); const renderer = (0, _apiRunnerBrowser.apiRunner)(`replaceHydrateFunction`, undefined, _reactDom.default.render)[0]; _loader.default.addPagesArray(_pages.default); _loader.default.addDevRequires(_syncRequires.default); _loader.default.getResourcesForPathname(window.location.pathname).then(() => { const preferDefault = m => m && m.default || m; let Root = preferDefault(require(`./root`)); (0, _domready.default)(() => { renderer(_react.default.createElement(Root, null), rootElement, () => { (0, _loader.postInitialRenderWork)(); (0, _apiRunnerBrowser.apiRunner)(`onInitialClientRender`); }); }); }); }); function supportsServiceWorkers(location, navigator) { if (location.hostname === `localhost` || location.protocol === `https:`) { return `serviceWorker` in navigator; } return false; }