From f50ec42f151eee2ebd487624fdc0323b2cefdd43 Mon Sep 17 00:00:00 2001 From: SkyZeroZx <73321943+SkyZeroZx@users.noreply.github.com> Date: Sat, 7 Feb 2026 11:19:49 -0500 Subject: [PATCH] refactor(forms): guard unsupportedFeatureError with ngDevMode Move unsupportedFeatureError message behind ngDevMode to keep it dev-only and allow proper tree-shaking. --- .../src/signal_form_control/signal_form_control.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/forms/signals/compat/src/signal_form_control/signal_form_control.ts b/packages/forms/signals/compat/src/signal_form_control/signal_form_control.ts index 4537998a031..db21abf8bc4 100644 --- a/packages/forms/signals/compat/src/signal_form_control/signal_form_control.ts +++ b/packages/forms/signals/compat/src/signal_form_control/signal_form_control.ts @@ -346,7 +346,7 @@ export class SignalFormControl extends AbstractControl { override set dirty(_: boolean) { throw unsupportedFeatureError( - 'Setting dirty directly is not supported. Instead use markAsDirty().', + ngDevMode && 'Setting dirty directly is not supported. Instead use markAsDirty().', ); } @@ -356,7 +356,7 @@ export class SignalFormControl extends AbstractControl { override set pristine(_: boolean) { throw unsupportedFeatureError( - 'Setting pristine directly is not supported. Instead use reset().', + ngDevMode && 'Setting pristine directly is not supported. Instead use reset().', ); } @@ -366,7 +366,8 @@ export class SignalFormControl extends AbstractControl { override set touched(_: boolean) { throw unsupportedFeatureError( - 'Setting touched directly is not supported. Instead use markAsTouched() or reset().', + ngDevMode && + 'Setting touched directly is not supported. Instead use markAsTouched() or reset().', ); } @@ -376,7 +377,7 @@ export class SignalFormControl extends AbstractControl { override set untouched(_: boolean) { throw unsupportedFeatureError( - 'Setting untouched directly is not supported. Instead use reset().', + ngDevMode && 'Setting untouched directly is not supported. Instead use reset().', ); }