UNPKG

create-dan

Version:

Dan frameworks

1 lines 24.7 kB
{"ast":null,"code":"\"use strict\";\n\nvar _classCallCheck = require(\"@babel/runtime-corejs2/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime-corejs2/helpers/createClass\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nfunction hasRel(rel, link) {\n try {\n link = document.createElement('link');\n return link.relList.supports(rel);\n } catch (_unused) {}\n}\n\nvar relPrefetch = hasRel('preload') && !hasRel('prefetch') ? // https://caniuse.com/#feat=link-rel-preload\n// macOS and iOS (Safari does not support prefetch)\n'preload' : // https://caniuse.com/#feat=link-rel-prefetch\n// IE 11, Edge 12+, nearly all evergreen\n'prefetch';\nvar hasNoModule = 'noModule' in document.createElement('script');\n\nfunction normalizeRoute(route) {\n if (route[0] !== '/') {\n throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\" + route + \"\\\"\");\n }\n\n route = route.replace(/\\/index$/, '/');\n if (route === '/') return route;\n return route.replace(/\\/$/, '');\n}\n\nfunction appendLink(href, rel, as) {\n return new _promise[\"default\"](function (res, rej, link) {\n link = document.createElement('link');\n link.crossOrigin = process.crossOrigin;\n link.href = href;\n link.rel = rel;\n if (as) link.as = as;\n link.onload = res;\n link.onerror = rej;\n document.head.appendChild(link);\n });\n}\n\nvar PageLoader =\n/*#__PURE__*/\nfunction () {\n function PageLoader(buildId, assetPrefix) {\n _classCallCheck(this, PageLoader);\n\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n this.pageCache = {};\n this.pageRegisterEvents = (0, _mitt[\"default\"])();\n this.loadingRoutes = {};\n\n if (process.env.__NEXT_GRANULAR_CHUNKS) {\n this.promisedBuildManifest = new _promise[\"default\"](function (resolve) {\n if (window.__BUILD_MANIFEST) {\n resolve(window.__BUILD_MANIFEST);\n } else {\n window.__BUILD_MANIFEST_CB = function () {\n resolve(window.__BUILD_MANIFEST);\n };\n }\n });\n }\n } // Returns a promise for the dependencies for a particular route\n\n\n _createClass(PageLoader, [{\n key: \"getDependencies\",\n value: function getDependencies(route) {\n var _this = this;\n\n return this.promisedBuildManifest.then(function (man) {\n return man[route] && man[route].map(function (url) {\n return _this.assetPrefix + \"/_next/\" + encodeURI(url);\n }) || [];\n });\n }\n }, {\n key: \"loadPage\",\n value: function loadPage(route) {\n return this.loadPageScript(route).then(function (v) {\n return v.page;\n });\n }\n }, {\n key: \"loadPageScript\",\n value: function loadPageScript(route) {\n var _this2 = this;\n\n route = normalizeRoute(route);\n return new _promise[\"default\"](function (resolve, reject) {\n var fire = function fire(_ref) {\n var error = _ref.error,\n page = _ref.page,\n mod = _ref.mod;\n\n _this2.pageRegisterEvents.off(route, fire);\n\n delete _this2.loadingRoutes[route];\n\n if (error) {\n reject(error);\n } else {\n resolve({\n page: page,\n mod: mod\n });\n }\n }; // If there's a cached version of the page, let's use it.\n\n\n var cachedPage = _this2.pageCache[route];\n\n if (cachedPage) {\n var error = cachedPage.error,\n page = cachedPage.page,\n mod = cachedPage.mod;\n error ? reject(error) : resolve({\n page: page,\n mod: mod\n });\n return;\n } // Register a listener to get the page\n\n\n _this2.pageRegisterEvents.on(route, fire); // If the page is loading via SSR, we need to wait for it\n // rather downloading it again.\n\n\n if (document.querySelector(\"script[data-next-page=\\\"\" + route + \"\\\"]\")) {\n return;\n }\n\n if (!_this2.loadingRoutes[route]) {\n _this2.loadingRoutes[route] = true;\n\n if (process.env.__NEXT_GRANULAR_CHUNKS) {\n _this2.getDependencies(route).then(function (deps) {\n deps.forEach(function (d) {\n if (/\\.js$/.test(d) && !document.querySelector(\"script[src^=\\\"\" + d + \"\\\"]\")) {\n _this2.loadScript(d, route, false);\n }\n\n if (/\\.css$/.test(d) && !document.querySelector(\"link[rel=stylesheet][href^=\\\"\" + d + \"\\\"]\")) {\n appendLink(d, 'stylesheet')[\"catch\"](function () {// FIXME: handle failure\n // Right now, this is needed to prevent an unhandled rejection.\n });\n }\n });\n\n _this2.loadRoute(route);\n });\n } else {\n _this2.loadRoute(route);\n }\n }\n });\n }\n }, {\n key: \"loadRoute\",\n value: function loadRoute(route) {\n route = normalizeRoute(route);\n var scriptRoute = route === '/' ? '/index.js' : route + \".js\";\n var url = this.assetPrefix + \"/_next/static/\" + encodeURIComponent(this.buildId) + \"/pages\" + encodeURI(scriptRoute);\n this.loadScript(url, route, true);\n }\n }, {\n key: \"loadScript\",\n value: function loadScript(url, route, isPage) {\n var _this3 = this;\n\n var script = document.createElement('script');\n\n if (process.env.__NEXT_MODERN_BUILD && hasNoModule) {\n script.type = 'module'; // Only page bundle scripts need to have .module added to url,\n // dependencies already have it added during build manifest creation\n\n if (isPage) url = url.replace(/\\.js$/, '.module.js');\n }\n\n script.crossOrigin = process.crossOrigin;\n script.src = url;\n\n script.onerror = function () {\n var error = new Error(\"Error loading script \" + url);\n error.code = 'PAGE_LOAD_ERROR';\n\n _this3.pageRegisterEvents.emit(route, {\n error: error\n });\n };\n\n document.body.appendChild(script);\n } // This method if called by the route code.\n\n }, {\n key: \"registerPage\",\n value: function registerPage(route, regFn) {\n var _this4 = this;\n\n var register = function register() {\n try {\n var mod = regFn();\n var pageData = {\n page: mod[\"default\"] || mod,\n mod: mod\n };\n _this4.pageCache[route] = pageData;\n\n _this4.pageRegisterEvents.emit(route, pageData);\n } catch (error) {\n _this4.pageCache[route] = {\n error: error\n };\n\n _this4.pageRegisterEvents.emit(route, {\n error: error\n });\n }\n };\n\n if (true) {\n // Wait for webpack to become idle if it's not.\n // More info: https://github.com/zeit/next.js/pull/1511\n if (module.hot && module.hot.status() !== 'idle') {\n console.log(\"Waiting for webpack to become \\\"idle\\\" to initialize the page: \\\"\" + route + \"\\\"\");\n\n var check = function check(status) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(check);\n register();\n }\n };\n\n module.hot.status(check);\n return;\n }\n }\n\n register();\n }\n }, {\n key: \"prefetch\",\n value: function prefetch(route, isDependency) {\n var _this5 = this;\n\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n var cn;\n\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return _promise[\"default\"].resolve();\n }\n\n var url;\n\n if (isDependency) {\n url = route;\n } else {\n route = normalizeRoute(route);\n var scriptRoute = (route === '/' ? '/index' : route) + \".js\";\n\n if (process.env.__NEXT_MODERN_BUILD && hasNoModule) {\n scriptRoute = scriptRoute.replace(/\\.js$/, '.module.js');\n }\n\n url = this.assetPrefix + \"/_next/static/\" + encodeURIComponent(this.buildId) + \"/pages\" + encodeURI(scriptRoute);\n }\n\n return _promise[\"default\"].all(document.querySelector(\"link[rel=\\\"\" + relPrefetch + \"\\\"][href^=\\\"\" + url + \"\\\"], script[data-next-page=\\\"\" + route + \"\\\"]\") ? [] : [appendLink(url, relPrefetch, url.match(/\\.css$/) ? 'style' : 'script'), process.env.__NEXT_GRANULAR_CHUNKS && !isDependency && this.getDependencies(route).then(function (urls) {\n return _promise[\"default\"].all(urls.map(function (url) {\n return _this5.prefetch(url, true);\n }));\n })]).then( // do not return any data\n function () {}, // swallow prefetch errors\n function () {});\n }\n }]);\n\n return PageLoader;\n}();\n\nexports[\"default\"] = PageLoader;","map":{"version":3,"sources":["/Users/sbourgal/Documents/Projets/DAN/dan-framework/template/node_modules/next/dist/client/page-loader.js"],"names":["_interopRequireDefault","require","exports","__esModule","_promise","_mitt","hasRel","rel","link","document","createElement","relList","supports","_unused","relPrefetch","hasNoModule","normalizeRoute","route","Error","replace","appendLink","href","as","res","rej","crossOrigin","process","onload","onerror","head","appendChild","PageLoader","buildId","assetPrefix","pageCache","pageRegisterEvents","loadingRoutes","env","__NEXT_GRANULAR_CHUNKS","promisedBuildManifest","resolve","window","__BUILD_MANIFEST","__BUILD_MANIFEST_CB","then","man","map","url","encodeURI","loadPageScript","v","page","reject","fire","_ref","error","mod","off","cachedPage","on","querySelector","getDependencies","deps","forEach","d","test","loadScript","loadRoute","scriptRoute","encodeURIComponent","isPage","script","__NEXT_MODERN_BUILD","type","src","code","emit","body","regFn","register","pageData","module","hot","status","console","log","check","removeStatusHandler","isDependency","cn","navigator","connection","saveData","effectiveType","all","match","urls","prefetch"],"mappings":"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","sourcesContent":["\"use strict\";var _interopRequireDefault=require(\"@babel/runtime-corejs2/helpers/interopRequireDefault\");exports.__esModule=true;exports.default=void 0;var _promise=_interopRequireDefault(require(\"@babel/runtime-corejs2/core-js/promise\"));var _mitt=_interopRequireDefault(require(\"../next-server/lib/mitt\"));function hasRel(rel,link){try{link=document.createElement('link');return link.relList.supports(rel);}catch(_unused){}}var relPrefetch=hasRel('preload')&&!hasRel('prefetch')?// https://caniuse.com/#feat=link-rel-preload\n// macOS and iOS (Safari does not support prefetch)\n'preload':// https://caniuse.com/#feat=link-rel-prefetch\n// IE 11, Edge 12+, nearly all evergreen\n'prefetch';var hasNoModule='noModule'in document.createElement('script');function normalizeRoute(route){if(route[0]!=='/'){throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\"+route+\"\\\"\");}route=route.replace(/\\/index$/,'/');if(route==='/')return route;return route.replace(/\\/$/,'');}function appendLink(href,rel,as){return new _promise.default((res,rej,link)=>{link=document.createElement('link');link.crossOrigin=process.crossOrigin;link.href=href;link.rel=rel;if(as)link.as=as;link.onload=res;link.onerror=rej;document.head.appendChild(link);});}class PageLoader{constructor(buildId,assetPrefix){this.buildId=buildId;this.assetPrefix=assetPrefix;this.pageCache={};this.pageRegisterEvents=(0,_mitt.default)();this.loadingRoutes={};if(process.env.__NEXT_GRANULAR_CHUNKS){this.promisedBuildManifest=new _promise.default(resolve=>{if(window.__BUILD_MANIFEST){resolve(window.__BUILD_MANIFEST);}else{window.__BUILD_MANIFEST_CB=()=>{resolve(window.__BUILD_MANIFEST);};}});}}// Returns a promise for the dependencies for a particular route\ngetDependencies(route){return this.promisedBuildManifest.then(man=>man[route]&&man[route].map(url=>this.assetPrefix+\"/_next/\"+encodeURI(url))||[]);}loadPage(route){return this.loadPageScript(route).then(v=>v.page);}loadPageScript(route){route=normalizeRoute(route);return new _promise.default((resolve,reject)=>{var fire=(_ref)=>{var{error,page,mod}=_ref;this.pageRegisterEvents.off(route,fire);delete this.loadingRoutes[route];if(error){reject(error);}else{resolve({page,mod});}};// If there's a cached version of the page, let's use it.\nvar cachedPage=this.pageCache[route];if(cachedPage){var{error,page,mod}=cachedPage;error?reject(error):resolve({page,mod});return;}// Register a listener to get the page\nthis.pageRegisterEvents.on(route,fire);// If the page is loading via SSR, we need to wait for it\n// rather downloading it again.\nif(document.querySelector(\"script[data-next-page=\\\"\"+route+\"\\\"]\")){return;}if(!this.loadingRoutes[route]){this.loadingRoutes[route]=true;if(process.env.__NEXT_GRANULAR_CHUNKS){this.getDependencies(route).then(deps=>{deps.forEach(d=>{if(/\\.js$/.test(d)&&!document.querySelector(\"script[src^=\\\"\"+d+\"\\\"]\")){this.loadScript(d,route,false);}if(/\\.css$/.test(d)&&!document.querySelector(\"link[rel=stylesheet][href^=\\\"\"+d+\"\\\"]\")){appendLink(d,'stylesheet').catch(()=>{// FIXME: handle failure\n// Right now, this is needed to prevent an unhandled rejection.\n});}});this.loadRoute(route);});}else{this.loadRoute(route);}}});}loadRoute(route){route=normalizeRoute(route);var scriptRoute=route==='/'?'/index.js':route+\".js\";var url=this.assetPrefix+\"/_next/static/\"+encodeURIComponent(this.buildId)+\"/pages\"+encodeURI(scriptRoute);this.loadScript(url,route,true);}loadScript(url,route,isPage){var script=document.createElement('script');if(process.env.__NEXT_MODERN_BUILD&&hasNoModule){script.type='module';// Only page bundle scripts need to have .module added to url,\n// dependencies already have it added during build manifest creation\nif(isPage)url=url.replace(/\\.js$/,'.module.js');}script.crossOrigin=process.crossOrigin;script.src=url;script.onerror=()=>{var error=new Error(\"Error loading script \"+url);error.code='PAGE_LOAD_ERROR';this.pageRegisterEvents.emit(route,{error});};document.body.appendChild(script);}// This method if called by the route code.\nregisterPage(route,regFn){var register=()=>{try{var mod=regFn();var pageData={page:mod.default||mod,mod};this.pageCache[route]=pageData;this.pageRegisterEvents.emit(route,pageData);}catch(error){this.pageCache[route]={error};this.pageRegisterEvents.emit(route,{error});}};if(process.env.NODE_ENV!=='production'){// Wait for webpack to become idle if it's not.\n// More info: https://github.com/zeit/next.js/pull/1511\nif(module.hot&&module.hot.status()!=='idle'){console.log(\"Waiting for webpack to become \\\"idle\\\" to initialize the page: \\\"\"+route+\"\\\"\");var check=status=>{if(status==='idle'){module.hot.removeStatusHandler(check);register();}};module.hot.status(check);return;}}register();}prefetch(route,isDependency){// https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n// License: Apache 2.0\nvar cn;if(cn=navigator.connection){// Don't prefetch if using 2G or if Save-Data is enabled.\nif(cn.saveData||/2g/.test(cn.effectiveType))return _promise.default.resolve();}var url;if(isDependency){url=route;}else{route=normalizeRoute(route);var scriptRoute=(route==='/'?'/index':route)+\".js\";if(process.env.__NEXT_MODERN_BUILD&&hasNoModule){scriptRoute=scriptRoute.replace(/\\.js$/,'.module.js');}url=this.assetPrefix+\"/_next/static/\"+encodeURIComponent(this.buildId)+\"/pages\"+encodeURI(scriptRoute);}return _promise.default.all(document.querySelector(\"link[rel=\\\"\"+relPrefetch+\"\\\"][href^=\\\"\"+url+\"\\\"], script[data-next-page=\\\"\"+route+\"\\\"]\")?[]:[appendLink(url,relPrefetch,url.match(/\\.css$/)?'style':'script'),process.env.__NEXT_GRANULAR_CHUNKS&&!isDependency&&this.getDependencies(route).then(urls=>_promise.default.all(urls.map(url=>this.prefetch(url,true))))]).then(// do not return any data\n()=>{},// swallow prefetch errors\n()=>{});}}exports.default=PageLoader;"]},"metadata":{},"sourceType":"script"}