Skip to content

Commit c340e0b

Browse files
authored
Merge pull request #27 from patrickkabwe/feat/upgrade-react-native-to-0.77.0
Feat/upgrade react native to 0.77.0
2 parents f06c1ab + d4642dd commit c340e0b

52 files changed

Lines changed: 3765 additions & 1018 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bun.lock

Lines changed: 2931 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bun.lockb

-480 KB
Binary file not shown.

example/Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ ruby ">= 2.6.10"
77
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
88
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
99
gem 'xcodeproj', '< 1.26.0'
10+
gem 'concurrent-ruby', '< 1.3.4'

example/Gemfile.lock

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,27 @@ GEM
55
base64
66
nkf
77
rexml
8-
activesupport (6.1.7.10)
9-
concurrent-ruby (~> 1.0, >= 1.0.2)
8+
activesupport (7.2.2.1)
9+
base64
10+
benchmark (>= 0.3)
11+
bigdecimal
12+
concurrent-ruby (~> 1.0, >= 1.3.1)
13+
connection_pool (>= 2.2.5)
14+
drb
1015
i18n (>= 1.6, < 2)
16+
logger (>= 1.4.2)
1117
minitest (>= 5.1)
12-
tzinfo (~> 2.0)
13-
zeitwerk (~> 2.3)
18+
securerandom (>= 0.3)
19+
tzinfo (~> 2.0, >= 2.0.5)
1420
addressable (2.8.7)
1521
public_suffix (>= 2.0.2, < 7.0)
1622
algoliasearch (1.27.5)
1723
httpclient (~> 2.8, >= 2.8.3)
1824
json (>= 1.5.1)
1925
atomos (0.1.3)
2026
base64 (0.2.0)
27+
benchmark (0.4.0)
28+
bigdecimal (3.1.9)
2129
claide (1.1.0)
2230
cocoapods (1.15.2)
2331
addressable (~> 2.8)
@@ -57,27 +65,31 @@ GEM
5765
netrc (~> 0.11)
5866
cocoapods-try (1.2.0)
5967
colored2 (3.1.2)
60-
concurrent-ruby (1.3.4)
68+
concurrent-ruby (1.3.3)
69+
connection_pool (2.5.0)
70+
drb (2.2.1)
6171
escape (0.0.4)
6272
ethon (0.16.0)
6373
ffi (>= 1.15.0)
64-
ffi (1.17.0)
74+
ffi (1.17.1)
6575
fourflusher (2.3.1)
6676
fuzzy_match (2.0.4)
6777
gh_inspector (1.1.3)
6878
httpclient (2.8.3)
69-
i18n (1.14.6)
79+
i18n (1.14.7)
7080
concurrent-ruby (~> 1.0)
71-
json (2.7.6)
72-
minitest (5.25.1)
81+
json (2.9.1)
82+
logger (1.6.5)
83+
minitest (5.25.4)
7384
molinillo (0.8.0)
7485
nanaimo (0.3.0)
7586
nap (1.1.0)
7687
netrc (0.11.0)
7788
nkf (0.2.0)
7889
public_suffix (4.0.7)
79-
rexml (3.3.9)
90+
rexml (3.4.0)
8091
ruby-macho (2.5.1)
92+
securerandom (0.4.1)
8193
typhoeus (1.4.1)
8294
ethon (>= 0.9.0)
8395
tzinfo (2.0.6)
@@ -89,18 +101,18 @@ GEM
89101
colored2 (~> 3.1)
90102
nanaimo (~> 0.3.0)
91103
rexml (>= 3.3.6, < 4.0)
92-
zeitwerk (2.6.18)
93104

94105
PLATFORMS
95106
ruby
96107

97108
DEPENDENCIES
98109
activesupport (>= 6.1.7.5, != 7.1.0)
99110
cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
111+
concurrent-ruby (< 1.3.4)
100112
xcodeproj (< 1.26.0)
101113

102114
RUBY VERSION
103-
ruby 2.6.10p210
115+
ruby 3.3.6p108
104116

105117
BUNDLED WITH
106-
1.17.2
118+
2.5.22

