vercel / next.js

The React Framework
https://nextjs.org
MIT License
121.29k stars 25.96k forks source link

Fix an issue parsing catchall params #65277

Closed agadzik closed 2 weeks ago

agadzik commented 2 weeks ago

This should fix the following scenarios,

If you navigate to /foo/bar the params prop in the parallel route would be

params: {
  catchall: [
    'foo',
    [ 'bar' ]
  ]
}

And if you navigate to /bar/foo the params prop in the parallel route would be

params: {
  catchall: [
    'bar',
    '[ ...foo ]'
  ]
}

With the fix in place, the params prop in the parallel route will be,

params: {
  catchall: [
    'foo',
    'bar',
  ]
}

And

params: {
  catchall: [
    'bar',
    'foo',
  ]
}

Respectively

ijjk commented 2 weeks ago

Allow CI Workflow Run

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

ijjk commented 2 weeks ago

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️ | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | buildDuration | 15.6s | 14.1s | N/A | | buildDurationCached | 7.8s | 7.3s | N/A | | nodeModulesSize | 360 MB | 360 MB | ⚠️ +48 kB | | nextStartRea..uration (ms) | 412ms | 388ms | N/A |
Client Bundles (main, webpack) | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | 1103-HASH.js gzip | 31.9 kB | 31.9 kB | N/A | | 1a9f679d-HASH.js gzip | 53.5 kB | 53.5 kB | N/A | | 335-HASH.js gzip | 5.05 kB | 5.05 kB | ✓ | | 7953.HASH.js gzip | 169 B | 169 B | ✓ | | framework-HASH.js gzip | 45.2 kB | 45.2 kB | ✓ | | main-app-HASH.js gzip | 231 B | 227 B | N/A | | main-HASH.js gzip | 31.6 kB | 31.6 kB | N/A | | webpack-HASH.js gzip | 1.65 kB | 1.65 kB | N/A | | Overall change | 50.4 kB | 50.4 kB | ✓ |
Legacy Client Bundles (polyfills) | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ | | Overall change | 31 kB | 31 kB | ✓ |
Client Pages | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | _app-HASH.js gzip | 192 B | 193 B | N/A | | _error-HASH.js gzip | 192 B | 193 B | N/A | | amp-HASH.js gzip | 507 B | 511 B | N/A | | css-HASH.js gzip | 341 B | 343 B | N/A | | dynamic-HASH.js gzip | 2.52 kB | 2.52 kB | ✓ | | edge-ssr-HASH.js gzip | 266 B | 265 B | N/A | | head-HASH.js gzip | 362 B | 365 B | N/A | | hooks-HASH.js gzip | 392 B | 392 B | ✓ | | image-HASH.js gzip | 4.27 kB | 4.27 kB | ✓ | | index-HASH.js gzip | 268 B | 268 B | ✓ | | link-HASH.js gzip | 2.69 kB | 2.7 kB | N/A | | routerDirect..HASH.js gzip | 329 B | 328 B | N/A | | script-HASH.js gzip | 397 B | 397 B | ✓ | | withRouter-HASH.js gzip | 324 B | 324 B | ✓ | | 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ | | Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | _buildManifest.js gzip | 483 B | 484 B | N/A | | Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | index.html gzip | 527 B | 528 B | N/A | | link.html gzip | 540 B | 540 B | ✓ | | withRouter.html gzip | 522 B | 524 B | N/A | | Overall change | 540 B | 540 B | ✓ |
Edge SSR bundle Size | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | edge-ssr.js gzip | 94.7 kB | 94.7 kB | N/A | | page.js gzip | 182 kB | 182 kB | N/A | | Overall change | 0 B | 0 B | ✓ |
Middleware size | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | middleware-b..fest.js gzip | 624 B | 622 B | N/A | | middleware-r..fest.js gzip | 156 B | 156 B | ✓ | | middleware.js gzip | 25.7 kB | 25.7 kB | N/A | | edge-runtime..pack.js gzip | 839 B | 839 B | ✓ | | Overall change | 995 B | 995 B | ✓ |
Next Runtimes | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | app-page-exp...dev.js gzip | 171 kB | 171 kB | N/A | | app-page-exp..prod.js gzip | 98.7 kB | 98.7 kB | N/A | | app-page-tur..prod.js gzip | 100 kB | 100 kB | N/A | | app-page-tur..prod.js gzip | 94.5 kB | 94.5 kB | N/A | | app-page.run...dev.js gzip | 157 kB | 157 kB | N/A | | app-page.run..prod.js gzip | 93.2 kB | 93.2 kB | N/A | | app-route-ex...dev.js gzip | 21.5 kB | 21.5 kB | ✓ | | app-route-ex..prod.js gzip | 15.2 kB | 15.2 kB | ✓ | | app-route-tu..prod.js gzip | 15.2 kB | 15.2 kB | ✓ | | app-route-tu..prod.js gzip | 15 kB | 15 kB | ✓ | | app-route.ru...dev.js gzip | 21.3 kB | 21.3 kB | ✓ | | app-route.ru..prod.js gzip | 15 kB | 15 kB | ✓ | | pages-api-tu..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-api.ru...dev.js gzip | 9.82 kB | 9.82 kB | ✓ | | pages-api.ru..prod.js gzip | 9.55 kB | 9.55 kB | ✓ | | pages-turbo...prod.js gzip | 21.5 kB | 21.5 kB | N/A | | pages.runtim...dev.js gzip | 22.1 kB | 22.1 kB | N/A | | pages.runtim..prod.js gzip | 21.5 kB | 21.5 kB | N/A | | server.runti..prod.js gzip | 51.6 kB | 51.6 kB | N/A | | Overall change | 132 kB | 132 kB | ✓ |
build cache Overall increase ⚠️ | | vercel/next.js canary | agadzik/next.js gadzik/complex-parallel-route-setup | Change | | - | - | - | - | | 0.pack gzip | 1.62 MB | 1.62 MB | ⚠️ +1.5 kB | | index.pack gzip | 113 kB | 114 kB | ⚠️ +951 B | | Overall change | 1.73 MB | 1.74 MB | ⚠️ +2.45 kB |
Diff details
Diff for edge-ssr.js Diff too large to display
Diff for main-HASH.js Diff too large to display
Diff for app-page-exp..ntime.dev.js ```diff failed to diff ```
Diff for app-page-exp..time.prod.js Diff too large to display
Diff for app-page-tur..time.prod.js Diff too large to display
Diff for app-page-tur..time.prod.js Diff too large to display
Diff for app-page.runtime.dev.js Diff too large to display
Diff for app-page.runtime.prod.js Diff too large to display
Diff for pages-turbo...time.prod.js Diff too large to display
Diff for pages.runtime.dev.js Diff too large to display
Diff for pages.runtime.prod.js Diff too large to display
Diff for server.runtime.prod.js Diff too large to display

Commit: 12652b615c49216bdf91505cc5586c18a6f12c6e

ijjk commented 2 weeks ago

Tests Passed