rsnext/test/e2e/app-dir/parallel-routes-catchall-children-slot/app
Zack Tanner efebba80a7
parallel routes: fix @children slots (#60288)
### What?
Our
[docs](https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#convention)
point out that `app/page.js` is equivalent to `app/@children/page.js`,
however in practice this is not the case, and causes type errors when
using `@children` slots as well as incorrect behavior when matching
catch-all routes.

### Why?
- When typechecking, `@children` slots would be added to the typeguard
file for the associated layout, resulting in duplicate identifiers for
the `children` prop
- When determining where to insert catchall slots, the `hasMatchedSlots`
check wasn't considering that the `@children` slot corresponds with the
page component, so matching another page would clobber the previous one.

### How?
- Filters out the `@children` slot when collecting slots for
typechecking
- Filters out the `@children` slot when running the `hasMatchedSlots`
function in the catch-all normalizer

Closes NEXT-1984
2024-01-06 07:24:44 -08:00
..
@children parallel routes: fix @children slots (#60288) 2024-01-06 07:24:44 -08:00
@slot parallel routes: fix @children slots (#60288) 2024-01-06 07:24:44 -08:00
[...catchAll] parallel routes: fix @children slots (#60288) 2024-01-06 07:24:44 -08:00
nested parallel routes: fix @children slots (#60288) 2024-01-06 07:24:44 -08:00
layout.tsx parallel routes: fix @children slots (#60288) 2024-01-06 07:24:44 -08:00