expo-template-bare-minimum 53.0.0-canary-20250407-10a9b42 → 53.0.0-preview.12

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.
@@ -14,6 +14,7 @@ react {
14
14
  hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc"
15
15
  codegenDir = new File(["node", "--print", "require.resolve('@react-native/codegen/package.json', { paths: [require.resolve('react-native/package.json')] })"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile()
16
16
 
17
+ enableBundleCompression = (findProperty('android.enableBundleCompression') ?: false).toBoolean()
17
18
  // Use Expo CLI to bundle the app, this ensures the Metro config
18
19
  // works correctly with Expo projects.
19
20
  cliFile = new File(["node", "--print", "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })"].execute(null, rootDir).text.trim())
@@ -35,7 +35,7 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
35
35
  # your application. You should enable this flag either if you want
36
36
  # to write custom TurboModules/Fabric components OR use libraries that
37
37
  # are providing them.
38
- newArchEnabled=false
38
+ newArchEnabled=true
39
39
 
40
40
  # Use this property to enable or disable the Hermes JS engine.
41
41
  # If set to false, you will be using JSC instead.
@@ -1,5 +1,6 @@
1
- import React
2
1
  import Expo
2
+ import React
3
+ import ReactAppDependencyProvider
3
4
 
4
5
  @UIApplicationMain
5
6
  public class AppDelegate: ExpoAppDelegate {
@@ -7,18 +8,22 @@ public class AppDelegate: ExpoAppDelegate {
7
8
  _ application: UIApplication,
8
9
  didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
9
10
  ) -> Bool {
10
- self.moduleName = "main"
11
- self.initialProps = [:]
11
+ let delegate = ReactNativeDelegate()
12
+ let factory = ExpoReactNativeFactory(delegate: delegate)
13
+ delegate.dependencyProvider = RCTAppDependencyProvider()
12
14
 
13
- return super.application(application, didFinishLaunchingWithOptions: launchOptions)
14
- }
15
+ reactNativeFactoryDelegate = delegate
16
+ reactNativeFactory = factory
15
17
 
16
- public override func bundleURL() -> URL? {
17
- #if DEBUG
18
- return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: ".expo/.virtual-metro-entry")
19
- #else
20
- return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
18
+ #if os(iOS) || os(tvOS)
19
+ window = UIWindow(frame: UIScreen.main.bounds)
20
+ reactNativeFactory?.startReactNative(
21
+ withModuleName: "main",
22
+ in: window,
23
+ launchOptions: launchOptions)
21
24
  #endif
25
+
26
+ return super.application(application, didFinishLaunchingWithOptions: launchOptions)
22
27
  }
23
28
 
24
29
  // Linking API
@@ -40,3 +45,20 @@ public class AppDelegate: ExpoAppDelegate {
40
45
  return super.application(application, continue: userActivity, restorationHandler: restorationHandler) || result
41
46
  }
42
47
  }
48
+
49
+ class ReactNativeDelegate: ExpoReactNativeFactoryDelegate {
50
+ // Extension point for config-plugins
51
+
52
+ override func sourceURL(for bridge: RCTBridge) -> URL? {
53
+ // needed to return the correct URL for expo-dev-client.
54
+ bridge.bundleURL ?? bundleURL()
55
+ }
56
+
57
+ override func bundleURL() -> URL? {
58
+ #if DEBUG
59
+ return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: ".expo/.virtual-metro-entry")
60
+ #else
61
+ return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
62
+ #endif
63
+ }
64
+ }
package/ios/Podfile CHANGED
@@ -4,7 +4,7 @@ require File.join(File.dirname(`node --print "require.resolve('react-native/pack
4
4
  require 'json'
5
5
  podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
6
6
 
7
- ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0'
7
+ ENV['RCT_NEW_ARCH_ENABLED'] = '0' if podfile_properties['newArchEnabled'] == 'false'
8
8
  ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']
9
9
 
10
10
  platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1'
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "expo-template-bare-minimum",
3
3
  "description": "This bare project template includes a minimal setup for using unimodules with React Native.",
4
4
  "license": "0BSD",
5
- "version": "53.0.0-canary-20250407-10a9b42",
5
+ "version": "53.0.0-preview.12",
6
6
  "main": "index.js",
7
7
  "scripts": {
8
8
  "start": "expo start --dev-client",
@@ -11,13 +11,10 @@
11
11
  "web": "expo start --web"
12
12
  },
13
13
  "dependencies": {
14
- "expo": "53.0.0-canary-20250407-10a9b42",
15
- "expo-status-bar": "2.1.1-canary-20250407-10a9b42",
14
+ "expo": "53.0.0-preview.12",
15
+ "expo-status-bar": "~2.2.2",
16
16
  "react": "19.0.0",
17
- "react-native": "0.79.0-rc.4"
18
- },
19
- "overrides": {
20
- "react": "19.0.0"
17
+ "react-native": "0.79.1"
21
18
  },
22
19
  "devDependencies": {
23
20
  "@babel/core": "^7.20.0"