From c8b6d38bd4c1bd5e22bdafe8f42f06f66aacfcf4 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Wed, 28 Oct 2026 19:06:34 -0700 Subject: [PATCH] fix(ci): keep mobile localization out of desktop-only test installs (#35576) Load the Hermes plural-rules polyfill from the phone app entry instead of mobile-i18n, and transform mobile-i18n and its catalog loader without the Expo tsconfig in root vitest. --- config/vitest.config.ts | 4 +++- mobile/index.js | 2 ++ mobile/src/i18n/mobile-i18n.ts | 1 - 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config/vitest.config.ts b/config/vitest.config.ts index f3091ce8e62..ae0d35b28ee 100644 --- a/config/vitest.config.ts +++ b/config/vitest.config.ts @@ -23,7 +23,9 @@ const paletteMeasurementFile = const measurementFiles = [measurementFile, paletteMeasurementFile] const phoneContractModules = [ 'mobile/src/session/native-chat/mobile-native-chat-stream-frame.ts', - 'mobile/src/session/mobile-native-chat-render-data.ts' + 'mobile/src/session/mobile-native-chat-render-data.ts', + 'mobile/src/i18n/mobile-i18n.ts', + 'mobile/src/i18n/locale-catalog-imports.ts' ].map((file) => normalizePath(resolve(file))) const phoneContractPattern = new RegExp( `^(?:${phoneContractModules.map((file) => file.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|')})(?:\\?.*)?$` diff --git a/mobile/index.js b/mobile/index.js index 86c95f2717f..95199bf97c7 100644 --- a/mobile/index.js +++ b/mobile/index.js @@ -1,3 +1,5 @@ +// Before any module that builds i18next plural rules; kept out of mobile-i18n so desktop tests need no mobile deps. +import './src/i18n/plural-rules-polyfill' // Headless notification launches do not mount the router layout. import './src/notifications/push-background-dismissal' import { loadPairedE2EENativeBindings } from './src/transport/paired-e2ee-native-bindings' diff --git a/mobile/src/i18n/mobile-i18n.ts b/mobile/src/i18n/mobile-i18n.ts index 97fdd3a7bed..a7b51d1acf4 100644 --- a/mobile/src/i18n/mobile-i18n.ts +++ b/mobile/src/i18n/mobile-i18n.ts @@ -1,4 +1,3 @@ -import './plural-rules-polyfill' import i18next, { type TOptions } from 'i18next' import { resolvePluralFamilyKey } from '../../../src/shared/i18n-plural-family' import { pseudoLocalizeString } from '../../../src/shared/pseudo-localization'