expo 55.0.0-canary-20251031-b135dff → 55.0.0-canary-20251118-8f7ee64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Expo.podspec CHANGED
@@ -105,6 +105,11 @@ Pod::Spec.new do |s|
105
105
  install_modules_dependencies(s)
106
106
 
107
107
  s.source_files = 'ios/**/*.{h,m,mm,swift}'
108
+ s.exclude_files = 'ios/Tests'
108
109
  s.compiler_flags = compiler_flags
109
110
  s.private_header_files = ['ios/**/Swift.h']
111
+
112
+ s.test_spec 'Tests' do |test_spec|
113
+ test_spec.source_files = 'ios/Tests'
114
+ end
110
115
  end
@@ -32,7 +32,7 @@ buildscript {
32
32
  def reactNativeVersion = project.extensions.getByType(ExpoModuleExtension).reactNativeVersion
33
33
 
34
34
  group = 'host.exp.exponent'
35
- version = '55.0.0-canary-20251031-b135dff'
35
+ version = '55.0.0-canary-20251118-8f7ee64'
36
36
 
37
37
  expoModule {
38
38
  // We can't prebuild the module because it depends on the generated files.
@@ -43,7 +43,7 @@ android {
43
43
  namespace "expo.core"
44
44
  defaultConfig {
45
45
  versionCode 1
46
- versionName "55.0.0-canary-20251031-b135dff"
46
+ versionName "55.0.0-canary-20251118-8f7ee64"
47
47
  consumerProguardFiles("proguard-rules.pro")
48
48
  }
49
49
  testOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"FormData.d.ts","sourceRoot":"","sources":["../../src/winter/FormData.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GACxB;IAEE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACrC,GACD;IAEE,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GACD;IAEE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEN,MAAM,CAAC,OAAO,OAAO,YAAY;;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAChF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IACzC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAE1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAG1B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAC7E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IACtC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvD,OAAO,CACL,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAC9E,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI;IACP,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAChC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC;IAC9C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACpE;AA0BD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAAQ,GAAG,OAAO,YAAY,CAkInF"}
1
+ {"version":3,"file":"FormData.d.ts","sourceRoot":"","sources":["../../src/winter/FormData.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GACxB;IAEE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACrC,GACD;IAEE,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GACD;IAEE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEN,MAAM,CAAC,OAAO,OAAO,YAAY;;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAChF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IACzC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAE1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAG1B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAC7E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IACtC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAGvD,OAAO,CACL,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAC9E,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI;IACP,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAChC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC;IAC9C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACpE;AAiCD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAAQ,GAAG,OAAO,YAAY,CAkInF"}
@@ -1,8 +1,8 @@
1
1
  {
2
- "@expo/fingerprint": "0.15.3-canary-20251031-b135dff",
3
- "@expo/metro-runtime": "6.2.0-canary-20251031-b135dff",
2
+ "@expo/fingerprint": "0.15.4-canary-20251118-8f7ee64",
3
+ "@expo/metro-runtime": "6.2.0-canary-20251118-8f7ee64",
4
4
  "@expo/vector-icons": "^15.0.2",
5
- "@expo/ui": "0.2.0-canary-20251031-b135dff",
5
+ "@expo/ui": "0.2.0-canary-20251118-8f7ee64",
6
6
  "@react-native-async-storage/async-storage": "2.2.0",
7
7
  "@react-native-community/datetimepicker": "8.4.4",
8
8
  "@react-native-masked-view/masked-view": "0.3.2",
@@ -12,88 +12,88 @@
12
12
  "@react-native-picker/picker": "2.11.2",
13
13
  "@react-native-segmented-control/segmented-control": "2.5.7",
14
14
  "@stripe/stripe-react-native": "0.50.3",
15
- "eslint-config-expo": "10.0.1-canary-20251031-b135dff",
15
+ "eslint-config-expo": "10.0.1-canary-20251118-8f7ee64",
16
16
  "expo-analytics-amplitude": "~11.3.0",
17
17
  "expo-app-auth": "~11.1.0",
18
18
  "expo-app-loader-provider": "~8.0.0",
19
- "expo-apple-authentication": "8.0.8-canary-20251031-b135dff",
20
- "expo-application": "7.0.8-canary-20251031-b135dff",
21
- "expo-asset": "12.0.10-canary-20251031-b135dff",
22
- "expo-audio": "1.1.0-canary-20251031-b135dff",
23
- "expo-auth-session": "7.0.9-canary-20251031-b135dff",
24
- "expo-av": "16.0.8-canary-20251031-b135dff",
25
- "expo-background-fetch": "14.0.8-canary-20251031-b135dff",
26
- "expo-background-task": "1.0.9-canary-20251031-b135dff",
27
- "expo-battery": "10.0.8-canary-20251031-b135dff",
28
- "expo-blur": "16.0.0-canary-20251031-b135dff",
29
- "expo-brightness": "15.0.0-canary-20251031-b135dff",
30
- "expo-build-properties": "1.0.10-canary-20251031-b135dff",
31
- "expo-calendar": "15.1.0-canary-20251031-b135dff",
32
- "expo-camera": "17.1.0-canary-20251031-b135dff",
33
- "expo-cellular": "8.0.8-canary-20251031-b135dff",
34
- "expo-checkbox": "5.0.8-canary-20251031-b135dff",
35
- "expo-clipboard": "8.0.8-canary-20251031-b135dff",
36
- "expo-constants": "18.1.0-canary-20251031-b135dff",
37
- "expo-contacts": "15.0.11-canary-20251031-b135dff",
38
- "expo-crypto": "15.0.8-canary-20251031-b135dff",
39
- "expo-dev-client": "6.0.17-canary-20251031-b135dff",
40
- "expo-device": "8.0.10-canary-20251031-b135dff",
41
- "expo-document-picker": "14.0.8-canary-20251031-b135dff",
42
- "expo-file-system": "19.1.0-canary-20251031-b135dff",
43
- "expo-font": "14.0.10-canary-20251031-b135dff",
44
- "expo-gl": "16.0.8-canary-20251031-b135dff",
45
- "expo-glass-effect": "0.2.0-canary-20251031-b135dff",
19
+ "expo-apple-authentication": "8.0.8-canary-20251118-8f7ee64",
20
+ "expo-application": "7.0.8-canary-20251118-8f7ee64",
21
+ "expo-asset": "12.0.11-canary-20251118-8f7ee64",
22
+ "expo-audio": "1.1.0-canary-20251118-8f7ee64",
23
+ "expo-auth-session": "7.0.10-canary-20251118-8f7ee64",
24
+ "expo-av": "16.0.8-canary-20251118-8f7ee64",
25
+ "expo-background-fetch": "14.0.9-canary-20251118-8f7ee64",
26
+ "expo-background-task": "1.0.10-canary-20251118-8f7ee64",
27
+ "expo-battery": "10.0.8-canary-20251118-8f7ee64",
28
+ "expo-blur": "16.0.0-canary-20251118-8f7ee64",
29
+ "expo-brightness": "15.0.0-canary-20251118-8f7ee64",
30
+ "expo-build-properties": "1.0.10-canary-20251118-8f7ee64",
31
+ "expo-calendar": "15.1.0-canary-20251118-8f7ee64",
32
+ "expo-camera": "17.1.0-canary-20251118-8f7ee64",
33
+ "expo-cellular": "8.0.8-canary-20251118-8f7ee64",
34
+ "expo-checkbox": "5.0.8-canary-20251118-8f7ee64",
35
+ "expo-clipboard": "8.0.8-canary-20251118-8f7ee64",
36
+ "expo-constants": "18.1.0-canary-20251118-8f7ee64",
37
+ "expo-contacts": "15.1.0-canary-20251118-8f7ee64",
38
+ "expo-crypto": "15.0.8-canary-20251118-8f7ee64",
39
+ "expo-dev-client": "6.0.19-canary-20251118-8f7ee64",
40
+ "expo-device": "8.0.10-canary-20251118-8f7ee64",
41
+ "expo-document-picker": "14.0.8-canary-20251118-8f7ee64",
42
+ "expo-file-system": "19.1.0-canary-20251118-8f7ee64",
43
+ "expo-font": "14.0.10-canary-20251118-8f7ee64",
44
+ "expo-gl": "16.0.8-canary-20251118-8f7ee64",
45
+ "expo-glass-effect": "0.2.0-canary-20251118-8f7ee64",
46
46
  "expo-google-app-auth": "~8.3.0",
47
- "expo-haptics": "15.0.8-canary-20251031-b135dff",
48
- "expo-image": "3.1.0-canary-20251031-b135dff",
49
- "expo-image-loader": "6.0.1-canary-20251031-b135dff",
50
- "expo-image-manipulator": "14.0.8-canary-20251031-b135dff",
51
- "expo-image-picker": "17.1.0-canary-20251031-b135dff",
52
- "expo-intent-launcher": "13.0.8-canary-20251031-b135dff",
53
- "expo-insights": "0.10.8-canary-20251031-b135dff",
54
- "expo-keep-awake": "15.0.8-canary-20251031-b135dff",
55
- "expo-linear-gradient": "15.0.8-canary-20251031-b135dff",
56
- "expo-linking": "8.0.9-canary-20251031-b135dff",
57
- "expo-local-authentication": "17.0.8-canary-20251031-b135dff",
58
- "expo-localization": "17.0.8-canary-20251031-b135dff",
59
- "expo-location": "19.0.8-canary-20251031-b135dff",
60
- "expo-mail-composer": "15.0.8-canary-20251031-b135dff",
61
- "expo-manifests": "1.0.9-canary-20251031-b135dff",
62
- "expo-maps": "0.12.9-canary-20251031-b135dff",
63
- "expo-media-library": "18.3.0-canary-20251031-b135dff",
64
- "expo-mesh-gradient": "0.4.8-canary-20251031-b135dff",
65
- "expo-module-template": "11.0.17-canary-20251031-b135dff",
66
- "expo-modules-core": "3.1.0-canary-20251031-b135dff",
67
- "expo-navigation-bar": "5.0.10-canary-20251031-b135dff",
68
- "expo-network": "8.0.8-canary-20251031-b135dff",
69
- "expo-notifications": "1.0.0-canary-20251031-b135dff",
70
- "expo-print": "15.0.8-canary-20251031-b135dff",
71
- "expo-live-photo": "1.0.8-canary-20251031-b135dff",
72
- "expo-router": "7.0.0-canary-20251031-b135dff",
73
- "expo-screen-capture": "8.0.9-canary-20251031-b135dff",
74
- "expo-screen-orientation": "9.0.8-canary-20251031-b135dff",
75
- "expo-secure-store": "15.0.8-canary-20251031-b135dff",
76
- "expo-sensors": "15.0.8-canary-20251031-b135dff",
77
- "expo-server": "1.0.4-canary-20251031-b135dff",
78
- "expo-sharing": "14.0.8-canary-20251031-b135dff",
79
- "expo-sms": "14.0.8-canary-20251031-b135dff",
80
- "expo-speech": "14.0.8-canary-20251031-b135dff",
81
- "expo-splash-screen": "31.0.11-canary-20251031-b135dff",
82
- "expo-sqlite": "16.0.9-canary-20251031-b135dff",
83
- "expo-status-bar": "3.0.9-canary-20251031-b135dff",
84
- "expo-store-review": "9.0.9-canary-20251031-b135dff",
85
- "expo-symbols": "1.1.0-canary-20251031-b135dff",
86
- "expo-system-ui": "6.0.9-canary-20251031-b135dff",
87
- "expo-task-manager": "14.0.9-canary-20251031-b135dff",
88
- "expo-tracking-transparency": "6.0.8-canary-20251031-b135dff",
89
- "expo-updates": "29.1.0-canary-20251031-b135dff",
90
- "expo-video-thumbnails": "10.0.8-canary-20251031-b135dff",
91
- "expo-video": "3.1.0-canary-20251031-b135dff",
92
- "expo-web-browser": "15.0.9-canary-20251031-b135dff",
93
- "jest-expo": "55.0.0-canary-20251031-b135dff",
47
+ "expo-haptics": "15.0.8-canary-20251118-8f7ee64",
48
+ "expo-image": "3.1.0-canary-20251118-8f7ee64",
49
+ "expo-image-loader": "6.0.1-canary-20251118-8f7ee64",
50
+ "expo-image-manipulator": "14.0.8-canary-20251118-8f7ee64",
51
+ "expo-image-picker": "17.1.0-canary-20251118-8f7ee64",
52
+ "expo-intent-launcher": "13.0.8-canary-20251118-8f7ee64",
53
+ "expo-insights": "0.10.8-canary-20251118-8f7ee64",
54
+ "expo-keep-awake": "15.0.8-canary-20251118-8f7ee64",
55
+ "expo-linear-gradient": "15.0.8-canary-20251118-8f7ee64",
56
+ "expo-linking": "8.0.10-canary-20251118-8f7ee64",
57
+ "expo-local-authentication": "17.0.8-canary-20251118-8f7ee64",
58
+ "expo-localization": "17.0.8-canary-20251118-8f7ee64",
59
+ "expo-location": "19.0.8-canary-20251118-8f7ee64",
60
+ "expo-mail-composer": "15.0.8-canary-20251118-8f7ee64",
61
+ "expo-manifests": "1.0.10-canary-20251118-8f7ee64",
62
+ "expo-maps": "0.12.9-canary-20251118-8f7ee64",
63
+ "expo-media-library": "18.3.0-canary-20251118-8f7ee64",
64
+ "expo-mesh-gradient": "0.4.8-canary-20251118-8f7ee64",
65
+ "expo-module-template": "11.0.18-canary-20251118-8f7ee64",
66
+ "expo-modules-core": "3.1.0-canary-20251118-8f7ee64",
67
+ "expo-navigation-bar": "5.0.10-canary-20251118-8f7ee64",
68
+ "expo-network": "8.0.8-canary-20251118-8f7ee64",
69
+ "expo-notifications": "1.0.0-canary-20251118-8f7ee64",
70
+ "expo-print": "15.0.8-canary-20251118-8f7ee64",
71
+ "expo-live-photo": "1.0.8-canary-20251118-8f7ee64",
72
+ "expo-router": "7.0.0-canary-20251118-8f7ee64",
73
+ "expo-screen-capture": "8.0.9-canary-20251118-8f7ee64",
74
+ "expo-screen-orientation": "9.0.8-canary-20251118-8f7ee64",
75
+ "expo-secure-store": "15.0.8-canary-20251118-8f7ee64",
76
+ "expo-sensors": "15.0.8-canary-20251118-8f7ee64",
77
+ "expo-server": "1.0.5-canary-20251118-8f7ee64",
78
+ "expo-sharing": "14.0.8-canary-20251118-8f7ee64",
79
+ "expo-sms": "14.0.8-canary-20251118-8f7ee64",
80
+ "expo-speech": "14.1.0-canary-20251118-8f7ee64",
81
+ "expo-splash-screen": "31.0.12-canary-20251118-8f7ee64",
82
+ "expo-sqlite": "16.1.0-canary-20251118-8f7ee64",
83
+ "expo-status-bar": "3.0.9-canary-20251118-8f7ee64",
84
+ "expo-store-review": "9.0.9-canary-20251118-8f7ee64",
85
+ "expo-symbols": "1.1.0-canary-20251118-8f7ee64",
86
+ "expo-system-ui": "6.0.9-canary-20251118-8f7ee64",
87
+ "expo-task-manager": "14.0.9-canary-20251118-8f7ee64",
88
+ "expo-tracking-transparency": "6.0.8-canary-20251118-8f7ee64",
89
+ "expo-updates": "29.1.0-canary-20251118-8f7ee64",
90
+ "expo-video-thumbnails": "10.0.8-canary-20251118-8f7ee64",
91
+ "expo-video": "3.1.0-canary-20251118-8f7ee64",
92
+ "expo-web-browser": "15.0.10-canary-20251118-8f7ee64",
93
+ "jest-expo": "55.0.0-canary-20251118-8f7ee64",
94
94
  "lottie-react-native": "~7.3.4",
95
- "react": "19.1.1",
96
- "react-dom": "19.1.1",
95
+ "react": "19.2.0",
96
+ "react-dom": "19.2.0",
97
97
  "react-native": "0.82.1",
98
98
  "react-native-web": "~0.21.0",
99
99
  "react-native-gesture-handler": "~2.28.0",
@@ -103,13 +103,13 @@
103
103
  "react-native-pager-view": "6.9.1",
104
104
  "react-native-worklets": "0.6.1",
105
105
  "react-native-reanimated": "~4.1.1",
106
- "react-native-screens": "~4.16.0",
106
+ "react-native-screens": "~4.18.0",
107
107
  "react-native-safe-area-context": "~5.6.0",
108
108
  "react-native-svg": "15.12.1",
109
109
  "react-native-view-shot": "4.0.3",
110
110
  "react-native-webview": "13.15.0",
111
111
  "sentry-expo": "~7.0.0",
112
- "unimodules-app-loader": "6.0.8-canary-20251031-b135dff",
112
+ "unimodules-app-loader": "6.0.8-canary-20251118-8f7ee64",
113
113
  "unimodules-image-loader-interface": "~6.1.0",
114
114
  "@shopify/react-native-skia": "2.2.12",
115
115
  "@shopify/flash-list": "2.0.2",
@@ -24,9 +24,16 @@ NS_SWIFT_NAME(ExpoReactRootViewFactory)
24
24
  /**
25
25
  Calls super `viewWithModuleName:initialProperties:launchOptions:` from `RCTRootViewFactory`.
26
26
  */
27
+ #if TARGET_OS_IOS
28
+ - (UIView *)superViewWithModuleName:(NSString *)moduleName
29
+ initialProperties:(nullable NSDictionary *)initialProperties
30
+ launchOptions:(nullable NSDictionary *)launchOptions
31
+ devMenuConfiguration:(nullable RCTDevMenuConfiguration *)devMenuConfiguration;
32
+ #else
27
33
  - (UIView *)superViewWithModuleName:(NSString *)moduleName
28
34
  initialProperties:(nullable NSDictionary *)initialProperties
29
35
  launchOptions:(nullable NSDictionary *)launchOptions;
36
+ #endif
30
37
 
31
38
  @end
32
39
 
@@ -3,6 +3,7 @@
3
3
  #import <Expo/EXReactRootViewFactory.h>
4
4
  #import <Expo/RCTAppDelegateUmbrella.h>
5
5
  #import <Expo/Swift.h>
6
+ #import <React/RCTDevMenu.h>
6
7
 
7
8
  // When `use_frameworks!` is used, the generated Swift header is inside ExpoModulesCore module.
8
9
  // Otherwise, it's available only locally with double-quoted imports.
@@ -30,6 +31,30 @@
30
31
  return self;
31
32
  }
32
33
 
34
+ #if TARGET_OS_IOS
35
+ - (UIView *)viewWithModuleName:(NSString *)moduleName
36
+ initialProperties:(nullable NSDictionary *)initialProperties
37
+ launchOptions:(nullable NSDictionary *)launchOptions
38
+ devMenuConfiguration:(RCTDevMenuConfiguration *)devMenuConfiguration
39
+ {
40
+ if (self.reactDelegate != nil) {
41
+ return [self.reactDelegate createReactRootViewWithModuleName:moduleName initialProperties:initialProperties launchOptions:launchOptions];
42
+ }
43
+ return [super viewWithModuleName:moduleName initialProperties:initialProperties launchOptions:launchOptions devMenuConfiguration:devMenuConfiguration];
44
+ }
45
+
46
+ - (UIView *)superViewWithModuleName:(NSString *)moduleName
47
+ initialProperties:(nullable NSDictionary *)initialProperties
48
+ launchOptions:(nullable NSDictionary *)launchOptions
49
+ devMenuConfiguration:(nullable RCTDevMenuConfiguration *)devMenuConfiguration
50
+ {
51
+ if (devMenuConfiguration == nil) {
52
+ devMenuConfiguration = [RCTDevMenuConfiguration defaultConfiguration];
53
+ }
54
+
55
+ return [super viewWithModuleName:moduleName initialProperties:initialProperties launchOptions:launchOptions devMenuConfiguration:devMenuConfiguration];
56
+ }
57
+ #else
33
58
  - (UIView *)viewWithModuleName:(NSString *)moduleName
34
59
  initialProperties:(nullable NSDictionary *)initialProperties
35
60
  launchOptions:(nullable NSDictionary *)launchOptions
@@ -46,6 +71,7 @@
46
71
  {
47
72
  return [super viewWithModuleName:moduleName initialProperties:initialProperties launchOptions:launchOptions];
48
73
  }
74
+ #endif
49
75
 
50
76
  - (NSURL *)bundleURL
51
77
  {
@@ -10,7 +10,7 @@ import ReactAppDependencyProvider
10
10
  Keep functions and markers in sync with https://developer.apple.com/documentation/uikit/uiapplicationdelegate
11
11
  */
12
12
  @objc(EXExpoAppDelegate)
13
- open class ExpoAppDelegate: NSObject, UIApplicationDelegate {
13
+ open class ExpoAppDelegate: UIResponder, UIApplicationDelegate {
14
14
  // MARK: - Initializing the App
15
15
  #if os(iOS) || os(tvOS)
16
16
 
@@ -120,19 +120,38 @@ public class ExpoReactNativeFactory: RCTReactNativeFactory, ExpoReactNativeFacto
120
120
 
121
121
  let rootView: UIView
122
122
  if let factory = self.rootViewFactory as? ExpoReactRootViewFactory {
123
+ // RCTDevMenuConfiguration is only available in react-native 0.83+
124
+ #if os(iOS)
123
125
  // When calling `recreateRootViewWithBundleURL:` from `EXReactRootViewFactory`,
124
126
  // we don't want to loop the ReactDelegate again. Otherwise, it will be an infinite loop.
127
+ rootView = factory.superView(
128
+ withModuleName: moduleName ?? defaultModuleName,
129
+ initialProperties: initialProps,
130
+ launchOptions: launchOptions ?? [:],
131
+ devMenuConfiguration: self.devMenuConfiguration
132
+ )
133
+ #else
125
134
  rootView = factory.superView(
126
135
  withModuleName: moduleName ?? defaultModuleName,
127
136
  initialProperties: initialProps,
128
137
  launchOptions: launchOptions ?? [:]
129
138
  )
139
+ #endif
130
140
  } else {
141
+ #if os(iOS)
142
+ rootView = rootViewFactory.view(
143
+ withModuleName: moduleName ?? defaultModuleName,
144
+ initialProperties: initialProps,
145
+ launchOptions: launchOptions,
146
+ devMenuConfiguration: self.devMenuConfiguration
147
+ )
148
+ #else
131
149
  rootView = rootViewFactory.view(
132
150
  withModuleName: moduleName ?? defaultModuleName,
133
151
  initialProperties: initialProps,
134
152
  launchOptions: launchOptions
135
153
  )
154
+ #endif
136
155
  }
137
156
 
138
157
  return rootView
@@ -0,0 +1,14 @@
1
+ // Copyright 2025-present 650 Industries. All rights reserved.
2
+
3
+ import Testing
4
+ @testable import Expo
5
+
6
+ @Suite
7
+ struct ExpoAppDelegateTests {
8
+ @Test
9
+ func `extends UIResponder`() {
10
+ // Assert that `ExpoAppDelegate` extends from `UIResponder` so it doesn't regress again in the future.
11
+ // Otherwise, the `AppDelegate` would lose its responder behavior such as being able to handle touches and key presses.
12
+ #expect(ExpoAppDelegate.self is UIResponder.Type)
13
+ }
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo",
3
- "version": "55.0.0-canary-20251031-b135dff",
3
+ "version": "55.0.0-canary-20251118-8f7ee64",
4
4
  "description": "The Expo SDK",
5
5
  "main": "src/Expo.ts",
6
6
  "module": "src/Expo.ts",
@@ -75,41 +75,41 @@
75
75
  "homepage": "https://github.com/expo/expo/tree/main/packages/expo",
76
76
  "dependencies": {
77
77
  "@babel/runtime": "^7.20.0",
78
- "@expo/cli": "54.1.0-canary-20251031-b135dff",
79
- "@expo/config": "12.0.11-canary-20251031-b135dff",
80
- "@expo/config-plugins": "54.0.3-canary-20251031-b135dff",
81
- "@expo/devtools": "0.1.8-canary-20251031-b135dff",
82
- "@expo/fingerprint": "0.15.3-canary-20251031-b135dff",
78
+ "@expo/cli": "55.0.0-canary-20251118-8f7ee64",
79
+ "@expo/config": "12.0.11-canary-20251118-8f7ee64",
80
+ "@expo/config-plugins": "54.0.3-canary-20251118-8f7ee64",
81
+ "@expo/devtools": "0.1.8-canary-20251118-8f7ee64",
82
+ "@expo/fingerprint": "0.15.4-canary-20251118-8f7ee64",
83
83
  "@expo/metro": "~54.1.0",
84
- "@expo/metro-config": "54.0.9-canary-20251031-b135dff",
84
+ "@expo/metro-config": "54.1.0-canary-20251118-8f7ee64",
85
85
  "@expo/vector-icons": "^15.0.2",
86
- "@expo/log-box": "0.0.13-canary-20251031-b135dff",
86
+ "@expo/log-box": "0.0.13-canary-20251118-8f7ee64",
87
87
  "@ungap/structured-clone": "^1.3.0",
88
- "babel-preset-expo": "54.0.7-canary-20251031-b135dff",
89
- "expo-asset": "12.0.10-canary-20251031-b135dff",
90
- "expo-constants": "18.1.0-canary-20251031-b135dff",
91
- "expo-file-system": "19.1.0-canary-20251031-b135dff",
92
- "expo-font": "14.0.10-canary-20251031-b135dff",
93
- "expo-keep-awake": "15.0.8-canary-20251031-b135dff",
94
- "expo-modules-autolinking": "3.1.0-canary-20251031-b135dff",
95
- "expo-modules-core": "3.1.0-canary-20251031-b135dff",
88
+ "babel-preset-expo": "54.1.0-canary-20251118-8f7ee64",
89
+ "expo-asset": "12.0.11-canary-20251118-8f7ee64",
90
+ "expo-constants": "18.1.0-canary-20251118-8f7ee64",
91
+ "expo-file-system": "19.1.0-canary-20251118-8f7ee64",
92
+ "expo-font": "14.0.10-canary-20251118-8f7ee64",
93
+ "expo-keep-awake": "15.0.8-canary-20251118-8f7ee64",
94
+ "expo-modules-autolinking": "3.1.0-canary-20251118-8f7ee64",
95
+ "expo-modules-core": "3.1.0-canary-20251118-8f7ee64",
96
96
  "pretty-format": "^29.7.0",
97
97
  "react-refresh": "^0.14.2",
98
98
  "whatwg-url-without-unicode": "8.0.0-3"
99
99
  },
100
100
  "devDependencies": {
101
101
  "@types/node": "^22.14.0",
102
- "@types/react": "~19.1.10",
102
+ "@types/react": "~19.2.0",
103
103
  "@types/react-test-renderer": "~19.1.0",
104
- "expo-module-scripts": "5.0.8-canary-20251031-b135dff",
105
- "react": "19.1.1",
106
- "react-dom": "19.1.1",
107
- "react-native": "0.82.1",
104
+ "expo-module-scripts": "5.1.0-canary-20251118-8f7ee64",
105
+ "react": "19.2.0",
106
+ "react-dom": "19.2.0",
107
+ "react-native": "0.83.0-nightly-20251104-502efe1cc",
108
108
  "web-streams-polyfill": "^3.3.2"
109
109
  },
110
110
  "peerDependencies": {
111
- "@expo/dom-webview": "0.2.8-canary-20251031-b135dff",
112
- "@expo/metro-runtime": "6.2.0-canary-20251031-b135dff",
111
+ "@expo/dom-webview": "0.2.8-canary-20251118-8f7ee64",
112
+ "@expo/metro-runtime": "6.2.0-canary-20251118-8f7ee64",
113
113
  "react": "*",
114
114
  "react-native": "*",
115
115
  "react-native-webview": "*"
@@ -73,8 +73,15 @@ function normalizeArgs(
73
73
  blobFilename: string | undefined
74
74
  ): [string, File | string] {
75
75
  if (value instanceof Blob) {
76
- // @ts-expect-error: `Blob.data.blobId` is react-native's proprietary property.
77
- value.name = blobFilename ?? blob.name ?? 'blob';
76
+ const descriptor = Object.getOwnPropertyDescriptor(value, 'name');
77
+
78
+ if (descriptor && descriptor.writable) {
79
+ // @ts-expect-error: `name` is not accessible in blob
80
+ value.name = blobFilename ?? value.name ?? 'blob';
81
+ } else if (!descriptor && Object.isExtensible(value)) {
82
+ // @ts-expect-error: `name` is not accessible in blob
83
+ value.name = blobFilename ?? 'blob';
84
+ }
78
85
  } else if (typeof value !== 'object') {
79
86
  value = String(value);
80
87
  }
package/template.tgz CHANGED
Binary file
@@ -93,7 +93,7 @@ declare module 'react-native' {
93
93
  /** @platform web */
94
94
  transitionDelay?: string | string[];
95
95
  /** @platform web */
96
- transitionDuration?: string | string[];
96
+ transitionDuration?: string | string[] | number;
97
97
  /** @platform web */
98
98
  transitionProperty?: string | string[];
99
99
  /** @platform web */