expo 54.0.0-canary-20250722-599a28f → 54.0.0-preview.0

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.
Files changed (89) hide show
  1. package/android/build.gradle +2 -2
  2. package/android/src/main/java/expo/modules/ExpoReactHostFactory.kt +1 -7
  3. package/android/src/main/java/expo/modules/ReactActivityDelegateWrapper.kt +8 -8
  4. package/android/src/main/java/expo/modules/ReactNativeHostWrapper.kt +0 -5
  5. package/android/src/test/resources/robolectric.properties +1 -0
  6. package/build/Expo.d.ts +9 -1
  7. package/build/Expo.d.ts.map +1 -1
  8. package/build/async-require/fetchAsync.native.d.ts.map +1 -1
  9. package/build/async-require/hmr.d.ts.map +1 -1
  10. package/build/winter/FormData.d.ts.map +1 -1
  11. package/build/winter/fetch/RequestUtils.d.ts.map +1 -1
  12. package/build/winter/fetch/convertFormData.d.ts.map +1 -1
  13. package/build/winter/installGlobal.d.ts +25 -0
  14. package/build/winter/installGlobal.d.ts.map +1 -0
  15. package/bundledNativeModules.json +94 -92
  16. package/devtools.d.ts +1 -1
  17. package/devtools.js +1 -1
  18. package/internal/babel-preset.d.ts +2 -0
  19. package/internal/babel-preset.js +2 -0
  20. package/internal/unstable-autolinking-exports.d.ts +2 -0
  21. package/internal/unstable-autolinking-exports.js +2 -0
  22. package/internal/unstable-expo-updates-cli-exports.d.ts +2 -0
  23. package/internal/unstable-expo-updates-cli-exports.js +2 -0
  24. package/ios/AppDelegates/ExpoAppDelegate.swift +1 -1
  25. package/ios/AppDelegates/ExpoReactNativeFactory.swift +2 -2
  26. package/ios/AppDelegates/ExpoReactNativeFactoryDelegate.swift +1 -1
  27. package/ios/AppDelegates/RCTAppDelegateUmbrella.h +5 -0
  28. package/ios/Fetch/ExpoFetchCustomExtension.swift +1 -1
  29. package/ios/Fetch/ExpoFetchModule.swift +3 -3
  30. package/ios/Fetch/ExpoURLSessionTask.swift +2 -2
  31. package/ios/Fetch/NativeRequest.swift +1 -1
  32. package/ios/Fetch/NativeResponse.swift +2 -2
  33. package/package.json +27 -24
  34. package/src/Expo.ts +4 -0
  35. package/src/async-require/fetchAsync.native.ts +48 -10
  36. package/src/async-require/hmr.ts +1 -2
  37. package/src/async-require/messageSocket.native.ts +0 -3
  38. package/src/winter/FormData.ts +1 -9
  39. package/src/winter/fetch/RequestUtils.ts +15 -1
  40. package/src/winter/fetch/__tests__/convertFormData-test.native.ts +1 -3
  41. package/src/winter/fetch/convertFormData.ts +56 -27
  42. package/src/winter/installGlobal.ts +109 -0
  43. package/src/winter/runtime.native.ts +1 -20
  44. package/template.tgz +0 -0
  45. package/build/devtools/DevToolsPluginClient.d.ts +0 -72
  46. package/build/devtools/DevToolsPluginClient.d.ts.map +0 -1
  47. package/build/devtools/DevToolsPluginClientFactory.d.ts +0 -16
  48. package/build/devtools/DevToolsPluginClientFactory.d.ts.map +0 -1
  49. package/build/devtools/DevToolsPluginClientImplApp.d.ts +0 -15
  50. package/build/devtools/DevToolsPluginClientImplApp.d.ts.map +0 -1
  51. package/build/devtools/DevToolsPluginClientImplBrowser.d.ts +0 -14
  52. package/build/devtools/DevToolsPluginClientImplBrowser.d.ts.map +0 -1
  53. package/build/devtools/MessageFramePacker.d.ts +0 -50
  54. package/build/devtools/MessageFramePacker.d.ts.map +0 -1
  55. package/build/devtools/ProtocolVersion.d.ts +0 -7
  56. package/build/devtools/ProtocolVersion.d.ts.map +0 -1
  57. package/build/devtools/WebSocketBackingStore.d.ts +0 -10
  58. package/build/devtools/WebSocketBackingStore.d.ts.map +0 -1
  59. package/build/devtools/WebSocketWithReconnect.d.ts +0 -81
  60. package/build/devtools/WebSocketWithReconnect.d.ts.map +0 -1
  61. package/build/devtools/devtools.types.d.ts +0 -42
  62. package/build/devtools/devtools.types.d.ts.map +0 -1
  63. package/build/devtools/getConnectionInfo.d.ts +0 -6
  64. package/build/devtools/getConnectionInfo.d.ts.map +0 -1
  65. package/build/devtools/getConnectionInfo.native.d.ts +0 -6
  66. package/build/devtools/getConnectionInfo.native.d.ts.map +0 -1
  67. package/build/devtools/index.d.ts +0 -12
  68. package/build/devtools/index.d.ts.map +0 -1
  69. package/build/devtools/logger.d.ts +0 -6
  70. package/build/devtools/logger.d.ts.map +0 -1
  71. package/src/devtools/DevToolsPluginClient.ts +0 -240
  72. package/src/devtools/DevToolsPluginClientFactory.ts +0 -73
  73. package/src/devtools/DevToolsPluginClientImplApp.ts +0 -56
  74. package/src/devtools/DevToolsPluginClientImplBrowser.ts +0 -38
  75. package/src/devtools/MessageFramePacker.ts +0 -235
  76. package/src/devtools/ProtocolVersion.ts +0 -6
  77. package/src/devtools/WebSocketBackingStore.ts +0 -10
  78. package/src/devtools/WebSocketWithReconnect.ts +0 -318
  79. package/src/devtools/__tests__/DevToolsPluginClient-test.ts +0 -285
  80. package/src/devtools/__tests__/DevToolsPluginClientFactory-test.ts +0 -120
  81. package/src/devtools/__tests__/MessageFramePack-test.node.ts +0 -157
  82. package/src/devtools/__tests__/MockWebSocket.ts +0 -100
  83. package/src/devtools/__tests__/WebSocketWithReconnect-test.node.ts +0 -184
  84. package/src/devtools/__tests__/logger-test.ts +0 -20
  85. package/src/devtools/devtools.types.ts +0 -50
  86. package/src/devtools/getConnectionInfo.native.ts +0 -18
  87. package/src/devtools/getConnectionInfo.ts +0 -16
  88. package/src/devtools/index.ts +0 -53
  89. package/src/devtools/logger.ts +0 -29
