From ed1b5fe5e113ffca1b6a933e3bd5eef4683868c3 Mon Sep 17 00:00:00 2001 From: Richie Foreman Date: Wed, 1 Oct 2025 11:32:18 -0400 Subject: [PATCH] fix(settings): Ensure that `InferSettings` properly infers the combinations of values from an enum type. (#10346) --- packages/cli/src/config/settingsSchema.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index ef3dc6c7c3..397f74a5f1 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -1047,9 +1047,13 @@ export function getSettingsSchema(): SettingsSchemaType { type InferSettings = { -readonly [K in keyof T]?: T[K] extends { properties: SettingsSchema } ? InferSettings - : T[K]['default'] extends boolean - ? boolean - : T[K]['default']; + : T[K]['type'] extends 'enum' + ? T[K]['options'] extends readonly SettingEnumOption[] + ? T[K]['options'][number]['value'] + : T[K]['default'] + : T[K]['default'] extends boolean + ? boolean + : T[K]['default']; }; export type Settings = InferSettings;