example/README.md

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,58 +2,76 @@ This is a new [**React Native**](https://reactnative.dev) project, bootstrapped
22

33
# Getting Started
44

5-
>**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.
5+
> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
66
7-
## Step 1: Start the Metro Server
7+
## Step 1: Start Metro
88

9-
First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.
9+
First, you will need to run **Metro**, the JavaScript build tool for React Native.
1010

11-
To start Metro, run the following command from the _root_ of your React Native project:
11+
To start the Metro dev server, run the following command from the root of your React Native project:
1212

13-
```bash
14-
# using npm
13+
```sh
14+
# Using npm
1515
npm start
1616

1717
# OR using Yarn
1818
yarn start
1919
```
2020

21-
## Step 2: Start your Application
21+
## Step 2: Build and run your app
2222

23-
Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app:
23+
With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
2424

25-
### For Android
25+
### Android
2626

27-
```bash
28-
# using npm
27+
```sh
28+
# Using npm
2929
npm run android
3030

3131
# OR using Yarn
3232
yarn android
3333
```
3434

35-
### For iOS
35+
### iOS
3636

37-
```bash
38-
# using npm
37+
For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
38+
39+
The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
40+
41+
```sh
42+
bundle install
43+
```
44+
45+
Then, and every time you update your native dependencies, run:
46+
47+
```sh
48+
bundle exec pod install
49+
```
50+
51+
For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
52+
53+
```sh
54+
# Using npm
3955
npm run ios
4056

4157
# OR using Yarn
4258
yarn ios
4359
```
4460

45-
If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.
61+
If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
62+
63+
This is one way to run your app — you can also build it directly from Android Studio or Xcode.
4664

47-
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
65+
## Step 3: Modify your app
4866

49-
## Step 3: Modifying your App
67+
Now that you have successfully run the app, let's make changes!
5068

51-
Now that you have successfully run the app, let's modify it.
69+
Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
5270

53-
1. Open `App.tsx` in your text editor of choice and edit some lines.
54-
2. For **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Developer Menu** (<kbd>Ctrl</kbd> + <kbd>M</kbd> (on Window and Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (on macOS)) to see your changes!
71+
When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
5572

56-
For **iOS**: Hit <kbd>Cmd ⌘</kbd> + <kbd>R</kbd> in your iOS Simulator to reload the app and see your changes!
73+
- **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Dev Menu**, accessed via <kbd>Ctrl</kbd> + <kbd>M</kbd> (Windows/Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (macOS).
74+
- **iOS**: Press <kbd>R</kbd> in iOS Simulator.
5775

5876
## Congratulations! :tada:
5977

@@ -62,11 +80,11 @@ You've successfully run and modified your React Native App. :partying_face:
6280
### Now what?
6381

6482
- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
65-
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started).
83+
- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started).
6684

6785
# Troubleshooting
6886

69-
If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
87+
If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
7088

7189
# Learn More
7290

example/__tests__/App.test.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,12 @@
22
* @format
33
*/
44

5-
import 'react-native';
65
import React from 'react';
6+
import ReactTestRenderer from 'react-test-renderer';
77
import App from '../App';
88

9-
// Note: import explicitly to use the types shipped with jest.
10-
import {it} from '@jest/globals';
11-
12-
// Note: test renderer must be required after react-native.
13-
import renderer from 'react-test-renderer';
14-
15-
it('renders correctly', () => {
16-
renderer.create(<App />);
9+
test('renders correctly', async () => {
10+
await ReactTestRenderer.act(() => {
11+
ReactTestRenderer.create(<App />);
12+
});
1713
});

example/android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ buildscript {
44
minSdkVersion = 24
55
compileSdkVersion = 35
66
targetSdkVersion = 34
7-
ndkVersion = "26.1.10909125"
8-
kotlinVersion = "1.9.24"
7+
ndkVersion = "27.1.12297006"
8+
kotlinVersion = "2.0.21"
99
}
1010
repositories {
1111
google()

example/android/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ plugins { id("com.facebook.react.settings") }
33
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
44
rootProject.name = 'ExampleApp'
55
include ':app'
6-
includeBuild('../../node_modules/@react-native/gradle-plugin')
6+
includeBuild('../../node_modules/@react-native/gradle-plugin')

0 commit comments

Comments
 (0)