Skip to content

Commit af73db0

Browse files
coadotjzel
andauthored
chore: migrate npx react-native init (#6628)
<!-- Thanks for submitting a pull request! We appreciate you spending the time to work on these changes. Please follow the template so that the reviewers can easily understand what the code changes affect. --> ## Summary <!-- Explain the motivation for this PR. Include "Fixes #<number>" if applicable. --> Migrating deprecated `npx react-native init` command to `npx @react-native-community/cli init` as mentioned [here](#6533 (review)) --------- Co-authored-by: Tomasz Żelawski <[email protected]>
1 parent bff7102 commit af73db0

8 files changed

+76
-40
lines changed

.github/workflows/V8-reanimated-build-check-nightly.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,19 @@ jobs:
3333
java-version: '17'
3434
- name:
3535
Setup Yarn
36-
# Sometimes `npx react-native init` fails due to dependency mismatches or other
37-
# rather vague errors. This is a workaround for that.
36+
# Sometimes `npx @react-native-community/cli init` fails at random.
37+
# Pre-installing it with Yarn seems to improve stability.
3838
run: corepack enable && yarn init
39-
- name: Install React Native
40-
run: yarn add react-native
39+
- name: Install React Native CLI
40+
run: yarn add @react-native-community/cli
4141
- name: Create app
42-
run: |
43-
yarn react-native init ${{ env.APP_NAME }} --version ${{env.LATEST_SUPPORTED_RN_VERSION_IN_V8}} --skip-install --pm yarn --skip-install --install-pods false --skip-git-init
44-
- name: Setup Yarn Modern
42+
run: yarn rnc-cli init ${{ env.APP_NAME }} --version ${{env.LATEST_SUPPORTED_RN_VERSION_IN_V8}} --skip-install --pm yarn --install-pods false --skip-git-init
43+
- name: Setup Yarn Modern in app
4544
working-directory: ${{ env.APP_NAME }}
46-
run: touch yarn.lock && yarn set version berry && yarn config set nodeLinker node-modules
45+
run: |
46+
touch yarn.lock
47+
yarn set version berry
48+
yarn config set nodeLinker node-modules
4749
- name: Install dependencies
4850
working-directory: ${{ env.APP_NAME }}
4951
run: yarn install

.github/workflows/example-ios-build-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ jobs:
5858
5959
- name: Build app
6060
working-directory: ${{ matrix.working-directory }}
61-
run: npx react-native run-ios --no-packager
61+
run: yarn react-native run-ios --no-packager

.github/workflows/expo-devclient-build-check-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
- name: Build app (iOS)
6767
working-directory: ${{ env.APP_NAME }}
6868
if: ${{ matrix.platform == 'iOS' }}
69-
run: npx react-native run-ios --simulator='iPhone 14' --terminal='Terminal'
69+
run: yarn react-native run-ios --terminal='Terminal'
7070
- name: Build app (Android)
7171
working-directory: ${{ env.APP_NAME }}/android
7272
if: ${{ matrix.platform == 'Android' }}

.github/workflows/monorepo-app-reanimated-build-check-action.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,17 @@ jobs:
3535
# TODO: Put Monorepo template into a separate repo/package
3636
run: echo '{"name":"rnos-monorepo-tester","version":"1.0.0","license":"MIT","private":true,"workspaces":{"packages":["RootApp","packages/PackageApp", "AppA", "AppB"],"nohoist":["**/react","**/react-dom","**/react-native","**/react-native/**","**/react-native-codegen","**/react-native-dev-menu"]}}' > package.json
3737
- name: Install dependencies
38+
working-directory: monorepo
3839
run: yarn install
40+
- name: Install React Native CLI
41+
working-directory: monorepo
42+
run: yarn add -W @react-native-community/cli
3943
- name: Create RootApp
4044
working-directory: monorepo
41-
# TODO: Revise if we want to hardcode 0.73 here.
42-
run: npx [email protected] init RootApp --skip-install --version 0.73
45+
run: yarn rnc-cli init RootApp --skip-install --pm yarn --install-pods false --skip-git-init
4346
- name: Create PackageApp
4447
working-directory: monorepo/packages
45-
# TODO: Revise if we want to hardcode 0.73 here.
46-
run: npx [email protected] init PackageApp --skip-install --version 0.73
48+
run: yarn rnc-cli init PackageApp --skip-install --pm yarn --install-pods false --skip-git-init
4749

4850
- name: Install dependencies for RootApp
4951
working-directory: monorepo/RootApp

.github/workflows/react-native-nightly-reanimated-build-check-nightly.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ jobs:
2727
cancel-in-progress: true
2828
steps:
2929
- name: Setup Yarn
30-
# Sometimes `npx react-native init` fails due to dependency mismatches or other
31-
# rather vague errors. This is a workaround for that.
30+
# Sometimes `npx @react-native-community/cli init` fails at random.
31+
# Pre-installing it with Yarn seems to improve stability.
3232
run: corepack enable && yarn init
3333
- name: Set up JDK 18
3434
if: ${{ matrix.platform == 'Android' }}
@@ -41,14 +41,16 @@ jobs:
4141
if npm view react-native dist-tags | grep -q 'next:' ; then
4242
echo "REACT_NATIVE_TAG=next" >> $GITHUB_ENV
4343
fi
44-
- name: Install React Native
45-
run: yarn add react-native@${{ env.REACT_NATIVE_TAG }}
44+
- name: Install React Native CLI
45+
run: yarn add @react-native-community/cli
4646
- name: Create app
47-
run: |
48-
yarn react-native init ${{ env.APP_NAME }} --version ${{ env.REACT_NATIVE_TAG }} --pm yarn --skip-install --install-pods false --skip-git-init
49-
- name: Setup Yarn Modern
47+
run: yarn rnc-cli init ${{ env.APP_NAME }} --version ${{ env.REACT_NATIVE_TAG }} --pm yarn --skip-install --install-pods false --skip-git-init
48+
- name: Setup Yarn Modern in app
5049
working-directory: ${{ env.APP_NAME }}
51-
run: touch yarn.lock && yarn set version berry
50+
run: |
51+
touch yarn.lock
52+
yarn set version berry
53+
yarn config set nodeLinker node-modules
5254
- name: Install Reanimated
5355
working-directory: ${{ env.APP_NAME }}
5456
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
@@ -67,7 +69,7 @@ jobs:
6769
- name: Build app (iOS)
6870
if: ${{ matrix.platform == 'iOS' }}
6971
working-directory: ${{ env.APP_NAME }}
70-
run: yarn react-native run-ios --simulator='iPhone 14'
72+
run: yarn react-native run-ios --terminal='Terminal'
7173
- name: Build app (Android)
7274
if: ${{ matrix.platform == 'Android' }}
7375
working-directory: ${{ env.APP_NAME }}/android

.github/workflows/reanimated-compatibility-check-nightly.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,22 @@ jobs:
4444
uses: actions/setup-node@v3
4545
with:
4646
node-version: 18
47+
- name:
48+
Setup Yarn
49+
# Sometimes `npx @react-native-community/cli init` fails at random.
50+
# Pre-installing it with Yarn seems to improve stability.
51+
run: corepack enable && yarn init
52+
- name: Install React Native CLI
53+
run: yarn add @react-native-community/cli
4754
- name: Create app
48-
run: |
49-
npx react-native@latest init ${{env.APP_NAME}} --version ${{ matrix.react-native.version }} --skip-install --pm yarn --skip-install --install-pods 0 --skip-git-init
50-
- name: Setup Yarn Modern
55+
run: yarn rnc-cli init ${{env.APP_NAME}} --version ${{ matrix.react-native.version }} --skip-install --pm yarn --install-pods 0 --skip-git-init
56+
- name: Setup Yarn Modern in app
5157
# For convenience, sometimes there are vague issues with RN CLI and Yarn Legacy on the runner.
5258
working-directory: ${{ env.APP_NAME }}
53-
run: corepack enable && yarn set version berry
59+
run: |
60+
touch yarn.lock
61+
yarn set version berry
62+
yarn config set nodeLinker node-modules
5463
- name: Install Reanimated
5564
working-directory: ${{ env.APP_NAME }}
5665
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"

.github/workflows/static-framework-reanimated-build-check-nightly.yml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,37 @@ jobs:
2121
concurrency:
2222
group: ios-static-framework-${{ matrix.react-native-architecture }}-${{ github.ref }}
2323
cancel-in-progress: true
24+
env:
25+
APP_NAME: app
2426
steps:
25-
- name: Create React Native app
26-
run: npx react-native init app
27+
- name: Setup Yarn
28+
# Sometimes `npx @react-native-community/cli init` fails at random.
29+
# Pre-installing it with Yarn seems to improve stability.
30+
run: corepack enable && yarn init
31+
- name: Install React Native
32+
run: yarn add @react-native-community/cli
33+
- name: Create app
34+
run: yarn rnc-cli init ${{ env.APP_NAME }} --skip-install --pm yarn --install-pods false --skip-git-init
35+
- name: Setup Yarn Modern in app
36+
working-directory: ${{ env.APP_NAME }}
37+
run: |
38+
touch yarn.lock
39+
yarn set version berry
40+
yarn config set nodeLinker node-modules
41+
- name: Install dependencies
42+
working-directory: ${{ env.APP_NAME }}
43+
run: yarn install
2744
- name: Install Reanimated
28-
working-directory: app
45+
working-directory: ${{ env.APP_NAME }}
2946
run: yarn add "react-native-reanimated@https://github.com/software-mansion/react-native-reanimated.git#workspace=react-native-reanimated&commit=${{ github.sha }}"
3047
- name: Install Paper Pods
3148
if: ${{ matrix.react-native-architecture == 'Paper' }}
32-
working-directory: app/ios
49+
working-directory: ${{env.APP_NAME}}/ios
3350
run: export USE_FRAMEWORKS=static NO_FLIPPER=1 && bundle install && bundle exec pod install
3451
- name: Install Fabric Pods
3552
if: ${{ matrix.react-native-architecture == 'Fabric' }}
36-
working-directory: app/ios
37-
run: export USE_FRAMEWORKS=static NO_FLIPPER=1 RCT_NEW_ARCH_ENABLED=1 && bundle install && bundle exec pod install
53+
working-directory: ${{env.APP_NAME}}/ios
54+
run: export USE_FRAMEWORKS=static NO_FLIPPER=1 RCT_NEW_ARCH_ENABLED=1 && bundle install && bundle exec pod update
3855
- name: Build app
39-
working-directory: app
40-
run: npx react-native run-ios --no-packager
56+
working-directory: ${{env.APP_NAME}}/ios
57+
run: xcodebuild -workspace ${{env.APP_NAME}}.xcworkspace -scheme ${{env.APP_NAME}} -configuration Debug -destination 'generic/platform=iOS Simulator' build | xcpretty

.github/workflows/windows-hosted-app-reanimated-build-check-nightly.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,21 @@ jobs:
2525
with:
2626
distribution: 'zulu'
2727
java-version: '17'
28-
- name: Setup Yarn
29-
# Sometimes `npx react-native init` fails due to dependency mismatches or other
30-
# rather vague errors. This is a workaround for that.
28+
- name:
29+
Setup Yarn
30+
# Sometimes `npx @react-native-community/cli init` fails at random.
31+
# Pre-installing it with Yarn seems to improve stability.
3132
run: corepack enable && yarn init --yes
3233
- name: Install React Native
3334
run: yarn add @react-native-community/cli
3435
- name: Create app
3536
run: yarn rnc-cli init ${{ env.APP_NAME }} --pm yarn --skip-install --install-pods false --skip-git-init
36-
- name: Setup Yarn Modern
37+
- name: Setup Yarn Modern in app
3738
working-directory: ${{ env.APP_NAME }}
38-
run: touch yarn.lock && yarn set version berry
39+
run: |
40+
touch yarn.lock
41+
yarn set version berry
42+
yarn config set nodeLinker node-modules
3943
- name: Install dependencies
4044
working-directory: ${{ env.APP_NAME }}
4145
run: yarn

0 commit comments

Comments
 (0)