Files
0b12516438 chore(mobile): replace moti with custom skeleton using reanimated (#7500)
* chore(mobile): replace moti with custom skeleton using reanimated

Moti was only used for its Skeleton component and is no longer actively
maintained (last update >1 year ago). Replace it with a lightweight
custom implementation using react-native-reanimated + expo-linear-gradient,
both already project dependencies. This removes moti and
@tamagui/animations-moti (unused since Tamagui v2 migration).

* fix(mobile): preserve per-instance show prop on SafeSkeleton

Add back the `show` prop that callers can pass directly to SafeSkeleton,
matching the original Moti API. Priority: show prop > Group context >
default (\!children).

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-04-09 09:12:26 +02:00

28 lines
1.0 KiB
JavaScript

const preset = require('../../config/test/presets/jest-preset')
// Set timezone to UTC for consistent date formatting across environments
process.env.TZ = 'UTC'
module.exports = {
...preset,
preset: 'jest-expo',
collectCoverage: true,
collectCoverageFrom: [
'./src/**',
'!./src/**/*.stories.{js,jsx,ts,tsx}',
'!./src/tests/**',
'!./src/types/**',
'!./src/**/*.snap',
],
coverageReporters: ['json-summary', 'html', 'text-summary', 'lcov'],
setupFilesAfterEnv: ['./src/tests/jest.setup.tsx'],
moduleNameMapper: {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/__mocks__/fileMock.js',
},
transformIgnorePatterns: [
'node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|native-base|react-native-svg|@notifee/react-native|react-redux|@ledgerhq/.*|uuid|@reduxjs/toolkit|immer|@datadog/.*|tamagui|@tamagui/.*)',
],
testPathIgnorePatterns: ['/node_modules/', '/e2e/'],
}