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

fix basepath trailing slash #15200

Merged
merged 4 commits into from
Jul 15, 2020
Merged

Conversation

Janpot
Copy link
Contributor

@Janpot Janpot commented Jul 15, 2020

Fixes the link rewriting part of #15194

@ijjk
Copy link
Member

ijjk commented Jul 15, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 12.3s 12.4s ⚠️ +183ms
nodeModulesSize 66.5 MB 66.5 MB ⚠️ +448 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
/ failed reqs 0 0
/ total time (seconds) 2.034 2.013 -0.02
/ avg req/sec 1229.32 1242.17 +12.85
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.225 1.278 ⚠️ +0.05
/error-in-render avg req/sec 2039.99 1956.62 ⚠️ -83.37
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB 9.78 kB ⚠️ +13 B
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.4 kB 56.4 kB ⚠️ +13 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB 6.18 kB ⚠️ +15 B
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.9 kB 51.9 kB ⚠️ +15 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
index.html gzip 954 B 954 B
link.html gzip 962 B 959 B -3 B
withRouter.html gzip 948 B 945 B -3 B
Overall change 2.86 kB 2.86 kB -6 B

Diffs

Diff for 19b7e98f51cc..48.module.js
@@ -330,6 +330,7 @@
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
       exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -349,6 +350,8 @@
        * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
        */
 
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
+
       function normalizeTrailingSlash(url) {
         var normalizedPath =
           url.pathname && normalizePathTrailingSlash(url.pathname);
@@ -588,7 +591,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
Diff for 19b7e98f51cc..2ee983bad.js
@@ -409,6 +409,7 @@
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
       exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -428,6 +429,8 @@
        * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
        */
 
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
+
       function normalizeTrailingSlash(url) {
         var normalizedPath =
           url.pathname && normalizePathTrailingSlash(url.pathname);
@@ -723,7 +726,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
Diff for index.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.d640e2a126685fefb495.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -122,13 +122,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.d640e2a126685fefb495.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.d640e2a126685fefb495.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.22466679e4b2b5d9c38a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 13.2s 13.3s ⚠️ +124ms
nodeModulesSize 66.5 MB 66.5 MB ⚠️ +448 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..d690.js gzip N/A 9.78 kB N/A
Overall change 56.4 kB 56.4 kB ⚠️ +13 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..dule.js gzip N/A 6.18 kB N/A
Overall change 51.9 kB 51.9 kB ⚠️ +15 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_error.js 882 kB 882 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 882 kB 882 kB
link.js 924 kB 924 kB ⚠️ +168 B
routerDirect.js 918 kB 918 kB ⚠️ +168 B
withRouter.js 918 kB 918 kB ⚠️ +168 B
Overall change 4.53 MB 4.53 MB ⚠️ +504 B
Commit: ae3fe80

@ijjk
Copy link
Member

ijjk commented Jul 15, 2020

Failing test suites

Commit: ae3fe80

test/integration/size-limit/test/index.test.js

  • Production response size > should not increase the overall response size of default build
Expand output

● Production response size › should not increase the overall response size of default build

expect(received).toBeLessThanOrEqual(expected)

Expected: <= 1024
Received:    1089

  82 |     // These numbers are without gzip compression!
  83 |     const delta = responseSizesBytes - 261 * 1024
> 84 |     expect(delta).toBeLessThanOrEqual(1024) // don't increase size more than 1kb
     |                   ^
  85 |     expect(delta).toBeGreaterThanOrEqual(-1024) // don't decrease size more than 1kb without updating target
  86 |   })
  87 | 

  at Object.<anonymous> (integration/size-limit/test/index.test.js:84:19)
      at runMicrotasks (<anonymous>)

Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace all manual replacing:

          .replace('// <placeholder>', 'trailingSlash: true')
          .replace('// basePath:', 'basePath:')

With the File utility!

@ijjk
Copy link
Member

