Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve page loader types #16145

Merged
merged 1 commit into from
Aug 13, 2020
Merged

Improve page loader types #16145

merged 1 commit into from
Aug 13, 2020

Conversation

Timer
Copy link
Member

@Timer Timer commented Aug 13, 2020

This is a minor improvement to the page loader types. It separates the "good page cache" so that it can be used for the loadPage result without the error prop, which causes rejection.

@ijjk
Copy link
Member

ijjk commented Aug 13, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js types/page-loader-2 Change
buildDuration 14.7s 14.5s -137ms
nodeModulesSize 57.3 MB 57.3 MB ⚠️ +258 B
Page Load Tests Overall increase ✓
vercel/next.js canary Timer/next.js types/page-loader-2 Change
/ failed reqs 0 0
/ total time (seconds) 2.621 2.597 -0.02
/ avg req/sec 953.8 962.66 +8.86
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.604 1.505 -0.1
/error-in-render avg req/sec 1558.13 1661.01 +102.88
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Timer/next.js types/page-loader-2 Change
677f882d2ed8..ee8a.js gzip 10 kB 10 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
main-25aa383..eece.js gzip 6.72 kB 6.69 kB -29 B
webpack-ccf5..276a.js gzip 751 B 751 B
Overall change 56.6 kB 56.6 kB -29 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Timer/next.js types/page-loader-2 Change
677f882d2ed8..dule.js gzip 5.92 kB 5.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-08f768c..dule.js gzip 5.79 kB 5.78 kB -13 B
webpack-10c7..dule.js gzip 751 B 751 B
Overall change 51.6 kB 51.6 kB -13 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js types/page-loader-2 Change
polyfills-75..1629.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_app-874bd8a..0103.js gzip 1.28 kB 1.28 kB
_error-fa39c..ec40.js gzip 3.45 kB 3.45 kB
hooks-585f07..95a3.js gzip 887 B 887 B
index-c7b63f..fc02.js gzip 227 B 227 B
link-4c2bd9b..eadd.js gzip 1.29 kB 1.29 kB
routerDirect..ebc7.js gzip 284 B 284 B
withRouter-2..db68.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_app-97e743e..dule.js gzip 626 B 626 B
_error-b4004..dule.js gzip 2.3 kB 2.3 kB
hooks-696209..dule.js gzip 387 B 387 B
index-a4dd74..dule.js gzip 226 B 226 B
link-236a801..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-1..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_buildManifest.js gzip 273 B 273 B
_buildManife..dule.js gzip 279 B 279 B
Overall change 552 B 552 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary Timer/next.js types/page-loader-2 Change
index.html gzip 947 B 947 B
link.html gzip 955 B 955 B
withRouter.html gzip 939 B 940 B ⚠️ +1 B
Overall change 2.84 kB 2.84 kB ⚠️ +1 B

Diffs

Diff for main-45dd573..12.module.js
@@ -1350,28 +1350,23 @@
             var cachedPage = this.pageCache[route];
 
             if (cachedPage) {
-              var { error, page, mod } = cachedPage;
-              error
-                ? reject(error)
-                : resolve({
-                    page,
-                    mod
-                  });
+              if ("error" in cachedPage) {
+                reject(cachedPage.error);
+              } else {
+                resolve(cachedPage);
+              }
+
               return;
             }
 
