UNPKG

create-dan

Version:

Dan frameworks

1 lines 22.6 kB
{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime-corejs2/regenerator\");\n\nvar _classCallCheck = require(\"@babel/runtime-corejs2/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime-corejs2/helpers/createClass\");\n\nvar _possibleConstructorReturn = require(\"@babel/runtime-corejs2/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"@babel/runtime-corejs2/helpers/getPrototypeOf\");\n\nvar _inherits = require(\"@babel/runtime-corejs2/helpers/inherits\");\n\nvar _slicedToArray = require(\"@babel/runtime-corejs2/helpers/slicedToArray\");\n\nvar _interopRequireWildcard3 = require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.render = render;\nexports.renderError = renderError;\nexports[\"default\"] = exports.emitter = exports.router = exports.version = void 0;\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/asyncToGenerator\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/extends\"));\n\nvar _interopRequireWildcard2 = _interopRequireDefault(require(\"@babel/runtime-corejs2/helpers/interopRequireWildcard\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _headManager = _interopRequireDefault(require(\"./head-manager\"));\n\nvar _router = require(\"next/router\");\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nvar _pageLoader = _interopRequireDefault(require(\"./page-loader\"));\n\nvar envConfig = _interopRequireWildcard3(require(\"../next-server/lib/runtime-config\"));\n\nvar _headManagerContext = require(\"../next-server/lib/head-manager-context\");\n\nvar _routerContext = require(\"../next-server/lib/router-context\");\n\nvar _querystring = require(\"querystring\");\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n/* global location */\n\n\nif (!window.Promise) {\n window.Promise = _promise[\"default\"];\n}\n\nvar data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\nwindow.__NEXT_DATA__ = data;\nvar version = \"9.2.0\";\nexports.version = version;\nvar props = data.props,\n err = data.err,\n page = data.page,\n query = data.query,\n buildId = data.buildId,\n assetPrefix = data.assetPrefix,\n runtimeConfig = data.runtimeConfig,\n dynamicIds = data.dynamicIds;\nvar prefix = assetPrefix || ''; // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n// So, this is how we do it in the client side at runtime\n\n__webpack_public_path__ = prefix + \"/_next/\"; //eslint-disable-line\n// Initialize next/config with the environment configuration\n\nenvConfig.setConfig({\n serverRuntimeConfig: {},\n publicRuntimeConfig: runtimeConfig || {}\n});\nvar asPath = (0, _utils.getURL)();\nvar pageLoader = new _pageLoader[\"default\"](buildId, prefix);\n\nvar register = function register(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n r = _ref2[0],\n f = _ref2[1];\n\n return pageLoader.registerPage(r, f);\n};\n\nif (window.__NEXT_P) {\n window.__NEXT_P.map(register);\n}\n\nwindow.__NEXT_P = [];\nwindow.__NEXT_P.push = register;\nvar headManager = new _headManager[\"default\"]();\nvar appElement = document.getElementById('__next');\nvar lastAppProps;\nvar webpackHMR;\nvar router;\nexports.router = router;\nvar ErrorComponent;\nvar Component;\nvar App, onPerfEntry;\n\nvar Container =\n/*#__PURE__*/\nfunction (_react$default$Compon) {\n _inherits(Container, _react$default$Compon);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Container).apply(this, arguments));\n }\n\n _createClass(Container, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(err, info) {\n this.props.fn(err, info);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollToHash();\n\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n _promise[\"default\"].resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=unstable-post-hydration!'));\n }).then(function (mod) {\n return mod[\"default\"]();\n })[\"catch\"](function (err) {\n console.error('Error calling post-hydration for plugins', err);\n });\n } // If page was exported and has a querystring\n // If it's a dynamic route or has a querystring\n\n\n if (data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search) || Component && Component.__N_SSG && location.search) {\n // update query on mount for exported pages\n router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2[\"default\"])({}, router.query, {}, (0, _querystring.parse)(location.search.substr(1)))), asPath, {\n // WARNING: `_h` is an internal option for handing Next.js\n // client-side hydration. Your app should _never_ use this property.\n // It may change at any time without notice.\n _h: 1,\n shallow: true\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.scrollToHash();\n }\n }, {\n key: \"scrollToHash\",\n value: function scrollToHash() {\n var _location = location,\n hash = _location.hash;\n hash = hash && hash.substring(1);\n if (!hash) return;\n var el = document.getElementById(hash);\n if (!el) return; // If we call scrollIntoView() in here without a setTimeout\n // it won't scroll properly.\n\n setTimeout(function () {\n return el.scrollIntoView();\n }, 0);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return Container;\n}(_react[\"default\"].Component);\n\nvar emitter = (0, _mitt[\"default\"])();\nexports.emitter = emitter;\n\nvar _default =\n/*#__PURE__*/\nfunction () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee(_temp) {\n var _ref, passedWebpackHMR, _ref3, app, mod, initialErr, _require, isValidElementType, renderCtx;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _ref = _temp === void 0 ? {} : _temp, passedWebpackHMR = _ref.webpackHMR; // This makes sure this specific lines are removed in production\n\n if (false) {\n webpackHMR = passedWebpackHMR;\n }\n\n _context.next = 4;\n return pageLoader.loadPageScript('/_app');\n\n case 4:\n _ref3 = _context.sent;\n app = _ref3.page;\n mod = _ref3.mod;\n App = app;\n\n if (mod && mod.unstable_onPerformanceData) {\n onPerfEntry = function onPerfEntry(_ref3) {\n var name = _ref3.name,\n startTime = _ref3.startTime,\n value = _ref3.value,\n duration = _ref3.duration;\n mod.unstable_onPerformanceData({\n name: name,\n startTime: startTime,\n value: value,\n duration: duration\n });\n };\n }\n\n initialErr = err;\n _context.prev = 10;\n _context.next = 13;\n return pageLoader.loadPage(page);\n\n case 13:\n Component = _context.sent;\n\n if (!false) {\n _context.next = 18;\n break;\n }\n\n _require = require('react-is'), isValidElementType = _require.isValidElementType;\n\n if (isValidElementType(Component)) {\n _context.next = 18;\n break;\n }\n\n throw new Error(\"The default export is not a React Component in page: \\\"\" + page + \"\\\"\");\n\n case 18:\n _context.next = 23;\n break;\n\n case 20:\n _context.prev = 20;\n _context.t0 = _context[\"catch\"](10);\n // This catches errors like throwing in the top level of a module\n initialErr = _context.t0;\n\n case 23:\n if (!window.__NEXT_PRELOADREADY) {\n _context.next = 26;\n break;\n }\n\n _context.next = 26;\n return window.__NEXT_PRELOADREADY(dynamicIds);\n\n case 26:\n exports.router = router = (0, _router.createRouter)(page, query, asPath, {\n initialProps: props,\n pageLoader: pageLoader,\n App: App,\n Component: Component,\n wrapApp: wrapApp,\n err: initialErr,\n subscription: function subscription(_ref4, App) {\n var Component = _ref4.Component,\n props = _ref4.props,\n err = _ref4.err;\n render({\n App: App,\n Component: Component,\n props: props,\n err: err\n });\n }\n }); // call init-client middleware\n\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n _promise[\"default\"].resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-init-client!'));\n }).then(function (mod) {\n return mod[\"default\"]({\n router: router\n });\n })[\"catch\"](function (err) {\n console.error('Error calling client-init for plugins', err);\n });\n }\n\n renderCtx = {\n App: App,\n Component: Component,\n props: props,\n err: initialErr\n };\n render(renderCtx);\n return _context.abrupt(\"return\", emitter);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[10, 20]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports[\"default\"] = _default;\n\nfunction render(_x2) {\n return _render.apply(this, arguments);\n} // This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\n\n\nfunction _render() {\n _render = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee2(props) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!props.err) {\n _context2.next = 4;\n break;\n }\n\n _context2.next = 3;\n return renderError(props);\n\n case 3:\n return _context2.abrupt(\"return\");\n\n case 4:\n _context2.prev = 4;\n _context2.next = 7;\n return doRender(props);\n\n case 7:\n _context2.next = 13;\n break;\n\n case 9:\n _context2.prev = 9;\n _context2.t0 = _context2[\"catch\"](4);\n _context2.next = 13;\n return renderError((0, _extends2[\"default\"])({}, props, {\n err: _context2.t0\n }));\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[4, 9]]);\n }));\n return _render.apply(this, arguments);\n}\n\nfunction renderError(_x3) {\n return _renderError.apply(this, arguments);\n} // If hydrate does not exist, eg in preact.\n\n\nfunction _renderError() {\n _renderError = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee3(props) {\n var App, err, AppTree, appCtx, initProps;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n App = props.App, err = props.err; // In development runtime errors are caught by react-error-overlay\n // In production we catch runtime errors using componentDidCatch which will trigger renderError\n\n if (!false) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", webpackHMR.reportRuntimeError(webpackHMR.prepareError(err)));\n\n case 3:\n if (process.env.__NEXT_PLUGINS) {\n // eslint-disable-next-line\n _promise[\"default\"].resolve().then(function () {\n return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-error-client!'));\n }).then(function (mod) {\n return mod[\"default\"]({\n err: err\n });\n })[\"catch\"](function (err) {\n console.error('error calling on-error-client for plugins', err);\n });\n } // Make sure we log the error to the console, otherwise users can't track down issues.\n\n\n console.error(err);\n _context3.next = 7;\n return pageLoader.loadPage('/_error');\n\n case 7:\n ErrorComponent = _context3.sent;\n // In production we do a normal render with the `ErrorComponent` as component.\n // If we've gotten here upon initial render, we can use the props from the server.\n // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n AppTree = wrapApp(App);\n appCtx = {\n Component: ErrorComponent,\n AppTree: AppTree,\n router: router,\n ctx: {\n err: err,\n pathname: page,\n query: query,\n asPath: asPath,\n AppTree: AppTree\n }\n };\n\n if (!props.props) {\n _context3.next = 14;\n break;\n }\n\n _context3.t0 = props.props;\n _context3.next = 17;\n break;\n\n case 14:\n _context3.next = 16;\n return (0, _utils.loadGetInitialProps)(App, appCtx);\n\n case 16:\n _context3.t0 = _context3.sent;\n\n case 17:\n initProps = _context3.t0;\n _context3.next = 20;\n return doRender((0, _extends2[\"default\"])({}, props, {\n err: err,\n Component: ErrorComponent,\n props: initProps\n }));\n\n case 20:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _renderError.apply(this, arguments);\n}\n\nvar isInitialRender = typeof _reactDom[\"default\"].hydrate === 'function';\nvar reactRoot = null;\n\nfunction renderReactElement(reactEl, domEl) {\n if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n if (!reactRoot) {\n var opts = {\n hydrate: true\n };\n reactRoot = process.env.__NEXT_REACT_MODE === 'concurrent' ? _reactDom[\"default\"].createRoot(domEl, opts) : _reactDom[\"default\"].createBlockingRoot(domEl, opts);\n }\n\n reactRoot.render(reactEl);\n } else {\n // mark start of hydrate/render\n if (_utils.ST) {\n performance.mark('beforeRender');\n } // The check for `.hydrate` is there to support React alternatives like preact\n\n\n if (isInitialRender) {\n _reactDom[\"default\"].hydrate(reactEl, domEl, markHydrateComplete);\n\n isInitialRender = false;\n } else {\n _reactDom[\"default\"].render(reactEl, domEl, markRenderComplete);\n }\n }\n\n if (onPerfEntry && _utils.ST) {\n try {\n var observer = new PerformanceObserver(function (list) {\n list.getEntries().forEach(onPerfEntry);\n }); // Start observing paint entry types.\n\n observer.observe({\n type: 'paint',\n buffered: true\n });\n } catch (e) {\n window.addEventListener('load', function () {\n performance.getEntriesByType('paint').forEach(onPerfEntry);\n });\n }\n }\n}\n\nfunction markHydrateComplete() {\n if (!_utils.ST) return;\n performance.mark('afterHydrate'); // mark end of hydration\n\n performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');\n performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');\n\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);\n performance.getEntriesByName('beforeRender').forEach(onPerfEntry);\n }\n\n clearMarks();\n}\n\nfunction markRenderComplete() {\n if (!_utils.ST) return;\n performance.mark('afterRender'); // mark end of render\n\n var navStartEntries = performance.getEntriesByName('routeChange', 'mark');\n\n if (!navStartEntries.length) {\n return;\n }\n\n performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');\n performance.measure('Next.js-render', 'beforeRender', 'afterRender');\n\n if (onPerfEntry) {\n performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);\n performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);\n }\n\n clearMarks();\n}\n\nfunction clearMarks() {\n ;\n ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {\n return performance.clearMarks(mark);\n });\n ['Next.js-before-hydration', 'Next.js-hydration', 'Next.js-route-change-to-render', 'Next.js-render'].forEach(function (measure) {\n return performance.clearMeasures(measure);\n });\n}\n\nfunction AppContainer(_ref5) {\n var children = _ref5.children;\n return _react[\"default\"].createElement(Container, {\n fn: function fn(error) {\n return renderError({\n App: App,\n err: error\n })[\"catch\"](function (err) {\n return console.error('Error rendering page: ', err);\n });\n }\n }, _react[\"default\"].createElement(_routerContext.RouterContext.Provider, {\n value: (0, _router.makePublicRouterInstance)(router)\n }, _react[\"default\"].createElement(_headManagerContext.HeadManagerContext.Provider, {\n value: headManager.updateHead\n }, children)));\n}\n\nvar wrapApp = function wrapApp(App) {\n return function (props) {\n var appProps = (0, _extends2[\"default\"])({}, props, {\n Component: Component,\n err: err,\n router: router\n });\n return _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps));\n };\n};\n\nfunction doRender(_x4) {\n return _doRender.apply(this, arguments);\n}\n\nfunction _doRender() {\n _doRender = (0, _asyncToGenerator2[\"default\"])(\n /*#__PURE__*/\n _regeneratorRuntime.mark(function _callee4(_ref6) {\n var App, Component, props, err, _router2, pathname, _query, _asPath, AppTree, appCtx, appProps, elem;\n\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n App = _ref6.App, Component = _ref6.Component, props = _ref6.props, err = _ref6.err; // Usual getInitialProps fetching is handled in next/router\n // this is for when ErrorComponent gets replaced by Component by HMR\n\n if (!(!props && Component && Component !== ErrorComponent && lastAppProps.Component === ErrorComponent)) {\n _context4.next = 8;\n break;\n }\n\n _router2 = router, pathname = _router2.pathname, _query = _router2.query, _asPath = _router2.asPath;\n AppTree = wrapApp(App);\n appCtx = {\n router: router,\n AppTree: AppTree,\n Component: ErrorComponent,\n ctx: {\n err: err,\n pathname: pathname,\n query: _query,\n asPath: _asPath,\n AppTree: AppTree\n }\n };\n _context4.next = 7;\n return (0, _utils.loadGetInitialProps)(App, appCtx);\n\n case 7:\n props = _context4.sent;\n\n case 8:\n Component = Component || lastAppProps.Component;\n props = props || lastAppProps.props;\n appProps = (0, _extends2[\"default\"])({}, props, {\n Component: Component,\n err: err,\n router: router\n }); // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n\n lastAppProps = appProps;\n emitter.emit('before-reactdom-render', {\n Component: Component,\n ErrorComponent: ErrorComponent,\n appProps: appProps\n });\n elem = _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps)); // We catch runtime errors using componentDidCatch which will trigger renderError\n\n renderReactElement(process.env.__NEXT_STRICT_MODE ? _react[\"default\"].createElement(_react[\"default\"].StrictMode, null, elem) : elem, appElement);\n emitter.emit('after-reactdom-render', {\n Component: Component,\n ErrorComponent: ErrorComponent,\n appProps: appProps\n });\n\n case 16:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _doRender.apply(this, arguments);\n}","map":null,"metadata":{},"sourceType":"script"}