ijjk commented Jul 15, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 11.9s 12s ⚠️ +44ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
/ failed reqs 0 0
/ total time (seconds) 2.012 1.978 -0.03
/ avg req/sec 1242.52 1263.81 +21.29
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.213 1.223 ⚠️ +0.01
/error-in-render avg req/sec 2060.7 2043.42 ⚠️ -17.28
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB 9.74 kB -28 B
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB 6.14 kB -28 B
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
index.html gzip 954 B 953 B -1 B
link.html gzip 962 B 960 B -2 B
withRouter.html gzip 948 B 945 B -3 B
Overall change 2.86 kB 2.86 kB -6 B

Diffs

Diff for 19b7e98f51cc..48.module.js
@@ -329,7 +329,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -345,23 +345,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -588,7 +572,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -612,9 +600,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for 19b7e98f51cc..2ee983bad.js
@@ -408,7 +408,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -424,23 +424,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -723,7 +707,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -747,9 +735,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for index.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -122,13 +122,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 13.2s 13s -173ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..6b36.js gzip N/A 9.74 kB N/A
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..dule.js gzip N/A 6.14 kB N/A
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Serverless bundles Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_error.js 882 kB 882 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 882 kB 882 kB
link.js 924 kB 923 kB -256 B
routerDirect.js 918 kB 917 kB -256 B
withRouter.js 918 kB 917 kB -256 B
Overall change 4.53 MB 4.53 MB -768 B
Commit: 2fcb6b9

@ijjk
Copy link
Member

ijjk commented Jul 15, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 13.2s 13.2s -45ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
/ failed reqs 0 0
/ total time (seconds) 2.286 2.212 -0.07
/ avg req/sec 1093.69 1130.3 +36.61
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.521 1.453 -0.07
/error-in-render avg req/sec 1643.45 1720.16 +76.71
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB 9.74 kB -28 B
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB 6.14 kB -28 B
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
index.html gzip 954 B 953 B -1 B
link.html gzip 962 B 960 B -2 B
withRouter.html gzip 948 B 945 B -3 B
Overall change 2.86 kB 2.86 kB -6 B

Diffs

Diff for 19b7e98f51cc..48.module.js
@@ -329,7 +329,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -345,23 +345,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -588,7 +572,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -612,9 +600,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for 19b7e98f51cc..2ee983bad.js
@@ -408,7 +408,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -424,23 +424,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -723,7 +707,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -747,9 +735,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for index.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -122,13 +122,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 14.3s 14.6s ⚠️ +309ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..6b36.js gzip N/A 9.74 kB N/A
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..dule.js gzip N/A 6.14 kB N/A
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Serverless bundles Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_error.js 882 kB 882 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 882 kB 882 kB
link.js 924 kB 923 kB -256 B
routerDirect.js 918 kB 917 kB -256 B
withRouter.js 918 kB 917 kB -256 B
Overall change 4.53 MB 4.53 MB -768 B
Commit: b1f9137

@ijjk
Copy link
Member

ijjk commented Jul 15, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 12.6s 12.6s -69ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
/ failed reqs 0 0
/ total time (seconds) 2.082 2.089 ⚠️ +0.01
/ avg req/sec 1200.69 1196.84 ⚠️ -3.85
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.327 1.295 -0.03
/error-in-render avg req/sec 1884.39 1931.21 +46.82
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB 9.74 kB -28 B
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB 6.14 kB -28 B
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
index.html gzip 954 B 953 B -1 B
link.html gzip 962 B 960 B -2 B
withRouter.html gzip 948 B 945 B -3 B
Overall change 2.86 kB 2.86 kB -6 B

Diffs

Diff for 19b7e98f51cc..48.module.js
@@ -329,7 +329,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -345,23 +345,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -588,7 +572,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -612,9 +600,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for 19b7e98f51cc..2ee983bad.js
@@ -408,7 +408,7 @@
 
       exports.__esModule = true;
       exports.removePathTrailingSlash = removePathTrailingSlash;
