From 2dd2528eac756e477ed568992fcec2d838c3c087 Mon Sep 17 00:00:00 2001 From: Furkan MT <49978011+furcan@users.noreply.github.com> Date: Sat, 6 Nov 2021 02:14:16 +0300 Subject: [PATCH 1/4] fix(#31060): NullReferenceException Related Issue: https://github.com/vercel/next.js/issues/31060 --- packages/next/client/head-manager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/next/client/head-manager.ts b/packages/next/client/head-manager.ts index 5e0f630ffab9895..80bda9e5f756bc9 100644 --- a/packages/next/client/head-manager.ts +++ b/packages/next/client/head-manager.ts @@ -60,7 +60,7 @@ function updateElements(type: string, components: JSX.Element[]): void { for ( let i = 0, j = headCountEl.previousElementSibling; i < headCount; - i++, j = j!.previousElementSibling + i++, j = j?.previousElementSibling ) { if (j?.tagName?.toLowerCase() === type) { oldTags.push(j!) @@ -79,7 +79,7 @@ function updateElements(type: string, components: JSX.Element[]): void { } ) - oldTags.forEach((t) => t.parentNode!.removeChild(t)) + oldTags.forEach((t) => t?.parentNode?.removeChild(t)) newTags.forEach((t) => headEl.insertBefore(t, headCountEl)) headCountEl.content = (headCount - oldTags.length + newTags.length).toString() } From de9d4c606e7c7da68991f3b2952a6628be024e63 Mon Sep 17 00:00:00 2001 From: Furkan MT <49978011+furcan@users.noreply.github.com> Date: Sat, 6 Nov 2021 02:31:23 +0300 Subject: [PATCH 2/4] Type 'undefined' is not assignable to type 'Element | null' --- packages/next/client/head-manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/client/head-manager.ts b/packages/next/client/head-manager.ts index 80bda9e5f756bc9..0ecc54f274eb78d 100644 --- a/packages/next/client/head-manager.ts +++ b/packages/next/client/head-manager.ts @@ -60,7 +60,7 @@ function updateElements(type: string, components: JSX.Element[]): void { for ( let i = 0, j = headCountEl.previousElementSibling; i < headCount; - i++, j = j?.previousElementSibling + i++, j = j?.previousElementSibling || null ) { if (j?.tagName?.toLowerCase() === type) { oldTags.push(j!) From 439549fe6e7cbc4369805a1c1fce7b79dc85217e Mon Sep 17 00:00:00 2001 From: Furkan MT <49978011+furcan@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:54:51 +0300 Subject: [PATCH 3/4] Update packages/next/client/head-manager.ts Co-authored-by: Steven --- packages/next/client/head-manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/client/head-manager.ts b/packages/next/client/head-manager.ts index 0ecc54f274eb78d..53f1d7f839ac10d 100644 --- a/packages/next/client/head-manager.ts +++ b/packages/next/client/head-manager.ts @@ -63,7 +63,7 @@ function updateElements(type: string, components: JSX.Element[]): void { i++, j = j?.previousElementSibling || null ) { if (j?.tagName?.toLowerCase() === type) { - oldTags.push(j!) + oldTags.push(j) } } const newTags = (components.map(reactElementToDOM) as HTMLElement[]).filter( From c15475b07a38123b8f0b91d29c24586e6eb4e3c8 Mon Sep 17 00:00:00 2001 From: Furkan MT <49978011+furcan@users.noreply.github.com> Date: Mon, 8 Nov 2021 19:54:59 +0300 Subject: [PATCH 4/4] Update packages/next/client/head-manager.ts Co-authored-by: Steven --- packages/next/client/head-manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/client/head-manager.ts b/packages/next/client/head-manager.ts index 53f1d7f839ac10d..9fbd8c24523e72b 100644 --- a/packages/next/client/head-manager.ts +++ b/packages/next/client/head-manager.ts @@ -79,7 +79,7 @@ function updateElements(type: string, components: JSX.Element[]): void { } ) - oldTags.forEach((t) => t?.parentNode?.removeChild(t)) + oldTags.forEach((t) => t.parentNode?.removeChild(t)) newTags.forEach((t) => headEl.insertBefore(t, headCountEl)) headCountEl.content = (headCount - oldTags.length + newTags.length).toString() }