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 href resolving with trailing slash enabled #16873

Merged
merged 2 commits into from
Sep 6, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Sep 5, 2020

This makes sure to strip the trailing slash before attempting to resolve the href against pages/dynamic routes and adds tests ensuring the correct pages are resolved with trailingSlash: true enabled.

Fixes: #16872

@ijjk
Copy link
Member Author

ijjk commented Sep 5, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
buildDuration 12.8s 12.5s -333ms
nodeModulesSize 56.7 MB 56.7 MB ⚠️ +105 B
Page Load Tests Overall increase ✓
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
/ failed reqs 0 0
/ total time (seconds) 2.241 2.177 -0.06
/ avg req/sec 1115.7 1148.22 +32.52
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.234 1.215 -0.02
/error-in-render avg req/sec 2025.51 2057.22 +31.71
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..cf8c.js gzip 10.5 kB 10.5 kB ⚠️ +4 B
framework.HASH.js gzip 39 kB 39 kB
main-0109a22..a8e8.js gzip 7.08 kB 7.08 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.3 kB 57.3 kB ⚠️ +4 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..dule.js gzip 6.4 kB 6.41 kB ⚠️ +4 B
framework.HA..dule.js gzip 39 kB 39 kB
main-8b2bf21..dule.js gzip 6.14 kB 6.14 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.3 kB 52.3 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
index.html gzip 969 B 972 B ⚠️ +3 B
link.html gzip 977 B 977 B
withRouter.html gzip 963 B 961 B -2 B
Overall change 2.91 kB 2.91 kB ⚠️ +1 B

Diffs

