Skip to content

Commit e583039

Browse files
wataru-maedaclaude
andauthored
chore(bump): upgrade to Expo SDK 54 (#84)
Co-authored-by: Claude <[email protected]>
1 parent f0fbc5f commit e583039

File tree

7 files changed

+2142
-1804
lines changed

7 files changed

+2142
-1804
lines changed

.cursor/rules/coding-guidelines.mdc

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ alwaysApply: true
77

88
## Project Overview
99

10-
React Native Expo SDK 53 project with TypeScript, Expo Router v5, Redux Toolkit, and modern development practices.
10+
React Native Expo SDK 54 project with TypeScript, Expo Router v6, Redux Toolkit, and modern development practices.
1111

1212
## Built-in Features to Always Use
1313

@@ -96,6 +96,16 @@ React Native Expo SDK 53 project with TypeScript, Expo Router v5, Redux Toolkit,
9696
- Use descriptive test names
9797
- Mock external dependencies
9898

99+
### SafeAreaView Usage
100+
101+
- **Import from `react-native-safe-area-context`**, not React Native
102+
- React Native's SafeAreaView is deprecated as of SDK 54
103+
104+
### Required Peer Dependencies
105+
106+
- **@expo/metro-runtime** - Required for Expo Router
107+
- **react-native-worklets** - Required for React Native Reanimated
108+
99109
## Built-in Architecture Patterns
100110

101111
### Navigation (Expo Router v5)
@@ -170,10 +180,10 @@ React Native Expo SDK 53 project with TypeScript, Expo Router v5, Redux Toolkit,
170180

171181
## Migration and Updates
172182

173-
- Currently on Expo SDK 53 with React 19
183+
- Currently on Expo SDK 54 with React 19.1
174184
- ESLint 9 with flat config
175-
- Modern React Native 0.79.5
176-
- TypeScript strict mode enabled
185+
- Modern React Native 0.81.4
186+
- TypeScript strict mode enabled (v5.9.2)
177187

178188
## Key Principles
179189

.github/workflows/preview.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ jobs:
4646
- name: Install dependencies
4747
run: npm ci
4848

49+
# install platform-specific lightningcss binary for Linux
50+
- name: Install lightningcss Linux binary
51+
run: npm install lightningcss-linux-x64-gnu --save-optional
52+
4953
# get branch name
5054
- name: Get branch name
5155
id: branch-name

CLAUDE.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ This React Native Expo project follows specific patterns and uses built-in featu
66

77
**Technology Stack:**
88

9-
- React Native with Expo SDK 53
9+
- React Native with Expo SDK 54
1010
- TypeScript (strict mode)
11-
- Expo Router v5 (flat config)
11+
- Expo Router v6 (flat config)
1212
- Redux Toolkit for state management
1313
- ESLint 9 with flat config
14-
- React 19 and React Native 0.79.5
14+
- React 19.1 and React Native 0.81.4
1515

1616
## Always Use These Built-in Features
1717

@@ -183,12 +183,14 @@ import { useDataPersist } from '@/hooks';
183183

184184
## Architecture Notes
185185

186-
- Project recently upgraded to Expo SDK 53
187-
- Using modern React 19 features
186+
- Project upgraded to Expo SDK 54
187+
- Using React 19.1 with React Native 0.81.4
188188
- ESLint 9 with flat config
189189
- Directory "pages" was renamed to "scenes"
190-
- TypeScript strict mode enabled
190+
- TypeScript strict mode enabled (v5.9.2)
191191
- Custom theme system with dark/light support
192+
- SafeAreaView imported from react-native-safe-area-context (not React Native)
193+
- Required peer dependencies: @expo/metro-runtime, react-native-worklets
192194

193195
## Available Scripts
194196

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
<img src='https://github.com/wataru-maeda/react-native-boilerplate/blob/main/__DELELE_ME__/demo-dark-theme.gif' width='150px'>
1515
</p>
1616

17-
Say goodbye to time-consuming setup tasks like restructuring files, installing libraries, and crafting reusable components. Our project boilerplate is your solution to eliminate redundant work when starting from scratch. Built with the latest Expo SDK 53, React 19, and modern development practices, it includes only the most commonly-used libraries, so you can hit the ground running with a fully configured setup.
17+
Say goodbye to time-consuming setup tasks like restructuring files, installing libraries, and crafting reusable components. Our project boilerplate is your solution to eliminate redundant work when starting from scratch. Built with the latest Expo SDK 54, React 19.1, and modern development practices, it includes only the most commonly-used libraries, so you can hit the ground running with a fully configured setup.
1818

1919
## 🎯 Pre-configured Features
2020

21-
- 📱 **Expo SDK 53** with React 19 and React Native 0.79.5
21+
- 📱 **Expo SDK 54** with React 19.1 and React Native 0.81.4
2222
- 🏗️ **New Architecture** enabled by default for optimal performance
23-
- 🧭 **Expo Router v5** with flat config for file-based routing
23+
- 🧭 **Expo Router v6** with flat config for file-based routing
2424
- 🎨 **Light/Dark theme** support with automatic detection
2525
- 🔄 **Redux Toolkit** for predictable state management
2626
- 📦 **Environment configuration** with dotenvx for dev/staging/prod

components/layouts/DrawerContents/DrawerContents.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { StyleSheet, SafeAreaView, View, Text } from 'react-native';
1+
import { StyleSheet, View, Text } from 'react-native';
2+
import { SafeAreaView } from 'react-native-safe-area-context';
23
import useColorScheme from '@/hooks/useColorScheme';
34
import { colors } from '@/theme';
45

0 commit comments

Comments
 (0)