From f9746e8292c41a1747ec37d8660f854f5ffe3c49 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 15:50:36 -0700 Subject: [PATCH 01/24] remove lazy loading --- app/src/navigation/aesop.ts | 6 +----- app/src/navigation/devTools.ts | 22 ++++++-------------- app/src/navigation/document.ts | 29 +++++++-------------------- app/src/navigation/home.ts | 13 ++++-------- app/src/navigation/index.tsx | 20 +++--------------- app/src/navigation/lazyWithPreload.ts | 19 ------------------ app/src/navigation/prove.ts | 20 +++++------------- app/src/navigation/recovery.ts | 26 ++++++------------------ app/src/navigation/recovery.web.ts | 5 +---- app/src/navigation/settings.ts | 20 +++++------------- app/src/navigation/settings.web.ts | 12 +++-------- app/src/navigation/system.tsx | 16 +++++---------- 12 files changed, 46 insertions(+), 162 deletions(-) delete mode 100644 app/src/navigation/lazyWithPreload.ts diff --git a/app/src/navigation/aesop.ts b/app/src/navigation/aesop.ts index 14fd604ce..899211a8d 100644 --- a/app/src/navigation/aesop.ts +++ b/app/src/navigation/aesop.ts @@ -2,17 +2,13 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import { ProgressNavBar } from '@/components/NavBar'; import { shouldShowAesopRedesign } from '@/hooks/useAesopRedesign'; +import DocumentOnboardingScreen from '@/screens/aesop/DocumentOnboardingScreen'; import { white } from '@/utils/colors'; -const DocumentOnboardingScreen = lazy( - () => import('@/screens/aesop/DocumentOnboardingScreen'), -); - const aesopScreens = { DocumentOnboarding: { screen: DocumentOnboardingScreen, diff --git a/app/src/navigation/devTools.ts b/app/src/navigation/devTools.ts index 55f4bb7a6..2a198bdbf 100644 --- a/app/src/navigation/devTools.ts +++ b/app/src/navigation/devTools.ts @@ -2,26 +2,16 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import CreateMockScreen from '@/screens/dev/CreateMockScreen'; +import CreateMockScreenDeepLink from '@/screens/dev/CreateMockScreenDeepLink'; +import DevFeatureFlagsScreen from '@/screens/dev/DevFeatureFlagsScreen'; +import DevHapticFeedbackScreen from '@/screens/dev/DevHapticFeedbackScreen'; +import DevPrivateKeyScreen from '@/screens/dev/DevPrivateKeyScreen'; +import DevSettingsScreen from '@/screens/dev/DevSettingsScreen'; import { black, white } from '@/utils/colors'; -const DevFeatureFlagsScreen = lazy( - () => import('@/screens/dev/DevFeatureFlagsScreen'), -); -const DevHapticFeedbackScreen = lazy( - () => import('@/screens/dev/DevHapticFeedbackScreen'), -); -const DevPrivateKeyScreen = lazy( - () => import('@/screens/dev/DevPrivateKeyScreen'), -); -const DevSettingsScreen = lazy(() => import('@/screens/dev/DevSettingsScreen')); -const CreateMockScreen = lazy(() => import('@/screens/dev/CreateMockScreen')); -const CreateMockScreenDeepLink = lazy( - () => import('@/screens/dev/CreateMockScreenDeepLink'), -); - const devHeaderOptions: NativeStackNavigationOptions = { headerStyle: { backgroundColor: black, diff --git a/app/src/navigation/document.ts b/app/src/navigation/document.ts index 85c9fcb6a..72a6eb548 100644 --- a/app/src/navigation/document.ts +++ b/app/src/navigation/document.ts @@ -2,30 +2,15 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; -const DocumentCameraScreen = lazy( - () => import('@/screens/document/DocumentCameraScreen'), -); -const DocumentCameraTroubleScreen = lazy( - () => import('@/screens/document/DocumentCameraTroubleScreen'), -); -const DocumentNFCScanScreen = lazy( - () => import('@/screens/document/DocumentNFCScanScreen'), -); -const DocumentNFCTroubleScreen = lazy( - () => import('@/screens/document/DocumentNFCTroubleScreen'), -); -const DocumentOnboardingScreen = lazy( - () => import('@/screens/document/DocumentOnboardingScreen'), -); -const UnsupportedDocumentScreen = lazy( - () => import('@/screens/document/UnsupportedDocumentScreen'), -); -const DocumentNFCMethodSelectionScreen = lazy( - () => import('@/screens/document/DocumentNFCMethodSelectionScreen'), -); +import DocumentCameraScreen from '@/screens/document/DocumentCameraScreen'; +import DocumentCameraTroubleScreen from '@/screens/document/DocumentCameraTroubleScreen'; +import DocumentNFCMethodSelectionScreen from '@/screens/document/DocumentNFCMethodSelectionScreen'; +import DocumentNFCScanScreen from '@/screens/document/DocumentNFCScanScreen'; +import DocumentNFCTroubleScreen from '@/screens/document/DocumentNFCTroubleScreen'; +import DocumentOnboardingScreen from '@/screens/document/DocumentOnboardingScreen'; +import UnsupportedDocumentScreen from '@/screens/document/UnsupportedDocumentScreen'; const documentScreens = { DocumentCamera: { diff --git a/app/src/navigation/home.ts b/app/src/navigation/home.ts index 2a76c99b1..81146c550 100644 --- a/app/src/navigation/home.ts +++ b/app/src/navigation/home.ts @@ -2,19 +2,14 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import { HomeNavBar } from '@/components/NavBar'; +import DisclaimerScreen from '@/screens/home/DisclaimerScreen'; +import HomeScreen from '@/screens/home/HomeScreen'; +import ProofHistoryDetailScreen from '@/screens/home/ProofHistoryDetailScreen'; +import ProofHistoryScreen from '@/screens/home/ProofHistoryScreen'; -const DisclaimerScreen = lazy(() => import('@/screens/home/DisclaimerScreen')); -const HomeScreen = lazy(() => import('@/screens/home/HomeScreen')); -const ProofHistoryDetailScreen = lazy( - () => import('@/screens/home/ProofHistoryDetailScreen'), -); -const ProofHistoryScreen = lazy( - () => import('@/screens/home/ProofHistoryScreen'), -); const homeScreens = { Disclaimer: { screen: DisclaimerScreen, diff --git a/app/src/navigation/index.tsx b/app/src/navigation/index.tsx index 15f879b0f..0dce10415 100644 --- a/app/src/navigation/index.tsx +++ b/app/src/navigation/index.tsx @@ -2,10 +2,9 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import React, { Suspense, useEffect } from 'react'; -import { Platform, View } from 'react-native'; +import React, { useEffect } from 'react'; +import { Platform } from 'react-native'; import { GestureHandlerRootView } from 'react-native-gesture-handler'; -import { Text } from 'tamagui'; import type { StaticParamList } from '@react-navigation/native'; import { createNavigationContainerRef, @@ -62,17 +61,6 @@ declare global { const { trackScreenView } = analytics(); const Navigation = createStaticNavigation(AppNavigation); -const SuspenseFallback = () => { - if (Platform.OS === 'web') { - return
Loading...
; - } - return ( - - Loading... - - ); -}; - const NavigationWithTracking = () => { const trackScreen = () => { const currentRoute = navigationRef.getCurrentRoute(); @@ -95,9 +83,7 @@ const NavigationWithTracking = () => { return ( - }> - - + ); }; diff --git a/app/src/navigation/lazyWithPreload.ts b/app/src/navigation/lazyWithPreload.ts deleted file mode 100644 index 077d5b6a2..000000000 --- a/app/src/navigation/lazyWithPreload.ts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. -// SPDX-License-Identifier: BUSL-1.1 -// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. - -import { lazy, type LazyExoticComponent } from 'react'; - -// Helper around React.lazy that exposes the underlying dynamic import -// so callers can manually preload a screen when debugging or profiling. -// Prefer using React.lazy directly and opt into this only when you need -// to eagerly load a component. -export function lazyWithPreload>( - factory: () => Promise<{ default: T }>, -) { - const Component = lazy(factory) as LazyExoticComponent & { - preload: () => Promise<{ default: T }>; - }; - Component.preload = factory; - return Component; -} diff --git a/app/src/navigation/prove.ts b/app/src/navigation/prove.ts index 32f55246e..8ad3579f3 100644 --- a/app/src/navigation/prove.ts +++ b/app/src/navigation/prove.ts @@ -2,25 +2,15 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import ConfirmBelongingScreen from '@/screens/prove/ConfirmBelongingScreen'; +import ProofRequestStatusScreen from '@/screens/prove/ProofRequestStatusScreen'; +import ProveScreen from '@/screens/prove/ProveScreen'; +import QRCodeTroubleScreen from '@/screens/prove/QRCodeTroubleScreen'; +import QRCodeViewFinderScreen from '@/screens/prove/QRCodeViewFinderScreen'; import { black, white } from '@/utils/colors'; -const ConfirmBelongingScreen = lazy( - () => import('@/screens/prove/ConfirmBelongingScreen'), -); -const ProofRequestStatusScreen = lazy( - () => import('@/screens/prove/ProofRequestStatusScreen'), -); -const ProveScreen = lazy(() => import('@/screens/prove/ProveScreen')); -const QRCodeTroubleScreen = lazy( - () => import('@/screens/prove/QRCodeTroubleScreen'), -); -const QRCodeViewFinderScreen = lazy( - () => import('@/screens/prove/QRCodeViewFinderScreen'), -); - const proveScreens = { ConfirmBelonging: { screen: ConfirmBelongingScreen, diff --git a/app/src/navigation/recovery.ts b/app/src/navigation/recovery.ts index 2429e3ef5..6e98ff2b0 100644 --- a/app/src/navigation/recovery.ts +++ b/app/src/navigation/recovery.ts @@ -2,30 +2,16 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import AccountRecoveryChoiceScreen from '@/screens/recovery/AccountRecoveryChoiceScreen'; +import AccountRecoveryScreen from '@/screens/recovery/AccountRecoveryScreen'; +import AccountVerifiedSuccessScreen from '@/screens/recovery/AccountVerifiedSuccessScreen'; +import DocumentDataNotFound from '@/screens/recovery/DocumentDataNotFoundScreen'; +import RecoverWithPhraseScreen from '@/screens/recovery/RecoverWithPhraseScreen'; +import SaveRecoveryPhraseScreen from '@/screens/recovery/SaveRecoveryPhraseScreen'; import { black, slate300 } from '@/utils/colors'; -const AccountRecoveryChoiceScreen = lazy( - () => import('@/screens/recovery/AccountRecoveryChoiceScreen'), -); -const AccountRecoveryScreen = lazy( - () => import('@/screens/recovery/AccountRecoveryScreen'), -); -const AccountVerifiedSuccessScreen = lazy( - () => import('@/screens/recovery/AccountVerifiedSuccessScreen'), -); -const DocumentDataNotFound = lazy( - () => import('@/screens/recovery/DocumentDataNotFoundScreen'), -); -const RecoverWithPhraseScreen = lazy( - () => import('@/screens/recovery/RecoverWithPhraseScreen'), -); -const SaveRecoveryPhraseScreen = lazy( - () => import('@/screens/recovery/SaveRecoveryPhraseScreen'), -); - const recoveryScreens = { AccountRecovery: { screen: AccountRecoveryScreen, diff --git a/app/src/navigation/recovery.web.ts b/app/src/navigation/recovery.web.ts index b843c4854..211127c0a 100644 --- a/app/src/navigation/recovery.web.ts +++ b/app/src/navigation/recovery.web.ts @@ -2,12 +2,9 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; -const DocumentDataNotFound = lazy( - () => import('@/screens/recovery/DocumentDataNotFoundScreen'), -); +import DocumentDataNotFound from '@/screens/recovery/DocumentDataNotFoundScreen'; const recoveryScreens = { DocumentDataNotFound: { diff --git a/app/src/navigation/settings.ts b/app/src/navigation/settings.ts index e485e7a52..2c7a60c6b 100644 --- a/app/src/navigation/settings.ts +++ b/app/src/navigation/settings.ts @@ -2,25 +2,15 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import CloudBackupScreen from '@/screens/settings/CloudBackupScreen'; +import DocumentDataInfoScreen from '@/screens/settings/DocumentDataInfoScreen'; +import ManageDocumentsScreen from '@/screens/settings/ManageDocumentsScreen'; +import SettingsScreen from '@/screens/settings/SettingsScreen'; +import ShowRecoveryPhraseScreen from '@/screens/settings/ShowRecoveryPhraseScreen'; import { black, slate300, white } from '@/utils/colors'; -const CloudBackupScreen = lazy( - () => import('@/screens/settings/CloudBackupScreen'), -); -const ManageDocumentsScreen = lazy( - () => import('@/screens/settings/ManageDocumentsScreen'), -); -const DocumentDataInfoScreen = lazy( - () => import('@/screens/settings/DocumentDataInfoScreen'), -); -const SettingsScreen = lazy(() => import('@/screens/settings/SettingsScreen')); -const ShowRecoveryPhraseScreen = lazy( - () => import('@/screens/settings/ShowRecoveryPhraseScreen'), -); - const settingsScreens = { CloudBackupSettings: { screen: CloudBackupScreen, diff --git a/app/src/navigation/settings.web.ts b/app/src/navigation/settings.web.ts index 83c6a07a1..2c192395a 100644 --- a/app/src/navigation/settings.web.ts +++ b/app/src/navigation/settings.web.ts @@ -2,19 +2,13 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import { lazy } from 'react'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import DocumentDataInfoScreen from '@/screens/settings/DocumentDataInfoScreen'; +import ManageDocumentsScreen from '@/screens/settings/ManageDocumentsScreen'; +import SettingsScreen from '@/screens/settings/SettingsScreen'; import { black, white } from '@/utils/colors'; -const ManageDocumentsScreen = lazy( - () => import('@/screens/settings/ManageDocumentsScreen'), -); -const DocumentDataInfoScreen = lazy( - () => import('@/screens/settings/DocumentDataInfoScreen'), -); -const SettingsScreen = lazy(() => import('@/screens/settings/SettingsScreen')); - const settingsScreens = { ManageDocuments: { screen: ManageDocumentsScreen, diff --git a/app/src/navigation/system.tsx b/app/src/navigation/system.tsx index 3579d2e28..3691173ab 100644 --- a/app/src/navigation/system.tsx +++ b/app/src/navigation/system.tsx @@ -2,22 +2,16 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import React, { lazy } from 'react'; +import React from 'react'; import { SystemBars } from 'react-native-edge-to-edge'; import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; -// Important: SplashScreen is imported directly and not lazy-loaded. -// This is because it's used as a fallback for the Suspense boundary in the root navigator, -// ensuring it's immediately available at startup. +import DeferredLinkingInfoScreen from '@/screens/system/DeferredLinkingInfoScreen'; +import LaunchScreen from '@/screens/system/LaunchScreen'; +import LoadingScreen from '@/screens/system/Loading'; +import ModalScreen from '@/screens/system/ModalScreen'; import SplashScreen from '@/screens/system/SplashScreen'; -const LaunchScreen = lazy(() => import('@/screens/system/LaunchScreen')); -const LoadingScreen = lazy(() => import('@/screens/system/Loading')); -const ModalScreen = lazy(() => import('@/screens/system/ModalScreen')); -const DeferredLinkingInfoScreen = lazy( - () => import('@/screens/system/DeferredLinkingInfoScreen'), -); - const systemScreens = { Launch: { screen: LaunchScreen, From 2687031a06f9cf9605e6145ae39b86d24e631eb0 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 16:33:41 -0700 Subject: [PATCH 02/24] fix tests --- app/jest.config.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/jest.config.cjs b/app/jest.config.cjs index 974e4060a..6f3e31533 100644 --- a/app/jest.config.cjs +++ b/app/jest.config.cjs @@ -6,7 +6,7 @@ module.exports = { preset: 'react-native', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], transformIgnorePatterns: [ - 'node_modules/(?!(react-native|@react-native|@react-navigation|@react-native-community|@segment/analytics-react-native|@openpassport|react-native-keychain|react-native-check-version|react-native-nfc-manager|react-native-passport-reader|react-native-gesture-handler|uuid|@stablelib|@react-native-google-signin|react-native-cloud-storage|@react-native-clipboard|@react-native-firebase|@selfxyz)/)', + 'node_modules/(?!(react-native|@react-native|@react-navigation|@react-native-community|@segment/analytics-react-native|@openpassport|react-native-keychain|react-native-check-version|react-native-nfc-manager|react-native-passport-reader|react-native-gesture-handler|uuid|@stablelib|@react-native-google-signin|react-native-cloud-storage|@react-native-clipboard|@react-native-firebase|@selfxyz|@sentry)/)', ], setupFiles: ['/jest.setup.js'], testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$', From 44b42e727d668b65259ce07bb4374ecf82153895 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 16:49:40 -0700 Subject: [PATCH 03/24] formatting --- app/src/navigation/home.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/navigation/home.ts b/app/src/navigation/home.ts index b43ebb16b..b05195739 100644 --- a/app/src/navigation/home.ts +++ b/app/src/navigation/home.ts @@ -4,16 +4,13 @@ import type { NativeStackNavigationOptions } from '@react-navigation/native-stack'; +import { HomeNavBar, IdDetailsNavBar } from '@/components/NavBar'; import DisclaimerScreen from '@/screens/home/DisclaimerScreen'; import HomeScreen from '@/screens/home/HomeScreen'; +import IdDetailsScreen from '@/screens/home/IdDetailsScreen'; import ProofHistoryDetailScreen from '@/screens/home/ProofHistoryDetailScreen'; import ProofHistoryScreen from '@/screens/home/ProofHistoryScreen'; -import IdDetailsScreen from '@/screens/home/IdDetailsScreen'; - -import { HomeNavBar, IdDetailsNavBar } from '@/components/NavBar'; - - const homeScreens = { Disclaimer: { screen: DisclaimerScreen, From fe50017996f0527bbb82366f9641f0b9c4c52765 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 17:25:00 -0700 Subject: [PATCH 04/24] fix imports and web ci --- .github/workflows/web.yml | 2 +- .../components/homeScreen/SvgXmlWrapper.tsx | 43 ++++++++++++ app/src/components/homeScreen/idCard.tsx | 10 +-- app/src/mocks/react-native-community-blur.ts | 31 +++++++++ app/src/mocks/react-native-svg.ts | 67 +++++++++++++++++++ app/src/screens/home/HomeScreen.tsx | 4 +- app/src/screens/home/IdDetailsScreen.tsx | 2 +- app/vite.config.ts | 4 ++ 8 files changed, 154 insertions(+), 9 deletions(-) create mode 100644 app/src/components/homeScreen/SvgXmlWrapper.tsx create mode 100644 app/src/mocks/react-native-community-blur.ts create mode 100644 app/src/mocks/react-native-svg.ts diff --git a/.github/workflows/web.yml b/.github/workflows/web.yml index cb14d7fb7..03d03f488 100644 --- a/.github/workflows/web.yml +++ b/.github/workflows/web.yml @@ -22,4 +22,4 @@ jobs: shell: bash run: yarn workspace @selfxyz/common build - name: Build web app - run: yarn web:build + run: yarn workspace @selfxyz/mobile-app web:build diff --git a/app/src/components/homeScreen/SvgXmlWrapper.tsx b/app/src/components/homeScreen/SvgXmlWrapper.tsx new file mode 100644 index 000000000..f3201c790 --- /dev/null +++ b/app/src/components/homeScreen/SvgXmlWrapper.tsx @@ -0,0 +1,43 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import React, { createElement, forwardRef } from 'react'; +import { Platform } from 'react-native'; + +// Platform-specific SvgXml component +const SvgXmlWrapper = forwardRef< + HTMLDivElement | SVGSVGElement, + { + xml: string; + width?: number; + height?: number; + style?: React.CSSProperties; + } +>(({ xml, width, height, style, ...props }, ref) => { + if (Platform.OS === 'web') { + // Use our mock for web + return createElement('div', { + ref, + style: { + width: width || 'auto', + height: height || 'auto', + display: 'inline-block', + ...style, + }, + dangerouslySetInnerHTML: { __html: xml }, + ...props, + }); + } + + // Use the real SvgXml for native platforms + // eslint-disable-next-line @typescript-eslint/no-require-imports + const { SvgXml } = require('react-native-svg'); + return ( + + ); +}); + +SvgXmlWrapper.displayName = 'SvgXmlWrapper'; + +export { SvgXmlWrapper as SvgXml }; diff --git a/app/src/components/homeScreen/idCard.tsx b/app/src/components/homeScreen/idCard.tsx index 706d64d59..13eb77d9a 100644 --- a/app/src/components/homeScreen/idCard.tsx +++ b/app/src/components/homeScreen/idCard.tsx @@ -4,18 +4,18 @@ import React, { useCallback, useState } from 'react'; import { Dimensions, Pressable } from 'react-native'; -import { SvgXml } from 'react-native-svg'; import { Button, Image, Separator, Text, XStack, YStack } from 'tamagui'; import { useFocusEffect } from '@react-navigation/native'; import { attributeToPosition, attributeToPosition_ID, - formatMrz, - PassportData, -} from '@selfxyz/common/dist/esm'; -import { pad } from '@selfxyz/common/dist/esm/src/utils/passports/passport'; +} from '@selfxyz/common/constants'; +import { PassportData } from '@selfxyz/common/types'; +import { formatMrz } from '@selfxyz/common/utils'; +import { pad } from '@selfxyz/common/utils/passports/passport'; +import { SvgXml } from '@/components/homeScreen/SvgXmlWrapper'; import EPassport from '@/images/icons/epassport.svg'; import LogoGray from '@/images/logo_gray.svg'; import LogoInversed from '@/images/logo_inversed.svg'; diff --git a/app/src/mocks/react-native-community-blur.ts b/app/src/mocks/react-native-community-blur.ts new file mode 100644 index 000000000..c435d3e9b --- /dev/null +++ b/app/src/mocks/react-native-community-blur.ts @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import React from 'react'; + +// Mock BlurView component for web builds +export const BlurView = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes & { + blurType?: string; + blurAmount?: number; + reducedTransparencyFallbackColor?: string; + } +>(({ children, style, ...props }, ref) => { + return React.createElement( + 'div', + { + ref, + style: { + backgroundColor: 'rgba(255, 255, 255, 0.1)', + backdropFilter: 'blur(10px)', + ...style, + }, + ...props, + }, + children, + ); +}); + +BlurView.displayName = 'BlurView'; diff --git a/app/src/mocks/react-native-svg.ts b/app/src/mocks/react-native-svg.ts new file mode 100644 index 000000000..d2ab13c40 --- /dev/null +++ b/app/src/mocks/react-native-svg.ts @@ -0,0 +1,67 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import React from 'react'; + +export const Circle = React.forwardRef< + SVGCircleElement, + React.SVGProps +>((props, ref) => { + return React.createElement('circle', { ref, ...props }); +}); + +SvgXml.displayName = 'SvgXml'; + +export const Path = React.forwardRef< + SVGPathElement, + React.SVGProps +>((props, ref) => { + return React.createElement('path', { ref, ...props }); +}); + +Svg.displayName = 'Svg'; + +export const Rect = React.forwardRef< + SVGRectElement, + React.SVGProps +>((props, ref) => { + return React.createElement('rect', { ref, ...props }); +}); + +Path.displayName = 'Path'; + +// Re-export other common SVG components that might be used +export const Svg = React.forwardRef< + SVGSVGElement, + React.SVGProps +>((props, ref) => { + return React.createElement('svg', { ref, ...props }); +}); + +Circle.displayName = 'Circle'; + +// Mock SvgXml component for web builds +export const SvgXml = React.forwardRef< + HTMLDivElement, + { + xml: string; + width?: number; + height?: number; + style?: React.CSSProperties; + } +>(({ xml, width, height, style, ...props }, ref) => { + return React.createElement('div', { + ref, + style: { + width: width || 'auto', + height: height || 'auto', + display: 'inline-block', + ...style, + }, + dangerouslySetInnerHTML: { __html: xml }, + ...props, + }); +}); + +Rect.displayName = 'Rect'; diff --git a/app/src/screens/home/HomeScreen.tsx b/app/src/screens/home/HomeScreen.tsx index 73823c95d..cbde3b92c 100644 --- a/app/src/screens/home/HomeScreen.tsx +++ b/app/src/screens/home/HomeScreen.tsx @@ -12,8 +12,8 @@ import { usePreventRemove, } from '@react-navigation/native'; -import { PassportData } from '@selfxyz/common/dist/esm'; -import { DocumentCatalog } from '@selfxyz/common/dist/esm/src/utils/types'; +import { PassportData } from '@selfxyz/common/types'; +import { DocumentCatalog } from '@selfxyz/common/utils/types'; import { DocumentMetadata, useSelfClient } from '@selfxyz/mobile-sdk-alpha'; import { ProofEvents } from '@selfxyz/mobile-sdk-alpha/constants/analytics'; diff --git a/app/src/screens/home/IdDetailsScreen.tsx b/app/src/screens/home/IdDetailsScreen.tsx index 811f6adfe..57c092ced 100644 --- a/app/src/screens/home/IdDetailsScreen.tsx +++ b/app/src/screens/home/IdDetailsScreen.tsx @@ -9,8 +9,8 @@ import { Button, Text, XStack, YStack, ZStack } from 'tamagui'; import { BlurView } from '@react-native-community/blur'; import { useNavigation, useRoute } from '@react-navigation/native'; -import { DocumentCatalog } from '@selfxyz/common/dist/esm/src/utils/types'; import { PassportData } from '@selfxyz/common/types'; +import { DocumentCatalog } from '@selfxyz/common/utils/types'; import IdCardLayout from '@/components/homeScreen/idCard'; import { usePassport } from '@/providers/passportDataProvider'; diff --git a/app/vite.config.ts b/app/vite.config.ts index 71b59bdb9..686842fa8 100644 --- a/app/vite.config.ts +++ b/app/vite.config.ts @@ -34,6 +34,10 @@ export default defineConfig({ '@': resolve(__dirname, 'src'), 'react-native-svg': 'react-native-svg-web', 'lottie-react-native': 'lottie-react', + '@react-native-community/blur': resolve( + __dirname, + 'src/mocks/react-native-community-blur.ts', + ), 'react-native-safe-area-context': resolve( __dirname, 'src/mocks/react-native-safe-area-context.js', From 0c1e85a00de8014c94ed2d74e2f839672b78bc51 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 17:34:49 -0700 Subject: [PATCH 05/24] fix tests --- app/src/mocks/react-native-svg.ts | 10 +++++----- app/tests/src/navigation.test.ts | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/mocks/react-native-svg.ts b/app/src/mocks/react-native-svg.ts index d2ab13c40..148e250a7 100644 --- a/app/src/mocks/react-native-svg.ts +++ b/app/src/mocks/react-native-svg.ts @@ -11,7 +11,7 @@ export const Circle = React.forwardRef< return React.createElement('circle', { ref, ...props }); }); -SvgXml.displayName = 'SvgXml'; +Circle.displayName = 'Circle'; export const Path = React.forwardRef< SVGPathElement, @@ -20,7 +20,7 @@ export const Path = React.forwardRef< return React.createElement('path', { ref, ...props }); }); -Svg.displayName = 'Svg'; +Path.displayName = 'Path'; export const Rect = React.forwardRef< SVGRectElement, @@ -29,7 +29,7 @@ export const Rect = React.forwardRef< return React.createElement('rect', { ref, ...props }); }); -Path.displayName = 'Path'; +Rect.displayName = 'Rect'; // Re-export other common SVG components that might be used export const Svg = React.forwardRef< @@ -39,7 +39,7 @@ export const Svg = React.forwardRef< return React.createElement('svg', { ref, ...props }); }); -Circle.displayName = 'Circle'; +Svg.displayName = 'Svg'; // Mock SvgXml component for web builds export const SvgXml = React.forwardRef< @@ -64,4 +64,4 @@ export const SvgXml = React.forwardRef< }); }); -Rect.displayName = 'Rect'; +SvgXml.displayName = 'SvgXml'; diff --git a/app/tests/src/navigation.test.ts b/app/tests/src/navigation.test.ts index 6b8b61602..d885498cd 100644 --- a/app/tests/src/navigation.test.ts +++ b/app/tests/src/navigation.test.ts @@ -28,6 +28,7 @@ describe('navigation', () => { 'DocumentNFCTrouble', 'DocumentOnboarding', 'Home', + 'IdDetails', 'Launch', 'Loading', 'ManageDocuments', From 1f5097eeb0e57a2caa6995cddcedba5fd56ac91a Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 17:51:49 -0700 Subject: [PATCH 06/24] fix building --- .github/workflows/mobile-ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 8eb3c3b43..1be4511be 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -160,7 +160,11 @@ jobs: packages/mobile-sdk-alpha/dist key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Test - run: yarn test + run: | + # Always ensure dependencies are built before running tests + echo "Building dependencies before running tests..." + yarn workspace @selfxyz/mobile-app run build:deps + yarn test working-directory: ./app build-ios: runs-on: macos-latest-large From 65610b50056b44c34d9d17e6b0d0b307c85e4e76 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 18:18:26 -0700 Subject: [PATCH 07/24] fix --- .github/workflows/mobile-ci.yml | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 1be4511be..689c9d257 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -151,6 +151,14 @@ jobs: run: | echo "Cache miss for built dependencies. Building now..." yarn workspace @selfxyz/mobile-app run build:deps + # Verify build completed successfully + if [ ! -f "packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "common/dist/cjs/index.cjs" ]; then + echo "❌ Build failed - required files missing after build" + ls -la packages/mobile-sdk-alpha/dist/ || echo "mobile-sdk-alpha dist not found" + ls -la common/dist/ || echo "common dist not found" + exit 1 + fi + echo "✅ Build completed successfully" - name: Save Built Dependencies if: steps.built-deps-restore.outputs.cache-hit != 'true' uses: actions/cache/save@v4 @@ -161,9 +169,21 @@ jobs: key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Test run: | - # Always ensure dependencies are built before running tests - echo "Building dependencies before running tests..." - yarn workspace @selfxyz/mobile-app run build:deps + # Verify dependencies are built before running tests + echo "Verifying dependencies are built..." + if [ ! -f "../packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "../common/dist/cjs/index.cjs" ]; then + echo "Dependencies not found, building now..." + yarn workspace @selfxyz/mobile-app run build:deps + # Verify build completed successfully + if [ ! -f "../packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "../common/dist/cjs/index.cjs" ]; then + echo "❌ Build failed - required files still missing" + ls -la ../packages/mobile-sdk-alpha/dist/ || echo "mobile-sdk-alpha dist not found" + ls -la ../common/dist/ || echo "common dist not found" + exit 1 + fi + else + echo "✅ Dependencies already built" + fi yarn test working-directory: ./app build-ios: From 1a31669fe71ad633fe787e24691e53ce0505fc5c Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 20:20:44 -0700 Subject: [PATCH 08/24] debug ci --- .github/workflows/mobile-ci.yml | 47 ++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 689c9d257..3a26bd882 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -146,6 +146,17 @@ jobs: packages/mobile-sdk-alpha/dist key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} fail-on-cache-miss: false + - name: Debug Cache Restoration + run: | + echo "Cache hit: ${{ steps.built-deps-restore.outputs.cache-hit }}" + echo "Cache key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }}" + echo "Checking if cached files exist:" + ls -la packages/mobile-sdk-alpha/dist/ || echo "❌ mobile-sdk-alpha dist not found" + ls -la packages/mobile-sdk-alpha/dist/cjs/ || echo "❌ mobile-sdk-alpha dist/cjs not found" + ls -la packages/mobile-sdk-alpha/dist/cjs/index.cjs || echo "❌ mobile-sdk-alpha dist/cjs/index.cjs not found" + ls -la common/dist/ || echo "❌ common dist not found" + ls -la common/dist/cjs/ || echo "❌ common dist/cjs not found" + ls -la common/dist/cjs/index.cjs || echo "❌ common dist/cjs/index.cjs not found" - name: Build dependencies (cache miss) if: steps.built-deps-restore.outputs.cache-hit != 'true' run: | @@ -167,23 +178,39 @@ jobs: common/dist packages/mobile-sdk-alpha/dist key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - - name: Test + - name: Force Build Dependencies If Missing run: | - # Verify dependencies are built before running tests - echo "Verifying dependencies are built..." - if [ ! -f "../packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "../common/dist/cjs/index.cjs" ]; then - echo "Dependencies not found, building now..." + # Force build if required files don't exist, regardless of cache status + if [ ! -f "packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "common/dist/cjs/index.cjs" ]; then + echo "❌ Required dependency files missing, forcing rebuild..." + echo "Missing files:" + [ ! -f "packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] && echo " - packages/mobile-sdk-alpha/dist/cjs/index.cjs" + [ ! -f "common/dist/cjs/index.cjs" ] && echo " - common/dist/cjs/index.cjs" yarn workspace @selfxyz/mobile-app run build:deps # Verify build completed successfully - if [ ! -f "../packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "../common/dist/cjs/index.cjs" ]; then - echo "❌ Build failed - required files still missing" - ls -la ../packages/mobile-sdk-alpha/dist/ || echo "mobile-sdk-alpha dist not found" - ls -la ../common/dist/ || echo "common dist not found" + if [ ! -f "packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "common/dist/cjs/index.cjs" ]; then + echo "❌ Forced build failed - required files still missing" + ls -la packages/mobile-sdk-alpha/ || echo "packages/mobile-sdk-alpha not found" + ls -la packages/mobile-sdk-alpha/dist/ || echo "mobile-sdk-alpha dist not found" + ls -la common/ || echo "common not found" + ls -la common/dist/ || echo "common dist not found" exit 1 fi + echo "✅ Forced build completed successfully" else - echo "✅ Dependencies already built" + echo "✅ All required dependency files exist" + fi + - name: Test + run: | + # Final verification from app directory perspective + echo "Final verification before running tests (from app directory)..." + if [ ! -f "../packages/mobile-sdk-alpha/dist/cjs/index.cjs" ] || [ ! -f "../common/dist/cjs/index.cjs" ]; then + echo "❌ Dependencies still not found from app directory" + ls -la ../packages/mobile-sdk-alpha/dist/ || echo "mobile-sdk-alpha dist not found" + ls -la ../common/dist/ || echo "common dist not found" + exit 1 fi + echo "✅ All dependencies verified, running tests..." yarn test working-directory: ./app build-ios: From 5e4132c88b08f2e00ed3ea11cdf7e87da81c0c91 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 20:48:08 -0700 Subject: [PATCH 09/24] fix web ci issue --- app/tests/web-build-render.test.ts | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/app/tests/web-build-render.test.ts b/app/tests/web-build-render.test.ts index 28dc4f274..7004e643f 100644 --- a/app/tests/web-build-render.test.ts +++ b/app/tests/web-build-render.test.ts @@ -10,6 +10,7 @@ import { execSync, spawn } from 'child_process'; import { afterAll, beforeAll, describe, expect, test } from '@jest/globals'; +// Comprehensive error serialization safety const originalError = global.Error; global.Error = class SafeError extends originalError { constructor(...args: any[]) { @@ -21,6 +22,41 @@ global.Error = class SafeError extends originalError { enumerable: false, }); } + + toJSON() { + return { + name: this.name, + message: this.message, + stack: this.stack, + }; + } +}; + +// Override JSON.stringify to handle circular references globally +const originalStringify = JSON.stringify; +JSON.stringify = function (value, replacer, space) { + try { + return originalStringify(value, replacer, space); + } catch (error) { + if (error instanceof TypeError && error.message.includes('circular')) { + // Handle circular references by creating a safe representation + const seen = new WeakSet(); + return originalStringify( + value, + function (key, val) { + if (val != null && typeof val === 'object') { + if (seen.has(val)) { + return '[Circular]'; + } + seen.add(val); + } + return val; + }, + space, + ); + } + throw error; + } }; // Ensure fetch is available (Node.js 18+ has built-in fetch) From 1cb758ff7ac54b2667ed5f16c3d58f073eca3bb2 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 20:59:11 -0700 Subject: [PATCH 10/24] fix --- .github/workflows/mobile-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 3a26bd882..a8d9c34b9 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -211,7 +211,8 @@ jobs: exit 1 fi echo "✅ All dependencies verified, running tests..." - yarn test + # Run jest directly to avoid the build:deps step since CI already built dependencies + jest --passWithNoTests && node --test scripts/tests/*.cjs working-directory: ./app build-ios: runs-on: macos-latest-large From 3b755fa0aa72ccfa60768dbeed3648ae49fca391 Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 21:20:02 -0700 Subject: [PATCH 11/24] fix --- .github/workflows/mobile-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index a8d9c34b9..2706bb3ed 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -211,8 +211,8 @@ jobs: exit 1 fi echo "✅ All dependencies verified, running tests..." - # Run jest directly to avoid the build:deps step since CI already built dependencies - jest --passWithNoTests && node --test scripts/tests/*.cjs + # Run jest through yarn to avoid the build:deps step since CI already built dependencies + yarn jest --passWithNoTests && node --test scripts/tests/*.cjs working-directory: ./app build-ios: runs-on: macos-latest-large From ee75663ca47c8386f3097ddd49997da3e8f87d1f Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 21:49:11 -0700 Subject: [PATCH 12/24] fix ci --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 2bd5a0a98..1d9b7831b 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +22.12.0 From 0530864c29d084c34ef66fd68957069ef3a6371d Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Mon, 8 Sep 2025 22:01:02 -0700 Subject: [PATCH 13/24] remove web render test --- app/tests/web-build-render.test.ts | 212 ----------------------------- 1 file changed, 212 deletions(-) delete mode 100644 app/tests/web-build-render.test.ts diff --git a/app/tests/web-build-render.test.ts b/app/tests/web-build-render.test.ts deleted file mode 100644 index 7004e643f..000000000 --- a/app/tests/web-build-render.test.ts +++ /dev/null @@ -1,212 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. -// SPDX-License-Identifier: BUSL-1.1 -// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. - -/** - * @jest-environment node - */ - -// Override global error handling to prevent circular references -import { execSync, spawn } from 'child_process'; -import { afterAll, beforeAll, describe, expect, test } from '@jest/globals'; - -// Comprehensive error serialization safety -const originalError = global.Error; -global.Error = class SafeError extends originalError { - constructor(...args: any[]) { - super(...args); - // Ensure no circular references are added to error objects - Object.defineProperty(this, 'error', { - value: undefined, - writable: false, - enumerable: false, - }); - } - - toJSON() { - return { - name: this.name, - message: this.message, - stack: this.stack, - }; - } -}; - -// Override JSON.stringify to handle circular references globally -const originalStringify = JSON.stringify; -JSON.stringify = function (value, replacer, space) { - try { - return originalStringify(value, replacer, space); - } catch (error) { - if (error instanceof TypeError && error.message.includes('circular')) { - // Handle circular references by creating a safe representation - const seen = new WeakSet(); - return originalStringify( - value, - function (key, val) { - if (val != null && typeof val === 'object') { - if (seen.has(val)) { - return '[Circular]'; - } - seen.add(val); - } - return val; - }, - space, - ); - } - throw error; - } -}; - -// Ensure fetch is available (Node.js 18+ has built-in fetch) -if (typeof fetch === 'undefined') { - throw new Error( - 'fetch is not available. This test requires Node.js 18+ with built-in fetch support.', - ); -} - -// Increase default timeouts for build and page load -const BUILD_TIMEOUT = 120_000; -const PAGE_LOAD_TIMEOUT = 10_000; -const PREVIEW_URL = 'http://localhost:4173'; - -describe('Web Build and Render', () => { - let previewProcess: ReturnType | undefined; - - beforeAll(async () => { - // Build the web app - execSync('yarn web:build', { - stdio: 'inherit', - timeout: BUILD_TIMEOUT, - cwd: process.cwd(), - }); - - // Start preview server - previewProcess = spawn( - 'yarn', - ['web:preview', '--port', '4173', '--host'], - { - cwd: process.cwd(), - stdio: 'pipe', - }, - ); - - await new Promise((resolve, reject) => { - const timeout = setTimeout( - () => reject(new Error('Preview server failed to start')), - 15_000, // Increased timeout to account for Tamagui build time - ); - - let serverOutput = ''; - - if (previewProcess?.stdout) { - previewProcess.stdout.on('data', (data: Buffer) => { - const output = data.toString(); - serverOutput += output; - - // Suppress noisy output in tests - if (process.env.DEBUG_BUILD_TEST) { - console.log('Preview server stdout:', JSON.stringify(output)); - } - - // Look for the Local: indicator that the server is ready - // Be more flexible with pattern matching - const isReady = - output.includes('Local:') || - output.includes('localhost:4173') || - /Local:\s*http:\/\/localhost:4173/i.test(output) || - /➜\s*Local:/i.test(output) || - (output.includes('4173') && output.includes('Local')); - - if (isReady) { - if (process.env.DEBUG_BUILD_TEST) { - console.log('Server ready detected!'); - } - clearTimeout(timeout); - resolve(); - } - }); - } - - if (previewProcess?.stderr) { - previewProcess.stderr.on('data', (data: Buffer) => { - const error = data.toString(); - - console.error('Preview server stderr:', error); - serverOutput += error; - }); - } - - previewProcess?.on('error', error => { - clearTimeout(timeout); - // Avoid circular references by only using the error message string - const errorMessage = - error?.message || error?.toString() || 'Unknown error'; - reject(new Error(`Preview server process error: ${errorMessage}`)); - }); - - previewProcess?.on('exit', (code, _signal) => { - if (code !== null && code !== 0) { - clearTimeout(timeout); - reject( - new Error( - `Preview server exited with code ${code}. Output: ${serverOutput}`, - ), - ); - } - }); - }); - - // Give the server a moment to fully start - await new Promise(resolve => setTimeout(resolve, 3000)); - }, BUILD_TIMEOUT + 10_000); - - afterAll(async () => { - if (previewProcess) { - try { - previewProcess.kill('SIGTERM'); - // Give it a moment to terminate gracefully - await new Promise(resolve => setTimeout(resolve, 1000)); - if (!previewProcess.killed) { - previewProcess.kill('SIGKILL'); - } - } catch (error) { - // Safely log error without circular references - const errorMessage = - error instanceof Error ? error.message : String(error); - console.error('Error killing preview process:', errorMessage); - } - } - }); - - test( - 'web app builds and server responds with valid HTML', - async () => { - // Test that the server responds with a 200 status - const response = await fetch(PREVIEW_URL); - expect(response.status).toBe(200); - expect(response.headers.get('content-type')).toContain('text/html'); - - // Test that the response contains basic HTML structure - const html = await response.text(); - expect(html.toLowerCase()).toContain(''); - expect(html).toContain(''); - expect(html).toContain(''); - expect(html).toContain('
'); - - // Test that essential assets are referenced - expect(html).toContain('.js'); - expect(html).toContain('.css'); - - // Verify the HTML is not empty or minimal - expect(html.length).toBeGreaterThan(500); - - // Test that the title is present - expect(html).toContain(''); - expect(html).toContain('Self App'); - }, - PAGE_LOAD_TIMEOUT, - ); -}); From 8a64eda1985c607bc90af58481a4953a18cca1c8 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 22:24:51 -0700 Subject: [PATCH 14/24] coderabbit feedback --- .github/actions/cache-built-deps/action.yml | 30 +++++++ .github/workflows/mobile-ci.yml | 90 +++++-------------- app/.eslintrc.cjs | 12 +++ app/package.json | 2 + .../homeScreen/SvgXmlWrapper.native.tsx | 20 +++++ .../components/homeScreen/SvgXmlWrapper.ts | 16 ++++ .../components/homeScreen/SvgXmlWrapper.tsx | 43 --------- .../homeScreen/SvgXmlWrapper.web.tsx | 37 ++++++++ app/src/mocks/react-native-community-blur.ts | 48 +++++----- yarn.lock | 30 +++++++ 10 files changed, 194 insertions(+), 134 deletions(-) create mode 100644 .github/actions/cache-built-deps/action.yml create mode 100644 app/src/components/homeScreen/SvgXmlWrapper.native.tsx create mode 100644 app/src/components/homeScreen/SvgXmlWrapper.ts delete mode 100644 app/src/components/homeScreen/SvgXmlWrapper.tsx create mode 100644 app/src/components/homeScreen/SvgXmlWrapper.web.tsx diff --git a/.github/actions/cache-built-deps/action.yml b/.github/actions/cache-built-deps/action.yml new file mode 100644 index 000000000..943771bf9 --- /dev/null +++ b/.github/actions/cache-built-deps/action.yml @@ -0,0 +1,30 @@ +name: cache-built-deps +description: Cache built JS artifacts (common + mobile-sdk-alpha) +inputs: + cache-version: + description: Cache version string for cache key + required: true +outputs: + cache-hit: + description: Whether cache was hit during restore + value: ${{ steps.restore.outputs.cache-hit }} +runs: + using: composite + steps: + - id: restore + name: Restore Built Dependencies + uses: actions/cache/restore@v4 + with: + path: | + common/dist + packages/mobile-sdk-alpha/dist + key: built-deps-${{ inputs.cache-version }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} + fail-on-cache-miss: false + - name: Save Built Dependencies + if: steps.restore.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: | + common/dist + packages/mobile-sdk-alpha/dist + key: built-deps-${{ inputs.cache-version }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 2706bb3ed..9241bbd34 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -69,28 +69,16 @@ jobs: cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Install Dependencies uses: ./.github/actions/yarn-install - - name: Restore Built Dependencies - id: built-deps-restore - uses: actions/cache/restore@v4 + - name: Cache Built Dependencies + id: built-deps + uses: ./.github/actions/cache-built-deps with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - fail-on-cache-miss: false + cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Build dependencies (cache miss) - if: steps.built-deps-restore.outputs.cache-hit != 'true' + if: steps.built-deps.outputs.cache-hit != 'true' run: | echo "Cache miss for built dependencies. Building now..." yarn workspace @selfxyz/mobile-app run build:deps - - name: Save Built Dependencies - if: steps.built-deps-restore.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Run linter run: yarn lint working-directory: ./app @@ -137,18 +125,14 @@ jobs: cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Install Dependencies uses: ./.github/actions/yarn-install - - name: Restore Built Dependencies - id: built-deps-restore - uses: actions/cache/restore@v4 + - name: Cache Built Dependencies + id: built-deps + uses: ./.github/actions/cache-built-deps with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - fail-on-cache-miss: false + cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Debug Cache Restoration run: | - echo "Cache hit: ${{ steps.built-deps-restore.outputs.cache-hit }}" + echo "Cache hit: ${{ steps.built-deps.outputs.cache-hit }}" echo "Cache key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }}" echo "Checking if cached files exist:" ls -la packages/mobile-sdk-alpha/dist/ || echo "❌ mobile-sdk-alpha dist not found" @@ -158,7 +142,7 @@ jobs: ls -la common/dist/cjs/ || echo "❌ common dist/cjs not found" ls -la common/dist/cjs/index.cjs || echo "❌ common dist/cjs/index.cjs not found" - name: Build dependencies (cache miss) - if: steps.built-deps-restore.outputs.cache-hit != 'true' + if: steps.built-deps.outputs.cache-hit != 'true' run: | echo "Cache miss for built dependencies. Building now..." yarn workspace @selfxyz/mobile-app run build:deps @@ -170,14 +154,6 @@ jobs: exit 1 fi echo "✅ Build completed successfully" - - name: Save Built Dependencies - if: steps.built-deps-restore.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Force Build Dependencies If Missing run: | # Force build if required files don't exist, regardless of cache status @@ -309,28 +285,16 @@ jobs: ${{ runner.os }}-xcode-index-${{ env.XCODE_VERSION }}- - name: Install Mobile Dependencies uses: ./.github/actions/yarn-install - - name: Restore Built Dependencies - id: built-deps-restore - uses: actions/cache/restore@v4 + - name: Cache Built Dependencies + id: built-deps + uses: ./.github/actions/cache-built-deps with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - fail-on-cache-miss: false + cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Build dependencies (cache miss) - if: steps.built-deps-restore.outputs.cache-hit != 'true' + if: steps.built-deps.outputs.cache-hit != 'true' run: | echo "Cache miss for built dependencies. Building now..." yarn workspace @selfxyz/mobile-app run build:deps - - name: Save Built Dependencies - if: steps.built-deps-restore.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Install Ruby Dependencies run: | echo "Installing Ruby dependencies..." @@ -468,28 +432,16 @@ jobs: run: sdkmanager "ndk;${{ env.ANDROID_NDK_VERSION }}" - name: Install Mobile Dependencies uses: ./.github/actions/yarn-install - - name: Restore Built Dependencies - id: built-deps-restore - uses: actions/cache/restore@v4 + - name: Cache Built Dependencies + id: built-deps + uses: ./.github/actions/cache-built-deps with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - fail-on-cache-miss: false + cache-version: ${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }} - name: Build dependencies (cache miss) - if: steps.built-deps-restore.outputs.cache-hit != 'true' + if: steps.built-deps.outputs.cache-hit != 'true' run: | echo "Cache miss for built dependencies. Building now..." yarn workspace @selfxyz/mobile-app run build:deps - - name: Save Built Dependencies - if: steps.built-deps-restore.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: | - common/dist - packages/mobile-sdk-alpha/dist - key: built-deps-${{ env.GH_CACHE_VERSION }}-${{ env.NODE_VERSION_SANITIZED }}-${{ hashFiles('common/**/*', 'packages/mobile-sdk-alpha/**/*', '!common/dist/**', '!packages/mobile-sdk-alpha/dist/**') }} - name: Build Android (with AAPT2 symlink fix) run: yarn android:ci working-directory: ./app diff --git a/app/.eslintrc.cjs b/app/.eslintrc.cjs index e2e0d0c4f..1d0e373b6 100644 --- a/app/.eslintrc.cjs +++ b/app/.eslintrc.cjs @@ -38,6 +38,18 @@ module.exports = { typescript: { alwaysTryTypes: true, project: './tsconfig.json', + extensions: [ + '.ts', + '.tsx', + '.native.ts', + '.native.tsx', + '.web.ts', + '.web.tsx', + '.ios.ts', + '.ios.tsx', + '.android.ts', + '.android.tsx', + ], }, }, 'import/ignore': ['react-native'], diff --git a/app/package.json b/app/package.json index 40c552421..04c5ec473 100644 --- a/app/package.json +++ b/app/package.json @@ -157,6 +157,7 @@ "@testing-library/react-native": "^13.3.3", "@tsconfig/react-native": "^3.0.6", "@types/add": "^2", + "@types/dompurify": "^3.2.0", "@types/elliptic": "^6", "@types/jest": "^29.5.14", "@types/node-forge": "^1.3.14", @@ -170,6 +171,7 @@ "@typescript-eslint/parser": "^8.39.0", "@vitejs/plugin-react-swc": "^3.10.2", "babel-plugin-module-resolver": "^5.0.2", + "dompurify": "^3.2.6", "eslint": "^8.57.0", "eslint-config-prettier": "10.1.8", "eslint-import-resolver-typescript": "^3.7.0", diff --git a/app/src/components/homeScreen/SvgXmlWrapper.native.tsx b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx new file mode 100644 index 000000000..547b7c0f4 --- /dev/null +++ b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import React, { forwardRef } from 'react'; +// eslint-disable-next-line @typescript-eslint/no-require-imports +const { SvgXml: RNSvgXml } = require('react-native-svg'); + +type Props = { + xml: string; + width?: number; + height?: number; + style?: unknown; +}; + +export const SvgXml = forwardRef<React.ComponentRef<typeof RNSvgXml>, Props>( + (p, ref) => <RNSvgXml ref={ref} {...p} />, +); +SvgXml.displayName = 'SvgXml'; +export default SvgXml; diff --git a/app/src/components/homeScreen/SvgXmlWrapper.ts b/app/src/components/homeScreen/SvgXmlWrapper.ts new file mode 100644 index 000000000..ab955713a --- /dev/null +++ b/app/src/components/homeScreen/SvgXmlWrapper.ts @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import { Platform } from 'react-native'; + +// Platform-specific dynamic import +if (Platform.OS === 'web') { + // Web platform - use DOMPurify sanitized version + const webModule = require('@/components/homeScreen/SvgXmlWrapper.web'); + module.exports = webModule; +} else { + // Native platforms - use react-native-svg directly + const nativeModule = require('@/components/homeScreen/SvgXmlWrapper.native'); + module.exports = nativeModule; +} diff --git a/app/src/components/homeScreen/SvgXmlWrapper.tsx b/app/src/components/homeScreen/SvgXmlWrapper.tsx deleted file mode 100644 index f3201c790..000000000 --- a/app/src/components/homeScreen/SvgXmlWrapper.tsx +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. -// SPDX-License-Identifier: BUSL-1.1 -// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. - -import React, { createElement, forwardRef } from 'react'; -import { Platform } from 'react-native'; - -// Platform-specific SvgXml component -const SvgXmlWrapper = forwardRef< - HTMLDivElement | SVGSVGElement, - { - xml: string; - width?: number; - height?: number; - style?: React.CSSProperties; - } ->(({ xml, width, height, style, ...props }, ref) => { - if (Platform.OS === 'web') { - // Use our mock for web - return createElement('div', { - ref, - style: { - width: width || 'auto', - height: height || 'auto', - display: 'inline-block', - ...style, - }, - dangerouslySetInnerHTML: { __html: xml }, - ...props, - }); - } - - // Use the real SvgXml for native platforms - // eslint-disable-next-line @typescript-eslint/no-require-imports - const { SvgXml } = require('react-native-svg'); - return ( - <SvgXml xml={xml} width={width} height={height} style={style} {...props} /> - ); -}); - -SvgXmlWrapper.displayName = 'SvgXmlWrapper'; - -export { SvgXmlWrapper as SvgXml }; diff --git a/app/src/components/homeScreen/SvgXmlWrapper.web.tsx b/app/src/components/homeScreen/SvgXmlWrapper.web.tsx new file mode 100644 index 000000000..bf91dbbea --- /dev/null +++ b/app/src/components/homeScreen/SvgXmlWrapper.web.tsx @@ -0,0 +1,37 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +import DOMPurify from 'dompurify'; +import React, { createElement, forwardRef } from 'react'; + +type Props = { + xml: string; + width?: number; + height?: number; + style?: React.CSSProperties; +} & React.HTMLAttributes<HTMLDivElement>; + +export const SvgXml = forwardRef<HTMLDivElement, Props>( + ({ xml, width, height, style, ...props }, ref) => { + // Initialize DOMPurify for web browser environment + const purify = DOMPurify(window); + const safe = purify.sanitize(xml, { + USE_PROFILES: { svg: true, svgFilters: true }, + }); + return createElement('div', { + ref, + style: { + width: width || 'auto', + height: height || 'auto', + display: 'inline-block', + ...style, + }, + dangerouslySetInnerHTML: { __html: safe }, + ...props, + }); + }, +); + +SvgXml.displayName = 'SvgXml'; +export default SvgXml; diff --git a/app/src/mocks/react-native-community-blur.ts b/app/src/mocks/react-native-community-blur.ts index c435d3e9b..3e0dd5c2b 100644 --- a/app/src/mocks/react-native-community-blur.ts +++ b/app/src/mocks/react-native-community-blur.ts @@ -2,30 +2,34 @@ // SPDX-License-Identifier: BUSL-1.1 // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. -import React from 'react'; +import React, { createElement, forwardRef } from 'react'; + +type BlurViewProps = React.HTMLAttributes<HTMLDivElement> & { + blurType?: string; + blurAmount?: number; + reducedTransparencyFallbackColor?: string; + pointerEvents?: 'auto' | 'none'; +}; // Mock BlurView component for web builds -export const BlurView = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes<HTMLDivElement> & { - blurType?: string; - blurAmount?: number; - reducedTransparencyFallbackColor?: string; - } ->(({ children, style, ...props }, ref) => { - return React.createElement( - 'div', - { - ref, - style: { - backgroundColor: 'rgba(255, 255, 255, 0.1)', - backdropFilter: 'blur(10px)', - ...style, +export const BlurView = forwardRef<HTMLDivElement, BlurViewProps>( + ({ children, style, pointerEvents, blurAmount, ...props }, ref) => { + return createElement( + 'div', + { + ref, + style: { + backgroundColor: 'rgba(255, 255, 255, 0.1)', + backdropFilter: `blur(${typeof blurAmount === 'number' ? blurAmount : 10}px)`, + pointerEvents: pointerEvents, + ...style, + }, + // Do not spread pointerEvents as a DOM attribute + ...props, }, - ...props, - }, - children, - ); -}); + children, + ); + }, +); BlurView.displayName = 'BlurView'; diff --git a/yarn.lock b/yarn.lock index f77170a10..5e8be55a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5045,6 +5045,7 @@ __metadata: "@testing-library/react-native": "npm:^13.3.3" "@tsconfig/react-native": "npm:^3.0.6" "@types/add": "npm:^2" + "@types/dompurify": "npm:^3.2.0" "@types/elliptic": "npm:^6" "@types/jest": "npm:^29.5.14" "@types/node-forge": "npm:^1.3.14" @@ -5063,6 +5064,7 @@ __metadata: babel-plugin-module-resolver: "npm:^5.0.2" country-emoji: "npm:^1.5.6" country-iso-3-to-2: "npm:^1.1.1" + dompurify: "npm:^3.2.6" elliptic: "npm:^6.6.1" eslint: "npm:^8.57.0" eslint-config-prettier: "npm:10.1.8" @@ -9549,6 +9551,15 @@ __metadata: languageName: node linkType: hard +"@types/dompurify@npm:^3.2.0": + version: 3.2.0 + resolution: "@types/dompurify@npm:3.2.0" + dependencies: + dompurify: "npm:*" + checksum: 10c0/e83fec586ffbb1b43f7c8479f2a99c223814d240db912d53fb126aaeea52a4091deceeb75632b5d76004d88ef0fbf444984887b121dece6fa69f4172ed4b2b07 + languageName: node + linkType: hard + "@types/elliptic@npm:^6": version: 6.4.18 resolution: "@types/elliptic@npm:6.4.18" @@ -9934,6 +9945,13 @@ __metadata: languageName: node linkType: hard +"@types/trusted-types@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/trusted-types@npm:2.0.7" + checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + languageName: node + linkType: hard + "@types/uuid@npm:^10.0.0": version: 10.0.0 resolution: "@types/uuid@npm:10.0.0" @@ -13956,6 +13974,18 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:*, dompurify@npm:^3.2.6": + version: 3.2.6 + resolution: "dompurify@npm:3.2.6" + dependencies: + "@types/trusted-types": "npm:^2.0.7" + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: 10c0/c8f8e5b0879a0d93c84a2e5e78649a47d0c057ed0f7850ca3d573d2cca64b84fb1ff85bd4b20980ade69c4e5b80ae73011340f1c2ff375c7ef98bb8268e1d13a + languageName: node + linkType: hard + "domutils@npm:^3.0.1": version: 3.2.2 resolution: "domutils@npm:3.2.2" From aa1ed333a81d822dc2f0377b62e674fc11ef1664 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 22:51:38 -0700 Subject: [PATCH 15/24] fix ci --- app/src/components/homeScreen/SvgXmlWrapper.ts | 16 ---------------- app/src/components/homeScreen/SvgXmlWrapper.tsx | 8 ++++++++ 2 files changed, 8 insertions(+), 16 deletions(-) delete mode 100644 app/src/components/homeScreen/SvgXmlWrapper.ts create mode 100644 app/src/components/homeScreen/SvgXmlWrapper.tsx diff --git a/app/src/components/homeScreen/SvgXmlWrapper.ts b/app/src/components/homeScreen/SvgXmlWrapper.ts deleted file mode 100644 index ab955713a..000000000 --- a/app/src/components/homeScreen/SvgXmlWrapper.ts +++ /dev/null @@ -1,16 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. -// SPDX-License-Identifier: BUSL-1.1 -// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. - -import { Platform } from 'react-native'; - -// Platform-specific dynamic import -if (Platform.OS === 'web') { - // Web platform - use DOMPurify sanitized version - const webModule = require('@/components/homeScreen/SvgXmlWrapper.web'); - module.exports = webModule; -} else { - // Native platforms - use react-native-svg directly - const nativeModule = require('@/components/homeScreen/SvgXmlWrapper.native'); - module.exports = nativeModule; -} diff --git a/app/src/components/homeScreen/SvgXmlWrapper.tsx b/app/src/components/homeScreen/SvgXmlWrapper.tsx new file mode 100644 index 000000000..93e5b903c --- /dev/null +++ b/app/src/components/homeScreen/SvgXmlWrapper.tsx @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc. +// SPDX-License-Identifier: BUSL-1.1 +// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. + +// Re-export from the native version - Metro resolver will automatically +// pick the appropriate platform-specific file (.web.tsx or .native.tsx) +export { SvgXml } from '@/components/homeScreen/SvgXmlWrapper.native'; +export { default } from '@/components/homeScreen/SvgXmlWrapper.native'; From 185822a90f2e81b46bbdd84c4b7dbebc4e3f5196 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 22:55:24 -0700 Subject: [PATCH 16/24] use import --- app/src/components/homeScreen/SvgXmlWrapper.native.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/components/homeScreen/SvgXmlWrapper.native.tsx b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx index 547b7c0f4..a698b878f 100644 --- a/app/src/components/homeScreen/SvgXmlWrapper.native.tsx +++ b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx @@ -3,8 +3,7 @@ // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. import React, { forwardRef } from 'react'; -// eslint-disable-next-line @typescript-eslint/no-require-imports -const { SvgXml: RNSvgXml } = require('react-native-svg'); +import { SvgXml as RNSvgXml } from 'react-native-svg'; type Props = { xml: string; From da1c094f6bea3c0799bb223203099c5e01afd333 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 22:59:05 -0700 Subject: [PATCH 17/24] fix lint --- app/src/components/homeScreen/SvgXmlWrapper.native.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/components/homeScreen/SvgXmlWrapper.native.tsx b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx index a698b878f..47aead3ad 100644 --- a/app/src/components/homeScreen/SvgXmlWrapper.native.tsx +++ b/app/src/components/homeScreen/SvgXmlWrapper.native.tsx @@ -3,17 +3,16 @@ // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. import React, { forwardRef } from 'react'; +import type { StyleProp, ViewStyle } from 'react-native'; import { SvgXml as RNSvgXml } from 'react-native-svg'; type Props = { xml: string; width?: number; height?: number; - style?: unknown; + style?: StyleProp<ViewStyle>; }; -export const SvgXml = forwardRef<React.ComponentRef<typeof RNSvgXml>, Props>( - (p, ref) => <RNSvgXml ref={ref} {...p} />, -); +export const SvgXml = forwardRef<any, Props>((p, _ref) => <RNSvgXml {...p} />); SvgXml.displayName = 'SvgXml'; export default SvgXml; From f3fee6f0eb79138e27cf6a40300edfc7366911ea Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:20:08 -0700 Subject: [PATCH 18/24] fix compiling --- app/Gemfile.lock | 6 +++--- app/package.json | 2 +- yarn.lock | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/Gemfile.lock b/app/Gemfile.lock index 37a305777..76c64ed79 100644 --- a/app/Gemfile.lock +++ b/app/Gemfile.lock @@ -25,7 +25,7 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.4.0) - aws-partitions (1.1155.0) + aws-partitions (1.1156.0) aws-sdk-core (3.232.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) @@ -37,7 +37,7 @@ GEM aws-sdk-kms (1.112.0) aws-sdk-core (~> 3, >= 3.231.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.198.0) + aws-sdk-s3 (1.199.0) aws-sdk-core (~> 3, >= 3.231.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -256,7 +256,7 @@ GEM trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.4.2) + rexml (3.4.3) rouge (3.28.0) ruby-macho (2.5.1) ruby2_keywords (0.0.5) diff --git a/app/package.json b/app/package.json index 04c5ec473..b040d432b 100644 --- a/app/package.json +++ b/app/package.json @@ -87,7 +87,7 @@ "@segment/analytics-react-native": "^2.21.2", "@segment/sovran-react-native": "^1.1.3", "@selfxyz/common": "workspace:^", - "@selfxyz/mobile-sdk-alpha": "workspace:^", + "@selfxyz/mobile-sdk-alpha": "file:../packages/mobile-sdk-alpha", "@sentry/react": "^9.32.0", "@sentry/react-native": "7.0.0-beta.1", "@tamagui/animations-css": "^1.129.3", diff --git a/yarn.lock b/yarn.lock index 5e8be55a5..28e0bac73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5031,7 +5031,7 @@ __metadata: "@segment/analytics-react-native": "npm:^2.21.2" "@segment/sovran-react-native": "npm:^1.1.3" "@selfxyz/common": "workspace:^" - "@selfxyz/mobile-sdk-alpha": "workspace:^" + "@selfxyz/mobile-sdk-alpha": "file:../packages/mobile-sdk-alpha" "@sentry/react": "npm:^9.32.0" "@sentry/react-native": "npm:7.0.0-beta.1" "@tamagui/animations-css": "npm:^1.129.3" @@ -5129,7 +5129,20 @@ __metadata: languageName: unknown linkType: soft -"@selfxyz/mobile-sdk-alpha@workspace:^, @selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha": +"@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": + version: 2.6.4 + resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=c29dce&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" + dependencies: + tslib: "npm:^2.6.2" + peerDependencies: + react: ^18.3.1 + react-native: ^0.76.9 + tamagui: ^1.126.0 + checksum: 10c0/a1419497c92099abc62269e466a9ff4a2654a33e3de09835d71bb2a447f15434a4b8a02e47320dcaf45935d3495e61dbb25cc816569ae2f271057a5c24b78bda + languageName: node + linkType: hard + +"@selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha": version: 0.0.0-use.local resolution: "@selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha" dependencies: From b41084036776194dae2dce43c8690724eef74698 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:28:48 -0700 Subject: [PATCH 19/24] update lock --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 28e0bac73..828d6c66d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5131,14 +5131,14 @@ __metadata: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": version: 2.6.4 - resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=c29dce&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" + resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=b2afc4&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" dependencies: tslib: "npm:^2.6.2" peerDependencies: react: ^18.3.1 react-native: ^0.76.9 tamagui: ^1.126.0 - checksum: 10c0/a1419497c92099abc62269e466a9ff4a2654a33e3de09835d71bb2a447f15434a4b8a02e47320dcaf45935d3495e61dbb25cc816569ae2f271057a5c24b78bda + checksum: 10c0/c45f555d154853b0ce6f54b1108065175a2b629a48d005bb8ed0f5a53e3b61a8f95e15d3834169d3713abfb9f5e5cb4dd034f29a581befefc2a0cf12ac0ee8ca languageName: node linkType: hard From 789e98d99bb4ffd32cffdc31d1e898745e394109 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:31:28 -0700 Subject: [PATCH 20/24] update lock --- yarn.lock | 996 +++++++++++++++--------------------------------------- 1 file changed, 281 insertions(+), 715 deletions(-) diff --git a/yarn.lock b/yarn.lock index 828d6c66d..1f53f7261 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,20 +52,13 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.27.7": +"@babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7": version: 7.28.4 resolution: "@babel/compat-data@npm:7.28.4" checksum: 10c0/9d346471e0a016641df9a325f42ad1e8324bbdc0243ce4af4dd2b10b974128590da9eb179eea2c36647b9bb987343119105e96773c1f6981732cd4f87e5a03b9 languageName: node linkType: hard -"@babel/compat-data@npm:^7.27.2": - version: 7.27.5 - resolution: "@babel/compat-data@npm:7.27.5" - checksum: 10c0/da2751fcd0b58eea958f2b2f7ff7d6de1280712b709fa1ad054b73dc7d31f589e353bb50479b9dc96007935f3ed3cada68ac5b45ce93086b7122ddc32e60dc00 - languageName: node - linkType: hard - "@babel/core@npm:^7.28.3": version: 7.28.4 resolution: "@babel/core@npm:7.28.4" @@ -746,18 +739,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.20.0": - version: 7.27.3 - resolution: "@babel/plugin-transform-destructuring@npm:7.27.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f8ac96deef6f9a4cb1dff148dfa2a43116ca1c48434bba433964498c4ef5cef5557693b47463e64a71ffaaf10191c7fab0270844e8dbdc47dc4d120435025df5 - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0": +"@babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0": version: 7.28.0 resolution: "@babel/plugin-transform-destructuring@npm:7.28.0" dependencies: @@ -912,18 +894,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.0.0": - version: 7.27.1 - resolution: "@babel/plugin-transform-parameters@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/453a9618735eeff5551d4c7f02c250606586fe1dd210ec9f69a4f15629ace180cd944339ebff2b0f11e1a40567d83a229ba1c567620e70b2ebedea576e12196a - languageName: node - linkType: hard - -"@babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.27.7": +"@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.27.7": version: 7.27.7 resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: @@ -1068,7 +1039,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.2": +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.27.1, @babel/plugin-transform-typescript@npm:^7.5.0": version: 7.28.0 resolution: "@babel/plugin-transform-typescript@npm:7.28.0" dependencies: @@ -1083,21 +1054,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.27.1, @babel/plugin-transform-typescript@npm:^7.5.0": - version: 7.27.1 - resolution: "@babel/plugin-transform-typescript@npm:7.27.1" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.27.1" - "@babel/helper-create-class-features-plugin": "npm:^7.27.1" - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" - "@babel/plugin-syntax-typescript": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/48f1db5de17a0f9fc365ff4fb046010aedc7aad813a7aa42fb73fcdab6442f9e700dde2cc0481086e01b0dae662ae4d3e965a52cde154f0f146d243a8ac68e93 - languageName: node - linkType: hard - "@babel/plugin-transform-unicode-regex@npm:^7.0.0, @babel/plugin-transform-unicode-regex@npm:^7.24.7": version: 7.27.1 resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" @@ -1669,13 +1625,13 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": - version: 4.8.0 - resolution: "@eslint-community/eslint-utils@npm:4.8.0" + version: 4.9.0 + resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/33b93d2a4e9d5fe4c11d02d0fc5ed69e12fcb1e7ca031ded0d6adb24e768c36df77288ed79eecc784f9db34219816247db27688dfe869fb7fbf096840a097d7a + checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 languageName: node linkType: hard @@ -2681,7 +2637,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -2691,17 +2647,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.8 - resolution: "@jridgewell/gen-mapping@npm:0.3.8" - dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a - languageName: node - linkType: hard - "@jridgewell/remapping@npm:^2.3.5": version: 2.3.5 resolution: "@jridgewell/remapping@npm:2.3.5" @@ -2719,13 +2664,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 - languageName: node - linkType: hard - "@jridgewell/source-map@npm:^0.3.3": version: 0.3.11 resolution: "@jridgewell/source-map@npm:0.3.11" @@ -3571,148 +3509,148 @@ __metadata: languageName: node linkType: hard -"@peculiar/asn1-cms@npm:^2.3.15, @peculiar/asn1-cms@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-cms@npm:2.4.0" +"@peculiar/asn1-cms@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-cms@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" - "@peculiar/asn1-x509-attr": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" + "@peculiar/asn1-x509-attr": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/3664fbc913cf045a8631cb15d08b932e946e22884217e32145ad1130da036e5da2e176ba6c7c186f66326c1d788a2a0e1ed486838d591c59cc142eeb0ae61585 + checksum: 10c0/4e7b7d9ab67f628d8d9ea49001c1a377c44e50e5c75d8472a49a2e757f34de629b9ae00ee5b1ab974f4c401f6a827d1787ac7eb63e1a3d2ec18d7015ba551739 languageName: node linkType: hard -"@peculiar/asn1-csr@npm:^2.3.15": - version: 2.4.0 - resolution: "@peculiar/asn1-csr@npm:2.4.0" +"@peculiar/asn1-csr@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-csr@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/8307b4ee433eda03775894ff2f694b8f4558350ad9c931fb9968acfd9e9ac086b317550033ab4231c8440bfbe80b18f9c17458161c976191a950098ac68727d2 + checksum: 10c0/30d19363f34e073bca034db2106fa3f9c6981bc3f1da7b47dcebc463e491a18459efe0e7b771eed82c64d97636c70a94cb16112492b88346d2d9946f4ebf274e languageName: node linkType: hard -"@peculiar/asn1-ecc@npm:^2.3.15": - version: 2.4.0 - resolution: "@peculiar/asn1-ecc@npm:2.4.0" +"@peculiar/asn1-ecc@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-ecc@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/b98e2a6754683ac74f88071a717aa6a9797406ad0c77ef72bfdb1d414d0b25d0b9fc8df6e88dad70785b43015ffff4da7366d0802d2a080a16956b1a2ad08ea6 + checksum: 10c0/447c4a03e45ecfbd9775704d9cec594fbdb234a2280e26373284d7959c3b15a216241b7bf85262e78775dd8509689a64d7e783d44745a8b2fe68863c31315985 languageName: node linkType: hard -"@peculiar/asn1-pfx@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-pfx@npm:2.4.0" +"@peculiar/asn1-pfx@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-pfx@npm:2.5.0" dependencies: - "@peculiar/asn1-cms": "npm:^2.4.0" - "@peculiar/asn1-pkcs8": "npm:^2.4.0" - "@peculiar/asn1-rsa": "npm:^2.4.0" - "@peculiar/asn1-schema": "npm:^2.4.0" + "@peculiar/asn1-cms": "npm:^2.5.0" + "@peculiar/asn1-pkcs8": "npm:^2.5.0" + "@peculiar/asn1-rsa": "npm:^2.5.0" + "@peculiar/asn1-schema": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/e22d661d97cc4b0f37950e0050ce49c9629b6a4583459ec747afc4f86ef0000051c0a80217e94354e720c878c9940224637b2a8984874b4b077d315f1735ddb6 + checksum: 10c0/f1f8db89dfa53b74f59ecc83cb153f3f3c5576c528c0fc484d7c6318e05dc849efaa3c9efa94d147caa7ad7648afce4b5f9cec7346077b50200ef3a4581ddf59 languageName: node linkType: hard -"@peculiar/asn1-pkcs8@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-pkcs8@npm:2.4.0" +"@peculiar/asn1-pkcs8@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-pkcs8@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/984185cb8f8afe2a3477d32ea3567fbc5d7ea144a4da45512a91475deb16ef3610f757a4876dc563cd60c67b93226e3e966edbdd7372f3dd2413c9d46709a1f6 + checksum: 10c0/f799eafdb3167a3d0409d4aa740a28d67c8aa41ce39b9c73e5ddb8b5934e665a2029ee96d6f09f59980a5374bb14f892e317c7c9d370b78cee5d67c04eacea6f languageName: node linkType: hard -"@peculiar/asn1-pkcs9@npm:^2.3.15": - version: 2.4.0 - resolution: "@peculiar/asn1-pkcs9@npm:2.4.0" - dependencies: - "@peculiar/asn1-cms": "npm:^2.4.0" - "@peculiar/asn1-pfx": "npm:^2.4.0" - "@peculiar/asn1-pkcs8": "npm:^2.4.0" - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" - "@peculiar/asn1-x509-attr": "npm:^2.4.0" +"@peculiar/asn1-pkcs9@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-pkcs9@npm:2.5.0" + dependencies: + "@peculiar/asn1-cms": "npm:^2.5.0" + "@peculiar/asn1-pfx": "npm:^2.5.0" + "@peculiar/asn1-pkcs8": "npm:^2.5.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" + "@peculiar/asn1-x509-attr": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/f52642bc3204e6f3701ccdc2586979da4db32bc208253e5b4ccc5e77f06323bf458015691d4eb3d6ecf08eabc686a549c775be462cf59b53c5dacf42411892f1 + checksum: 10c0/a12a2c2eb874bfbce23e65b7ebed35abfc329b7ed505854b8b1f54e7ffc6c25638472b289993066acb9723c6af64e4734284ce47cf46b9a00c16d346756ab98d languageName: node linkType: hard -"@peculiar/asn1-rsa@npm:^2.3.15, @peculiar/asn1-rsa@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-rsa@npm:2.4.0" +"@peculiar/asn1-rsa@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-rsa@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/3cceca73e93421042c36f23b78d76004ce64ef2033d4867a496b7e7ee5b722277f049800caad9fc9ae685e2d05ba7300fe9109d9684c4bc699463825724a369e + checksum: 10c0/ca11e9512e27e12760cf4cccd60830f4ac0c06766cbbe52adf9f6384310366e5c5f6da2460da164d140ce6ccee071ceab0ec29646a7953210633ccfd4aff0fd6 languageName: node linkType: hard -"@peculiar/asn1-schema@npm:^2.3.15, @peculiar/asn1-schema@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-schema@npm:2.4.0" +"@peculiar/asn1-schema@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-schema@npm:2.5.0" dependencies: asn1js: "npm:^3.0.6" pvtsutils: "npm:^1.3.6" tslib: "npm:^2.8.1" - checksum: 10c0/07a825348bd6be668793fc7bfec54628883d8dcf7c447facdba9bc9c2518f1cc9de37b9f907977ed927895505490868adcb2c1a5b0a19c5a1bc01e3cc5dc2e65 + checksum: 10c0/17a3a68b9ac631beeea6fa6a86b5b95e2d91602d6c477f18374beadfbc71fd4cdbec3290233bf8eae0b216595229450b3cff8ba9c7b96b4a56d57cbbd41ff62f languageName: node linkType: hard -"@peculiar/asn1-x509-attr@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-x509-attr@npm:2.4.0" +"@peculiar/asn1-x509-attr@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-x509-attr@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" - "@peculiar/asn1-x509": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" asn1js: "npm:^3.0.6" tslib: "npm:^2.8.1" - checksum: 10c0/ca6a90253a9c1092184c7990dfbe1bf85c37889c71a53a1236cee7d521a7f77a27b91929b2dad4c28ac83b9881f49b20cc8bd484dfa286381c07dc29b010e428 + checksum: 10c0/bbae84dfb676297d137dcf8e67d673ff74a7c26de829e89a338023ec1de8a0759a33c786b7cfb3f7b43c41da4f127c6c9a0a17f0d4dc12495c0457a908a749f0 languageName: node linkType: hard -"@peculiar/asn1-x509@npm:^2.3.15, @peculiar/asn1-x509@npm:^2.4.0": - version: 2.4.0 - resolution: "@peculiar/asn1-x509@npm:2.4.0" +"@peculiar/asn1-x509@npm:^2.5.0": + version: 2.5.0 + resolution: "@peculiar/asn1-x509@npm:2.5.0" dependencies: - "@peculiar/asn1-schema": "npm:^2.4.0" + "@peculiar/asn1-schema": "npm:^2.5.0" asn1js: "npm:^3.0.6" pvtsutils: "npm:^1.3.6" tslib: "npm:^2.8.1" - checksum: 10c0/9a5e22b1c6e6a3791b840e95eefd880495d3d5cfd962c0c441a2efa306d0f3ace8a0e0089a441275ce52ea4406090107779deefb99ec77bd9970508652c95055 + checksum: 10c0/278c81f8a9c025a4276d5d88d955f5374e03cd4181b6aaf4d16ac369f323aff118da531c41de17abd8903c149b4811e3ad457e445ce91ad3d1ac30785d01686e languageName: node linkType: hard "@peculiar/x509@npm:^1.12.3": - version: 1.13.0 - resolution: "@peculiar/x509@npm:1.13.0" - dependencies: - "@peculiar/asn1-cms": "npm:^2.3.15" - "@peculiar/asn1-csr": "npm:^2.3.15" - "@peculiar/asn1-ecc": "npm:^2.3.15" - "@peculiar/asn1-pkcs9": "npm:^2.3.15" - "@peculiar/asn1-rsa": "npm:^2.3.15" - "@peculiar/asn1-schema": "npm:^2.3.15" - "@peculiar/asn1-x509": "npm:^2.3.15" + version: 1.14.0 + resolution: "@peculiar/x509@npm:1.14.0" + dependencies: + "@peculiar/asn1-cms": "npm:^2.5.0" + "@peculiar/asn1-csr": "npm:^2.5.0" + "@peculiar/asn1-ecc": "npm:^2.5.0" + "@peculiar/asn1-pkcs9": "npm:^2.5.0" + "@peculiar/asn1-rsa": "npm:^2.5.0" + "@peculiar/asn1-schema": "npm:^2.5.0" + "@peculiar/asn1-x509": "npm:^2.5.0" pvtsutils: "npm:^1.3.6" reflect-metadata: "npm:^0.2.2" tslib: "npm:^2.8.1" tsyringe: "npm:^4.10.0" - checksum: 10c0/94cfbb577a2d9b16b8b4c94fb08398d303d99d0921198cd31b79005616d9dd0e4987fc1257e884f27990244424df4b6661e4009b38038782938c801c7fe80770 + checksum: 10c0/87f6da2965bfab0a898f2ed91724db2c171ed40542bc0df281456675f05193f398800d93a012ee2c9d0d4e16217ba37ab951105e17b2f300232044ab2d8ea883 languageName: node linkType: hard @@ -4407,289 +4345,149 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.44.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.50.0" +"@rollup/rollup-android-arm-eabi@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.50.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-android-arm64@npm:4.44.0" +"@rollup/rollup-android-arm64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-android-arm64@npm:4.50.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-android-arm64@npm:4.50.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.44.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.50.0" +"@rollup/rollup-darwin-arm64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.50.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.44.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.50.0" +"@rollup/rollup-darwin-x64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.50.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.44.0" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-freebsd-arm64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.0" +"@rollup/rollup-freebsd-arm64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.44.0" +"@rollup/rollup-freebsd-x64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.50.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.50.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.44.0" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.1" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-musleabihf@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.44.0" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-musleabihf@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.0" +"@rollup/rollup-linux-arm-musleabihf@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.1" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.44.0" +"@rollup/rollup-linux-arm64-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.44.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.0" +"@rollup/rollup-linux-arm64-musl@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.44.0" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.1" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0" - conditions: os=linux & cpu=loong64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-ppc64-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.0" +"@rollup/rollup-linux-ppc64-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.44.0" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.0" +"@rollup/rollup-linux-riscv64-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.44.0" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-musl@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.0" +"@rollup/rollup-linux-riscv64-musl@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.1" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.44.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.0" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.44.0" +"@rollup/rollup-linux-x64-gnu@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.44.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.0" +"@rollup/rollup-linux-x64-musl@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.0" +"@rollup/rollup-openharmony-arm64@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.1" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.44.0" +"@rollup/rollup-win32-arm64-msvc@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.44.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.0" +"@rollup/rollup-win32-ia32-msvc@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.44.0": - version: 4.44.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.44.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.50.0": - version: 4.50.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.0" +"@rollup/rollup-win32-x64-msvc@npm:4.50.1": + version: 4.50.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7260,11 +7058,11 @@ __metadata: linkType: hard "@swc/types@npm:^0.1.24": - version: 0.1.24 - resolution: "@swc/types@npm:0.1.24" + version: 0.1.25 + resolution: "@swc/types@npm:0.1.25" dependencies: "@swc/counter": "npm:^0.1.3" - checksum: 10c0/4ca95a338f070f48303e705996bacfc1219f606c45274bed4f6e3488b86b7b20397bd52792e58fdea0fa924fc939695b5eb5ff7f3ff4737382148fe6097e235a + checksum: 10c0/847a5b20b131281f89d640a7ed4887fb65724807d53d334b230e84b98c21097aa10cd28a074f9ed287a6ce109e443dd4bafbe7dcfb62333d7806c4ea3e7f8aca languageName: node linkType: hard @@ -9762,16 +9560,7 @@ __metadata: languageName: node linkType: hard -"@types/node-forge@npm:^1, @types/node-forge@npm:^1.3.0, @types/node-forge@npm:^1.3.10, @types/node-forge@npm:^1.3.5": - version: 1.3.11 - resolution: "@types/node-forge@npm:1.3.11" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/3d7d23ca0ba38ac0cf74028393bd70f31169ab9aba43f21deb787840170d307d662644bac07287495effe2812ddd7ac8a14dbd43f16c2936bbb06312e96fc3b9 - languageName: node - linkType: hard - -"@types/node-forge@npm:^1.3.14": +"@types/node-forge@npm:^1, @types/node-forge@npm:^1.3.0, @types/node-forge@npm:^1.3.10, @types/node-forge@npm:^1.3.14, @types/node-forge@npm:^1.3.5": version: 1.3.14 resolution: "@types/node-forge@npm:1.3.14" dependencies: @@ -10007,65 +9796,52 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.39.0": - version: 8.42.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.42.0" + version: 8.43.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.43.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.42.0" - "@typescript-eslint/type-utils": "npm:8.42.0" - "@typescript-eslint/utils": "npm:8.42.0" - "@typescript-eslint/visitor-keys": "npm:8.42.0" + "@typescript-eslint/scope-manager": "npm:8.43.0" + "@typescript-eslint/type-utils": "npm:8.43.0" + "@typescript-eslint/utils": "npm:8.43.0" + "@typescript-eslint/visitor-keys": "npm:8.43.0" graphemer: "npm:^1.4.0" ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.42.0 + "@typescript-eslint/parser": ^8.43.0 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/835fd7497f0e4eaef55dc3d94079acc0ad1dc74735916915f160419b1e7f44d04fbce683b4871148d1af33046bd5ae3fed59103d4c49460776b560c42173bbff + checksum: 10c0/9823f6e917d16f95a87fb1fd6c224f361a9f17386453ac97d7d457774cf2ea7bdbcfad37ad063b71ec01a4292127a8bfe69d1987b948e85def2410de8fe353dd languageName: node linkType: hard "@typescript-eslint/parser@npm:^8.39.0": - version: 8.42.0 - resolution: "@typescript-eslint/parser@npm:8.42.0" + version: 8.43.0 + resolution: "@typescript-eslint/parser@npm:8.43.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.42.0" - "@typescript-eslint/types": "npm:8.42.0" - "@typescript-eslint/typescript-estree": "npm:8.42.0" - "@typescript-eslint/visitor-keys": "npm:8.42.0" + "@typescript-eslint/scope-manager": "npm:8.43.0" + "@typescript-eslint/types": "npm:8.43.0" + "@typescript-eslint/typescript-estree": "npm:8.43.0" + "@typescript-eslint/visitor-keys": "npm:8.43.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/f071154bce7f874449236919a7367d977317959fe6d454fe5369ca54dee7d057fe3b8b250c5990ea4205a9c52fd59702da63d1721895c72d745168aa31532112 - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/project-service@npm:8.34.1" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.34.1" - "@typescript-eslint/types": "npm:^8.34.1" - debug: "npm:^4.3.4" - peerDependencies: - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/9333a890625f6777054db17a6b299281ae7502bb7615261d15b885a75b8cf65fc91591389c93b37ecd14b651d8e94851dac8718e5dcc8ed0600533535dae855c + checksum: 10c0/b8296d3fac08f6e03c931843264a4219469a6a7d5c4d269fb14fe4c1547477a0dd1c259e6929c749efa043fb4e272436adfc94afdf07039d3b1d9e6956a6a0ea languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/project-service@npm:8.42.0" +"@typescript-eslint/project-service@npm:8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/project-service@npm:8.43.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.42.0" - "@typescript-eslint/types": "npm:^8.42.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.43.0" + "@typescript-eslint/types": "npm:^8.43.0" debug: "npm:^4.3.4" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/788b0bc52683be376cd768a4fed3202cdaccc86f231ec94a0f6bbb1389fdfd0e14c505f03015cefb73869de63c8089b78a169ed957048a1e5ee1b6250ec19604 + checksum: 10c0/c9058b5fbf9642c35a303641e4ff2d0df1ddac337275bab84b56167f1019fbcb7e69959239fed82e53c747f58d6ee4c1859cf5b018803cba1b1aab430439d728 languageName: node linkType: hard @@ -10079,57 +9855,38 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/scope-manager@npm:8.34.1" +"@typescript-eslint/scope-manager@npm:8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/scope-manager@npm:8.43.0" dependencies: - "@typescript-eslint/types": "npm:8.34.1" - "@typescript-eslint/visitor-keys": "npm:8.34.1" - checksum: 10c0/2af608fa3900f4726322e33bf4f3a376fdace3ac0f310cf7d9256bbc2905c3896138176a47dd195d2c2229f27fe43f5deb4bc7729db2eb18389926dedea78077 + "@typescript-eslint/types": "npm:8.43.0" + "@typescript-eslint/visitor-keys": "npm:8.43.0" + checksum: 10c0/f87b3c3a5d3ad18326945288fa5b9b9fa662d87f466dc159e1514e00e359e830b80557f213acb3d23d5d600826b4cc4cfa5d2d479f8aba1b9834df19a640a779 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/scope-manager@npm:8.42.0" - dependencies: - "@typescript-eslint/types": "npm:8.42.0" - "@typescript-eslint/visitor-keys": "npm:8.42.0" - checksum: 10c0/caca15f2124909c588ed3e48fe0769ad8baa296a0b229f724ec94f5f746e486e08dd49eeddd66d01f09e2ddaed03f9e18d7b535a44196d413f283e22f929f623 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.34.1, @typescript-eslint/tsconfig-utils@npm:^8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.34.1" - peerDependencies: - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/8d1ead8b7c279b48e2ed96f083ec119a9aeea1ca9cdd40576ec271b996b9fd8cfa0ddb0aafbb4e14bc27fc62c69c5be66d39b1de68eab9ddd7f1861da267423d - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.42.0, @typescript-eslint/tsconfig-utils@npm:^8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.42.0" +"@typescript-eslint/tsconfig-utils@npm:8.43.0, @typescript-eslint/tsconfig-utils@npm:^8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.43.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/03882eeee279fafa2cb4ee3154742417fd29395b3bfe3f867d9d4cb9cb68d1200c885c35b96dd558a1aff8561ac3700cff8ca7680a5cf34e5e0e136a6ee3c30c + checksum: 10c0/b3a472368ad31e31e58ef019f6afec7387f5885e3fd423c71f3910b6d6b767324fde8bd60bec2e7505cc130317ece7fbc91314c44cdfea74ff76b5039bf26d52 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/type-utils@npm:8.42.0" +"@typescript-eslint/type-utils@npm:8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/type-utils@npm:8.43.0" dependencies: - "@typescript-eslint/types": "npm:8.42.0" - "@typescript-eslint/typescript-estree": "npm:8.42.0" - "@typescript-eslint/utils": "npm:8.42.0" + "@typescript-eslint/types": "npm:8.43.0" + "@typescript-eslint/typescript-estree": "npm:8.43.0" + "@typescript-eslint/utils": "npm:8.43.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/47e5f7276cafd7719d3e2f2e456fa988927e658d15c2c188a692d9c639f9d76f582a6c133cb1bf01eba9027e1022eb6b79b57861a96302460e5e847c2b536afa + checksum: 10c0/70e61233fd586c4545b0ee11871001ba603816fccb69b9fe883a653b32aa049e957a97f208f522b58480a4f4e1c6322b9a3ef60a389925eaefba94abcd44ff7e languageName: node linkType: hard @@ -10140,17 +9897,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.34.1, @typescript-eslint/types@npm:^8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/types@npm:8.34.1" - checksum: 10c0/db1b3dce6a70b28ddb13c76fbb5983240d9395656df5f7cbd99bfd9905e39c0dab2132870f01dbc406b48739c437f7d344a879a824cedaba81b91a53110dc23a - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.42.0, @typescript-eslint/types@npm:^8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/types@npm:8.42.0" - checksum: 10c0/d585dff5005328282cc59f9402e886a3db64727906ad3e68b49d7ef73bc07bef3ed569287ba826ebaa07b69be42a72232a38529951d64c28cebd83db0892cd33 +"@typescript-eslint/types@npm:8.43.0, @typescript-eslint/types@npm:^8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/types@npm:8.43.0" + checksum: 10c0/60d19b695affce128fe1076ebe4cff7e05d38dd50155d653fc9e995eafa56c299fd49ad4d9d2997f118a75fb57e3ca18001623bc3ef3fa0111f863079203e4b2 languageName: node linkType: hard @@ -10172,34 +9922,14 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/typescript-estree@npm:8.34.1" - dependencies: - "@typescript-eslint/project-service": "npm:8.34.1" - "@typescript-eslint/tsconfig-utils": "npm:8.34.1" - "@typescript-eslint/types": "npm:8.34.1" - "@typescript-eslint/visitor-keys": "npm:8.34.1" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/4ee7249db91b9840361f34f80b7b6d646a3af159c7298d79a33d8a11c98792fd3a395343e5e17e0fa29529e8f0113bac8baadcef90d1e140bd736a48f0485042 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.42.0" +"@typescript-eslint/typescript-estree@npm:8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.43.0" dependencies: - "@typescript-eslint/project-service": "npm:8.42.0" - "@typescript-eslint/tsconfig-utils": "npm:8.42.0" - "@typescript-eslint/types": "npm:8.42.0" - "@typescript-eslint/visitor-keys": "npm:8.42.0" + "@typescript-eslint/project-service": "npm:8.43.0" + "@typescript-eslint/tsconfig-utils": "npm:8.43.0" + "@typescript-eslint/types": "npm:8.43.0" + "@typescript-eslint/visitor-keys": "npm:8.43.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -10208,22 +9938,22 @@ __metadata: ts-api-utils: "npm:^2.1.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/2d3354d780421cfa90f812048984c43cd47aabecef7a5c0f56ad0b91331cb369d1c8366da90bf9a8f6df47df3741f9e16897e998f16270ac55376f519b775c23 + checksum: 10c0/184ba925067d7fbcb377450195a89511f030a49d080e27058fa78078a069d86c1936b1a82ce6f19ff24c30c4de8b779deb050c36b06db5372c95fc7e5be7115a languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/utils@npm:8.42.0" +"@typescript-eslint/utils@npm:8.43.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.43.0 + resolution: "@typescript-eslint/utils@npm:8.43.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.42.0" - "@typescript-eslint/types": "npm:8.42.0" - "@typescript-eslint/typescript-estree": "npm:8.42.0" + "@typescript-eslint/scope-manager": "npm:8.43.0" + "@typescript-eslint/types": "npm:8.43.0" + "@typescript-eslint/typescript-estree": "npm:8.43.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/acf30019023669ddae00c02cabfa74fc12defccd4703e552ab5115edbeceaaf1688c1586873bf66aefeb3f03eb1ed456905403303913c724db38bf030e40a700 + checksum: 10c0/42fc8c60551361d80b5c53b303ba8cd20cf914665168416ad0a278cd44aae587311af9e4461f92ed28b5f36091d275a0e9974482d5e9ba95fc00108a537cdd36 languageName: node linkType: hard @@ -10245,21 +9975,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.34.1 - resolution: "@typescript-eslint/utils@npm:8.34.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.34.1" - "@typescript-eslint/types": "npm:8.34.1" - "@typescript-eslint/typescript-estree": "npm:8.34.1" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/e3085877f7940c02a37653e6bc52ac6cde115e755b1f788fe4331202f371b3421cc4d0878c7d3eb054e14e9b3a064496a707a73eac471cb2b73593b9e9d4b998 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" @@ -10270,23 +9985,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.34.1": - version: 8.34.1 - resolution: "@typescript-eslint/visitor-keys@npm:8.34.1" +"@typescript-eslint/visitor-keys@npm:8.43.0": + version: 8.43.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.43.0" dependencies: - "@typescript-eslint/types": "npm:8.34.1" + "@typescript-eslint/types": "npm:8.43.0" eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/0e5a9b3d93905d16d3cf8cb5fb346dcc6f760482eb7d0ac209aefc09a32f78ef28a687634df6ad08e81fb3e1083e8805f34472de6bbc501c0105ad654d518f40 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.42.0": - version: 8.42.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.42.0" - dependencies: - "@typescript-eslint/types": "npm:8.42.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/22c942f2a100d71c08f952b976446e824ddf227d4ac02b7016e12d4a33804ab06072d570695baed3565d0a08a1d3fa6ff3ccf97a122d63e65780f871d597f1b1 + checksum: 10c0/5d576eaf7bea41933ba726f4b24410bd3fc2521ef286967c3dc630c6a90fabff2a2d7c4d12cb841d3f946d2e5e6fb2605e7edd84e3360308fe379dbf2b8dc2fa languageName: node linkType: hard @@ -11282,9 +10987,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.2.0 - resolution: "ansi-regex@npm:6.2.0" - checksum: 10c0/20a2e55ae9816074a60e6729dbe3daad664cd967fc82acc08b02f5677db84baa688babf940d71f50acbbb184c02459453789705e079f4d521166ae66451de551 + version: 6.2.2 + resolution: "ansi-regex@npm:6.2.2" + checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f languageName: node linkType: hard @@ -11314,9 +11019,9 @@ __metadata: linkType: hard "ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + version: 6.2.3 + resolution: "ansi-styles@npm:6.2.3" + checksum: 10c0/23b8a4ce14e18fb854693b95351e286b771d23d8844057ed2e7d083cd3e708376c3323707ec6a24365f7d7eda3ca00327fe04092e29e551499ec4c8b7bfac868 languageName: node linkType: hard @@ -12182,7 +11887,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2, browserslist@npm:^4.25.3": +"browserslist@npm:^4.22.2, browserslist@npm:^4.24.0, browserslist@npm:^4.25.3": version: 4.25.4 resolution: "browserslist@npm:4.25.4" dependencies: @@ -12196,20 +11901,6 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0": - version: 4.25.0 - resolution: "browserslist@npm:4.25.0" - dependencies: - caniuse-lite: "npm:^1.0.30001718" - electron-to-chromium: "npm:^1.5.160" - node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.3" - bin: - browserslist: cli.js - checksum: 10c0/cc16c55b4468b18684a0e1ca303592b38635b1155d6724f172407192737a2f405b8030d87a05813729592793445b3d15e737b0055f901cdecccb29b1e580a1c5 - languageName: node - linkType: hard - "bs58@npm:^4.0.0": version: 4.0.1 resolution: "bs58@npm:4.0.1" @@ -12439,13 +12130,6 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001718": - version: 1.0.30001724 - resolution: "caniuse-lite@npm:1.0.30001724" - checksum: 10c0/ed9ec0bcf619f0e7ef2d33aac74d2346d1faf52060dfded1fb9c32d87854de5c2988b3ba338c281034c88bf797d6b55468a804ce8396a7e16a48cb0d481d4bfe - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001737": version: 1.0.30001741 resolution: "caniuse-lite@npm:1.0.30001741" @@ -12539,9 +12223,9 @@ __metadata: linkType: hard "chalk@npm:^5.2.0": - version: 5.6.0 - resolution: "chalk@npm:5.6.0" - checksum: 10c0/f8558fc12fd9805f167611803b325b0098bbccdc9f1d3bafead41c9bac61f263357f3c0df0cbe28bc2fd5fca3edcf618b01d6771a5a776b4c15d061482a72b23 + version: 5.6.2 + resolution: "chalk@npm:5.6.2" + checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 languageName: node linkType: hard @@ -14104,17 +13788,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.160": - version: 1.5.171 - resolution: "electron-to-chromium@npm:1.5.171" - checksum: 10c0/e9d7e70d5fe829951c955287877155889a752336e48c715e373c6919f8e438bb686b7278511013aa8456c329c55895059a1d9e4b799217483f28dbae60c198d8 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.211": - version: 1.5.214 - resolution: "electron-to-chromium@npm:1.5.214" - checksum: 10c0/76ca22fd97a2dad84a710915b5984263b31e61c7883cd3ec0c11c0d7beb3fa628780cdfd05a96ec79a904ea1c910cf02c513db60f31b627c96743e50f6b11a2e + version: 1.5.215 + resolution: "electron-to-chromium@npm:1.5.215" + checksum: 10c0/3a45976d1193e57284533096b3bbec218a5d4d85af4f7c133522aae35b14bbf22734f48ccc3f0e43a451441ebc375fa2f4350390fd729dcedb97543692133e39 languageName: node linkType: hard @@ -15014,7 +14691,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.1.3, eslint-plugin-prettier@npm:^5.5.4": +"eslint-plugin-prettier@npm:^5.1.3, eslint-plugin-prettier@npm:^5.2.6, eslint-plugin-prettier@npm:^5.5.4": version: 5.5.4 resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: @@ -15034,26 +14711,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.2.6": - version: 5.5.0 - resolution: "eslint-plugin-prettier@npm:5.5.0" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.11.7" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/d739940d5f5ea9b4c3a52836b24907b273a46909cdd1def5526f8934e54082fe5aac13512eb2c27d538ca79e16916ca54c651e3372aa53b7d4297afb4c156d47 - languageName: node - linkType: hard - "eslint-plugin-react-hooks@npm:^4.6.0": version: 4.6.2 resolution: "eslint-plugin-react-hooks@npm:4.6.2" @@ -15810,7 +15467,7 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.4, fdir@npm:^6.5.0": +"fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" peerDependencies: @@ -19356,21 +19013,12 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.12": - version: 0.30.18 - resolution: "magic-string@npm:0.30.18" +"magic-string@npm:^0.30.12, magic-string@npm:^0.30.17, magic-string@npm:^0.30.5": + version: 0.30.19 + resolution: "magic-string@npm:0.30.19" dependencies: "@jridgewell/sourcemap-codec": "npm:^1.5.5" - checksum: 10c0/80fba01e13ce1f5c474a0498a5aa462fa158eb56567310747089a0033e432d83a2021ee2c109ac116010cd9dcf90a5231d89fbe3858165f73c00a50a74dbefcd - languageName: node - linkType: hard - -"magic-string@npm:^0.30.17, magic-string@npm:^0.30.5": - version: 0.30.17 - resolution: "magic-string@npm:0.30.17" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.5.0" - checksum: 10c0/16826e415d04b88378f200fe022b53e638e3838b9e496edda6c0e086d7753a44a6ed187adc72d19f3623810589bf139af1a315541cd6a26ae0771a0193eaf7b8 + checksum: 10c0/db23fd2e2ee98a1aeb88a4cdb2353137fcf05819b883c856dd79e4c7dfb25151e2a5a4d5dbd88add5e30ed8ae5c51bcf4accbc6becb75249d924ec7b4fbcae27 languageName: node linkType: hard @@ -20599,9 +20247,9 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.12": - version: 2.2.21 - resolution: "nwsapi@npm:2.2.21" - checksum: 10c0/dd330cabb886fd417624bd3af368d86c3d507c002c05fb2f7981874204298deec9e8bd5103d8a0c4a0e0dc280276dc4a59a059e1045eeb7a628f79e6cefba6a3 + version: 2.2.22 + resolution: "nwsapi@npm:2.2.22" + checksum: 10c0/b6a0e5ea6754aacfdfe551c8c0f1b374eaf94d48b0a4e7eac666f879ecbc1892ef1d7c457e9b02eefad3fa1323ea1faebcba533eeab6582e24c9c503411bf879 languageName: node linkType: hard @@ -21354,20 +21002,13 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.1, picomatch@npm:^4.0.3": +"picomatch@npm:^4.0.1, picomatch@npm:^4.0.2, picomatch@npm:^4.0.3": version: 4.0.3 resolution: "picomatch@npm:4.0.3" checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 languageName: node linkType: hard -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - "pify@npm:^4.0.1": version: 4.0.1 resolution: "pify@npm:4.0.1" @@ -22167,9 +21808,9 @@ __metadata: linkType: hard "react-native-logs@npm:^5.3.0": - version: 5.3.0 - resolution: "react-native-logs@npm:5.3.0" - checksum: 10c0/be96415afb87953d8992d72e3a45d91167312947632d066392d9f182f8a4f807eadd174d27741ee58b728448b5cf05beb6977455ce1928ef714315b549e083e3 + version: 5.5.0 + resolution: "react-native-logs@npm:5.5.0" + checksum: 10c0/38b011a5cff39c672821baa15bf09e6a98caeab0b64cf6778fcf765f89382799b04dcb604399d016940796106d4187411add84d1de485dd38655c5dc9fc078c9 languageName: node linkType: hard @@ -23002,31 +22643,31 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.20.0, rollup@npm:^4.43.0": - version: 4.50.0 - resolution: "rollup@npm:4.50.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.50.0" - "@rollup/rollup-android-arm64": "npm:4.50.0" - "@rollup/rollup-darwin-arm64": "npm:4.50.0" - "@rollup/rollup-darwin-x64": "npm:4.50.0" - "@rollup/rollup-freebsd-arm64": "npm:4.50.0" - "@rollup/rollup-freebsd-x64": "npm:4.50.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.50.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.50.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.50.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.50.0" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.50.0" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.50.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.50.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.50.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.50.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.50.0" - "@rollup/rollup-linux-x64-musl": "npm:4.50.0" - "@rollup/rollup-openharmony-arm64": "npm:4.50.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.50.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.50.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.50.0" +"rollup@npm:^4.20.0, rollup@npm:^4.34.8, rollup@npm:^4.43.0": + version: 4.50.1 + resolution: "rollup@npm:4.50.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.50.1" + "@rollup/rollup-android-arm64": "npm:4.50.1" + "@rollup/rollup-darwin-arm64": "npm:4.50.1" + "@rollup/rollup-darwin-x64": "npm:4.50.1" + "@rollup/rollup-freebsd-arm64": "npm:4.50.1" + "@rollup/rollup-freebsd-x64": "npm:4.50.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.50.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.50.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.50.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.50.1" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.50.1" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.50.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.50.1" + "@rollup/rollup-linux-riscv64-musl": "npm:4.50.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.50.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.50.1" + "@rollup/rollup-linux-x64-musl": "npm:4.50.1" + "@rollup/rollup-openharmony-arm64": "npm:4.50.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.50.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.50.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.50.1" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -23076,82 +22717,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/8a9aa0885b61ee08315cdc097fb9f97b626a0992546a6857d7668f4690a7344d8497fa7504e4dba03acefc77f03d90fec3c11bfa80777177e76ea5d8c18ddc97 - languageName: node - linkType: hard - -"rollup@npm:^4.34.8": - version: 4.44.0 - resolution: "rollup@npm:4.44.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.44.0" - "@rollup/rollup-android-arm64": "npm:4.44.0" - "@rollup/rollup-darwin-arm64": "npm:4.44.0" - "@rollup/rollup-darwin-x64": "npm:4.44.0" - "@rollup/rollup-freebsd-arm64": "npm:4.44.0" - "@rollup/rollup-freebsd-x64": "npm:4.44.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.44.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.44.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.44.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.44.0" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.44.0" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.44.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.44.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.44.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.44.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.44.0" - "@rollup/rollup-linux-x64-musl": "npm:4.44.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.44.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.44.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.44.0" - "@types/estree": "npm:1.0.8" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-freebsd-arm64": - optional: true - "@rollup/rollup-freebsd-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-loongarch64-gnu": - optional: true - "@rollup/rollup-linux-powerpc64le-gnu": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-riscv64-musl": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/ff3e0741f2fc7b7b183079628cf50fcfc9163bef86ecfbc9f4e4023adfdee375b7075940963514e2bc4969764688d38d67095bce038b0ad5d572207f114afff5 + checksum: 10c0/2029282826d5fb4e308be261b2c28329a4d2bd34304cc3960da69fd21d5acccd0267d6770b1656ffc8f166203ef7e865b4583d5f842a519c8ef059ac71854205 languageName: node linkType: hard @@ -24351,11 +23917,11 @@ __metadata: linkType: hard "strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" + version: 7.1.2 + resolution: "strip-ansi@npm:7.1.2" dependencies: ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + checksum: 10c0/0d6d7a023de33368fd042aab0bf48f4f4077abdfd60e5393e73c7c411e85e1b3a83507c11af2e656188511475776215df9ca589b4da2295c9455cc399ce1858b languageName: node linkType: hard @@ -24903,13 +24469,13 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.10, tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.6": - version: 0.2.14 - resolution: "tinyglobby@npm:0.2.14" +"tinyglobby@npm:^0.2.10, tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.6": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 languageName: node linkType: hard @@ -26035,8 +25601,8 @@ __metadata: linkType: hard "vite@npm:^5.0.0": - version: 5.4.19 - resolution: "vite@npm:5.4.19" + version: 5.4.20 + resolution: "vite@npm:5.4.20" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -26073,13 +25639,13 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/c97601234dba482cea5290f2a2ea0fcd65e1fab3df06718ea48adc8ceb14bc3129508216c4989329c618f6a0470b42f439677a207aef62b0c76f445091c2d89e + checksum: 10c0/391a1fdd7e05445d60aa3b15d6c1cffcdd92c5d154da375bf06b9cd5633c2387ebee0e8f2fceed3226a63dff36c8ef18fb497662dde8c135133c46670996c7a1 languageName: node linkType: hard "vite@npm:^7.0.0": - version: 7.1.4 - resolution: "vite@npm:7.1.4" + version: 7.1.5 + resolution: "vite@npm:7.1.5" dependencies: esbuild: "npm:^0.25.0" fdir: "npm:^6.5.0" @@ -26087,7 +25653,7 @@ __metadata: picomatch: "npm:^4.0.3" postcss: "npm:^8.5.6" rollup: "npm:^4.43.0" - tinyglobby: "npm:^0.2.14" + tinyglobby: "npm:^0.2.15" peerDependencies: "@types/node": ^20.19.0 || >=22.12.0 jiti: ">=1.21.0" @@ -26128,7 +25694,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/dbe2ba29926ffe8985c93d1b3718dcc9040080b7fa10a74c82a52aad7449136a391ba17b265288ff03b864e6f1033b9b537247521a96d5491a9d4af90ac04702 + checksum: 10c0/782d2f20c25541b26d1fb39bef5f194149caff39dc25b7836e25f049ca919f2e2ce186bddb21f3f20f6195354b3579ec637a8ca08d65b117f8b6f81e3e730a9c languageName: node linkType: hard From 16957180bb8bb6d5ad0ad4a335e39d947021c6fd Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:33:50 -0700 Subject: [PATCH 21/24] fix: update yarn.lock hash for @selfxyz/mobile-sdk-alpha Resolves CI error where yarn install --immutable failed due to outdated package hash. The hash changed from b2afc4 to f9ebb9. --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1f53f7261..60416fc88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4929,14 +4929,14 @@ __metadata: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": version: 2.6.4 - resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=b2afc4&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" + resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=f9ebb9&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" dependencies: tslib: "npm:^2.6.2" peerDependencies: react: ^18.3.1 react-native: ^0.76.9 tamagui: ^1.126.0 - checksum: 10c0/c45f555d154853b0ce6f54b1108065175a2b629a48d005bb8ed0f5a53e3b61a8f95e15d3834169d3713abfb9f5e5cb4dd034f29a581befefc2a0cf12ac0ee8ca + checksum: 10c0/dcd175ac784fa386c728da00d9e7dfbec865b1b090c93061a4e2d8a7fa67c49ccc0d711e21e4ecae7ebe7f95860cf8f5c6eeefe2f4749e9eb876b08735c1fb0d languageName: node linkType: hard From cf72cb79438103e99852a0b906f2bfb32d4ced4a Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:37:52 -0700 Subject: [PATCH 22/24] fix: update yarn.lock hash after mobile-sdk-alpha changes - Hash changed from c0e6b9 to 0d0f72 due to package modifications - Cleaned caches and regenerated lockfile to ensure consistency - This resolves CI cache mismatch where old artifacts had stale hash --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 60416fc88..86a7ac176 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4929,14 +4929,14 @@ __metadata: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": version: 2.6.4 - resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=f9ebb9&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" + resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=0d0f72&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" dependencies: tslib: "npm:^2.6.2" peerDependencies: react: ^18.3.1 react-native: ^0.76.9 tamagui: ^1.126.0 - checksum: 10c0/dcd175ac784fa386c728da00d9e7dfbec865b1b090c93061a4e2d8a7fa67c49ccc0d711e21e4ecae7ebe7f95860cf8f5c6eeefe2f4749e9eb876b08735c1fb0d + checksum: 10c0/c7f0b72b3a4169f7be2a8528baabf650ce023710456759c2be4a801bae40eee7cdf87001dad13686c9908bf28840f0d4c8c5490a7d8f726fabe1608fa1fd2b17 languageName: node linkType: hard From 2ef0748882e4c235e2827d37c9140294db273b9a Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:38:47 -0700 Subject: [PATCH 23/24] fix: update yarn.lock hash after building mobile-sdk-alpha - Final hash: 89f5a6 (includes built dist artifacts) - Built mobile-sdk-alpha to ensure package is in stable state - This should resolve CI immutable install errors --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index 86a7ac176..33e65df1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4929,14 +4929,14 @@ __metadata: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": version: 2.6.4 - resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=0d0f72&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" + resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=89f5a6&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" dependencies: tslib: "npm:^2.6.2" peerDependencies: react: ^18.3.1 react-native: ^0.76.9 tamagui: ^1.126.0 - checksum: 10c0/c7f0b72b3a4169f7be2a8528baabf650ce023710456759c2be4a801bae40eee7cdf87001dad13686c9908bf28840f0d4c8c5490a7d8f726fabe1608fa1fd2b17 + checksum: 10c0/aa7b2d763c5fdb8118b6e208c9f5c664b1d9d4976ae5d33561d42502b40275b55670703a2039bd203db97d96ec65b1ffa66282efbaa893be059b45443c0cc96b languageName: node linkType: hard From 6180c10d5e503c989e92794276263a3b90764a26 Mon Sep 17 00:00:00 2001 From: Justin Hernandez <justin.hernandez@self.xyz> Date: Mon, 8 Sep 2025 23:59:22 -0700 Subject: [PATCH 24/24] fix yarn lock and build --- .yarnrc.yml | 1 + .../com/proofofpassportapp/MainActivity.kt | 1 - .../com/proofofpassportapp/MainApplication.kt | 1 - app/package.json | 2 +- .../mobile-sdk-alpha/react-native.config.cjs | 32 +++++++------------ yarn.lock | 17 ++-------- 6 files changed, 15 insertions(+), 39 deletions(-) diff --git a/.yarnrc.yml b/.yarnrc.yml index 3186f3f07..9f52c10eb 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1 +1,2 @@ nodeLinker: node-modules +enableGlobalCache: true diff --git a/app/android/app/src/main/java/com/proofofpassportapp/MainActivity.kt b/app/android/app/src/main/java/com/proofofpassportapp/MainActivity.kt index caa9f7736..7af0e9cad 100644 --- a/app/android/app/src/main/java/com/proofofpassportapp/MainActivity.kt +++ b/app/android/app/src/main/java/com/proofofpassportapp/MainActivity.kt @@ -12,7 +12,6 @@ import com.facebook.react.ReactActivityDelegate import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled import com.facebook.react.defaults.DefaultReactActivityDelegate import io.tradle.nfc.RNPassportReaderModule -import com.selfxyz.selfSDK.RNSelfPassportReaderModule class MainActivity : ReactActivity() { /** diff --git a/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt b/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt index 25803e540..a8e12beac 100644 --- a/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt +++ b/app/android/app/src/main/java/com/proofofpassportapp/MainApplication.kt @@ -15,7 +15,6 @@ import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint import com.facebook.react.defaults.DefaultReactNativeHost import com.facebook.soloader.SoLoader import com.facebook.react.soloader.OpenSourceMergedSoMapping -import com.selfxyz.selfSDK.RNSelfPassportReaderPackage class MainApplication : Application(), ReactApplication { diff --git a/app/package.json b/app/package.json index b040d432b..04c5ec473 100644 --- a/app/package.json +++ b/app/package.json @@ -87,7 +87,7 @@ "@segment/analytics-react-native": "^2.21.2", "@segment/sovran-react-native": "^1.1.3", "@selfxyz/common": "workspace:^", - "@selfxyz/mobile-sdk-alpha": "file:../packages/mobile-sdk-alpha", + "@selfxyz/mobile-sdk-alpha": "workspace:^", "@sentry/react": "^9.32.0", "@sentry/react-native": "7.0.0-beta.1", "@tamagui/animations-css": "^1.129.3", diff --git a/packages/mobile-sdk-alpha/react-native.config.cjs b/packages/mobile-sdk-alpha/react-native.config.cjs index 7ca4aa392..42d4801a6 100644 --- a/packages/mobile-sdk-alpha/react-native.config.cjs +++ b/packages/mobile-sdk-alpha/react-native.config.cjs @@ -3,28 +3,18 @@ // NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE. module.exports = { - dependencies: { - '@selfxyz/mobile-sdk-alpha': { - platforms: { - ios: { - sourceDir: './ios', - podspecPath: './mobile-sdk-alpha.podspec', - }, - android: { - sourceDir: './android', - manifestPath: 'src/main/AndroidManifest.xml', - packageImportPath: 'import com.selfxyz.selfSDK.RNSelfPassportReaderPackage;', - packageInstance: 'new RNSelfPassportReaderPackage()', - }, + dependency: { + platforms: { + ios: { + sourceDir: './ios', + podspecPath: './mobile-sdk-alpha.podspec', + }, + android: { + sourceDir: './android', + manifestPath: 'src/main/AndroidManifest.xml', + packageImportPath: 'import com.selfxyz.selfSDK.RNSelfPassportReaderPackage;', + packageInstance: 'new RNSelfPassportReaderPackage()', }, - }, - }, - project: { - ios: { - sourceDir: './ios', - }, - android: { - sourceDir: './android', }, }, }; diff --git a/yarn.lock b/yarn.lock index 33e65df1b..e35dff09c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4829,7 +4829,7 @@ __metadata: "@segment/analytics-react-native": "npm:^2.21.2" "@segment/sovran-react-native": "npm:^1.1.3" "@selfxyz/common": "workspace:^" - "@selfxyz/mobile-sdk-alpha": "file:../packages/mobile-sdk-alpha" + "@selfxyz/mobile-sdk-alpha": "workspace:^" "@sentry/react": "npm:^9.32.0" "@sentry/react-native": "npm:7.0.0-beta.1" "@tamagui/animations-css": "npm:^1.129.3" @@ -4927,20 +4927,7 @@ __metadata: languageName: unknown linkType: soft -"@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha::locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp": - version: 2.6.4 - resolution: "@selfxyz/mobile-sdk-alpha@file:../packages/mobile-sdk-alpha#../packages/mobile-sdk-alpha::hash=89f5a6&locator=%40selfxyz%2Fmobile-app%40workspace%3Aapp" - dependencies: - tslib: "npm:^2.6.2" - peerDependencies: - react: ^18.3.1 - react-native: ^0.76.9 - tamagui: ^1.126.0 - checksum: 10c0/aa7b2d763c5fdb8118b6e208c9f5c664b1d9d4976ae5d33561d42502b40275b55670703a2039bd203db97d96ec65b1ffa66282efbaa893be059b45443c0cc96b - languageName: node - linkType: hard - -"@selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha": +"@selfxyz/mobile-sdk-alpha@workspace:^, @selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha": version: 0.0.0-use.local resolution: "@selfxyz/mobile-sdk-alpha@workspace:packages/mobile-sdk-alpha" dependencies: