From 1cedf2d7aad25c6fed56ba96874cc00dc06a31c6 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Sat, 1 Aug 2026 11:49:47 -0700 Subject: [PATCH] fix(mobile): close localization value-flow review gaps --- .../mobile-localization-candidate-rules.mjs | 3 + ...bile-localization-candidate-rules.test.mjs | 34 +++++++++-- .../mobile-localization-rendered-variable.mjs | 6 +- ...localization-translation-bindings.test.mjs | 29 +++++++++- .../mobile-localization-value-flow.mjs | 57 ++++++++++++++----- 5 files changed, 106 insertions(+), 23 deletions(-) diff --git a/config/scripts/mobile-localization-candidate-rules.mjs b/config/scripts/mobile-localization-candidate-rules.mjs index 980009ecfe3..02dd8a2af09 100644 --- a/config/scripts/mobile-localization-candidate-rules.mjs +++ b/config/scripts/mobile-localization-candidate-rules.mjs @@ -218,6 +218,9 @@ function ancestorJsxAttributeName(node) { ts.isJsxExpression(current) || ts.isConditionalExpression(current) || ts.isParenthesizedExpression(current) || + ts.isAsExpression(current) || + ts.isSatisfiesExpression(current) || + ts.isNonNullExpression(current) || ts.isBinaryExpression(current) ) { current = current.parent diff --git a/config/scripts/mobile-localization-candidate-rules.test.mjs b/config/scripts/mobile-localization-candidate-rules.test.mjs index d81c800e242..f9b7d6d10c9 100644 --- a/config/scripts/mobile-localization-candidate-rules.test.mjs +++ b/config/scripts/mobile-localization-candidate-rules.test.mjs @@ -133,12 +133,12 @@ export function Example() { expect(candidates.map((candidate) => candidate.text)).toEqual(['Actually rendered value']) }) - it('finds literals assigned to variables rendered through user-visible JSX attributes', () => { + it('finds direct and assigned literals in user-visible JSX attributes', () => { const source = ` export function Example() { const copy = 'Save changes' const className = 'not-visible-copy' - return