Skip to content

Commit a913b4a

Browse files
authored
feat: expo 54 (#125)
* feat: expo 54 wip * fix: react native screens version * fix: assemble debug works! * fix: yarn.lock update * fix: expo doctor passes except the svg version high we already know works * fix: proper sdk bump
1 parent 387463f commit a913b4a

4 files changed

Lines changed: 926 additions & 762 deletions

File tree

android/app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def isGitHubActions = System.getenv("GITHUB_ACTIONS") != null && System.getenv("
3333
def isCIBuild = isCiBuild || isGitHubActions
3434

3535
android {
36-
compileSdkVersion 35
36+
compileSdkVersion rootProject.ext.compileSdkVersion
3737

3838
// compileKotlin {
3939
// kotlinOptions.allWarningsAsErrors = false
@@ -77,9 +77,9 @@ android {
7777

7878
defaultConfig {
7979
applicationId "com.github.quarck.calnotify"
80-
minSdkVersion 24
81-
minSdk 24
82-
targetSdkVersion 35
80+
minSdkVersion rootProject.ext.minSdkVersion
81+
minSdk rootProject.ext.minSdk
82+
targetSdkVersion rootProject.ext.targetSdkVersion
8383
versionCode 4000033
8484
versionName "8.2.1"
8585

android/build.gradle

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ buildscript {
2222
androidGradlePluginVersion = '8.13.2'
2323
android_gradle_plugin_version = '8.13.2'
2424

25-
// WARNING: WE BUILT CR-SQLITE WITH THIS VERSION OF NDK
26-
// IF YOU CHANGE THIS, YOU NEED TO REBUILD CR-SQLITE
27-
ndkVersion = '26.1.10909125'
28-
// SDK versions - aligned with Expo SDK 53 requirements
25+
// WARNING: WE BUILT CR-SQLITE WITH NDK 26.1.10909125
26+
// React Native 0.81 requires NDK 27+ for std::format support
27+
// CR-SQLITE may need to be rebuilt if issues arise
28+
ndkVersion = '27.2.12479018'
29+
// SDK versions - aligned with Expo SDK 54 requirements
2930
minSdk = 24
3031
minSdkVersion = 24
31-
compileSdkVersion = 35
32-
targetSdkVersion = 35
32+
compileSdkVersion = 36
33+
targetSdkVersion = 36
3334

3435
// Supported architectures
3536
supportedArchs = ['arm64-v8a', 'x86_64']

package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
"@op-engineering/op-sqlite": "^15.1.14",
2626
"@powersync/op-sqlite": "^0.7.17",
2727
"@powersync/react-native": "1.28.0",
28-
"@react-native-async-storage/async-storage": "1.23.1",
29-
"@react-navigation/native": "^6.1.18",
30-
"@react-navigation/native-stack": "^6.11.0",
28+
"@react-native-async-storage/async-storage": "2.2.0",
29+
"@react-navigation/native": "^7.1.0",
30+
"@react-navigation/native-stack": "^7.8.0",
3131
"@supabase/supabase-js": "^2.49.1",
3232
"@swc/cli": "^0.1.62",
3333
"@swc/core": "^1.3.90",
@@ -40,20 +40,20 @@
4040
"commander": "^13.1.0",
4141
"dotenv": "^16.3.1",
4242
"execa": "^9.5.2",
43-
"expo": "~53.0.0",
43+
"expo": "~54.0.0",
4444
"expo-application": "~7.0.0",
45-
"expo-status-bar": "~2.2.0",
45+
"expo-status-bar": "~3.0.9",
4646
"js-logger": "^1.6.1",
4747
"log4js": "^6.9.1",
48-
"react": "19.0.0",
49-
"react-dom": "19.0.0",
50-
"react-native": "0.79.2",
48+
"react": "19.1.0",
49+
"react-dom": "19.1.0",
50+
"react-native": "0.81.5",
5151
"react-native-devsettings": "^1.0.5",
52-
"react-native-safe-area-context": "5.4.0",
53-
"react-native-screens": "~4.10.0",
54-
"react-native-svg": "15.11.2",
52+
"react-native-safe-area-context": "~5.6.0",
53+
"react-native-screens": "~4.16.0",
54+
"react-native-svg": "15.15.1",
5555
"react-native-url-polyfill": "^2.0.0",
56-
"react-native-web": "~0.20.0",
56+
"react-native-web": "~0.21.0",
5757
"swc-node": "^1.0.0",
5858
"typed-emitter": "^2.1.0"
5959
},
@@ -62,17 +62,17 @@
6262
"@babel/plugin-transform-private-property-in-object": "^7.25.9",
6363
"@commitlint/cli": "^19.5.0",
6464
"@commitlint/config-conventional": "^19.5.0",
65-
"@react-native-community/cli": "^18.0.0",
66-
"@react-native-community/cli-platform-android": "^18.0.0",
67-
"@react-native/js-polyfills": "^0.79.0",
68-
"@react-native/metro-babel-transformer": "^0.79.0",
69-
"@react-native/metro-config": "^0.79.0",
65+
"@react-native-community/cli": "^19.0.0",
66+
"@react-native-community/cli-platform-android": "^19.0.0",
67+
"@react-native/js-polyfills": "^0.81.0",
68+
"@react-native/metro-babel-transformer": "^0.81.0",
69+
"@react-native/metro-config": "^0.81.0",
7070
"@swc-node/register": "^1.6.7",
7171
"@testing-library/react-hooks": "^8.0.1",
7272
"@tsconfig/react-native": "^3.0.2",
7373
"@types/jest": "^29.5.5",
7474
"@types/node": "^22.14.0",
75-
"@types/react": "~19.0.0",
75+
"@types/react": "~19.1.0",
7676
"@types/react-test-renderer": "^18.0.3",
7777
"@typescript-eslint/eslint-plugin": "^6.6.0",
7878
"babel-plugin-module-resolver": "^5.0.2",
@@ -85,7 +85,7 @@
8585
"gts": "^5.0.0",
8686
"husky": "^9.1.6",
8787
"jest": "^29.6.2",
88-
"jest-expo": "^54.0.16",
88+
"jest-expo": "~54.0.0",
8989
"jest-junit": "^16.0.0",
9090
"metro-config": "~0.82.0",
9191
"metro-runtime": "^0.82.0",

0 commit comments

Comments
 (0)