1 | "use strict";var _interopRequireWildcard=require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.render=render;exports.renderError=renderError;exports.default=exports.emitter=exports.router=exports.version=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));require("@next/polyfill-module");var _react=_interopRequireDefault(require("react"));var _reactDom=_interopRequireDefault(require("react-dom"));var _headManagerContext=require("../next-server/lib/head-manager-context");var _mitt=_interopRequireDefault(require("../next-server/lib/mitt"));var _routerContext=require("../next-server/lib/router-context");var _router=require("../next-server/lib/router/router");var _isDynamic=require("../next-server/lib/router/utils/is-dynamic");var querystring=_interopRequireWildcard(require("../next-server/lib/router/utils/querystring"));var envConfig=_interopRequireWildcard(require("../next-server/lib/runtime-config"));var _utils=require("../next-server/lib/utils");var _portal=require("./portal");var _headManager=_interopRequireDefault(require("./head-manager"));var _pageLoader=_interopRequireDefault(require("./page-loader"));var _performanceRelayer=_interopRequireDefault(require("./performance-relayer"));var _routeAnnouncer=require("./route-announcer");var _router2=require("./router");const data=JSON.parse(document.getElementById('__NEXT_DATA__').textContent);window.__NEXT_DATA__=data;const version="11.0.1";exports.version=version;const looseToArray=input=>[].slice.call(input);const{props:hydrateProps,err:hydrateErr,page,query,buildId,assetPrefix,runtimeConfig,dynamicIds,isFallback,locale,locales,domainLocales,isPreview}=data;let{defaultLocale}=data;const prefix=assetPrefix||'';
|
2 |
|
3 | __webpack_public_path__=`${prefix}/_next/`;
|
4 |
|
5 | envConfig.setConfig({serverRuntimeConfig:{},publicRuntimeConfig:runtimeConfig||{}});let asPath=(0,_utils.getURL)();
|
6 | if((0,_router.hasBasePath)(asPath)){asPath=(0,_router.delBasePath)(asPath);}if(process.env.__NEXT_I18N_SUPPORT){const{normalizeLocalePath}=require('../next-server/lib/i18n/normalize-locale-path');const{detectDomainLocale}=require('../next-server/lib/i18n/detect-domain-locale');const{parseRelativeUrl}=require('../next-server/lib/router/utils/parse-relative-url');const{formatUrl}=require('../next-server/lib/router/utils/format-url');if(locales){const parsedAs=parseRelativeUrl(asPath);const localePathResult=normalizeLocalePath(parsedAs.pathname,locales);if(localePathResult.detectedLocale){parsedAs.pathname=localePathResult.pathname;asPath=formatUrl(parsedAs);}else{
|
7 |
|
8 |
|
9 | defaultLocale=locale;}
|
10 | const detectedDomain=detectDomainLocale(process.env.__NEXT_I18N_DOMAINS,window.location.hostname);
|
11 |
|
12 | if(detectedDomain){defaultLocale=detectedDomain.defaultLocale;}}}if(data.scriptLoader){const{initScriptLoader}=require('./script');initScriptLoader(data.scriptLoader);}const pageLoader=new _pageLoader.default(buildId,prefix);const register=([r,f])=>pageLoader.routeLoader.onEntrypoint(r,f);if(window.__NEXT_P){
|
13 |
|
14 | window.__NEXT_P.map(p=>setTimeout(()=>register(p),0));}window.__NEXT_P=[];window.__NEXT_P.push=register;const headManager=(0,_headManager.default)();const appElement=document.getElementById('__next');let lastRenderReject;let webpackHMR;let router;exports.router=router;let CachedApp,onPerfEntry;class Container extends _react.default.Component{componentDidCatch(componentErr,info){this.props.fn(componentErr,info);}componentDidMount(){this.scrollToHash();
|
15 |
|
16 |
|
17 |
|
18 | if(router.isSsr&&
|
19 |
|
20 |
|
21 | page!=='/404'&&!(page==='/_error'&&hydrateProps&&hydrateProps.pageProps&&hydrateProps.pageProps.statusCode===404)&&(isFallback||data.nextExport&&((0,_isDynamic.isDynamicRoute)(router.pathname)||location.search||process.env.__NEXT_HAS_REWRITES)||hydrateProps&&hydrateProps.__N_SSG&&(location.search||process.env.__NEXT_HAS_REWRITES))){
|
22 | router.replace(router.pathname+'?'+String(querystring.assign(querystring.urlQueryToSearchParams(router.query),new URLSearchParams(location.search))),asPath,{
|
23 |
|
24 |
|
25 |
|
26 | _h:1,
|
27 |
|
28 |
|
29 |
|
30 | shallow:!isFallback});}}componentDidUpdate(){this.scrollToHash();}scrollToHash(){let{hash}=location;hash=hash&&hash.substring(1);if(!hash)return;const el=document.getElementById(hash);if(!el)return;
|
31 |
|
32 | setTimeout(()=>el.scrollIntoView(),0);}render(){if(process.env.NODE_ENV==='production'){return this.props.children;}else{const{ReactDevOverlay}=require('@next/react-dev-overlay/lib/client');return_react.default.createElement(ReactDevOverlay,null,this.props.children);}}}const emitter=(0,_mitt.default)();exports.emitter=emitter;let CachedComponent;var _default=async(opts={})=>{
|
33 | if(process.env.NODE_ENV==='development'){webpackHMR=opts.webpackHMR;}let initialErr=hydrateErr;try{const appEntrypoint=await pageLoader.routeLoader.whenEntrypoint('/_app');if('error'in appEntrypoint){throw appEntrypoint.error;}const{component:app,exports:mod}=appEntrypoint;CachedApp=app;if(mod&&mod.reportWebVitals){onPerfEntry=({id,name,startTime,value,duration,entryType,entries})=>{
|
34 | const uniqueID=`${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`;let perfStartEntry;if(entries&&entries.length){perfStartEntry=entries[0].startTime;}mod.reportWebVitals({id:id||uniqueID,name,startTime:startTime||perfStartEntry,value:value==null?duration:value,label:entryType==='mark'||entryType==='measure'?'custom':'web-vital'});};}const pageEntrypoint=
|
35 |
|
36 | process.env.NODE_ENV==='development'&&hydrateErr?{error:hydrateErr}:await pageLoader.routeLoader.whenEntrypoint(page);if('error'in pageEntrypoint){throw pageEntrypoint.error;}CachedComponent=pageEntrypoint.component;if(process.env.NODE_ENV!=='production'){const{isValidElementType}=require('react-is');if(!isValidElementType(CachedComponent)){throw new Error(`The default export is not a React Component in page: "${page}"`);}}}catch(error){
|
37 | initialErr=error;}if(process.env.NODE_ENV==='development'){const{getNodeError}=require('@next/react-dev-overlay/lib/client');
|
38 |
|
39 | if(initialErr){if(initialErr===hydrateErr){setTimeout(()=>{let error;try{
|
40 |
|
41 |
|
42 | throw new Error(initialErr.message);}catch(e){error=e;}error.name=initialErr.name;error.stack=initialErr.stack;const node=getNodeError(error);throw node;});}
|
43 |
|
44 | else{setTimeout(()=>{throw initialErr;});}}}if(window.__NEXT_PRELOADREADY){await window.__NEXT_PRELOADREADY(dynamicIds);}exports.router=router=(0,_router2.createRouter)(page,query,asPath,{initialProps:hydrateProps,pageLoader,App:CachedApp,Component:CachedComponent,wrapApp,err:initialErr,isFallback:Boolean(isFallback),subscription:(info,App,scroll)=>render(Object.assign({},info,{App,scroll})),locale,locales,defaultLocale,domainLocales,isPreview});const renderCtx={App:CachedApp,initial:true,Component:CachedComponent,props:hydrateProps,err:initialErr};if(process.env.NODE_ENV==='production'){render(renderCtx);return emitter;}else{return{emitter,render,renderCtx};}};exports.default=_default;async function render(renderingProps){if(renderingProps.err){await renderError(renderingProps);return;}try{await doRender(renderingProps);}catch(renderErr){
|
45 | if(renderErr.cancelled){throw renderErr;}if(process.env.NODE_ENV==='development'){
|
46 | setTimeout(()=>{throw renderErr;});}await renderError((0,_extends2.default)({},renderingProps,{err:renderErr}));}}
|
47 |
|
48 |
|
49 | function renderError(renderErrorProps){const{App,err}=renderErrorProps;
|
50 |
|
51 | if(process.env.NODE_ENV!=='production'){
|
52 |
|
53 | webpackHMR.onUnrecoverableError();
|
54 |
|
55 | return doRender({App:()=>null,props:{},Component:()=>null,styleSheets:[]});}
|
56 | console.error(err);return pageLoader.loadPage('/_error').then(({page:ErrorComponent,styleSheets})=>{
|
57 |
|
58 |
|
59 | const AppTree=wrapApp(App);const appCtx={Component:ErrorComponent,AppTree,router,ctx:{err,pathname:page,query,asPath,AppTree}};return Promise.resolve(renderErrorProps.props?renderErrorProps.props:(0,_utils.loadGetInitialProps)(App,appCtx)).then(initProps=>doRender((0,_extends2.default)({},renderErrorProps,{err,Component:ErrorComponent,styleSheets,props:initProps})));});}let reactRoot=null;let shouldHydrate=typeof _reactDom.default.hydrate==='function';function renderReactElement(domEl,fn){
|
60 | if(_utils.ST){performance.mark('beforeRender');}const reactEl=fn(shouldHydrate?markHydrateComplete:markRenderComplete);if(process.env.__NEXT_REACT_ROOT){if(!reactRoot){reactRoot=_reactDom.default.createRoot(domEl,{hydrate:shouldHydrate});}reactRoot.render(reactEl);shouldHydrate=false;}else{
|
61 | if(shouldHydrate){_reactDom.default.hydrate(reactEl,domEl);shouldHydrate=false;}else{_reactDom.default.render(reactEl,domEl);}}}function markHydrateComplete(){if(!_utils.ST)return;performance.mark('afterHydrate');
|
62 | performance.measure('Next.js-before-hydration','navigationStart','beforeRender');performance.measure('Next.js-hydration','beforeRender','afterHydrate');if(onPerfEntry){performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);}clearMarks();}function markRenderComplete(){if(!_utils.ST)return;performance.mark('afterRender');
|
63 | const navStartEntries=performance.getEntriesByName('routeChange','mark');if(!navStartEntries.length)return;performance.measure('Next.js-route-change-to-render',navStartEntries[0].name,'beforeRender');performance.measure('Next.js-render','beforeRender','afterRender');if(onPerfEntry){performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);}clearMarks();['Next.js-route-change-to-render','Next.js-render'].forEach(measure=>performance.clearMeasures(measure));}function clearMarks(){;['beforeRender','afterHydrate','afterRender','routeChange'].forEach(mark=>performance.clearMarks(mark));}function AppContainer({children}){return_react.default.createElement(Container,{fn:error=>renderError({App:CachedApp,err:error}).catch(err=>console.error('Error rendering page: ',err))},_react.default.createElement(_routerContext.RouterContext.Provider,{value:(0,_router2.makePublicRouterInstance)(router)},_react.default.createElement(_headManagerContext.HeadManagerContext.Provider,{value:headManager},children)));}const wrapApp=App=>wrappedAppProps=>{const appProps=(0,_extends2.default)({},wrappedAppProps,{Component:CachedComponent,err:hydrateErr,router});return_react.default.createElement(AppContainer,null,_react.default.createElement(App,appProps));};let lastAppProps;function doRender(input){let{App,Component,props,err}=input;let styleSheets='initial'in input?undefined:input.styleSheets;Component=Component||lastAppProps.Component;props=props||lastAppProps.props;const appProps=(0,_extends2.default)({},props,{Component,err,router});
|
64 | lastAppProps=appProps;let canceled=false;let resolvePromise;const renderPromise=new Promise((resolve,reject)=>{if(lastRenderReject){lastRenderReject();}resolvePromise=()=>{lastRenderReject=null;resolve();};lastRenderReject=()=>{canceled=true;lastRenderReject=null;const error=new Error('Cancel rendering route');error.cancelled=true;reject(error);};});
|
65 |
|
66 | function onStart(){if(!styleSheets||
|
67 |
|
68 | process.env.NODE_ENV!=='production'){return false;}const currentStyleTags=looseToArray(document.querySelectorAll('style[data-n-href]'));const currentHrefs=new Set(currentStyleTags.map(tag=>tag.getAttribute('data-n-href')));const noscript=document.querySelector('noscript[data-n-css]');const nonce=noscript==null?void 0:noscript.getAttribute('data-n-css');styleSheets.forEach(({href,text})=>{if(!currentHrefs.has(href)){const styleTag=document.createElement('style');styleTag.setAttribute('data-n-href',href);styleTag.setAttribute('media','x');if(nonce){styleTag.setAttribute('nonce',nonce);}document.head.appendChild(styleTag);styleTag.appendChild(document.createTextNode(text));}});return true;}function onHeadCommit(){if(
|
69 |
|
70 | process.env.NODE_ENV==='production'&&
|
71 |
|
72 | styleSheets&&
|
73 | !canceled){const desiredHrefs=new Set(styleSheets.map(s=>s.href));const currentStyleTags=looseToArray(document.querySelectorAll('style[data-n-href]'));const currentHrefs=currentStyleTags.map(tag=>tag.getAttribute('data-n-href'));
|
74 | for(let idx=0;idx<currentHrefs.length;++idx){if(desiredHrefs.has(currentHrefs[idx])){currentStyleTags[idx].removeAttribute('media');}else{currentStyleTags[idx].setAttribute('media','x');}}
|
75 | let referenceNode=document.querySelector('noscript[data-n-css]');if(
|
76 | referenceNode){styleSheets.forEach(({href})=>{const targetTag=document.querySelector(`style[data-n-href="${href}"]`);if(
|
77 | targetTag){referenceNode.parentNode.insertBefore(targetTag,referenceNode.nextSibling);referenceNode=targetTag;}});}
|
78 | looseToArray(document.querySelectorAll('link[data-n-p]')).forEach(el=>{el.parentNode.removeChild(el);});
|
79 |
|
80 | getComputedStyle(document.body,'height');}if(input.scroll){window.scrollTo(input.scroll.x,input.scroll.y);}}function onRootCommit(){resolvePromise();}onStart();const elem=_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(Head,{callback:onHeadCommit}),_react.default.createElement(AppContainer,null,_react.default.createElement(App,appProps),_react.default.createElement(_portal.Portal,{type:"next-route-announcer"},_react.default.createElement(_routeAnnouncer.RouteAnnouncer,null))));
|
81 | renderReactElement(appElement,callback=>_react.default.createElement(Root,{callbacks:[callback,onRootCommit]},process.env.__NEXT_STRICT_MODE?_react.default.createElement(_react.default.StrictMode,null,elem):elem));return renderPromise;}function Root({callbacks,children}){
|
82 |
|
83 | _react.default.useLayoutEffect(()=>callbacks.forEach(callback=>callback()),[callbacks]);if(process.env.__NEXT_TEST_MODE){
|
84 | _react.default.useEffect(()=>{window.__NEXT_HYDRATED=true;if(window.__NEXT_HYDRATED_CB){window.__NEXT_HYDRATED_CB();}},[]);}
|
85 |
|
86 | _react.default.useEffect(()=>{(0,_performanceRelayer.default)(onPerfEntry);},[]);return children;}
|
87 |
|
88 | function Head({callback}){
|
89 |
|
90 | _react.default.useLayoutEffect(()=>callback(),[callback]);return null;}
|
91 |
|
\ | No newline at end of file |