From 71683f6e82695520666b68f82527ccb33875709f Mon Sep 17 00:00:00 2001 From: Darshan Jain <108680813+darshanjain-entrepreneur@users.noreply.github.com> Date: Thu, 20 Jul 2023 11:24:11 +0530 Subject: [PATCH 1/4] Fixed:#52898 LangCode Missing zh-Hans and zh-Hant --- packages/next/src/lib/metadata/types/alternative-urls-types.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/next/src/lib/metadata/types/alternative-urls-types.ts b/packages/next/src/lib/metadata/types/alternative-urls-types.ts index fd54da9c87a0..e7f52e87d249 100644 --- a/packages/next/src/lib/metadata/types/alternative-urls-types.ts +++ b/packages/next/src/lib/metadata/types/alternative-urls-types.ts @@ -408,6 +408,8 @@ type LangCode = | 'xh-ZA' | 'yo-NG' | 'zh-CN' + | 'zh-Hans' + | 'zh-Hant' | 'zh-HK' | 'zh-MO' | 'zh-SG' From 50e251cee350e02fb48467db7fc664d864c13107 Mon Sep 17 00:00:00 2001 From: Darshan Jain <108680813+darshanjain-entrepreneur@users.noreply.github.com> Date: Thu, 20 Jul 2023 12:40:27 +0530 Subject: [PATCH 2/4] Update alternative-urls-types.ts --- .../next/src/lib/metadata/types/alternative-urls-types.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/next/src/lib/metadata/types/alternative-urls-types.ts b/packages/next/src/lib/metadata/types/alternative-urls-types.ts index e7f52e87d249..10ac3bcdd791 100644 --- a/packages/next/src/lib/metadata/types/alternative-urls-types.ts +++ b/packages/next/src/lib/metadata/types/alternative-urls-types.ts @@ -408,8 +408,6 @@ type LangCode = | 'xh-ZA' | 'yo-NG' | 'zh-CN' - | 'zh-Hans' - | 'zh-Hant' | 'zh-HK' | 'zh-MO' | 'zh-SG' @@ -418,7 +416,7 @@ type LangCode = type UnmatchedLang = 'x-default' -type HrefLang = LangCode | UnmatchedLang +type HrefLang = LangCode | UnmatchedLang | string type Languages = { [s in HrefLang]?: T From f1ed391e87b25028c87a1cf554d19d383bab5608 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Thu, 20 Jul 2023 11:56:51 +0200 Subject: [PATCH 3/4] use template literal --- .../src/lib/metadata/types/alternative-urls-types.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/next/src/lib/metadata/types/alternative-urls-types.ts b/packages/next/src/lib/metadata/types/alternative-urls-types.ts index 10ac3bcdd791..ac38a148076b 100644 --- a/packages/next/src/lib/metadata/types/alternative-urls-types.ts +++ b/packages/next/src/lib/metadata/types/alternative-urls-types.ts @@ -412,11 +412,19 @@ type LangCode = | 'zh-MO' | 'zh-SG' | 'zh-TW' + | 'zh-Hans' + | 'zh-Hant' | 'zu-ZA' + // We can't have all valid combinations of language-region-script listed here + // as the list is too long and breaks the TypeScript compiler. So instead we + // only add the most common ones with a general string pattern for the rest. + // This way autocompletion still works and it is still possible to add custom + // lang codes. + | `${Lowercase}-${string}` type UnmatchedLang = 'x-default' -type HrefLang = LangCode | UnmatchedLang | string +type HrefLang = LangCode | UnmatchedLang type Languages = { [s in HrefLang]?: T From a17887df991f1813cd940ca76c272904948d3463 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Thu, 20 Jul 2023 12:40:03 +0200 Subject: [PATCH 4/4] fix types --- packages/next/src/lib/metadata/resolvers/resolve-basics.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/next/src/lib/metadata/resolvers/resolve-basics.ts b/packages/next/src/lib/metadata/resolvers/resolve-basics.ts index b10954e02756..1e69c4d61353 100644 --- a/packages/next/src/lib/metadata/resolvers/resolve-basics.ts +++ b/packages/next/src/lib/metadata/resolvers/resolve-basics.ts @@ -66,7 +66,10 @@ export const resolveViewport: FieldResolver<'viewport'> = (viewport) => { function resolveUrlValuesOfObject( obj: - | Record + | Record< + string, + string | URL | AlternateLinkDescriptor[] | null | undefined + > | null | undefined, metadataBase: ResolvedMetadata['metadataBase'],