-      exports.normalizeTrailingSlash = normalizeTrailingSlash;
+      exports.normalizePathTrailingSlash = void 0;
       /**
        * Removes the trailing slash of a path if there is one. Preserves the root path `/`.
        */
@@ -424,23 +424,7 @@
       var normalizePathTrailingSlash = false
         ? undefined
         : removePathTrailingSlash;
-      /**
-       * Normalizes the trailing slash of the path of a parsed url. Non-destructive.
-       */
-
-      function normalizeTrailingSlash(url) {
-        var normalizedPath =
-          url.pathname && normalizePathTrailingSlash(url.pathname);
-        return url.pathname === normalizedPath
-          ? url
-          : url instanceof URL
-          ? Object.assign(new URL(url.href), {
-              pathname: normalizedPath
-            })
-          : Object.assign({}, url, {
-              pathname: normalizedPath
-            });
-      }
+      exports.normalizePathTrailingSlash = normalizePathTrailingSlash;
 
       /***/
     },
@@ -723,7 +707,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
       var basePath = false || "";
 
       function addBasePath(path) {
-        return basePath ? (path === "/" ? basePath : basePath + path) : path;
+        return basePath
+          ? path === "/"
+            ? (0, _normalizeTrailingSlash.normalizePathTrailingSlash)(basePath)
+            : basePath + path
+          : path;
       }
 
       function delBasePath(path) {
@@ -747,9 +735,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           typeof href === "string"
             ? href
             : (0, _utils.formatWithValidation)(href);
-        var finalUrl = (0, _normalizeTrailingSlash.normalizeTrailingSlash)(
-          new URL(urlAsString, base)
-        ); // if the origin didn't change, it means we received a relative href
+        var finalUrl = new URL(urlAsString, base);
+        finalUrl.pathname = (0,
+        _normalizeTrailingSlash.normalizePathTrailingSlash)(finalUrl.pathname); // if the origin didn't change, it means we received a relative href
 
         return finalUrl.origin === base.origin
           ? finalUrl.href.slice(finalUrl.origin.length)
Diff for index.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -122,13 +122,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -24,7 +24,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      href="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -117,13 +117,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.b5c2b9fbb9c2ee983bad.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.8ad209e2165faf626451.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.5bca75f3a87d540d7c48.module.js"
+      src="/_next/static/chunks/19b7e98f51cc0d86c45d01159bbbfb942bfe49b8.811b5004511e489d7629.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
buildDuration 13.9s 13.7s -125ms
nodeModulesSize 66.5 MB 66.5 MB -1.3 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.js gzip 6.72 kB 6.72 kB
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..cead.js gzip 9.77 kB N/A N/A
framework.HASH.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..6b36.js gzip N/A 9.74 kB N/A
Overall change 56.4 kB 56.4 kB -28 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
main-HASH.module.js gzip 5.8 kB 5.8 kB
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 6.17 kB N/A N/A
framework.HA..dule.js gzip 39.1 kB 39.1 kB
19b7e98f51cc..dule.js gzip N/A 6.14 kB N/A
Overall change 51.9 kB 51.8 kB -28 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 273 B 273 B
Overall change 540 B 540 B
Serverless bundles Overall decrease ✓
vercel/next.js canary Janpot/next.js basepath-trailing-slash Change
_error.js 882 kB 882 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 882 kB 882 kB
link.js 924 kB 923 kB -256 B
routerDirect.js 918 kB 917 kB -256 B
withRouter.js 918 kB 917 kB -256 B
Overall change 4.53 MB 4.53 MB -768 B
Commit: a664f73

@kodiakhq kodiakhq bot merged commit 54d991e into vercel:canary Jul 15, 2020
@Janpot Janpot deleted the basepath-trailing-slash branch July 16, 2020 08:27
@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.

3 participants