From 4a1a979ad77c888ea2ab7092acfe2c19285a19a1 Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Tue, 25 Mar 2025 18:09:15 -0400 Subject: [PATCH 1/2] fix(types): fix incompatible redirects query type The `netlify.toml` type marks the redirect `.query` values as optional but the (more or less) parsed result does not. This leads to some type errors downstream in Netlify CLI. This makes them compatible by marking them both as required. See https://github.com/netlify/build/blob/1b9f2f40de7ded6285e9b7c08a1adb43550a0ccf/packages /build-info/src/settings/netlify-toml.ts#L303-L305 --- packages/build/src/types/config/netlify_config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/build/src/types/config/netlify_config.ts b/packages/build/src/types/config/netlify_config.ts index e7331dfe03..59466e3ffb 100644 --- a/packages/build/src/types/config/netlify_config.ts +++ b/packages/build/src/types/config/netlify_config.ts @@ -12,9 +12,9 @@ interface Redirect { status?: HttpStatusCode force?: boolean signed?: string - query?: Partial> - headers?: Partial> - conditions?: Partial> + query?: Record + headers?: Record + conditions?: Record<'Language' | 'Role' | 'Country' | 'Cookie', readonly string[]> } interface Header { From 7d7f261e9629851fa3498d79035e4e5cb06be956 Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Wed, 26 Mar 2025 06:23:16 -0400 Subject: [PATCH 2/2] fix: remove `readonly` from `redirects` config This is incompatible with types elsewhere, so not worth it --- packages/build/src/types/config/netlify_config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/build/src/types/config/netlify_config.ts b/packages/build/src/types/config/netlify_config.ts index 59466e3ffb..111495988a 100644 --- a/packages/build/src/types/config/netlify_config.ts +++ b/packages/build/src/types/config/netlify_config.ts @@ -14,7 +14,7 @@ interface Redirect { signed?: string query?: Record headers?: Record - conditions?: Record<'Language' | 'Role' | 'Country' | 'Cookie', readonly string[]> + conditions?: Record<'Language' | 'Role' | 'Country' | 'Cookie', string[]> } interface Header {