Repository navigation
chore: 🤖 bump spacecraft to Expo SDK 58 - #286
Merged
Merged
Conversation
- upgrade expo 58, react-native 0.88, react 19.3 and related libs - move to jest 30 / jest-expo 58 with @react-native/jest-preset - register expo-image, expo-status-bar and datetimepicker config plugins
- replace .eslintrc.js with flat eslint.config.js (eslint 9, typescript-eslint 8, perfectionist 5) - upgrade Storybook to v10 and convert .storybook config files to TypeScript - move splash config to the expo-splash-screen plugin - bump react-navigation, react-query, vector-icons and testing-library deps - apply new lint/import-order rules across components, screens and navigation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hackathon/spacecraftfrom Expo SDK 56 to SDK 58 (expo^58,react-native0.88.0, React 19.3.0 — also bumped in overrides/resolutions)expo-*modules and native libs to their SDK 58 versions:react-native-reanimated4.7.1,react-native-worklets0.13.0,react-native-screens~4.30,react-native-safe-area-context~5.10.1,react-native-web^0.21.4react-native-gesture-handler2.31 → ~3.3 (major jump; only consumed through react-navigation and the Jest setup, so swipe/back gestures are worth a device check)jest-expo~58,eslint-config-expo~58,@types/*,@react-native-community/datetimepicker9.2.1 andslider5.2.1@react-native/[email protected]as a devDependency — without it the old 0.85.3 copy was resolved and broke 3 of 4 test suitesapp.config.ts: register the config pluginsexpo installnow expects (expo-image,expo-status-bar,@react-native-community/datetimepicker)jest.setup.js: mockreact-native-worklets, and stubsetCSSEventHandler, which Reanimated 4.7.1 calls on init and which throws under Jest (no upstream fix released yet — the stub can be removed once one ships)Testing
bun run test: 4/4 suites, 4/4 tests passtsc: no type errors (pre-existingbaseUrldeprecation warning for TypeScript 6 remains)npx expo export -p ios: bundle builds (5.7 MB hbc)expo-doctor: 18/20 — the 2 failures predate this change (a stray untrackedyarn.lockbesidebun.lock, and missing React Native Directory metadata for@dev-plugins/react-navigation/@react-native-vector-icons/*)bun run lint: fails with 16 errors / 21 warnings, all pre-existing style rules (color literals, prop-types,any) in untouchedsrc/files; both files changed here lint cleanios/andandroid/are generated at build time, so the nextexpo run:ios/run:androidor EAS build is the first on-device verification