@@ -32,7 +32,7 @@ buildscript {
32
32
  def reactNativeVersion = project.extensions.getByType(ExpoModuleExtension).reactNativeVersion
33
33
 
34
34
  group = 'host.exp.exponent'
35
- version = '54.0.0-canary-20250722-599a28f'
35
+ version = '54.0.0-preview.0'
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 "54.0.0-canary-20250722-599a28f"
46
+ versionName "54.0.0-preview.0"
47
47
  consumerProguardFiles("proguard-rules.pro")
48
48
  }
49
49
  testOptions {
@@ -3,7 +3,6 @@
3
3
  package expo.modules
4
4
 
5
5
  import android.content.Context
6
- import com.facebook.react.JSEngineResolutionAlgorithm
7
6
  import com.facebook.react.ReactHost
8
7
  import com.facebook.react.ReactInstanceEventListener
9
8
  import com.facebook.react.ReactNativeHost
@@ -16,7 +15,6 @@ import com.facebook.react.defaults.DefaultComponentsRegistry
16
15
  import com.facebook.react.defaults.DefaultTurboModuleManagerDelegate
17
16
  import com.facebook.react.fabric.ComponentFactory
18
17
  import com.facebook.react.runtime.BindingsInstaller
19
- import com.facebook.react.runtime.JSCInstance
20
18
  import com.facebook.react.runtime.JSRuntimeFactory
21
19
  import com.facebook.react.runtime.ReactHostDelegate
22
20
  import com.facebook.react.runtime.ReactHostImpl
@@ -58,11 +56,7 @@ object ExpoReactHostFactory {
58
56
  get() = reactNativeHostWrapper.jsMainModuleName
59
57
 
60
58
  override val jsRuntimeFactory: JSRuntimeFactory
61
- get() = if (reactNativeHostWrapper.jsEngineResolutionAlgorithm == JSEngineResolutionAlgorithm.HERMES) {
62
- HermesInstance()
63
- } else {
64
- JSCInstance()
65
- }
59
+ get() = HermesInstance()
66
60
 
67
61
  override val reactPackages: List<ReactPackage>
68
62
  get() = reactNativeHostWrapper.packages
@@ -172,7 +172,7 @@ class ReactActivityDelegateWrapper(
172
172
  launchOptions,
173
173
  isFabricEnabled
174
174
  ) {
175
- override fun createRootView(): ReactRootView {
175
+ override fun createRootView(): ReactRootView? {
176
176
  return this@ReactActivityDelegateWrapper.createRootView() ?: super.createRootView()
177
177
  }
178
178
  }
@@ -292,7 +292,7 @@ class ReactActivityDelegateWrapper(
292
292
  }
293
293
  }
294
294
 
295
- override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
295
+ override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
296
296
  if (!loadAppReady.isCompleted) {
297
297
  return false
298
298
  }
@@ -303,7 +303,7 @@ class ReactActivityDelegateWrapper(
303
303
  .fold(false) { accu, current -> accu || current } || delegate.onKeyDown(keyCode, event)
304
304
  }
305
305
 
306
- override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
306
+ override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
307
307
  if (!loadAppReady.isCompleted) {
308
308
  return false
309
309
  }
@@ -314,7 +314,7 @@ class ReactActivityDelegateWrapper(
314
314
  .fold(false) { accu, current -> accu || current } || delegate.onKeyUp(keyCode, event)
315
315
  }
316
316
 
317
- override fun onKeyLongPress(keyCode: Int, event: KeyEvent?): Boolean {
317
+ override fun onKeyLongPress(keyCode: Int, event: KeyEvent): Boolean {
318
318
  if (!loadAppReady.isCompleted) {
319
319
  return false
320
320
  }
@@ -354,14 +354,14 @@ class ReactActivityDelegateWrapper(
354
354
  }
355
355
  }
356
356
 
357
- override fun requestPermissions(permissions: Array<out String>?, requestCode: Int, listener: PermissionListener?) {
357
+ override fun requestPermissions(permissions: Array<out String>, requestCode: Int, listener: PermissionListener?) {
358
358
  launchLifecycleScopeWithLock {
359
359
  loadAppReady.await()
360
360
  delegate.requestPermissions(permissions, requestCode, listener)
361
361
  }
362
362
  }
363
363
 
364
- override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>?, grantResults: IntArray?) {
364
+ override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
365
365
  launchLifecycleScopeWithLock {
366
366
  loadAppReady.await()
367
367
  delegate.onRequestPermissionsResult(requestCode, permissions, grantResults)
@@ -388,7 +388,7 @@ class ReactActivityDelegateWrapper(
388
388
  return invokeDelegateMethod("composeLaunchOptions")
389
389
  }
390
390
 
391
- override fun onConfigurationChanged(newConfig: Configuration?) {
391
+ override fun onConfigurationChanged(newConfig: Configuration) {
392
392
  launchLifecycleScopeWithLock {
393
393
  loadAppReady.await()
394
394
  delegate.onConfigurationChanged(newConfig)
@@ -438,7 +438,7 @@ class ReactActivityDelegateWrapper(
438
438
  mReactDelegate.isAccessible = true
439
439
  val reactDelegate = mReactDelegate[delegate] as ReactDelegate
440
440
 
441
- reactDelegate.loadApp(appKey)
441
+ reactDelegate.loadApp(requireNotNull(appKey))
442
442
  val reactRootView = reactDelegate.reactRootView
443
443
  (reactRootView?.parent as? ViewGroup)?.removeView(reactRootView)
444
444
  rootViewContainer.addView(reactRootView, ViewGroup.LayoutParams.MATCH_PARENT)
@@ -2,7 +2,6 @@ package expo.modules
2
2
 
3
3
  import android.app.Application
4
4
  import android.content.Context
5
- import com.facebook.react.JSEngineResolutionAlgorithm
6
5
  import com.facebook.react.ReactHost
7
6
  import com.facebook.react.ReactNativeHost
8
7
  import com.facebook.react.ReactPackageTurboModuleManagerDelegate
@@ -31,10 +30,6 @@ class ReactNativeHostWrapper(
31
30
  return invokeDelegateMethod("getUIManagerProvider")
32
31
  }
33
32
 
34
- public override fun getJSEngineResolutionAlgorithm(): JSEngineResolutionAlgorithm? {
35
- return invokeDelegateMethod("getJSEngineResolutionAlgorithm")
36
- }
37
-
38
33
  override fun getShouldRequireActivity(): Boolean {
39
34
  return host.shouldRequireActivity
40
35
  }
package/build/Expo.d.ts CHANGED
@@ -3,6 +3,14 @@ export { disableErrorHandling } from './errors/ExpoErrorManager';
3
3
  export { default as registerRootComponent } from './launch/registerRootComponent';
4
4
  export { isRunningInExpoGo, getExpoGoProjectConfig } from './environment/ExpoGo';
5
5
  export { EventEmitter, SharedObject, SharedRef, NativeModule, requireNativeModule, requireOptionalNativeModule, requireNativeViewManager as requireNativeView, registerWebModule, reloadAppAsync, } from 'expo-modules-core';
6
- export type { SharedRef as SharedRefType, EventEmitter as EventEmitterType, NativeModule as NativeModuleType, SharedObject as SharedObjectType, } from 'expo-modules-core/types';
6
+ export type {
7
+ /** @deprecated Move to `SharedRef` with a type-only import instead */
8
+ SharedRef as SharedRefType,
9
+ /** @deprecated Move to `EventEmitter` with a type-only import instead */
10
+ EventEmitter as EventEmitterType,
11
+ /** @deprecated Move to `NativeModule` with a type-only import instead */
12
+ NativeModule as NativeModuleType,
13
+ /** @deprecated Move to `SharedObject` with a type-only import instead */
14
+ SharedObject as SharedObjectType, } from 'expo-modules-core/types';
7
15
  export { useEvent, useEventListener } from './hooks/useEvent';
8
16
  //# sourceMappingURL=Expo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Expo.d.ts","sourceRoot":"","sources":["../src/Expo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EAGZ,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,IAAI,iBAAiB,EAC7C,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,SAAS,IAAI,aAAa,EAC1B,YAAY,IAAI,gBAAgB,EAChC,YAAY,IAAI,gBAAgB,EAChC,YAAY,IAAI,gBAAgB,GACjC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"Expo.d.ts","sourceRoot":"","sources":["../src/Expo.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EAGZ,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,IAAI,iBAAiB,EAC7C,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACV,sEAAsE;AACtE,SAAS,IAAI,aAAa;AAC1B,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB;AAChC,yEAAyE;AACzE,YAAY,IAAI,gBAAgB,GACjC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAsync.native.d.ts","sourceRoot":"","sources":["../../src/async-require/fetchAsync.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CA2D5E"}
1
+ {"version":3,"file":"fetchAsync.native.d.ts","sourceRoot":"","sources":["../../src/async-require/fetchAsync.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAgF5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/async-require/hmr.ts"],"names":[],"mappings":"AA6CA,KAAK,QAAQ,GACT,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5C,CAAC;AAMF;;;GAGG;AACH,QAAA,MAAM,SAAS,EAAE,wBAsMhB,CAAC;AAuEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/async-require/hmr.ts"],"names":[],"mappings":"AA4CA,KAAK,QAAQ,GACT,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,GACL,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5C,CAAC;AAMF;;;GAGG;AACH,QAAA,MAAM,SAAS,EAAE,wBAsMhB,CAAC;AAuEF,eAAe,SAAS,CAAC"}
@@ -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;AAkCD,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;AA0BD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAAQ,GAAG,OAAO,YAAY,CAkInF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestUtils.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/RequestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD;;GAEG;AACH,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAC,CA6C7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAe/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,iBAAiB,GAC5B,iBAAiB,CAYnB"}
1
+ {"version":3,"file":"RequestUtils.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/RequestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD;;GAEG;AACH,wBAAsB,sCAAsC,CAC1D,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAgBD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAC,CA6C7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAe/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,iBAAiB,GAC5B,iBAAiB,CAYnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertFormData.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/convertFormData.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,MAAyB,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAOvC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAWhE"}
1
+ {"version":3,"file":"convertFormData.d.ts","sourceRoot":"","sources":["../../../src/winter/fetch/convertFormData.ts"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,MAAyB,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDjD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAOvC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAWhE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright © 2025 650 Industries.
3
+ * Copyright © Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * Fork of unexposed react-native module
9
+ * https://github.com/facebook/react-native/blob/c5fb371061c1083684a23aa0852f6dbfb74a8b52/packages/react-native/Libraries/Utilities/PolyfillFunctions.js#L1
10
+ */
11
+ /**
12
+ * Sets an object's property. If a property with the same name exists, this will
13
+ * replace it but maintain its descriptor configuration. The property will be
14
+ * replaced with a lazy getter.
15
+ *
16
+ * In DEV mode the original property value will be preserved as `original[PropertyName]`
17
+ * so that, if necessary, it can be restored. For example, if you want to route
18
+ * network requests through DevTools (to trace them):
19
+ *
20
+ * global.XMLHttpRequest = global.originalXMLHttpRequest;
21
+ *
22
+ * @see https://github.com/facebook/react-native/issues/934
23
+ */
24
+ export declare function installGlobal<T extends object>(name: string, getValue: () => T): void;
25
+ //# sourceMappingURL=installGlobal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installGlobal.d.ts","sourceRoot":"","sources":["../../src/winter/installGlobal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAyDH;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CA6BrF"}
@@ -1,115 +1,117 @@
1
1
  {
2
- "@expo/fingerprint": "0.13.5-canary-20250722-599a28f",
3
- "@expo/metro-runtime": "6.0.0-canary-20250722-599a28f",
2
+ "@expo/fingerprint": "~0.14.0",
3
+ "@expo/metro-runtime": "~6.0.0",
4
4
  "@expo/vector-icons": "^14.1.0",
5
- "@expo/ui": "0.1.1-canary-20250722-599a28f",
5
+ "@expo/ui": "~0.2.0-alpha.0",
6
6
  "@react-native-async-storage/async-storage": "2.2.0",
7
- "@react-native-community/datetimepicker": "8.4.1",
7
+ "@react-native-community/datetimepicker": "8.4.4",
8
8
  "@react-native-masked-view/masked-view": "0.3.2",
9
9
  "@react-native-community/netinfo": "11.4.1",
10
- "@react-native-community/slider": "4.5.6",
10
+ "@react-native-community/slider": "5.0.0",
11
11
  "@react-native-community/viewpager": "5.0.11",
12
12
  "@react-native-picker/picker": "2.11.1",
13
13
  "@react-native-segmented-control/segmented-control": "2.5.7",
14
- "@stripe/stripe-react-native": "0.45.0",
15
- "eslint-config-expo": "9.3.0-canary-20250722-599a28f",
14
+ "@stripe/stripe-react-native": "0.50.3",
15
+ "eslint-config-expo": "~10.0.0",
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": "7.2.5-canary-20250722-599a28f",
20
- "expo-application": "6.1.6-canary-20250722-599a28f",
21
- "expo-asset": "11.2.0-canary-20250722-599a28f",
22
- "expo-audio": "0.4.9-canary-20250722-599a28f",
23
- "expo-auth-session": "6.1.6-canary-20250722-599a28f",
24
- "expo-av": "15.1.8-canary-20250722-599a28f",
25
- "expo-background-fetch": "13.1.7-canary-20250722-599a28f",
26
- "expo-background-task": "0.2.9-canary-20250722-599a28f",
27
- "expo-battery": "9.1.5-canary-20250722-599a28f",
28
- "expo-blur": "14.1.6-canary-20250722-599a28f",
29
- "expo-brightness": "13.1.5-canary-20250722-599a28f",
30
- "expo-build-properties": "0.15.0-canary-20250722-599a28f",
31
- "expo-calendar": "14.1.5-canary-20250722-599a28f",
32
- "expo-camera": "16.1.12-canary-20250722-599a28f",
33
- "expo-cellular": "7.1.6-canary-20250722-599a28f",
34
- "expo-checkbox": "4.1.5-canary-20250722-599a28f",
35
- "expo-clipboard": "7.1.6-canary-20250722-599a28f",
36
- "expo-constants": "17.1.8-canary-20250722-599a28f",
37
- "expo-contacts": "14.2.6-canary-20250722-599a28f",
38
- "expo-crypto": "14.1.6-canary-20250722-599a28f",
39
- "expo-dev-client": "5.1.9-canary-20250722-599a28f",
40
- "expo-device": "7.1.5-canary-20250722-599a28f",
41
- "expo-document-picker": "14.0.0-canary-20250722-599a28f",
42
- "expo-file-system": "18.2.0-canary-20250722-599a28f",
43
- "expo-font": "13.4.0-canary-20250722-599a28f",
44
- "expo-gl": "15.1.8-canary-20250722-599a28f",
19
+ "expo-apple-authentication": "~8.0.0",
20
+ "expo-application": "~7.0.0",
21
+ "expo-asset": "~12.0.0",
22
+ "expo-audio": "~1.0.0",
23
+ "expo-auth-session": "~7.0.0",
24
+ "expo-av": "~16.0.0",
25
+ "expo-background-fetch": "~14.0.0",
26
+ "expo-background-task": "~1.0.0",
27
+ "expo-battery": "~10.0.0",
28
+ "expo-blur": "~15.0.0",
29
+ "expo-brightness": "~14.0.0",
30
+ "expo-build-properties": "~1.0.0",
31
+ "expo-calendar": "~15.0.0",
32
+ "expo-camera": "~17.0.0",
33
+ "expo-cellular": "~8.0.0",
34
+ "expo-checkbox": "~5.0.0",
35
+ "expo-clipboard": "~8.0.0",
36
+ "expo-constants": "~18.0.0",
37
+ "expo-contacts": "~15.0.0",
38
+ "expo-crypto": "~15.0.0",
39
+ "expo-dev-client": "~6.0.0",
40
+ "expo-device": "~8.0.0",
41
+ "expo-document-picker": "~14.0.0",
42
+ "expo-file-system": "~19.0.0",
43
+ "expo-font": "~14.0.0",
44
+ "expo-gl": "~16.0.0",
45
45
  "expo-google-app-auth": "~8.3.0",
46
- "expo-haptics": "14.1.5-canary-20250722-599a28f",
47
- "expo-image": "2.5.0-canary-20250722-599a28f",
48
- "expo-image-loader": "5.1.1-canary-20250722-599a28f",
49
- "expo-image-manipulator": "13.1.8-canary-20250722-599a28f",
50
- "expo-image-picker": "17.0.0-canary-20250722-599a28f",
51
- "expo-intent-launcher": "13.0.0-canary-20250722-599a28f",
52
- "expo-insights": "0.9.4-canary-20250722-599a28f",
53
- "expo-keep-awake": "14.1.5-canary-20250722-599a28f",
54
- "expo-linear-gradient": "14.1.6-canary-20250722-599a28f",
55
- "expo-linking": "7.1.8-canary-20250722-599a28f",
56
- "expo-local-authentication": "16.1.0-canary-20250722-599a28f",
57
- "expo-localization": "16.2.0-canary-20250722-599a28f",
58
- "expo-location": "18.1.7-canary-20250722-599a28f",
59
- "expo-mail-composer": "14.1.6-canary-20250722-599a28f",
60
- "expo-manifests": "0.17.0-canary-20250722-599a28f",
61
- "expo-maps": "0.10.1-canary-20250722-599a28f",
62
- "expo-media-library": "18.0.0-canary-20250722-599a28f",
63
- "expo-mesh-gradient": "0.4.0-canary-20250722-599a28f",
64
- "expo-module-template": "10.16.8-canary-20250722-599a28f",
65
- "expo-modules-core": "2.6.0-canary-20250722-599a28f",
66
- "expo-navigation-bar": "4.2.8-canary-20250722-599a28f",
67
- "expo-network": "7.1.6-canary-20250722-599a28f",
68
- "expo-notifications": "0.31.5-canary-20250722-599a28f",
69
- "expo-print": "14.1.5-canary-20250722-599a28f",
70
- "expo-live-photo": "0.1.5-canary-20250722-599a28f",
71
- "expo-router": "5.2.0-canary-20250722-599a28f",
72
- "expo-screen-capture": "7.2.0-canary-20250722-599a28f",
73
- "expo-screen-orientation": "8.1.8-canary-20250722-599a28f",
74
- "expo-secure-store": "14.2.4-canary-20250722-599a28f",
75
- "expo-sensors": "14.1.5-canary-20250722-599a28f",
76
- "expo-sharing": "13.1.6-canary-20250722-599a28f",
77
- "expo-sms": "13.1.5-canary-20250722-599a28f",
78
- "expo-speech": "13.2.0-canary-20250722-599a28f",
79
- "expo-splash-screen": "0.30.11-canary-20250722-599a28f",
80
- "expo-sqlite": "15.2.15-canary-20250722-599a28f",
81
- "expo-status-bar": "2.2.4-canary-20250722-599a28f",
82
- "expo-store-review": "8.1.6-canary-20250722-599a28f",
83
- "expo-symbols": "0.4.6-canary-20250722-599a28f",
84
- "expo-system-ui": "5.0.11-canary-20250722-599a28f",
85
- "expo-task-manager": "13.1.7-canary-20250722-599a28f",
86
- "expo-tracking-transparency": "5.2.5-canary-20250722-599a28f",
87
- "expo-updates": "0.29.0-canary-20250722-599a28f",
88
- "expo-video-thumbnails": "9.1.4-canary-20250722-599a28f",
89
- "expo-video": "2.3.0-canary-20250722-599a28f",
90
- "expo-web-browser": "14.1.7-canary-20250722-599a28f",
91
- "jest-expo": "54.0.0-canary-20250722-599a28f",
46
+ "expo-haptics": "~15.0.0",
47
+ "expo-image": "~3.0.0",
48
+ "expo-image-loader": "~6.0.0",
49
+ "expo-image-manipulator": "~14.0.0",
50
+ "expo-image-picker": "~17.0.0",
51
+ "expo-intent-launcher": "~13.0.0",
52
+ "expo-insights": "~0.10.0",
53
+ "expo-keep-awake": "~15.0.0",
54
+ "expo-linear-gradient": "~15.0.0",
55
+ "expo-linking": "~8.0.0",
56
+ "expo-local-authentication": "~17.0.0",
57
+ "expo-localization": "~17.0.0",
58
+ "expo-location": "~19.0.0",
59
+ "expo-mail-composer": "~15.0.0",
60
+ "expo-manifests": "~1.0.0",
61
+ "expo-maps": "~0.12.0",
62
+ "expo-media-library": "~18.0.0",
63
+ "expo-mesh-gradient": "~0.4.0",
64
+ "expo-module-template": "~11.0.0",
65
+ "expo-modules-core": "~3.0.0",
66
+ "expo-navigation-bar": "~5.0.0",
67
+ "expo-network": "~8.0.0",
68
+ "expo-notifications": "~0.32.0",
69
+ "expo-print": "~15.0.0",
70
+ "expo-live-photo": "~1.0.0",
71
+ "expo-router": "~6.0.0-beta.0",
72
+ "expo-screen-capture": "~8.0.0",
73
+ "expo-screen-orientation": "~9.0.0",
74
+ "expo-secure-store": "~15.0.0",
75
+ "expo-sensors": "~15.0.0",
76
+ "expo-sharing": "~14.0.0",
77
+ "expo-sms": "~14.0.0",
78
+ "expo-speech": "~14.0.0",
79
+ "expo-splash-screen": "~31.0.0",
80
+ "expo-sqlite": "~16.0.0",
81
+ "expo-status-bar": "~3.0.0",
82
+ "expo-store-review": "~9.0.0",
83
+ "expo-symbols": "~1.0.0",
84
+ "expo-system-ui": "~6.0.0",
85
+ "expo-task-manager": "~14.0.0",
86
+ "expo-tracking-transparency": "~6.0.0",
87
+ "expo-updates": "~29.0.0",
88
+ "expo-video-thumbnails": "~10.0.0",
89
+ "expo-video": "~3.0.0",
90
+ "expo-web-browser": "~15.0.0",
91
+ "jest-expo": "~54.0.0",
92
+ "lottie-react-native": "~7.3.1",
92
93
  "react": "19.1.0",
93
94
  "react-dom": "19.1.0",
94
- "react-native": "0.80.1",
95
- "react-native-web": "~0.20.0",
95
+ "react-native": "0.81.0",
96
+ "react-native-web": "~0.21.0",
96
97
  "react-native-edge-to-edge": "1.6.0",
97
- "react-native-gesture-handler": "~2.26.0",
98
+ "react-native-gesture-handler": "~2.28.0",
98
99
  "react-native-get-random-values": "~1.11.0",
99
- "react-native-keyboard-controller": "1.17.5",
100
+ "react-native-keyboard-controller": "1.18.4",
100
101
  "react-native-maps": "1.20.1",
101
- "react-native-pager-view": "6.7.1",
102
- "react-native-reanimated": "~3.18.0",
103
- "react-native-screens": "~4.11.1",
104
- "react-native-safe-area-context": "5.4.0",
105
- "react-native-svg": "15.12.0",
102
+ "react-native-pager-view": "6.9.1",
103
+ "react-native-worklets": "~0.4.1",
104
+ "react-native-reanimated": "~4.0.2",
105
+ "react-native-screens": "4.14.0-nightly-20250803-1df3db25a",
106
+ "react-native-safe-area-context": "5.6.0",
107
+ "react-native-svg": "15.12.1",
106
108
  "react-native-view-shot": "4.0.3",
107
- "react-native-webview": "13.13.5",
109
+ "react-native-webview": "13.15.0",
108
110
  "sentry-expo": "~7.0.0",
109
- "unimodules-app-loader": "5.1.4-canary-20250722-599a28f",
111
+ "unimodules-app-loader": "~6.0.0",
110
112
  "unimodules-image-loader-interface": "~6.1.0",
111
- "@shopify/react-native-skia": "v2.0.0-next.4",
112
- "@shopify/flash-list": "1.8.3",
113
+ "@shopify/react-native-skia": "2.2.3",
114
+ "@shopify/flash-list": "2.0.2",
113
115
  "@sentry/react-native": "~6.14.0",
114
116
  "react-native-bootsplash": "^6.3.7"
115
117
  }
package/devtools.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './build/devtools';
1
+ export * from '@expo/devtools';
package/devtools.js CHANGED
@@ -1 +1 @@
1
- module.exports = require('./src/devtools');
1
+ module.exports = require('@expo/devtools');
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, don't rely on this to be a public API or use it outside of `expo/expo`'s monorepo
2
+ export * from 'babel-preset-expo';
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, don't rely on this to be a public API or use it outside of `expo/expo`'s monorepo
2
+ module.exports = require('babel-preset-expo');
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, you should avoid relying on this, if possible. Expect breaking changes between SDK releases
2
+ export * from 'expo-modules-autolinking/exports';
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, you should avoid relying on this, if possible. Expect breaking changes between SDK releases
2
+ module.exports = require('expo-modules-autolinking/exports');
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, don't rely on this to be a public API or use it outside of `expo/expo`'s monorepo
2
+ export * from '@expo/cli/internal/unstable-expo-updates-exports';
@@ -0,0 +1,2 @@
1
+ // WARN: Internal re-export, don't rely on this to be a public API or use it outside of `expo/expo`'s monorepo
2
+ module.exports = require('@expo/cli/internal/unstable-expo-updates-exports');
@@ -11,7 +11,7 @@ import ReactAppDependencyProvider
11
11
  Keep functions and markers in sync with https://developer.apple.com/documentation/uikit/uiapplicationdelegate
12
12
  */
13
13
  @objc(EXExpoAppDelegate)
14
- open class ExpoAppDelegate: NSObject, ReactNativeFactoryProvider, UIApplicationDelegate {
14
+ open class ExpoAppDelegate: NSObject, @preconcurrency ReactNativeFactoryProvider, UIApplicationDelegate {
15
15
  @objc public var factory: RCTReactNativeFactory?
16
16
  private let defaultModuleName = "main"
17
17
  private let defaultInitialProps = [AnyHashable: Any]()
@@ -1,8 +1,8 @@
1
1
  // Copyright 2015-present 650 Industries. All rights reserved.
2
2
 
3
- import React_RCTAppDelegate
3
+ import React
4
4
 
5
- public class ExpoReactNativeFactory: RCTReactNativeFactory {
5
+ @MainActor public class ExpoReactNativeFactory: RCTReactNativeFactory {
6
6
  private let reactDelegate = ExpoReactDelegate(handlers: ExpoAppDelegateSubscriberRepository.reactDelegateHandlers)
7
7
 
8
8
  @objc func createRCTRootViewFactory() -> RCTRootViewFactory {
@@ -1,4 +1,4 @@
1
- import React_RCTAppDelegate
1
+ import React
2
2
 
3
3
  open class ExpoReactNativeFactoryDelegate: RCTDefaultReactNativeFactoryDelegate {
4
4
  open override func customize(_ rootView: UIView) {
@@ -14,7 +14,12 @@
14
14
  #endif // USE_HERMES
15
15
  #endif // __has_include(<reacthermes/HermesExecutorFactory.h>)
16
16
 
17
+ #if __has_include(<React_RCTAppDelegate/React-RCTAppDelegate-umbrella.h>)
17
18
  #import <React_RCTAppDelegate/React-RCTAppDelegate-umbrella.h>
19
+ #else
20
+ #import <React_RCTAppDelegate/React_RCTAppDelegate-umbrella.h>
21
+ #endif
22
+
18
23
 
19
24
  #if INLINE_USE_HERMES
20
25
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
  @objc(EXFetchCustomExtension)
7
7
  public class ExpoFetchCustomExtension: NSObject {
8
- @objc
8
+ @MainActor @objc
9
9
  public static func setCustomURLSessionConfigurationProvider(_ provider: NSURLSessionConfigurationProvider?) {
10
10
  urlSessionConfigurationProvider = provider
11
11
  }
@@ -1,11 +1,11 @@
1
1
  // Copyright 2015-present 650 Industries. All rights reserved.
2
2
 
3
- import ExpoModulesCore
3
+ @preconcurrency import ExpoModulesCore
4
4
 
5
5
  private let fetchRequestQueue = DispatchQueue(label: "expo.modules.fetch.RequestQueue")
6
- internal var urlSessionConfigurationProvider: NSURLSessionConfigurationProvider?
6
+ @MainActor internal var urlSessionConfigurationProvider: NSURLSessionConfigurationProvider?
7
7
 
8
- public final class ExpoFetchModule: Module {
8
+ @MainActor public final class ExpoFetchModule: @preconcurrency Module {
9
9
  private lazy var urlSession = createURLSession()
10
10
  private let urlSessionDelegate: URLSessionSessionDelegateProxy
11
11
 
@@ -5,7 +5,7 @@ import ExpoModulesCore
5
5
  /**
6
6
  An URLSessionDataTask wrapper.
7
7
  */
8
- internal final class ExpoURLSessionTask: NSObject, URLSessionTaskDelegate, URLSessionDataDelegate {
8
+ internal final class ExpoURLSessionTask: NSObject, URLSessionTaskDelegate, URLSessionDataDelegate, @unchecked Sendable {
9
9
  private let delegate: ExpoURLSessionTaskDelegate
10
10
  private var task: URLSessionDataTask?
11
11
 
@@ -88,7 +88,7 @@ internal final class ExpoURLSessionTask: NSObject, URLSessionTaskDelegate, URLSe
88
88
  }
89
89
  }
90
90
 
91
- internal protocol ExpoURLSessionTaskDelegate: AnyObject {
91
+ internal protocol ExpoURLSessionTaskDelegate: AnyObject, Sendable {
92
92
  func urlSessionDidStart(_ session: ExpoURLSessionTask)
93
93
  func urlSession(_ session: ExpoURLSessionTask, didReceive response: URLResponse)
94
94
  func urlSession(_ session: ExpoURLSessionTask, didReceive data: Data)
@@ -5,7 +5,7 @@ import ExpoModulesCore
5
5
  /**
6
6
  A SharedObject for request.
7
7
  */
8
- internal final class NativeRequest: SharedObject {
8
+ internal final class NativeRequest: SharedObject, @unchecked Sendable {
9
9
  internal let response: NativeResponse
10
10
  internal let task: ExpoURLSessionTask
11
11
 
@@ -5,7 +5,7 @@ import ExpoModulesCore
5
5
  /**
6
6
  A SharedObject for response.
7
7
  */
8
- internal final class NativeResponse: SharedObject, ExpoURLSessionTaskDelegate {
8
+ internal final class NativeResponse: SharedObject, ExpoURLSessionTaskDelegate, @unchecked Sendable {
9
9
  internal let sink: ResponseSink
10
10
 
11
11
  private let dispatchQueue: DispatchQueue
@@ -72,7 +72,7 @@ internal final class NativeResponse: SharedObject, ExpoURLSessionTaskDelegate {
72
72
  /**
73
73
  Waits for given states and when it meets the requirement, executes the callback.
74
74
  */
75
- func waitFor(states: [ResponseState], callback: @escaping (ResponseState) -> Void) {
75
+ func waitFor(states: [ResponseState], callback: @escaping @Sendable (ResponseState) -> Void) {
76
76
  if states.contains(state) {
77
77
  callback(state)
78
78
  return