Diff for 677f882d2ed8..45.module.js
@@ -1351,8 +1351,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
         _resolveHref(parsedHref, pages) {
           var { pathname } = parsedHref;
-          var cleanPathname = (0, _denormalizePagePath.denormalizePagePath)(
-            delBasePath(pathname)
+          var cleanPathname = (0,
+          _normalizeTrailingSlash.removePathTrailingSlash)(
+            (0, _denormalizePagePath.denormalizePagePath)(delBasePath(pathname))
           );
 
           if (cleanPathname === "/404" || cleanPathname === "/_error") {
Diff for 677f882d2ed8..74ae628f6.js
@@ -1856,8 +1856,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             key: "_resolveHref",
             value: function _resolveHref(parsedHref, pages) {
               var pathname = parsedHref.pathname;
-              var cleanPathname = (0, _denormalizePagePath.denormalizePagePath)(
-                delBasePath(pathname)
+              var cleanPathname = (0,
+              _normalizeTrailingSlash.removePathTrailingSlash)(
+                (0, _denormalizePagePath.denormalizePagePath)(
+                  delBasePath(pathname)
+                )
               );
 
               if (cleanPathname === "/404" || cleanPathname === "/_error") {
Diff for index.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -118,13 +118,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -123,13 +123,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -118,13 +118,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
buildDuration 13.5s 13.5s ⚠️ +51ms
nodeModulesSize 56.7 MB 56.7 MB ⚠️ +105 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..cf8c.js gzip 10.5 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-0109a22..a8e8.js gzip 7.08 kB 7.08 kB
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..bdc4.js gzip N/A 10.5 kB N/A
Overall change 57.3 kB 57.3 kB ⚠️ +4 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..dule.js gzip 6.4 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-8b2bf21..dule.js gzip 6.14 kB 6.14 kB
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 6.41 kB N/A
Overall change 52.3 kB 52.3 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_error.js 1.03 MB 1.03 MB
404.html 4.22 kB 4.22 kB
hooks.html 3.86 kB 3.86 kB
index.js 1.03 MB 1.03 MB
link.js 1.08 MB 1.08 MB ⚠️ +54 B
routerDirect.js 1.07 MB 1.07 MB ⚠️ +54 B
withRouter.js 1.07 MB 1.07 MB ⚠️ +54 B
Overall change 5.29 MB 5.29 MB ⚠️ +162 B
Commit: 48c13ab

@ijjk
Copy link
Member Author

ijjk commented Sep 6, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
buildDuration 13.1s 13.2s ⚠️ +116ms
nodeModulesSize 56.7 MB 56.7 MB ⚠️ +105 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
/ failed reqs 0 0
/ total time (seconds) 2.453 2.435 -0.02
/ avg req/sec 1019.36 1026.66 +7.3
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.422 1.471 ⚠️ +0.05
/error-in-render avg req/sec 1758.43 1699.56 ⚠️ -58.87
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..cf8c.js gzip 10.5 kB 10.5 kB ⚠️ +4 B
framework.HASH.js gzip 39 kB 39 kB
main-0109a22..a8e8.js gzip 7.08 kB 7.08 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.3 kB 57.3 kB ⚠️ +4 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..dule.js gzip 6.4 kB 6.41 kB ⚠️ +4 B
framework.HA..dule.js gzip 39 kB 39 kB
main-8b2bf21..dule.js gzip 6.14 kB 6.14 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.3 kB 52.3 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
index.html gzip 969 B 972 B ⚠️ +3 B
link.html gzip 977 B 977 B
withRouter.html gzip 963 B 961 B -2 B
Overall change 2.91 kB 2.91 kB ⚠️ +1 B

Diffs

Diff for 677f882d2ed8..45.module.js
@@ -1351,8 +1351,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
 
         _resolveHref(parsedHref, pages) {
           var { pathname } = parsedHref;
-          var cleanPathname = (0, _denormalizePagePath.denormalizePagePath)(
-            delBasePath(pathname)
+          var cleanPathname = (0,
+          _normalizeTrailingSlash.removePathTrailingSlash)(
+            (0, _denormalizePagePath.denormalizePagePath)(delBasePath(pathname))
           );
 
           if (cleanPathname === "/404" || cleanPathname === "/_error") {
Diff for 677f882d2ed8..74ae628f6.js
@@ -1856,8 +1856,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             key: "_resolveHref",
             value: function _resolveHref(parsedHref, pages) {
               var pathname = parsedHref.pathname;
-              var cleanPathname = (0, _denormalizePagePath.denormalizePagePath)(
-                delBasePath(pathname)
+              var cleanPathname = (0,
+              _normalizeTrailingSlash.removePathTrailingSlash)(
+                (0, _denormalizePagePath.denormalizePagePath)(
+                  delBasePath(pathname)
+                )
               );
 
               if (cleanPathname === "/404" || cleanPathname === "/_error") {
Diff for index.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -118,13 +118,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -123,13 +123,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -25,7 +25,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      href="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -118,13 +118,13 @@
       type="module"
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.ecb1099d47a74ae628f6.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.5403aaa2f8e3d8656d6f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.a69c2af1b9467350a845.module.js"
+      src="/_next/static/chunks/677f882d2ed86fa3467b8979053c1a4c3f8bc4df.4714742e9d000126f125.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
buildDuration 14.8s 14.6s -117ms
nodeModulesSize 56.7 MB 56.7 MB ⚠️ +105 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..cf8c.js gzip 10.5 kB N/A N/A
framework.HASH.js gzip 39 kB 39 kB
main-0109a22..a8e8.js gzip 7.08 kB 7.08 kB
webpack-e067..f178.js gzip 751 B 751 B
677f882d2ed8..bdc4.js gzip N/A 10.5 kB N/A
Overall change 57.3 kB 57.3 kB ⚠️ +4 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
677f882d2ed8..dule.js gzip 6.4 kB N/A N/A
framework.HA..dule.js gzip 39 kB 39 kB
main-8b2bf21..dule.js gzip 6.14 kB 6.14 kB
webpack-07c5..dule.js gzip 751 B 751 B
677f882d2ed8..dule.js gzip N/A 6.41 kB N/A
Overall change 52.3 kB 52.3 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/trailing-slash-href-resolve Change
_error.js 1.03 MB 1.03 MB
404.html 4.22 kB 4.22 kB
hooks.html 3.86 kB 3.86 kB
index.js 1.03 MB 1.03 MB
link.js 1.08 MB 1.08 MB ⚠️ +54 B
routerDirect.js 1.07 MB 1.07 MB ⚠️ +54 B
withRouter.js 1.07 MB 1.07 MB ⚠️ +54 B
Overall change 5.29 MB 5.29 MB ⚠️ +162 B
Commit: 6a8d15a

@kodiakhq kodiakhq bot merged commit 489cad3 into vercel:canary Sep 6, 2020
@ijjk ijjk deleted the fix/trailing-slash-href-resolve branch September 7, 2020 02:16
HitoriSensei pushed a commit to HitoriSensei/next.js that referenced this pull request Sep 26, 2020
This makes sure to strip the trailing slash before attempting to resolve the `href` against pages/dynamic routes and adds tests ensuring the correct pages are resolved with `trailingSlash: true` enabled.

Fixes: vercel#16872
@vercel vercel locked as resolved and limited conversation to collaborators Jan 29, 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.

Client side href resolving breaks with trailingSlash: true
2 participants