ilink-world/docs/.docz/.cache/commonjs/production-app.js

139 lines
5.2 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _apiRunnerBrowser = require("./api-runner-browser");
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _router = require("@reach/router");
var _gatsbyReactRouterScroll = require("gatsby-react-router-scroll");
var _domready = _interopRequireDefault(require("@mikaelkristiansson/domready"));
var _navigation = require("./navigation");
var _emitter = _interopRequireDefault(require("./emitter"));
var _pageRenderer = _interopRequireDefault(require("./page-renderer"));
var _asyncRequires = _interopRequireDefault(require("./async-requires"));
var _loader = require("./loader");
var _ensureResources = _interopRequireDefault(require("./ensure-resources"));
var _stripPrefix = _interopRequireDefault(require("./strip-prefix"));
var _matchPaths = _interopRequireDefault(require("./match-paths.json"));
// Generated during bootstrap
const loader = new _loader.ProdLoader(_asyncRequires.default, _matchPaths.default);
(0, _loader.setLoader)(loader);
loader.setApiRunner(_apiRunnerBrowser.apiRunner);
window.asyncRequires = _asyncRequires.default;
window.___emitter = _emitter.default;
window.___loader = _loader.publicLoader;
(0, _navigation.init)();
(0, _apiRunnerBrowser.apiRunnerAsync)(`onClientEntry`).then(() => {
// Let plugins register a service worker. The plugin just needs
// to return true.
if ((0, _apiRunnerBrowser.apiRunner)(`registerServiceWorker`).length > 0) {
require(`./register-service-worker`);
} // In gatsby v2 if Router is used in page using matchPaths
// paths need to contain full path.
// For example:
// - page have `/app/*` matchPath
// - inside template user needs to use `/app/xyz` as path
// Resetting `basepath`/`baseuri` keeps current behaviour
// to not introduce breaking change.
// Remove this in v3
const RouteHandler = props => _react.default.createElement(_router.BaseContext.Provider, {
value: {
baseuri: `/`,
basepath: `/`
}
}, _react.default.createElement(_pageRenderer.default, props));
class LocationHandler extends _react.default.Component {
render() {
const {
location
} = this.props;
return _react.default.createElement(_ensureResources.default, {
location: location
}, ({
pageResources,
location
}) => _react.default.createElement(_navigation.RouteUpdates, {
location: location
}, _react.default.createElement(_gatsbyReactRouterScroll.ScrollContext, {
location: location,
shouldUpdateScroll: _navigation.shouldUpdateScroll
}, _react.default.createElement(_router.Router, {
basepath: __BASE_PATH__,
location: location,
id: "gatsby-focus-wrapper"
}, _react.default.createElement(RouteHandler, (0, _extends2.default)({
path: pageResources.page.path === `/404.html` ? (0, _stripPrefix.default)(location.pathname, __BASE_PATH__) : encodeURI(pageResources.page.matchPath || pageResources.page.path)
}, this.props, {
location: location,
pageResources: pageResources
}, pageResources.json))))));
}
}
const {
pagePath,
location: browserLoc
} = window; // Explicitly call navigate if the canonical path (window.pagePath)
// is different to the browser path (window.location.pathname). But
// only if NONE of the following conditions hold:
//
// - The url matches a client side route (page.matchPath)
// - it's a 404 page
// - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)
if (pagePath && __BASE_PATH__ + pagePath !== browserLoc.pathname && !(loader.findMatchPath((0, _stripPrefix.default)(browserLoc.pathname, __BASE_PATH__)) || pagePath === `/404.html` || pagePath.match(/^\/404\/?$/) || pagePath.match(/^\/offline-plugin-app-shell-fallback\/?$/))) {
(0, _router.navigate)(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {
replace: true
});
}
_loader.publicLoader.loadPage(browserLoc.pathname).then(page => {
if (!page || page.status === `error`) {
throw new Error(`page resources for ${browserLoc.pathname} not found. Not rendering React`);
}
window.___webpackCompilationHash = page.page.webpackCompilationHash;
const Root = () => _react.default.createElement(_router.Location, null, locationContext => _react.default.createElement(LocationHandler, locationContext));
const WrappedRoot = (0, _apiRunnerBrowser.apiRunner)(`wrapRootElement`, {
element: _react.default.createElement(Root, null)
}, _react.default.createElement(Root, null), ({
result
}) => {
return {
element: result
};
}).pop();
const NewRoot = () => WrappedRoot;
const renderer = (0, _apiRunnerBrowser.apiRunner)(`replaceHydrateFunction`, undefined, _reactDom.default.hydrate)[0];
(0, _domready.default)(() => {
renderer(_react.default.createElement(NewRoot, null), typeof window !== `undefined` ? document.getElementById(`___gatsby`) : void 0, () => {
(0, _apiRunnerBrowser.apiRunner)(`onInitialClientRender`);
});
});
});
});