-            var fire = _ref => {
-              var { error, page, mod } = _ref;
+            var fire = pageToCache => {
               this.pageRegisterEvents.off(route, fire);
               delete this.loadingRoutes[route];
 
-              if (error) {
-                reject(error);
+              if ("error" in pageToCache) {
+                reject(pageToCache.error);
               } else {
-                resolve({
-                  page,
-                  mod
-                });
+                resolve(pageToCache);
               }
             }; // Register a listener to get the page
Diff for main-a224724..6408a53fd.js
@@ -1749,34 +1749,24 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                 var cachedPage = _this4.pageCache[route];
 
                 if (cachedPage) {
-                  var error = cachedPage.error,
-                    page = cachedPage.page,
-                    mod = cachedPage.mod;
-                  error
-                    ? reject(error)
-                    : resolve({
-                        page: page,
-                        mod: mod
-                      });
+                  if ("error" in cachedPage) {
+                    reject(cachedPage.error);
+                  } else {
+                    resolve(cachedPage);
+                  }
+
                   return;
                 }
 
-                var fire = function fire(_ref4) {
-                  var error = _ref4.error,
-                    page = _ref4.page,
-                    mod = _ref4.mod;
-
+                var fire = function fire(pageToCache) {
                   _this4.pageRegisterEvents.off(route, fire);
 
                   delete _this4.loadingRoutes[route];
 
-                  if (error) {
-                    reject(error);
+                  if ("error" in pageToCache) {
+                    reject(pageToCache.error);
                   } else {
-                    resolve({
-                      page: page,
-                      mod: mod
-                    });
+                    resolve(pageToCache);
                   }
                 }; // Register a listener to get the page
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      href="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a22472456fd6408a53fd.js"
+      src="/_next/static/chunks/main-2d9e6d675a94da851faa.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      src="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      href="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a22472456fd6408a53fd.js"
+      src="/_next/static/chunks/main-2d9e6d675a94da851faa.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      src="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      href="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a22472456fd6408a53fd.js"
+      src="/_next/static/chunks/main-2d9e6d675a94da851faa.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-45dd573719aefbc1b512.module.js"
+      src="/_next/static/chunks/main-53fefb275ec20b5daed8.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js types/page-loader-2 Change
buildDuration 16s 15.5s -463ms
nodeModulesSize 57.3 MB 57.3 MB ⚠️ +258 B
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Timer/next.js types/page-loader-2 Change
677f882d2ed8..ee8a.js gzip 10 kB 10 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
main-25aa383..eece.js gzip 6.72 kB N/A N/A
webpack-ccf5..276a.js gzip 751 B 751 B
main-5c21840..49c9.js gzip N/A 6.69 kB N/A
Overall change 56.6 kB 56.6 kB -29 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Timer/next.js types/page-loader-2 Change
677f882d2ed8..dule.js gzip 5.92 kB 5.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-08f768c..dule.js gzip 5.79 kB N/A N/A
webpack-10c7..dule.js gzip 751 B 751 B
main-c0c009b..dule.js gzip N/A 5.78 kB N/A
Overall change 51.6 kB 51.6 kB -13 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js types/page-loader-2 Change
polyfills-75..1629.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_app-874bd8a..0103.js gzip 1.28 kB 1.28 kB
_error-fa39c..ec40.js gzip 3.45 kB 3.45 kB
hooks-585f07..95a3.js gzip 887 B 887 B
index-c7b63f..fc02.js gzip 227 B 227 B
link-4c2bd9b..eadd.js gzip 1.29 kB 1.29 kB
routerDirect..ebc7.js gzip 284 B 284 B
withRouter-2..db68.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_app-97e743e..dule.js gzip 626 B 626 B
_error-b4004..dule.js gzip 2.3 kB 2.3 kB
hooks-696209..dule.js gzip 387 B 387 B
index-a4dd74..dule.js gzip 226 B 226 B
link-236a801..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-1..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_buildManifest.js gzip 273 B 273 B
_buildManife..dule.js gzip 279 B 279 B
Overall change 552 B 552 B
Serverless bundles
vercel/next.js canary Timer/next.js types/page-loader-2 Change
_error.js 1.03 MB 1.03 MB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.03 MB 1.03 MB
link.js 1.07 MB 1.07 MB
routerDirect.js 1.06 MB 1.06 MB
withRouter.js 1.06 MB 1.06 MB
Overall change 5.26 MB 5.26 MB
Commit: c589676

@Timer Timer merged commit 94a85cf into vercel:canary Aug 13, 2020
@Timer Timer deleted the types/page-loader-2 branch August 13, 2020 04:01
m-lautenbach pushed a commit to m-lautenbach/next.js that referenced this pull request Aug 20, 2020
@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants