Skip to content

Commit ff9bb7b

Browse files
author
theGrep01
committed
feat: adds example apps for metro-mf
1 parent ed0e9ae commit ff9bb7b

File tree

178 files changed

+15767
-1294
lines changed

Some content is hidden

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

178 files changed

+15767
-1294
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BUNDLE_PATH: "vendor/bundle"
2+
BUNDLE_FORCE_RUBY_PLATFORM: 1

apps/metro-example-host/.eslintrc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
root: true,
3+
extends: '@react-native',
4+
};

apps/metro-example-host/.gitignore

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# OSX
2+
#
3+
.DS_Store
4+
5+
# Xcode
6+
#
7+
build/
8+
*.pbxuser
9+
!default.pbxuser
10+
*.mode1v3
11+
!default.mode1v3
12+
*.mode2v3
13+
!default.mode2v3
14+
*.perspectivev3
15+
!default.perspectivev3
16+
xcuserdata
17+
*.xccheckout
18+
*.moved-aside
19+
DerivedData
20+
*.hmap
21+
*.ipa
22+
*.xcuserstate
23+
**/.xcode.env.local
24+
25+
# Android/IntelliJ
26+
#
27+
build/
28+
.idea
29+
.gradle
30+
local.properties
31+
*.iml
32+
*.hprof
33+
.cxx/
34+
*.keystore
35+
!debug.keystore
36+
.kotlin/
37+
38+
# node.js
39+
#
40+
node_modules/
41+
npm-debug.log
42+
yarn-error.log
43+
44+
# fastlane
45+
#
46+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
47+
# screenshots whenever they are needed.
48+
# For more information about the recommended setup visit:
49+
# https://docs.fastlane.tools/best-practices/source-control/
50+
51+
**/fastlane/report.xml
52+
**/fastlane/Preview.html
53+
**/fastlane/screenshots
54+
**/fastlane/test_output
55+
56+
# Bundle artifact
57+
*.jsbundle
58+
59+
# Ruby / CocoaPods
60+
**/Pods/
61+
/vendor/bundle/
62+
63+
# Temporary files created by Metro to check the health of the file watcher
64+
.metro-health-check*
65+
66+
# testing
67+
/coverage
68+
69+
# Yarn
70+
.yarn/*
71+
!.yarn/patches
72+
!.yarn/plugins
73+
!.yarn/releases
74+
!.yarn/sdks
75+
!.yarn/versions
76+
77+
# build artifacts
78+
dist/
79+
80+
# RNEF
81+
.rnef
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
arrowParens: 'avoid',
3+
bracketSameLine: true,
4+
bracketSpacing: false,
5+
singleQuote: true,
6+
trailingComma: 'all',
7+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

apps/metro-example-host/Gemfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source 'https://rubygems.org'
2+
3+
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4+
ruby ">= 2.6.10"
5+
6+
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
7+
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
8+
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
9+
gem 'xcodeproj', '< 1.26.0'
10+
gem 'concurrent-ruby', '< 1.3.4'
11+
12+
# Ruby 3.4.0 has removed some libraries from the standard library.
13+
gem 'bigdecimal'
14+
gem 'logger'
15+
gem 'benchmark'
16+
gem 'mutex_m'

apps/metro-example-host/Gemfile.lock

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
CFPropertyList (3.0.7)
5+
base64
6+
nkf
7+
rexml
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
15+
i18n (>= 1.6, < 2)
16+
logger (>= 1.4.2)
17+
minitest (>= 5.1)
18+
securerandom (>= 0.3)
19+
tzinfo (~> 2.0, >= 2.0.5)
20+
addressable (2.8.7)
21+
public_suffix (>= 2.0.2, < 7.0)
22+
algoliasearch (1.27.5)
23+
httpclient (~> 2.8, >= 2.8.3)
24+
json (>= 1.5.1)
25+
atomos (0.1.3)
26+
base64 (0.2.0)
27+
benchmark (0.4.0)
28+
bigdecimal (3.1.9)
29+
claide (1.1.0)
30+
cocoapods (1.15.2)
31+
addressable (~> 2.8)
32+
claide (>= 1.0.2, < 2.0)
33+
cocoapods-core (= 1.15.2)
34+
cocoapods-deintegrate (>= 1.0.3, < 2.0)
35+
cocoapods-downloader (>= 2.1, < 3.0)
36+
cocoapods-plugins (>= 1.0.0, < 2.0)
37+
cocoapods-search (>= 1.0.0, < 2.0)
38+
cocoapods-trunk (>= 1.6.0, < 2.0)
39+
cocoapods-try (>= 1.1.0, < 2.0)
40+
colored2 (~> 3.1)
41+
escape (~> 0.0.4)
42+
fourflusher (>= 2.3.0, < 3.0)
43+
gh_inspector (~> 1.0)
44+
molinillo (~> 0.8.0)
45+
nap (~> 1.0)
46+
ruby-macho (>= 2.3.0, < 3.0)
47+
xcodeproj (>= 1.23.0, < 2.0)
48+
cocoapods-core (1.15.2)
49+
activesupport (>= 5.0, < 8)
50+
addressable (~> 2.8)
51+
algoliasearch (~> 1.0)
52+
concurrent-ruby (~> 1.1)
53+
fuzzy_match (~> 2.0.4)
54+
nap (~> 1.0)
55+
netrc (~> 0.11)
56+
public_suffix (~> 4.0)
57+
typhoeus (~> 1.0)
58+
cocoapods-deintegrate (1.0.5)
59+
cocoapods-downloader (2.1)
60+
cocoapods-plugins (1.0.0)
61+
nap
62+
cocoapods-search (1.0.1)
63+
cocoapods-trunk (1.6.0)
64+
nap (>= 0.8, < 2.0)
65+
netrc (~> 0.11)
66+
cocoapods-try (1.2.0)
67+
colored2 (3.1.2)
68+
concurrent-ruby (1.3.3)
69+
connection_pool (2.5.3)
70+
drb (2.2.1)
71+
escape (0.0.4)
72+
ethon (0.16.0)
73+
ffi (>= 1.15.0)
74+
ffi (1.17.2)
75+
fourflusher (2.3.1)
76+
fuzzy_match (2.0.4)
77+
gh_inspector (1.1.3)
78+
httpclient (2.9.0)
79+
mutex_m
80+
i18n (1.14.7)
81+
concurrent-ruby (~> 1.0)
82+
json (2.11.3)
83+
logger (1.7.0)
84+
minitest (5.25.5)
85+
molinillo (0.8.0)
86+
mutex_m (0.3.0)
87+
nanaimo (0.3.0)
88+
nap (1.1.0)
89+
netrc (0.11.0)
90+
nkf (0.2.0)
91+
public_suffix (4.0.7)
92+
rexml (3.4.1)
93+
ruby-macho (2.5.1)
94+
securerandom (0.4.1)
95+
typhoeus (1.4.1)
96+
ethon (>= 0.9.0)
97+
tzinfo (2.0.6)
98+
concurrent-ruby (~> 1.0)
99+
xcodeproj (1.25.1)
100+
CFPropertyList (>= 2.3.3, < 4.0)
101+
atomos (~> 0.1.3)
102+
claide (>= 1.0.2, < 2.0)
103+
colored2 (~> 3.1)
104+
nanaimo (~> 0.3.0)
105+
rexml (>= 3.3.6, < 4.0)
106+
107+
PLATFORMS
108+
ruby
109+
110+
DEPENDENCIES
111+
activesupport (>= 6.1.7.5, != 7.1.0)
112+
benchmark
113+
bigdecimal
114+
cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
115+
concurrent-ruby (< 1.3.4)
116+
logger
117+
mutex_m
118+
xcodeproj (< 1.26.0)
119+
120+
RUBY VERSION
121+
ruby 3.1.0p0
122+
123+
BUNDLED WITH
124+
2.6.1

apps/metro-example-host/README.md

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
2+
3+
# Getting Started
4+
5+
> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
6+
7+
## Step 1: Start Metro
8+
9+
First, you will need to run **Metro**, the JavaScript build tool for React Native.
10+
11+
To start the Metro dev server, run the following command from the root of your React Native project:
12+
13+
```sh
14+
# Using npm
15+
npm start
16+
17+
# OR using Yarn
18+
yarn start
19+
20+
# OR using pnpm
21+
pnpm start
22+
```
23+
24+
## Step 2: Build and run your app
25+
26+
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:
27+
28+
### Android
29+
30+
```sh
31+
# Using npm
32+
npm run android
33+
34+
# OR using Yarn
35+
yarn android
36+
37+
# OR using pnpm
38+
pnpm android
39+
```
40+
41+
### iOS
42+
43+
For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
44+
45+
The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
46+
47+
```sh
48+
bundle install
49+
```
50+
51+
Then, and every time you update your native dependencies, run:
52+
53+
```sh
54+
bundle exec pod install
55+
```
56+
57+
For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
58+
59+
```sh
60+
# Using npm
61+
npm run ios
62+
63+
# OR using Yarn
64+
yarn ios
65+
66+
# OR using pnpm
67+
pnpm ios
68+
```
69+
70+
If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
71+
72+
This is one way to run your app — you can also build it directly from Android Studio or Xcode.
73+
74+
## Step 3: Modify your app
75+
76+
Now that you have successfully run the app, let's make changes!
77+
78+
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).
79+
80+
When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
81+
82+
- **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).
83+
- **iOS**: Press <kbd>R</kbd> in iOS Simulator.
84+
85+
## Congratulations! :tada:
86+
87+
You've successfully run and modified your React Native App. :partying_face:
88+
89+
### Now what?
90+
91+
- 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).
92+
- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started).
93+
94+
# Troubleshooting
95+
96+
If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
97+
98+
# Learn More
99+
100+
To learn more about React Native, take a look at the following resources:
101+
102+
- [React Native Website](https://reactnative.dev) - learn more about React Native.
103+
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
104+
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
105+
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
106+
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.

0 commit comments

Comments
 (0)