Skip to content

Commit eb6ea06

Browse files
authored
[metadata] Change the array head to single node in flight data (vercel#74299)
1 parent 15bb8ce commit eb6ea06

19 files changed

+77
-124
lines changed

packages/next/src/client/components/app-router.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export function createEmptyCacheNode(): CacheNode {
145145
lazyData: null,
146146
rsc: null,
147147
prefetchRsc: null,
148-
head: [null, null],
148+
head: null,
149149
prefetchHead: null,
150150
parallelRoutes: new Map(),
151151
loading: null,

packages/next/src/client/components/layout-router.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ export default function OuterLayoutRouter({
549549
lazyData: null,
550550
rsc: null,
551551
prefetchRsc: null,
552-
head: [null, null],
552+
head: null,
553553
prefetchHead: null,
554554
parallelRoutes: new Map(),
555555
loading: null,

packages/next/src/client/components/router-reducer/aliased-prefetch-navigations.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ function fillNewTreeWithOnlyLoadingSegments(
172172
// copy the layout but null the page segment as that's not meant to be used
173173
rsc: segmentForParallelRoute.includes(PAGE_SEGMENT_KEY) ? null : rsc,
174174
prefetchRsc: null,
175-
head: [null, null],
175+
head: null,
176176
prefetchHead: null,
177177
parallelRoutes: new Map(),
178178
loading,
@@ -184,7 +184,7 @@ function fillNewTreeWithOnlyLoadingSegments(
184184
lazyData: null,
185185
rsc: null,
186186
prefetchRsc: null,
187-
head: [null, null],
187+
head: null,
188188
prefetchHead: null,
189189
parallelRoutes: new Map(),
190190
loading: null,

packages/next/src/client/components/router-reducer/clear-cache-node-data-for-segment-path.test.tsx

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('clearCacheNodeDataForSegmentPath', () => {
1616
lazyData: null,
1717
rsc: null,
1818
prefetchRsc: null,
19-
head: [null, null],
19+
head: null,
2020
prefetchHead: null,
2121
parallelRoutes: new Map(),
2222
loading: null,
@@ -25,7 +25,7 @@ describe('clearCacheNodeDataForSegmentPath', () => {
2525
lazyData: null,
2626
rsc: <>Root layout</>,
2727
prefetchRsc: null,
28-
head: [null, null],
28+
head: null,
2929
prefetchHead: null,
3030
loading: null,
3131
parallelRoutes: new Map([
@@ -38,7 +38,7 @@ describe('clearCacheNodeDataForSegmentPath', () => {
3838
lazyData: null,
3939
rsc: <>Linking</>,
4040
prefetchRsc: null,
41-
head: [null, null],
41+
head: null,
4242
prefetchHead: null,
4343
loading: null,
4444
parallelRoutes: new Map([
@@ -51,7 +51,7 @@ describe('clearCacheNodeDataForSegmentPath', () => {
5151
lazyData: null,
5252
rsc: <>Page</>,
5353
prefetchRsc: null,
54-
head: [null, null],
54+
head: null,
5555
prefetchHead: null,
5656
parallelRoutes: new Map(),
5757
loading: null,
@@ -71,28 +71,19 @@ describe('clearCacheNodeDataForSegmentPath', () => {
7171

7272
expect(cache).toMatchInlineSnapshot(`
7373
{
74-
"head": [
75-
null,
76-
null,
77-
],
74+
"head": null,
7875
"lazyData": null,
7976
"loading": null,
8077
"parallelRoutes": Map {
8178
"children" => Map {
8279
"linking" => {
83-
"head": [
84-
null,
85-
null,
86-
],
80+
"head": null,
8781
"lazyData": null,
8882
"loading": null,
8983
"parallelRoutes": Map {
9084
"children" => Map {
9185
"" => {
92-
"head": [
93-
null,
94-
null,
95-
],
86+
"head": null,
9687
"lazyData": null,
9788
"loading": null,
9889
"parallelRoutes": Map {},
@@ -111,10 +102,7 @@ describe('clearCacheNodeDataForSegmentPath', () => {
111102
</React.Fragment>,
112103
},
113104
"dashboard" => {
114-
"head": [
115-
null,
116-
null,
117-
],
105+
"head": null,
118106
"lazyData": null,
119107
"loading": null,
120108
"parallelRoutes": Map {},

packages/next/src/client/components/router-reducer/clear-cache-node-data-for-segment-path.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export function clearCacheNodeDataForSegmentPath(
4040
lazyData: null,
4141
rsc: null,
4242
prefetchRsc: null,
43-
head: [null, null],
43+
head: null,
4444
prefetchHead: null,
4545
parallelRoutes: new Map(),
4646
loading: null,
@@ -56,7 +56,7 @@ export function clearCacheNodeDataForSegmentPath(
5656
lazyData: null,
5757
rsc: null,
5858
prefetchRsc: null,
59-
head: [null, null],
59+
head: null,
6060
prefetchHead: null,
6161
parallelRoutes: new Map(),
6262
loading: null,

packages/next/src/client/components/router-reducer/create-initial-router-state.test.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ describe('createInitialRouterState', () => {
3232
const initialParallelRoutes: CacheNode['parallelRoutes'] = new Map()
3333

3434
const state = createInitialRouterState({
35-
initialFlightData: [
36-
[initialTree, ['', children, {}, null], <title>Test</title>],
37-
],
35+
initialFlightData: [[initialTree, ['', children, {}, null]]],
3836
initialCanonicalUrlParts: initialCanonicalUrl.split('/'),
3937
initialParallelRoutes,
4038
location: new URL('/linking', 'https://localhost') as any,
@@ -44,9 +42,7 @@ describe('createInitialRouterState', () => {
4442
})
4543

4644
const state2 = createInitialRouterState({
47-
initialFlightData: [
48-
[initialTree, ['', children, {}, null], <title>Test</title>],
49-
],
45+
initialFlightData: [[initialTree, ['', children, {}, null]]],
5046
initialCanonicalUrlParts: initialCanonicalUrl.split('/'),
5147
initialParallelRoutes,
5248
location: new URL('/linking', 'https://localhost') as any,
@@ -59,7 +55,7 @@ describe('createInitialRouterState', () => {
5955
lazyData: null,
6056
rsc: children,
6157
prefetchRsc: null,
62-
head: [null, null],
58+
head: null,
6359
prefetchHead: null,
6460
loading: null,
6561
parallelRoutes: new Map([
@@ -81,7 +77,7 @@ describe('createInitialRouterState', () => {
8177
prefetchRsc: null,
8278
parallelRoutes: new Map(),
8379
loading: null,
84-
head: [null, <title>Test</title>],
80+
head: null,
8581
prefetchHead: null,
8682
},
8783
],
@@ -91,7 +87,7 @@ describe('createInitialRouterState', () => {
9187
lazyData: null,
9288
rsc: null,
9389
prefetchRsc: null,
94-
head: [null, null],
90+
head: null,
9591
prefetchHead: null,
9692
loading: null,
9793
},

packages/next/src/client/components/router-reducer/create-initial-router-state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function createInitialRouterState({
4848
lazyData: null,
4949
rsc,
5050
prefetchRsc: null,
51-
head: [null, null],
51+
head: null,
5252
prefetchHead: null,
5353
// The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.
5454
parallelRoutes: isServer ? new Map() : initialParallelRoutes,

packages/next/src/client/components/router-reducer/fill-cache-with-new-subtree-data.test.tsx

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const getFlightData = (): NormalizedFlightData[] => {
1010
segment: 'about',
1111
tree: ['about', { children: ['', {}] }],
1212
seedData: ['about', <h1>SubTreeData Injected!</h1>, {}, null, false],
13-
head: [null, '<title>Head Injected!</title>'],
13+
head: null,
1414
isHeadPartial: false,
1515
isRootRender: false,
1616
},
@@ -23,7 +23,7 @@ describe('fillCacheWithNewSubtreeData', () => {
2323
lazyData: null,
2424
rsc: null,
2525
prefetchRsc: null,
26-
head: [null, null],
26+
head: null,
2727
prefetchHead: null,
2828
loading: null,
2929
parallelRoutes: new Map(),
@@ -32,7 +32,7 @@ describe('fillCacheWithNewSubtreeData', () => {
3232
lazyData: null,
3333
rsc: <>Root layout</>,
3434
prefetchRsc: null,
35-
head: [null, null],
35+
head: null,
3636
prefetchHead: null,
3737
loading: null,
3838
parallelRoutes: new Map([
@@ -45,7 +45,7 @@ describe('fillCacheWithNewSubtreeData', () => {
4545
lazyData: null,
4646
rsc: <>Linking</>,
4747
prefetchRsc: null,
48-
head: [null, null],
48+
head: null,
4949
prefetchHead: null,
5050
loading: null,
5151
parallelRoutes: new Map([
@@ -58,7 +58,7 @@ describe('fillCacheWithNewSubtreeData', () => {
5858
lazyData: null,
5959
rsc: <>Page</>,
6060
prefetchRsc: null,
61-
head: [null, null],
61+
head: null,
6262
prefetchHead: null,
6363
loading: null,
6464
parallelRoutes: new Map(),
@@ -89,7 +89,7 @@ describe('fillCacheWithNewSubtreeData', () => {
8989
lazyData: null,
9090
rsc: null,
9191
prefetchRsc: null,
92-
head: [null, null],
92+
head: null,
9393
prefetchHead: null,
9494
loading: null,
9595
parallelRoutes: new Map([
@@ -102,7 +102,7 @@ describe('fillCacheWithNewSubtreeData', () => {
102102
lazyData: null,
103103
rsc: <>Linking</>,
104104
prefetchRsc: null,
105-
head: [null, null],
105+
head: null,
106106
prefetchHead: null,
107107
loading: null,
108108
parallelRoutes: new Map([
@@ -116,7 +116,7 @@ describe('fillCacheWithNewSubtreeData', () => {
116116
lazyData: null,
117117
rsc: <>Page</>,
118118
prefetchRsc: null,
119-
head: [null, null],
119+
head: null,
120120
prefetchHead: null,
121121
loading: null,
122122
parallelRoutes: new Map(),
@@ -126,7 +126,7 @@ describe('fillCacheWithNewSubtreeData', () => {
126126
'about',
127127
{
128128
lazyData: null,
129-
head: [null, null],
129+
head: null,
130130
prefetchHead: null,
131131
loading: null,
132132
parallelRoutes: new Map([
@@ -142,12 +142,7 @@ describe('fillCacheWithNewSubtreeData', () => {
142142
parallelRoutes: new Map(),
143143
prefetchHead: null,
144144
loading: null,
145-
head: [
146-
null,
147-
<>
148-
<title>Head Injected!</title>
149-
</>,
150-
],
145+
head: null,
151146
},
152147
],
153148
]),

packages/next/src/client/components/router-reducer/fill-cache-with-new-subtree-data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ function fillCacheHelper(
7171
rsc:
7272
fillLazyItems || incomingSegment !== PAGE_SEGMENT_KEY ? rsc : null,
7373
prefetchRsc: null,
74-
head: [null, null],
74+
head: null,
7575
prefetchHead: null,
7676
loading,
7777
parallelRoutes:

packages/next/src/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.test.tsx

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
3939
lazyData: null,
4040
rsc: null,
4141
prefetchRsc: null,
42-
head: [null, null],
42+
head: null,
4343
prefetchHead: null,
4444
parallelRoutes: new Map(),
4545
loading: null,
@@ -48,7 +48,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
4848
lazyData: null,
4949
rsc: <>Root layout</>,
5050
prefetchRsc: null,
51-
head: [null, null],
51+
head: null,
5252
prefetchHead: null,
5353
loading: null,
5454
parallelRoutes: new Map([
@@ -61,7 +61,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
6161
lazyData: null,
6262
rsc: <>Linking</>,
6363
prefetchRsc: null,
64-
head: [null, null],
64+
head: null,
6565
prefetchHead: null,
6666
loading: null,
6767
parallelRoutes: new Map([
@@ -74,7 +74,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
7474
lazyData: null,
7575
rsc: <>Page</>,
7676
prefetchRsc: null,
77-
head: [null, null],
77+
head: null,
7878
prefetchHead: null,
7979
loading: null,
8080
parallelRoutes: new Map(),
@@ -114,7 +114,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
114114
lazyData: null,
115115
rsc: null,
116116
prefetchRsc: null,
117-
head: [null, null],
117+
head: null,
118118
prefetchHead: null,
119119
loading: null,
120120
parallelRoutes: new Map([
@@ -127,7 +127,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
127127
lazyData: null,
128128
rsc: null,
129129
prefetchRsc: null,
130-
head: [null, null],
130+
head: null,
131131
prefetchHead: null,
132132
loading: null,
133133
parallelRoutes: new Map([
@@ -152,20 +152,15 @@ describe('fillLazyItemsTillLeafWithHead', () => {
152152
prefetchHead: null,
153153
loading: null,
154154
parallelRoutes: new Map(),
155-
head: [
156-
null,
157-
<>
158-
<title>About page!</title>
159-
</>,
160-
],
155+
head: null,
161156
},
162157
],
163158
]),
164159
],
165160
]),
166161
rsc: null,
167162
prefetchRsc: null,
168-
head: [null, null],
163+
head: null,
169164
prefetchHead: null,
170165
},
171166
],
@@ -175,7 +170,7 @@ describe('fillLazyItemsTillLeafWithHead', () => {
175170
lazyData: null,
176171
rsc: <>Page</>,
177172
prefetchRsc: null,
178-
head: [null, null],
173+
head: null,
179174
prefetchHead: null,
180175
loading: null,
181176
parallelRoutes: new Map(),

0 commit comments

Comments
 (0)