├── .bundle
└── config
├── .eslintrc.js
├── .gitignore
├── .prettierrc.js
├── .watchmanconfig
├── App.js
├── Gemfile
├── Gemfile.lock
├── README.md
├── __tests__
└── App.test.tsx
├── android
├── app
│ ├── build.gradle
│ ├── debug.keystore
│ ├── proguard-rules.pro
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── rn_crash_course
│ │ │ ├── MainActivity.kt
│ │ │ └── MainApplication.kt
│ │ └── res
│ │ ├── drawable
│ │ └── rn_edit_text_material.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ └── values
│ │ ├── strings.xml
│ │ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── app.json
├── babel.config.js
├── index.js
├── ios
├── .xcode.env
├── Podfile
├── Podfile.lock
├── rn_crash_course.xcodeproj
│ ├── project.pbxproj
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── rn_crash_course.xcscheme
├── rn_crash_course.xcworkspace
│ └── contents.xcworkspacedata
├── rn_crash_course
│ ├── AppDelegate.h
│ ├── AppDelegate.mm
│ ├── Images.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Info.plist
│ ├── LaunchScreen.storyboard
│ ├── PrivacyInfo.xcprivacy
│ └── main.m
└── rn_crash_courseTests
│ ├── Info.plist
│ └── rn_crash_courseTests.m
├── jest.config.js
├── metro.config.js
├── package-lock.json
├── package.json
├── react-native.config.js
├── src
├── FinalHomeWork.js
├── Hooks
│ ├── ForwardRef.js
│ ├── Hooks.js
│ ├── UseCallBack.js
│ ├── UseContext.js
│ └── UseLayoutEffect.js
├── JS
│ ├── Callbacks.js
│ ├── CurryingAndHoisting.js
│ ├── DebouncingAndThrottling.js
│ ├── DeepCopyShallowCopy.js
│ ├── GeneratorsAndIterators.js
│ ├── Interceptors.js
│ ├── Javascript.js
│ ├── LazyLoadedComponent.js
│ ├── LazyLoading.js
│ ├── LetVarConst.js
│ ├── PromiseAsyncFetchTryCatch.js
│ ├── PrototypalInheritance.js
│ ├── Reconcillation.js
│ └── SpreadOperatorRestOperator.js
├── components
│ ├── BasicComponents.js
│ ├── ClassComponent.js
│ └── FunctionalComponent.js
├── dummyData.js
└── useApiHook.js
└── tsconfig.json
/.bundle/config:
--------------------------------------------------------------------------------
1 | BUNDLE_PATH: "vendor/bundle"
2 | BUNDLE_FORCE_RUBY_PLATFORM: 1
3 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: '@react-native',
4 | };
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
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 |
37 | # node.js
38 | #
39 | node_modules/
40 | npm-debug.log
41 | yarn-error.log
42 |
43 | # fastlane
44 | #
45 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
46 | # screenshots whenever they are needed.
47 | # For more information about the recommended setup visit:
48 | # https://docs.fastlane.tools/best-practices/source-control/
49 |
50 | **/fastlane/report.xml
51 | **/fastlane/Preview.html
52 | **/fastlane/screenshots
53 | **/fastlane/test_output
54 |
55 | # Bundle artifact
56 | *.jsbundle
57 |
58 | # Ruby / CocoaPods
59 | **/Pods/
60 | /vendor/bundle/
61 |
62 | # Temporary files created by Metro to check the health of the file watcher
63 | .metro-health-check*
64 |
65 | # testing
66 | /coverage
67 |
68 | # Yarn
69 | .yarn/*
70 | !.yarn/patches
71 | !.yarn/plugins
72 | !.yarn/releases
73 | !.yarn/sdks
74 | !.yarn/versions
75 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | arrowParens: 'avoid',
3 | bracketSameLine: true,
4 | bracketSpacing: false,
5 | singleQuote: true,
6 | trailingComma: 'all',
7 | };
8 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import LifecylceComponent from './src/components/ClassComponent';
3 | import {StyleSheet, View} from 'react-native';
4 | import FunctionalComponent from './src/components/FunctionalComponent';
5 | import BasicComponents from './src/components/BasicComponents';
6 | import {SafeAreaProvider} from 'react-native-safe-area-context';
7 | import Hooks from './src/Hooks/Hooks';
8 | import Javascript from './src/JS/Javascript';
9 | import FinalHomeWork from './src/FinalHomeWork';
10 |
11 | const App = () => {
12 | return (
13 |
14 |
15 | {/* */}
16 | {/* */}
17 | {/* */}
18 | {/* */}
19 | {/* */}
20 | {/* */}
21 |
22 |
23 |
24 | );
25 | };
26 | const styles = StyleSheet.create({
27 | container: {
28 | flex: 1,
29 | flexDirection: 'row',
30 | },
31 | flex2: {
32 | backgroundColor: 'green',
33 | flex: 2,
34 | },
35 | });
36 | export default App;
37 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | CFPropertyList (3.0.7)
5 | base64
6 | nkf
7 | rexml
8 | activesupport (6.1.7.10)
9 | concurrent-ruby (~> 1.0, >= 1.0.2)
10 | i18n (>= 1.6, < 2)
11 | minitest (>= 5.1)
12 | tzinfo (~> 2.0)
13 | zeitwerk (~> 2.3)
14 | addressable (2.8.7)
15 | public_suffix (>= 2.0.2, < 7.0)
16 | algoliasearch (1.27.5)
17 | httpclient (~> 2.8, >= 2.8.3)
18 | json (>= 1.5.1)
19 | atomos (0.1.3)
20 | base64 (0.2.0)
21 | claide (1.1.0)
22 | cocoapods (1.15.2)
23 | addressable (~> 2.8)
24 | claide (>= 1.0.2, < 2.0)
25 | cocoapods-core (= 1.15.2)
26 | cocoapods-deintegrate (>= 1.0.3, < 2.0)
27 | cocoapods-downloader (>= 2.1, < 3.0)
28 | cocoapods-plugins (>= 1.0.0, < 2.0)
29 | cocoapods-search (>= 1.0.0, < 2.0)
30 | cocoapods-trunk (>= 1.6.0, < 2.0)
31 | cocoapods-try (>= 1.1.0, < 2.0)
32 | colored2 (~> 3.1)
33 | escape (~> 0.0.4)
34 | fourflusher (>= 2.3.0, < 3.0)
35 | gh_inspector (~> 1.0)
36 | molinillo (~> 0.8.0)
37 | nap (~> 1.0)
38 | ruby-macho (>= 2.3.0, < 3.0)
39 | xcodeproj (>= 1.23.0, < 2.0)
40 | cocoapods-core (1.15.2)
41 | activesupport (>= 5.0, < 8)
42 | addressable (~> 2.8)
43 | algoliasearch (~> 1.0)
44 | concurrent-ruby (~> 1.1)
45 | fuzzy_match (~> 2.0.4)
46 | nap (~> 1.0)
47 | netrc (~> 0.11)
48 | public_suffix (~> 4.0)
49 | typhoeus (~> 1.0)
50 | cocoapods-deintegrate (1.0.5)
51 | cocoapods-downloader (2.1)
52 | cocoapods-plugins (1.0.0)
53 | nap
54 | cocoapods-search (1.0.1)
55 | cocoapods-trunk (1.6.0)
56 | nap (>= 0.8, < 2.0)
57 | netrc (~> 0.11)
58 | cocoapods-try (1.2.0)
59 | colored2 (3.1.2)
60 | concurrent-ruby (1.3.4)
61 | escape (0.0.4)
62 | ethon (0.16.0)
63 | ffi (>= 1.15.0)
64 | ffi (1.17.0)
65 | fourflusher (2.3.1)
66 | fuzzy_match (2.0.4)
67 | gh_inspector (1.1.3)
68 | httpclient (2.8.3)
69 | i18n (1.14.6)
70 | concurrent-ruby (~> 1.0)
71 | json (2.7.6)
72 | minitest (5.25.4)
73 | molinillo (0.8.0)
74 | nanaimo (0.3.0)
75 | nap (1.1.0)
76 | netrc (0.11.0)
77 | nkf (0.2.0)
78 | public_suffix (4.0.7)
79 | rexml (3.4.0)
80 | ruby-macho (2.5.1)
81 | typhoeus (1.4.1)
82 | ethon (>= 0.9.0)
83 | tzinfo (2.0.6)
84 | concurrent-ruby (~> 1.0)
85 | xcodeproj (1.25.1)
86 | CFPropertyList (>= 2.3.3, < 4.0)
87 | atomos (~> 0.1.3)
88 | claide (>= 1.0.2, < 2.0)
89 | colored2 (~> 3.1)
90 | nanaimo (~> 0.3.0)
91 | rexml (>= 3.3.6, < 4.0)
92 | zeitwerk (2.6.18)
93 |
94 | PLATFORMS
95 | ruby
96 |
97 | DEPENDENCIES
98 | activesupport (>= 6.1.7.5, != 7.1.0)
99 | cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
100 | xcodeproj (< 1.26.0)
101 |
102 | RUBY VERSION
103 | ruby 2.6.10p210
104 |
105 | BUNDLED WITH
106 | 1.17.2
107 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
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 [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.
6 |
7 | ## Step 1: Start the Metro Server
8 |
9 | First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.
10 |
11 | To start Metro, run the following command from the _root_ of your React Native project:
12 |
13 | ```bash
14 | # using npm
15 | npm start
16 |
17 | # OR using Yarn
18 | yarn start
19 | ```
20 |
21 | ## Step 2: Start your Application
22 |
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:
24 |
25 | ### For Android
26 |
27 | ```bash
28 | # using npm
29 | npm run android
30 |
31 | # OR using Yarn
32 | yarn android
33 | ```
34 |
35 | ### For iOS
36 |
37 | ```bash
38 | # using npm
39 | npm run ios
40 |
41 | # OR using Yarn
42 | yarn ios
43 | ```
44 |
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.
46 |
47 | This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
48 |
49 | ## Step 3: Modifying your App
50 |
51 | Now that you have successfully run the app, let's modify it.
52 |
53 | 1. Open `App.tsx` in your text editor of choice and edit some lines.
54 | 2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!
55 |
56 | For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!
57 |
58 | ## Congratulations! :tada:
59 |
60 | You've successfully run and modified your React Native App. :partying_face:
61 |
62 | ### Now what?
63 |
64 | - 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).
66 |
67 | # Troubleshooting
68 |
69 | If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
70 |
71 | # Learn More
72 |
73 | To learn more about React Native, take a look at the following resources:
74 |
75 | - [React Native Website](https://reactnative.dev) - learn more about React Native.
76 | - [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
77 | - [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
78 | - [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
79 | - [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.
80 |
--------------------------------------------------------------------------------
/__tests__/App.test.tsx:
--------------------------------------------------------------------------------
1 | /**
2 | * @format
3 | */
4 |
5 | import 'react-native';
6 | import React from 'react';
7 | import App from '../App';
8 |
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();
17 | });
18 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: "com.android.application"
2 | apply plugin: "org.jetbrains.kotlin.android"
3 | apply plugin: "com.facebook.react"
4 |
5 | /**
6 | * This is the configuration block to customize your React Native Android app.
7 | * By default you don't need to apply any configuration, just uncomment the lines you need.
8 | */
9 | react {
10 | /* Folders */
11 | // The root of your project, i.e. where "package.json" lives. Default is '../..'
12 | // root = file("../../")
13 | // The folder where the react-native NPM package is. Default is ../../node_modules/react-native
14 | // reactNativeDir = file("../../node_modules/react-native")
15 | // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
16 | // codegenDir = file("../../node_modules/@react-native/codegen")
17 | // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
18 | // cliFile = file("../../node_modules/react-native/cli.js")
19 |
20 | /* Variants */
21 | // The list of variants to that are debuggable. For those we're going to
22 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
23 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
24 | // debuggableVariants = ["liteDebug", "prodDebug"]
25 |
26 | /* Bundling */
27 | // A list containing the node command and its flags. Default is just 'node'.
28 | // nodeExecutableAndArgs = ["node"]
29 | //
30 | // The command to run when bundling. By default is 'bundle'
31 | // bundleCommand = "ram-bundle"
32 | //
33 | // The path to the CLI configuration file. Default is empty.
34 | // bundleConfig = file(../rn-cli.config.js)
35 | //
36 | // The name of the generated asset file containing your JS bundle
37 | // bundleAssetName = "MyApplication.android.bundle"
38 | //
39 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
40 | // entryFile = file("../js/MyApplication.android.js")
41 | //
42 | // A list of extra flags to pass to the 'bundle' commands.
43 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
44 | // extraPackagerArgs = []
45 |
46 | /* Hermes Commands */
47 | // The hermes compiler command to run. By default it is 'hermesc'
48 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
49 | //
50 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
51 | // hermesFlags = ["-O", "-output-source-map"]
52 |
53 | /* Autolinking */
54 | autolinkLibrariesWithApp()
55 | }
56 |
57 | /**
58 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
59 | */
60 | def enableProguardInReleaseBuilds = false
61 |
62 | /**
63 | * The preferred build flavor of JavaScriptCore (JSC)
64 | *
65 | * For example, to use the international variant, you can use:
66 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
67 | *
68 | * The international variant includes ICU i18n library and necessary data
69 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
70 | * give correct results when using with locales other than en-US. Note that
71 | * this variant is about 6MiB larger per architecture than default.
72 | */
73 | def jscFlavor = 'org.webkit:android-jsc:+'
74 |
75 | android {
76 | ndkVersion rootProject.ext.ndkVersion
77 | buildToolsVersion rootProject.ext.buildToolsVersion
78 | compileSdk rootProject.ext.compileSdkVersion
79 |
80 | namespace "com.rn_crash_course"
81 | defaultConfig {
82 | applicationId "com.rn_crash_course"
83 | minSdkVersion rootProject.ext.minSdkVersion
84 | targetSdkVersion rootProject.ext.targetSdkVersion
85 | versionCode 1
86 | versionName "1.0"
87 | }
88 | signingConfigs {
89 | debug {
90 | storeFile file('debug.keystore')
91 | storePassword 'android'
92 | keyAlias 'androiddebugkey'
93 | keyPassword 'android'
94 | }
95 | }
96 | buildTypes {
97 | debug {
98 | signingConfig signingConfigs.debug
99 | }
100 | release {
101 | // Caution! In production, you need to generate your own keystore file.
102 | // see https://reactnative.dev/docs/signed-apk-android.
103 | signingConfig signingConfigs.debug
104 | minifyEnabled enableProguardInReleaseBuilds
105 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
106 | }
107 | }
108 | }
109 |
110 | dependencies {
111 | // The version of react-native is set by the React Native Gradle Plugin
112 | implementation("com.facebook.react:react-android")
113 |
114 | if (hermesEnabled.toBoolean()) {
115 | implementation("com.facebook.react:hermes-android")
116 | } else {
117 | implementation jscFlavor
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/android/app/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/debug.keystore
--------------------------------------------------------------------------------
/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/rn_crash_course/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.rn_crash_course
2 |
3 | import com.facebook.react.ReactActivity
4 | import com.facebook.react.ReactActivityDelegate
5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
6 | import com.facebook.react.defaults.DefaultReactActivityDelegate
7 |
8 | class MainActivity : ReactActivity() {
9 |
10 | /**
11 | * Returns the name of the main component registered from JavaScript. This is used to schedule
12 | * rendering of the component.
13 | */
14 | override fun getMainComponentName(): String = "rn_crash_course"
15 |
16 | /**
17 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
18 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
19 | */
20 | override fun createReactActivityDelegate(): ReactActivityDelegate =
21 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
22 | }
23 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/rn_crash_course/MainApplication.kt:
--------------------------------------------------------------------------------
1 | package com.rn_crash_course
2 |
3 | import android.app.Application
4 | import com.facebook.react.PackageList
5 | import com.facebook.react.ReactApplication
6 | import com.facebook.react.ReactHost
7 | import com.facebook.react.ReactNativeHost
8 | import com.facebook.react.ReactPackage
9 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
10 | import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
11 | import com.facebook.react.defaults.DefaultReactNativeHost
12 | import com.facebook.react.soloader.OpenSourceMergedSoMapping
13 | import com.facebook.soloader.SoLoader
14 |
15 | class MainApplication : Application(), ReactApplication {
16 |
17 | override val reactNativeHost: ReactNativeHost =
18 | object : DefaultReactNativeHost(this) {
19 | override fun getPackages(): List =
20 | PackageList(this).packages.apply {
21 | // Packages that cannot be autolinked yet can be added manually here, for example:
22 | // add(MyReactNativePackage())
23 | }
24 |
25 | override fun getJSMainModuleName(): String = "index"
26 |
27 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
28 |
29 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
30 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
31 | }
32 |
33 | override val reactHost: ReactHost
34 | get() = getDefaultReactHost(applicationContext, reactNativeHost)
35 |
36 | override fun onCreate() {
37 | super.onCreate()
38 | SoLoader.init(this, OpenSourceMergedSoMapping)
39 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
40 | // If you opted-in for the New Architecture, we load the native entry point for this app.
41 | load()
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/rn_edit_text_material.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
22 |
23 |
24 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | rn_crash_course
3 |
4 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext {
3 | buildToolsVersion = "35.0.0"
4 | minSdkVersion = 24
5 | compileSdkVersion = 35
6 | targetSdkVersion = 34
7 | ndkVersion = "26.1.10909125"
8 | kotlinVersion = "1.9.24"
9 | }
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | dependencies {
15 | classpath("com.android.tools.build:gradle")
16 | classpath("com.facebook.react:react-native-gradle-plugin")
17 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
18 | }
19 | }
20 |
21 | apply plugin: "com.facebook.react.rootproject"
22 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
19 |
20 | # AndroidX package structure to make it clearer which packages are bundled with the
21 | # Android operating system, and which are packaged with your app's APK
22 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
23 | android.useAndroidX=true
24 |
25 | # Use this property to specify which architecture you want to build.
26 | # You can also override it from the CLI using
27 | # ./gradlew -PreactNativeArchitectures=x86_64
28 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
29 |
30 | # Use this property to enable support to the new architecture.
31 | # This will allow you to use TurboModules and the Fabric render in
32 | # your application. You should enable this flag either if you want
33 | # to write custom TurboModules/Fabric components OR use libraries that
34 | # are providing them.
35 | newArchEnabled=true
36 |
37 | # Use this property to enable or disable the Hermes JS engine.
38 | # If set to false, you will be using JSC instead.
39 | hermesEnabled=true
40 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #
4 | # Copyright © 2015-2021 the original authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 | # SPDX-License-Identifier: Apache-2.0
19 | #
20 |
21 | ##############################################################################
22 | #
23 | # Gradle start up script for POSIX generated by Gradle.
24 | #
25 | # Important for running:
26 | #
27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
28 | # noncompliant, but you have some other compliant shell such as ksh or
29 | # bash, then to run this script, type that shell name before the whole
30 | # command line, like:
31 | #
32 | # ksh Gradle
33 | #
34 | # Busybox and similar reduced shells will NOT work, because this script
35 | # requires all of these POSIX shell features:
36 | # * functions;
37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
39 | # * compound commands having a testable exit status, especially «case»;
40 | # * various built-in commands including «command», «set», and «ulimit».
41 | #
42 | # Important for patching:
43 | #
44 | # (2) This script targets any POSIX shell, so it avoids extensions provided
45 | # by Bash, Ksh, etc; in particular arrays are avoided.
46 | #
47 | # The "traditional" practice of packing multiple parameters into a
48 | # space-separated string is a well documented source of bugs and security
49 | # problems, so this is (mostly) avoided, by progressively accumulating
50 | # options in "$@", and eventually passing that to Java.
51 | #
52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
54 | # see the in-line comments for details.
55 | #
56 | # There are tweaks for specific operating systems such as AIX, CygWin,
57 | # Darwin, MinGW, and NonStop.
58 | #
59 | # (3) This script is generated from the Groovy template
60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
61 | # within the Gradle project.
62 | #
63 | # You can find Gradle at https://github.com/gradle/gradle/.
64 | #
65 | ##############################################################################
66 |
67 | # Attempt to set APP_HOME
68 |
69 | # Resolve links: $0 may be a link
70 | app_path=$0
71 |
72 | # Need this for daisy-chained symlinks.
73 | while
74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
75 | [ -h "$app_path" ]
76 | do
77 | ls=$( ls -ld "$app_path" )
78 | link=${ls#*' -> '}
79 | case $link in #(
80 | /*) app_path=$link ;; #(
81 | *) app_path=$APP_HOME$link ;;
82 | esac
83 | done
84 |
85 | # This is normally unused
86 | # shellcheck disable=SC2034
87 | APP_BASE_NAME=${0##*/}
88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
90 | ' "$PWD" ) || exit
91 |
92 | # Use the maximum available, or set MAX_FD != -1 to use that value.
93 | MAX_FD=maximum
94 |
95 | warn () {
96 | echo "$*"
97 | } >&2
98 |
99 | die () {
100 | echo
101 | echo "$*"
102 | echo
103 | exit 1
104 | } >&2
105 |
106 | # OS specific support (must be 'true' or 'false').
107 | cygwin=false
108 | msys=false
109 | darwin=false
110 | nonstop=false
111 | case "$( uname )" in #(
112 | CYGWIN* ) cygwin=true ;; #(
113 | Darwin* ) darwin=true ;; #(
114 | MSYS* | MINGW* ) msys=true ;; #(
115 | NONSTOP* ) nonstop=true ;;
116 | esac
117 |
118 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
119 |
120 |
121 | # Determine the Java command to use to start the JVM.
122 | if [ -n "$JAVA_HOME" ] ; then
123 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
124 | # IBM's JDK on AIX uses strange locations for the executables
125 | JAVACMD=$JAVA_HOME/jre/sh/java
126 | else
127 | JAVACMD=$JAVA_HOME/bin/java
128 | fi
129 | if [ ! -x "$JAVACMD" ] ; then
130 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
131 |
132 | Please set the JAVA_HOME variable in your environment to match the
133 | location of your Java installation."
134 | fi
135 | else
136 | JAVACMD=java
137 | if ! command -v java >/dev/null 2>&1
138 | then
139 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
140 |
141 | Please set the JAVA_HOME variable in your environment to match the
142 | location of your Java installation."
143 | fi
144 | fi
145 |
146 | # Increase the maximum file descriptors if we can.
147 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
148 | case $MAX_FD in #(
149 | max*)
150 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
151 | # shellcheck disable=SC2039,SC3045
152 | MAX_FD=$( ulimit -H -n ) ||
153 | warn "Could not query maximum file descriptor limit"
154 | esac
155 | case $MAX_FD in #(
156 | '' | soft) :;; #(
157 | *)
158 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
159 | # shellcheck disable=SC2039,SC3045
160 | ulimit -n "$MAX_FD" ||
161 | warn "Could not set maximum file descriptor limit to $MAX_FD"
162 | esac
163 | fi
164 |
165 | # Collect all arguments for the java command, stacking in reverse order:
166 | # * args from the command line
167 | # * the main class name
168 | # * -classpath
169 | # * -D...appname settings
170 | # * --module-path (only if needed)
171 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
172 |
173 | # For Cygwin or MSYS, switch paths to Windows format before running java
174 | if "$cygwin" || "$msys" ; then
175 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
176 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
177 |
178 | JAVACMD=$( cygpath --unix "$JAVACMD" )
179 |
180 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
181 | for arg do
182 | if
183 | case $arg in #(
184 | -*) false ;; # don't mess with options #(
185 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
186 | [ -e "$t" ] ;; #(
187 | *) false ;;
188 | esac
189 | then
190 | arg=$( cygpath --path --ignore --mixed "$arg" )
191 | fi
192 | # Roll the args list around exactly as many times as the number of
193 | # args, so each arg winds up back in the position where it started, but
194 | # possibly modified.
195 | #
196 | # NB: a `for` loop captures its iteration list before it begins, so
197 | # changing the positional parameters here affects neither the number of
198 | # iterations, nor the values presented in `arg`.
199 | shift # remove old arg
200 | set -- "$@" "$arg" # push replacement arg
201 | done
202 | fi
203 |
204 |
205 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
206 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
207 |
208 | # Collect all arguments for the java command:
209 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
210 | # and any embedded shellness will be escaped.
211 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
212 | # treated as '${Hostname}' itself on the command line.
213 |
214 | set -- \
215 | "-Dorg.gradle.appname=$APP_BASE_NAME" \
216 | -classpath "$CLASSPATH" \
217 | org.gradle.wrapper.GradleWrapperMain \
218 | "$@"
219 |
220 | # Stop when "xargs" is not available.
221 | if ! command -v xargs >/dev/null 2>&1
222 | then
223 | die "xargs is not available"
224 | fi
225 |
226 | # Use "xargs" to parse quoted args.
227 | #
228 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
229 | #
230 | # In Bash we could simply go:
231 | #
232 | # readarray ARGS < <( xargs -n1 <<<"$var" ) &&
233 | # set -- "${ARGS[@]}" "$@"
234 | #
235 | # but POSIX shell has neither arrays nor command substitution, so instead we
236 | # post-process each arg (as a line of input to sed) to backslash-escape any
237 | # character that might be a shell metacharacter, then use eval to reverse
238 | # that process (while maintaining the separation between arguments), and wrap
239 | # the whole thing up as a single "set" statement.
240 | #
241 | # This will of course break if any of these variables contains a newline or
242 | # an unmatched quote.
243 | #
244 |
245 | eval "set -- $(
246 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
247 | xargs -n1 |
248 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
249 | tr '\n' ' '
250 | )" '"$@"'
251 |
252 | exec "$JAVACMD" "$@"
253 |
--------------------------------------------------------------------------------
/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 | @rem SPDX-License-Identifier: Apache-2.0
17 | @rem
18 |
19 | @if "%DEBUG%"=="" @echo off
20 | @rem ##########################################################################
21 | @rem
22 | @rem Gradle startup script for Windows
23 | @rem
24 | @rem ##########################################################################
25 |
26 | @rem Set local scope for the variables with windows NT shell
27 | if "%OS%"=="Windows_NT" setlocal
28 |
29 | set DIRNAME=%~dp0
30 | if "%DIRNAME%"=="" set DIRNAME=.
31 | @rem This is normally unused
32 | set APP_BASE_NAME=%~n0
33 | set APP_HOME=%DIRNAME%
34 |
35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
37 |
38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
40 |
41 | @rem Find java.exe
42 | if defined JAVA_HOME goto findJavaFromJavaHome
43 |
44 | set JAVA_EXE=java.exe
45 | %JAVA_EXE% -version >NUL 2>&1
46 | if %ERRORLEVEL% equ 0 goto execute
47 |
48 | echo. 1>&2
49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50 | echo. 1>&2
51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52 | echo location of your Java installation. 1>&2
53 |
54 | goto fail
55 |
56 | :findJavaFromJavaHome
57 | set JAVA_HOME=%JAVA_HOME:"=%
58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
59 |
60 | if exist "%JAVA_EXE%" goto execute
61 |
62 | echo. 1>&2
63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64 | echo. 1>&2
65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66 | echo location of your Java installation. 1>&2
67 |
68 | goto fail
69 |
70 | :execute
71 | @rem Setup the command line
72 |
73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74 |
75 |
76 | @rem Execute Gradle
77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
78 |
79 | :end
80 | @rem End local scope for the variables with windows NT shell
81 | if %ERRORLEVEL% equ 0 goto mainEnd
82 |
83 | :fail
84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
85 | rem the _cmd.exe /c_ return code!
86 | set EXIT_CODE=%ERRORLEVEL%
87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1
88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
89 | exit /b %EXIT_CODE%
90 |
91 | :mainEnd
92 | if "%OS%"=="Windows_NT" endlocal
93 |
94 | :omega
95 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
2 | plugins { id("com.facebook.react.settings") }
3 | extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
4 | rootProject.name = 'rn_crash_course'
5 | include ':app'
6 | includeBuild('../node_modules/@react-native/gradle-plugin')
7 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rn_crash_course",
3 | "displayName": "rn_crash_course"
4 | }
5 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['module:@react-native/babel-preset'],
3 | };
4 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @format
3 | */
4 |
5 | import {AppRegistry} from 'react-native';
6 | import App from './App';
7 | import {name as appName} from './app.json';
8 |
9 | AppRegistry.registerComponent(appName, () => App);
10 |
--------------------------------------------------------------------------------
/ios/.xcode.env:
--------------------------------------------------------------------------------
1 | # This `.xcode.env` file is versioned and is used to source the environment
2 | # used when running script phases inside Xcode.
3 | # To customize your local environment, you can create an `.xcode.env.local`
4 | # file that is not versioned.
5 |
6 | # NODE_BINARY variable contains the PATH to the node executable.
7 | #
8 | # Customize the NODE_BINARY variable here.
9 | # For example, to use nvm with brew, add the following line
10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use
11 | export NODE_BINARY=$(command -v node)
12 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Resolve react_native_pods.rb with node to allow for hoisting
2 | require Pod::Executable.execute_command('node', ['-p',
3 | 'require.resolve(
4 | "react-native/scripts/react_native_pods.rb",
5 | {paths: [process.argv[1]]},
6 | )', __dir__]).strip
7 |
8 | platform :ios, min_ios_version_supported
9 | prepare_react_native_project!
10 |
11 | linkage = ENV['USE_FRAMEWORKS']
12 | if linkage != nil
13 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
14 | use_frameworks! :linkage => linkage.to_sym
15 | end
16 |
17 | target 'rn_crash_course' do
18 | config = use_native_modules!
19 |
20 | use_react_native!(
21 | :path => config[:reactNativePath],
22 | # An absolute path to your application root.
23 | :app_path => "#{Pod::Config.instance.installation_root}/.."
24 | )
25 |
26 | target 'rn_crash_courseTests' do
27 | inherit! :complete
28 | # Pods for testing
29 | end
30 |
31 | post_install do |installer|
32 | # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
33 | react_native_post_install(
34 | installer,
35 | config[:reactNativePath],
36 | :mac_catalyst_enabled => false,
37 | # :ccache_enabled => true
38 | )
39 | end
40 | end
41 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - boost (1.84.0)
3 | - DoubleConversion (1.1.6)
4 | - FBLazyVector (0.76.5)
5 | - fmt (9.1.0)
6 | - glog (0.3.5)
7 | - hermes-engine (0.76.5):
8 | - hermes-engine/Pre-built (= 0.76.5)
9 | - hermes-engine/Pre-built (0.76.5)
10 | - RCT-Folly (2024.01.01.00):
11 | - boost
12 | - DoubleConversion
13 | - fmt (= 9.1.0)
14 | - glog
15 | - RCT-Folly/Default (= 2024.01.01.00)
16 | - RCT-Folly/Default (2024.01.01.00):
17 | - boost
18 | - DoubleConversion
19 | - fmt (= 9.1.0)
20 | - glog
21 | - RCT-Folly/Fabric (2024.01.01.00):
22 | - boost
23 | - DoubleConversion
24 | - fmt (= 9.1.0)
25 | - glog
26 | - RCTDeprecation (0.76.5)
27 | - RCTRequired (0.76.5)
28 | - RCTTypeSafety (0.76.5):
29 | - FBLazyVector (= 0.76.5)
30 | - RCTRequired (= 0.76.5)
31 | - React-Core (= 0.76.5)
32 | - React (0.76.5):
33 | - React-Core (= 0.76.5)
34 | - React-Core/DevSupport (= 0.76.5)
35 | - React-Core/RCTWebSocket (= 0.76.5)
36 | - React-RCTActionSheet (= 0.76.5)
37 | - React-RCTAnimation (= 0.76.5)
38 | - React-RCTBlob (= 0.76.5)
39 | - React-RCTImage (= 0.76.5)
40 | - React-RCTLinking (= 0.76.5)
41 | - React-RCTNetwork (= 0.76.5)
42 | - React-RCTSettings (= 0.76.5)
43 | - React-RCTText (= 0.76.5)
44 | - React-RCTVibration (= 0.76.5)
45 | - React-callinvoker (0.76.5)
46 | - React-Core (0.76.5):
47 | - glog
48 | - hermes-engine
49 | - RCT-Folly (= 2024.01.01.00)
50 | - RCTDeprecation
51 | - React-Core/Default (= 0.76.5)
52 | - React-cxxreact
53 | - React-featureflags
54 | - React-hermes
55 | - React-jsi
56 | - React-jsiexecutor
57 | - React-jsinspector
58 | - React-perflogger
59 | - React-runtimescheduler
60 | - React-utils
61 | - SocketRocket (= 0.7.1)
62 | - Yoga
63 | - React-Core/CoreModulesHeaders (0.76.5):
64 | - glog
65 | - hermes-engine
66 | - RCT-Folly (= 2024.01.01.00)
67 | - RCTDeprecation
68 | - React-Core/Default
69 | - React-cxxreact
70 | - React-featureflags
71 | - React-hermes
72 | - React-jsi
73 | - React-jsiexecutor
74 | - React-jsinspector
75 | - React-perflogger
76 | - React-runtimescheduler
77 | - React-utils
78 | - SocketRocket (= 0.7.1)
79 | - Yoga
80 | - React-Core/Default (0.76.5):
81 | - glog
82 | - hermes-engine
83 | - RCT-Folly (= 2024.01.01.00)
84 | - RCTDeprecation
85 | - React-cxxreact
86 | - React-featureflags
87 | - React-hermes
88 | - React-jsi
89 | - React-jsiexecutor
90 | - React-jsinspector
91 | - React-perflogger
92 | - React-runtimescheduler
93 | - React-utils
94 | - SocketRocket (= 0.7.1)
95 | - Yoga
96 | - React-Core/DevSupport (0.76.5):
97 | - glog
98 | - hermes-engine
99 | - RCT-Folly (= 2024.01.01.00)
100 | - RCTDeprecation
101 | - React-Core/Default (= 0.76.5)
102 | - React-Core/RCTWebSocket (= 0.76.5)
103 | - React-cxxreact
104 | - React-featureflags
105 | - React-hermes
106 | - React-jsi
107 | - React-jsiexecutor
108 | - React-jsinspector
109 | - React-perflogger
110 | - React-runtimescheduler
111 | - React-utils
112 | - SocketRocket (= 0.7.1)
113 | - Yoga
114 | - React-Core/RCTActionSheetHeaders (0.76.5):
115 | - glog
116 | - hermes-engine
117 | - RCT-Folly (= 2024.01.01.00)
118 | - RCTDeprecation
119 | - React-Core/Default
120 | - React-cxxreact
121 | - React-featureflags
122 | - React-hermes
123 | - React-jsi
124 | - React-jsiexecutor
125 | - React-jsinspector
126 | - React-perflogger
127 | - React-runtimescheduler
128 | - React-utils
129 | - SocketRocket (= 0.7.1)
130 | - Yoga
131 | - React-Core/RCTAnimationHeaders (0.76.5):
132 | - glog
133 | - hermes-engine
134 | - RCT-Folly (= 2024.01.01.00)
135 | - RCTDeprecation
136 | - React-Core/Default
137 | - React-cxxreact
138 | - React-featureflags
139 | - React-hermes
140 | - React-jsi
141 | - React-jsiexecutor
142 | - React-jsinspector
143 | - React-perflogger
144 | - React-runtimescheduler
145 | - React-utils
146 | - SocketRocket (= 0.7.1)
147 | - Yoga
148 | - React-Core/RCTBlobHeaders (0.76.5):
149 | - glog
150 | - hermes-engine
151 | - RCT-Folly (= 2024.01.01.00)
152 | - RCTDeprecation
153 | - React-Core/Default
154 | - React-cxxreact
155 | - React-featureflags
156 | - React-hermes
157 | - React-jsi
158 | - React-jsiexecutor
159 | - React-jsinspector
160 | - React-perflogger
161 | - React-runtimescheduler
162 | - React-utils
163 | - SocketRocket (= 0.7.1)
164 | - Yoga
165 | - React-Core/RCTImageHeaders (0.76.5):
166 | - glog
167 | - hermes-engine
168 | - RCT-Folly (= 2024.01.01.00)
169 | - RCTDeprecation
170 | - React-Core/Default
171 | - React-cxxreact
172 | - React-featureflags
173 | - React-hermes
174 | - React-jsi
175 | - React-jsiexecutor
176 | - React-jsinspector
177 | - React-perflogger
178 | - React-runtimescheduler
179 | - React-utils
180 | - SocketRocket (= 0.7.1)
181 | - Yoga
182 | - React-Core/RCTLinkingHeaders (0.76.5):
183 | - glog
184 | - hermes-engine
185 | - RCT-Folly (= 2024.01.01.00)
186 | - RCTDeprecation
187 | - React-Core/Default
188 | - React-cxxreact
189 | - React-featureflags
190 | - React-hermes
191 | - React-jsi
192 | - React-jsiexecutor
193 | - React-jsinspector
194 | - React-perflogger
195 | - React-runtimescheduler
196 | - React-utils
197 | - SocketRocket (= 0.7.1)
198 | - Yoga
199 | - React-Core/RCTNetworkHeaders (0.76.5):
200 | - glog
201 | - hermes-engine
202 | - RCT-Folly (= 2024.01.01.00)
203 | - RCTDeprecation
204 | - React-Core/Default
205 | - React-cxxreact
206 | - React-featureflags
207 | - React-hermes
208 | - React-jsi
209 | - React-jsiexecutor
210 | - React-jsinspector
211 | - React-perflogger
212 | - React-runtimescheduler
213 | - React-utils
214 | - SocketRocket (= 0.7.1)
215 | - Yoga
216 | - React-Core/RCTSettingsHeaders (0.76.5):
217 | - glog
218 | - hermes-engine
219 | - RCT-Folly (= 2024.01.01.00)
220 | - RCTDeprecation
221 | - React-Core/Default
222 | - React-cxxreact
223 | - React-featureflags
224 | - React-hermes
225 | - React-jsi
226 | - React-jsiexecutor
227 | - React-jsinspector
228 | - React-perflogger
229 | - React-runtimescheduler
230 | - React-utils
231 | - SocketRocket (= 0.7.1)
232 | - Yoga
233 | - React-Core/RCTTextHeaders (0.76.5):
234 | - glog
235 | - hermes-engine
236 | - RCT-Folly (= 2024.01.01.00)
237 | - RCTDeprecation
238 | - React-Core/Default
239 | - React-cxxreact
240 | - React-featureflags
241 | - React-hermes
242 | - React-jsi
243 | - React-jsiexecutor
244 | - React-jsinspector
245 | - React-perflogger
246 | - React-runtimescheduler
247 | - React-utils
248 | - SocketRocket (= 0.7.1)
249 | - Yoga
250 | - React-Core/RCTVibrationHeaders (0.76.5):
251 | - glog
252 | - hermes-engine
253 | - RCT-Folly (= 2024.01.01.00)
254 | - RCTDeprecation
255 | - React-Core/Default
256 | - React-cxxreact
257 | - React-featureflags
258 | - React-hermes
259 | - React-jsi
260 | - React-jsiexecutor
261 | - React-jsinspector
262 | - React-perflogger
263 | - React-runtimescheduler
264 | - React-utils
265 | - SocketRocket (= 0.7.1)
266 | - Yoga
267 | - React-Core/RCTWebSocket (0.76.5):
268 | - glog
269 | - hermes-engine
270 | - RCT-Folly (= 2024.01.01.00)
271 | - RCTDeprecation
272 | - React-Core/Default (= 0.76.5)
273 | - React-cxxreact
274 | - React-featureflags
275 | - React-hermes
276 | - React-jsi
277 | - React-jsiexecutor
278 | - React-jsinspector
279 | - React-perflogger
280 | - React-runtimescheduler
281 | - React-utils
282 | - SocketRocket (= 0.7.1)
283 | - Yoga
284 | - React-CoreModules (0.76.5):
285 | - DoubleConversion
286 | - fmt (= 9.1.0)
287 | - RCT-Folly (= 2024.01.01.00)
288 | - RCTTypeSafety (= 0.76.5)
289 | - React-Core/CoreModulesHeaders (= 0.76.5)
290 | - React-jsi (= 0.76.5)
291 | - React-jsinspector
292 | - React-NativeModulesApple
293 | - React-RCTBlob
294 | - React-RCTImage (= 0.76.5)
295 | - ReactCodegen
296 | - ReactCommon
297 | - SocketRocket (= 0.7.1)
298 | - React-cxxreact (0.76.5):
299 | - boost
300 | - DoubleConversion
301 | - fmt (= 9.1.0)
302 | - glog
303 | - hermes-engine
304 | - RCT-Folly (= 2024.01.01.00)
305 | - React-callinvoker (= 0.76.5)
306 | - React-debug (= 0.76.5)
307 | - React-jsi (= 0.76.5)
308 | - React-jsinspector
309 | - React-logger (= 0.76.5)
310 | - React-perflogger (= 0.76.5)
311 | - React-runtimeexecutor (= 0.76.5)
312 | - React-timing (= 0.76.5)
313 | - React-debug (0.76.5)
314 | - React-defaultsnativemodule (0.76.5):
315 | - DoubleConversion
316 | - glog
317 | - hermes-engine
318 | - RCT-Folly (= 2024.01.01.00)
319 | - RCTRequired
320 | - RCTTypeSafety
321 | - React-Core
322 | - React-debug
323 | - React-domnativemodule
324 | - React-Fabric
325 | - React-featureflags
326 | - React-featureflagsnativemodule
327 | - React-graphics
328 | - React-idlecallbacksnativemodule
329 | - React-ImageManager
330 | - React-microtasksnativemodule
331 | - React-NativeModulesApple
332 | - React-RCTFabric
333 | - React-rendererdebug
334 | - React-utils
335 | - ReactCodegen
336 | - ReactCommon/turbomodule/bridging
337 | - ReactCommon/turbomodule/core
338 | - Yoga
339 | - React-domnativemodule (0.76.5):
340 | - DoubleConversion
341 | - glog
342 | - hermes-engine
343 | - RCT-Folly (= 2024.01.01.00)
344 | - RCTRequired
345 | - RCTTypeSafety
346 | - React-Core
347 | - React-debug
348 | - React-Fabric
349 | - React-FabricComponents
350 | - React-featureflags
351 | - React-graphics
352 | - React-ImageManager
353 | - React-NativeModulesApple
354 | - React-RCTFabric
355 | - React-rendererdebug
356 | - React-utils
357 | - ReactCodegen
358 | - ReactCommon/turbomodule/bridging
359 | - ReactCommon/turbomodule/core
360 | - Yoga
361 | - React-Fabric (0.76.5):
362 | - DoubleConversion
363 | - fmt (= 9.1.0)
364 | - glog
365 | - hermes-engine
366 | - RCT-Folly/Fabric (= 2024.01.01.00)
367 | - RCTRequired
368 | - RCTTypeSafety
369 | - React-Core
370 | - React-cxxreact
371 | - React-debug
372 | - React-Fabric/animations (= 0.76.5)
373 | - React-Fabric/attributedstring (= 0.76.5)
374 | - React-Fabric/componentregistry (= 0.76.5)
375 | - React-Fabric/componentregistrynative (= 0.76.5)
376 | - React-Fabric/components (= 0.76.5)
377 | - React-Fabric/core (= 0.76.5)
378 | - React-Fabric/dom (= 0.76.5)
379 | - React-Fabric/imagemanager (= 0.76.5)
380 | - React-Fabric/leakchecker (= 0.76.5)
381 | - React-Fabric/mounting (= 0.76.5)
382 | - React-Fabric/observers (= 0.76.5)
383 | - React-Fabric/scheduler (= 0.76.5)
384 | - React-Fabric/telemetry (= 0.76.5)
385 | - React-Fabric/templateprocessor (= 0.76.5)
386 | - React-Fabric/uimanager (= 0.76.5)
387 | - React-featureflags
388 | - React-graphics
389 | - React-jsi
390 | - React-jsiexecutor
391 | - React-logger
392 | - React-rendererdebug
393 | - React-runtimescheduler
394 | - React-utils
395 | - ReactCommon/turbomodule/core
396 | - React-Fabric/animations (0.76.5):
397 | - DoubleConversion
398 | - fmt (= 9.1.0)
399 | - glog
400 | - hermes-engine
401 | - RCT-Folly/Fabric (= 2024.01.01.00)
402 | - RCTRequired
403 | - RCTTypeSafety
404 | - React-Core
405 | - React-cxxreact
406 | - React-debug
407 | - React-featureflags
408 | - React-graphics
409 | - React-jsi
410 | - React-jsiexecutor
411 | - React-logger
412 | - React-rendererdebug
413 | - React-runtimescheduler
414 | - React-utils
415 | - ReactCommon/turbomodule/core
416 | - React-Fabric/attributedstring (0.76.5):
417 | - DoubleConversion
418 | - fmt (= 9.1.0)
419 | - glog
420 | - hermes-engine
421 | - RCT-Folly/Fabric (= 2024.01.01.00)
422 | - RCTRequired
423 | - RCTTypeSafety
424 | - React-Core
425 | - React-cxxreact
426 | - React-debug
427 | - React-featureflags
428 | - React-graphics
429 | - React-jsi
430 | - React-jsiexecutor
431 | - React-logger
432 | - React-rendererdebug
433 | - React-runtimescheduler
434 | - React-utils
435 | - ReactCommon/turbomodule/core
436 | - React-Fabric/componentregistry (0.76.5):
437 | - DoubleConversion
438 | - fmt (= 9.1.0)
439 | - glog
440 | - hermes-engine
441 | - RCT-Folly/Fabric (= 2024.01.01.00)
442 | - RCTRequired
443 | - RCTTypeSafety
444 | - React-Core
445 | - React-cxxreact
446 | - React-debug
447 | - React-featureflags
448 | - React-graphics
449 | - React-jsi
450 | - React-jsiexecutor
451 | - React-logger
452 | - React-rendererdebug
453 | - React-runtimescheduler
454 | - React-utils
455 | - ReactCommon/turbomodule/core
456 | - React-Fabric/componentregistrynative (0.76.5):
457 | - DoubleConversion
458 | - fmt (= 9.1.0)
459 | - glog
460 | - hermes-engine
461 | - RCT-Folly/Fabric (= 2024.01.01.00)
462 | - RCTRequired
463 | - RCTTypeSafety
464 | - React-Core
465 | - React-cxxreact
466 | - React-debug
467 | - React-featureflags
468 | - React-graphics
469 | - React-jsi
470 | - React-jsiexecutor
471 | - React-logger
472 | - React-rendererdebug
473 | - React-runtimescheduler
474 | - React-utils
475 | - ReactCommon/turbomodule/core
476 | - React-Fabric/components (0.76.5):
477 | - DoubleConversion
478 | - fmt (= 9.1.0)
479 | - glog
480 | - hermes-engine
481 | - RCT-Folly/Fabric (= 2024.01.01.00)
482 | - RCTRequired
483 | - RCTTypeSafety
484 | - React-Core
485 | - React-cxxreact
486 | - React-debug
487 | - React-Fabric/components/legacyviewmanagerinterop (= 0.76.5)
488 | - React-Fabric/components/root (= 0.76.5)
489 | - React-Fabric/components/view (= 0.76.5)
490 | - React-featureflags
491 | - React-graphics
492 | - React-jsi
493 | - React-jsiexecutor
494 | - React-logger
495 | - React-rendererdebug
496 | - React-runtimescheduler
497 | - React-utils
498 | - ReactCommon/turbomodule/core
499 | - React-Fabric/components/legacyviewmanagerinterop (0.76.5):
500 | - DoubleConversion
501 | - fmt (= 9.1.0)
502 | - glog
503 | - hermes-engine
504 | - RCT-Folly/Fabric (= 2024.01.01.00)
505 | - RCTRequired
506 | - RCTTypeSafety
507 | - React-Core
508 | - React-cxxreact
509 | - React-debug
510 | - React-featureflags
511 | - React-graphics
512 | - React-jsi
513 | - React-jsiexecutor
514 | - React-logger
515 | - React-rendererdebug
516 | - React-runtimescheduler
517 | - React-utils
518 | - ReactCommon/turbomodule/core
519 | - React-Fabric/components/root (0.76.5):
520 | - DoubleConversion
521 | - fmt (= 9.1.0)
522 | - glog
523 | - hermes-engine
524 | - RCT-Folly/Fabric (= 2024.01.01.00)
525 | - RCTRequired
526 | - RCTTypeSafety
527 | - React-Core
528 | - React-cxxreact
529 | - React-debug
530 | - React-featureflags
531 | - React-graphics
532 | - React-jsi
533 | - React-jsiexecutor
534 | - React-logger
535 | - React-rendererdebug
536 | - React-runtimescheduler
537 | - React-utils
538 | - ReactCommon/turbomodule/core
539 | - React-Fabric/components/view (0.76.5):
540 | - DoubleConversion
541 | - fmt (= 9.1.0)
542 | - glog
543 | - hermes-engine
544 | - RCT-Folly/Fabric (= 2024.01.01.00)
545 | - RCTRequired
546 | - RCTTypeSafety
547 | - React-Core
548 | - React-cxxreact
549 | - React-debug
550 | - React-featureflags
551 | - React-graphics
552 | - React-jsi
553 | - React-jsiexecutor
554 | - React-logger
555 | - React-rendererdebug
556 | - React-runtimescheduler
557 | - React-utils
558 | - ReactCommon/turbomodule/core
559 | - Yoga
560 | - React-Fabric/core (0.76.5):
561 | - DoubleConversion
562 | - fmt (= 9.1.0)
563 | - glog
564 | - hermes-engine
565 | - RCT-Folly/Fabric (= 2024.01.01.00)
566 | - RCTRequired
567 | - RCTTypeSafety
568 | - React-Core
569 | - React-cxxreact
570 | - React-debug
571 | - React-featureflags
572 | - React-graphics
573 | - React-jsi
574 | - React-jsiexecutor
575 | - React-logger
576 | - React-rendererdebug
577 | - React-runtimescheduler
578 | - React-utils
579 | - ReactCommon/turbomodule/core
580 | - React-Fabric/dom (0.76.5):
581 | - DoubleConversion
582 | - fmt (= 9.1.0)
583 | - glog
584 | - hermes-engine
585 | - RCT-Folly/Fabric (= 2024.01.01.00)
586 | - RCTRequired
587 | - RCTTypeSafety
588 | - React-Core
589 | - React-cxxreact
590 | - React-debug
591 | - React-featureflags
592 | - React-graphics
593 | - React-jsi
594 | - React-jsiexecutor
595 | - React-logger
596 | - React-rendererdebug
597 | - React-runtimescheduler
598 | - React-utils
599 | - ReactCommon/turbomodule/core
600 | - React-Fabric/imagemanager (0.76.5):
601 | - DoubleConversion
602 | - fmt (= 9.1.0)
603 | - glog
604 | - hermes-engine
605 | - RCT-Folly/Fabric (= 2024.01.01.00)
606 | - RCTRequired
607 | - RCTTypeSafety
608 | - React-Core
609 | - React-cxxreact
610 | - React-debug
611 | - React-featureflags
612 | - React-graphics
613 | - React-jsi
614 | - React-jsiexecutor
615 | - React-logger
616 | - React-rendererdebug
617 | - React-runtimescheduler
618 | - React-utils
619 | - ReactCommon/turbomodule/core
620 | - React-Fabric/leakchecker (0.76.5):
621 | - DoubleConversion
622 | - fmt (= 9.1.0)
623 | - glog
624 | - hermes-engine
625 | - RCT-Folly/Fabric (= 2024.01.01.00)
626 | - RCTRequired
627 | - RCTTypeSafety
628 | - React-Core
629 | - React-cxxreact
630 | - React-debug
631 | - React-featureflags
632 | - React-graphics
633 | - React-jsi
634 | - React-jsiexecutor
635 | - React-logger
636 | - React-rendererdebug
637 | - React-runtimescheduler
638 | - React-utils
639 | - ReactCommon/turbomodule/core
640 | - React-Fabric/mounting (0.76.5):
641 | - DoubleConversion
642 | - fmt (= 9.1.0)
643 | - glog
644 | - hermes-engine
645 | - RCT-Folly/Fabric (= 2024.01.01.00)
646 | - RCTRequired
647 | - RCTTypeSafety
648 | - React-Core
649 | - React-cxxreact
650 | - React-debug
651 | - React-featureflags
652 | - React-graphics
653 | - React-jsi
654 | - React-jsiexecutor
655 | - React-logger
656 | - React-rendererdebug
657 | - React-runtimescheduler
658 | - React-utils
659 | - ReactCommon/turbomodule/core
660 | - React-Fabric/observers (0.76.5):
661 | - DoubleConversion
662 | - fmt (= 9.1.0)
663 | - glog
664 | - hermes-engine
665 | - RCT-Folly/Fabric (= 2024.01.01.00)
666 | - RCTRequired
667 | - RCTTypeSafety
668 | - React-Core
669 | - React-cxxreact
670 | - React-debug
671 | - React-Fabric/observers/events (= 0.76.5)
672 | - React-featureflags
673 | - React-graphics
674 | - React-jsi
675 | - React-jsiexecutor
676 | - React-logger
677 | - React-rendererdebug
678 | - React-runtimescheduler
679 | - React-utils
680 | - ReactCommon/turbomodule/core
681 | - React-Fabric/observers/events (0.76.5):
682 | - DoubleConversion
683 | - fmt (= 9.1.0)
684 | - glog
685 | - hermes-engine
686 | - RCT-Folly/Fabric (= 2024.01.01.00)
687 | - RCTRequired
688 | - RCTTypeSafety
689 | - React-Core
690 | - React-cxxreact
691 | - React-debug
692 | - React-featureflags
693 | - React-graphics
694 | - React-jsi
695 | - React-jsiexecutor
696 | - React-logger
697 | - React-rendererdebug
698 | - React-runtimescheduler
699 | - React-utils
700 | - ReactCommon/turbomodule/core
701 | - React-Fabric/scheduler (0.76.5):
702 | - DoubleConversion
703 | - fmt (= 9.1.0)
704 | - glog
705 | - hermes-engine
706 | - RCT-Folly/Fabric (= 2024.01.01.00)
707 | - RCTRequired
708 | - RCTTypeSafety
709 | - React-Core
710 | - React-cxxreact
711 | - React-debug
712 | - React-Fabric/observers/events
713 | - React-featureflags
714 | - React-graphics
715 | - React-jsi
716 | - React-jsiexecutor
717 | - React-logger
718 | - React-performancetimeline
719 | - React-rendererdebug
720 | - React-runtimescheduler
721 | - React-utils
722 | - ReactCommon/turbomodule/core
723 | - React-Fabric/telemetry (0.76.5):
724 | - DoubleConversion
725 | - fmt (= 9.1.0)
726 | - glog
727 | - hermes-engine
728 | - RCT-Folly/Fabric (= 2024.01.01.00)
729 | - RCTRequired
730 | - RCTTypeSafety
731 | - React-Core
732 | - React-cxxreact
733 | - React-debug
734 | - React-featureflags
735 | - React-graphics
736 | - React-jsi
737 | - React-jsiexecutor
738 | - React-logger
739 | - React-rendererdebug
740 | - React-runtimescheduler
741 | - React-utils
742 | - ReactCommon/turbomodule/core
743 | - React-Fabric/templateprocessor (0.76.5):
744 | - DoubleConversion
745 | - fmt (= 9.1.0)
746 | - glog
747 | - hermes-engine
748 | - RCT-Folly/Fabric (= 2024.01.01.00)
749 | - RCTRequired
750 | - RCTTypeSafety
751 | - React-Core
752 | - React-cxxreact
753 | - React-debug
754 | - React-featureflags
755 | - React-graphics
756 | - React-jsi
757 | - React-jsiexecutor
758 | - React-logger
759 | - React-rendererdebug
760 | - React-runtimescheduler
761 | - React-utils
762 | - ReactCommon/turbomodule/core
763 | - React-Fabric/uimanager (0.76.5):
764 | - DoubleConversion
765 | - fmt (= 9.1.0)
766 | - glog
767 | - hermes-engine
768 | - RCT-Folly/Fabric (= 2024.01.01.00)
769 | - RCTRequired
770 | - RCTTypeSafety
771 | - React-Core
772 | - React-cxxreact
773 | - React-debug
774 | - React-Fabric/uimanager/consistency (= 0.76.5)
775 | - React-featureflags
776 | - React-graphics
777 | - React-jsi
778 | - React-jsiexecutor
779 | - React-logger
780 | - React-rendererconsistency
781 | - React-rendererdebug
782 | - React-runtimescheduler
783 | - React-utils
784 | - ReactCommon/turbomodule/core
785 | - React-Fabric/uimanager/consistency (0.76.5):
786 | - DoubleConversion
787 | - fmt (= 9.1.0)
788 | - glog
789 | - hermes-engine
790 | - RCT-Folly/Fabric (= 2024.01.01.00)
791 | - RCTRequired
792 | - RCTTypeSafety
793 | - React-Core
794 | - React-cxxreact
795 | - React-debug
796 | - React-featureflags
797 | - React-graphics
798 | - React-jsi
799 | - React-jsiexecutor
800 | - React-logger
801 | - React-rendererconsistency
802 | - React-rendererdebug
803 | - React-runtimescheduler
804 | - React-utils
805 | - ReactCommon/turbomodule/core
806 | - React-FabricComponents (0.76.5):
807 | - DoubleConversion
808 | - fmt (= 9.1.0)
809 | - glog
810 | - hermes-engine
811 | - RCT-Folly/Fabric (= 2024.01.01.00)
812 | - RCTRequired
813 | - RCTTypeSafety
814 | - React-Core
815 | - React-cxxreact
816 | - React-debug
817 | - React-Fabric
818 | - React-FabricComponents/components (= 0.76.5)
819 | - React-FabricComponents/textlayoutmanager (= 0.76.5)
820 | - React-featureflags
821 | - React-graphics
822 | - React-jsi
823 | - React-jsiexecutor
824 | - React-logger
825 | - React-rendererdebug
826 | - React-runtimescheduler
827 | - React-utils
828 | - ReactCodegen
829 | - ReactCommon/turbomodule/core
830 | - Yoga
831 | - React-FabricComponents/components (0.76.5):
832 | - DoubleConversion
833 | - fmt (= 9.1.0)
834 | - glog
835 | - hermes-engine
836 | - RCT-Folly/Fabric (= 2024.01.01.00)
837 | - RCTRequired
838 | - RCTTypeSafety
839 | - React-Core
840 | - React-cxxreact
841 | - React-debug
842 | - React-Fabric
843 | - React-FabricComponents/components/inputaccessory (= 0.76.5)
844 | - React-FabricComponents/components/iostextinput (= 0.76.5)
845 | - React-FabricComponents/components/modal (= 0.76.5)
846 | - React-FabricComponents/components/rncore (= 0.76.5)
847 | - React-FabricComponents/components/safeareaview (= 0.76.5)
848 | - React-FabricComponents/components/scrollview (= 0.76.5)
849 | - React-FabricComponents/components/text (= 0.76.5)
850 | - React-FabricComponents/components/textinput (= 0.76.5)
851 | - React-FabricComponents/components/unimplementedview (= 0.76.5)
852 | - React-featureflags
853 | - React-graphics
854 | - React-jsi
855 | - React-jsiexecutor
856 | - React-logger
857 | - React-rendererdebug
858 | - React-runtimescheduler
859 | - React-utils
860 | - ReactCodegen
861 | - ReactCommon/turbomodule/core
862 | - Yoga
863 | - React-FabricComponents/components/inputaccessory (0.76.5):
864 | - DoubleConversion
865 | - fmt (= 9.1.0)
866 | - glog
867 | - hermes-engine
868 | - RCT-Folly/Fabric (= 2024.01.01.00)
869 | - RCTRequired
870 | - RCTTypeSafety
871 | - React-Core
872 | - React-cxxreact
873 | - React-debug
874 | - React-Fabric
875 | - React-featureflags
876 | - React-graphics
877 | - React-jsi
878 | - React-jsiexecutor
879 | - React-logger
880 | - React-rendererdebug
881 | - React-runtimescheduler
882 | - React-utils
883 | - ReactCodegen
884 | - ReactCommon/turbomodule/core
885 | - Yoga
886 | - React-FabricComponents/components/iostextinput (0.76.5):
887 | - DoubleConversion
888 | - fmt (= 9.1.0)
889 | - glog
890 | - hermes-engine
891 | - RCT-Folly/Fabric (= 2024.01.01.00)
892 | - RCTRequired
893 | - RCTTypeSafety
894 | - React-Core
895 | - React-cxxreact
896 | - React-debug
897 | - React-Fabric
898 | - React-featureflags
899 | - React-graphics
900 | - React-jsi
901 | - React-jsiexecutor
902 | - React-logger
903 | - React-rendererdebug
904 | - React-runtimescheduler
905 | - React-utils
906 | - ReactCodegen
907 | - ReactCommon/turbomodule/core
908 | - Yoga
909 | - React-FabricComponents/components/modal (0.76.5):
910 | - DoubleConversion
911 | - fmt (= 9.1.0)
912 | - glog
913 | - hermes-engine
914 | - RCT-Folly/Fabric (= 2024.01.01.00)
915 | - RCTRequired
916 | - RCTTypeSafety
917 | - React-Core
918 | - React-cxxreact
919 | - React-debug
920 | - React-Fabric
921 | - React-featureflags
922 | - React-graphics
923 | - React-jsi
924 | - React-jsiexecutor
925 | - React-logger
926 | - React-rendererdebug
927 | - React-runtimescheduler
928 | - React-utils
929 | - ReactCodegen
930 | - ReactCommon/turbomodule/core
931 | - Yoga
932 | - React-FabricComponents/components/rncore (0.76.5):
933 | - DoubleConversion
934 | - fmt (= 9.1.0)
935 | - glog
936 | - hermes-engine
937 | - RCT-Folly/Fabric (= 2024.01.01.00)
938 | - RCTRequired
939 | - RCTTypeSafety
940 | - React-Core
941 | - React-cxxreact
942 | - React-debug
943 | - React-Fabric
944 | - React-featureflags
945 | - React-graphics
946 | - React-jsi
947 | - React-jsiexecutor
948 | - React-logger
949 | - React-rendererdebug
950 | - React-runtimescheduler
951 | - React-utils
952 | - ReactCodegen
953 | - ReactCommon/turbomodule/core
954 | - Yoga
955 | - React-FabricComponents/components/safeareaview (0.76.5):
956 | - DoubleConversion
957 | - fmt (= 9.1.0)
958 | - glog
959 | - hermes-engine
960 | - RCT-Folly/Fabric (= 2024.01.01.00)
961 | - RCTRequired
962 | - RCTTypeSafety
963 | - React-Core
964 | - React-cxxreact
965 | - React-debug
966 | - React-Fabric
967 | - React-featureflags
968 | - React-graphics
969 | - React-jsi
970 | - React-jsiexecutor
971 | - React-logger
972 | - React-rendererdebug
973 | - React-runtimescheduler
974 | - React-utils
975 | - ReactCodegen
976 | - ReactCommon/turbomodule/core
977 | - Yoga
978 | - React-FabricComponents/components/scrollview (0.76.5):
979 | - DoubleConversion
980 | - fmt (= 9.1.0)
981 | - glog
982 | - hermes-engine
983 | - RCT-Folly/Fabric (= 2024.01.01.00)
984 | - RCTRequired
985 | - RCTTypeSafety
986 | - React-Core
987 | - React-cxxreact
988 | - React-debug
989 | - React-Fabric
990 | - React-featureflags
991 | - React-graphics
992 | - React-jsi
993 | - React-jsiexecutor
994 | - React-logger
995 | - React-rendererdebug
996 | - React-runtimescheduler
997 | - React-utils
998 | - ReactCodegen
999 | - ReactCommon/turbomodule/core
1000 | - Yoga
1001 | - React-FabricComponents/components/text (0.76.5):
1002 | - DoubleConversion
1003 | - fmt (= 9.1.0)
1004 | - glog
1005 | - hermes-engine
1006 | - RCT-Folly/Fabric (= 2024.01.01.00)
1007 | - RCTRequired
1008 | - RCTTypeSafety
1009 | - React-Core
1010 | - React-cxxreact
1011 | - React-debug
1012 | - React-Fabric
1013 | - React-featureflags
1014 | - React-graphics
1015 | - React-jsi
1016 | - React-jsiexecutor
1017 | - React-logger
1018 | - React-rendererdebug
1019 | - React-runtimescheduler
1020 | - React-utils
1021 | - ReactCodegen
1022 | - ReactCommon/turbomodule/core
1023 | - Yoga
1024 | - React-FabricComponents/components/textinput (0.76.5):
1025 | - DoubleConversion
1026 | - fmt (= 9.1.0)
1027 | - glog
1028 | - hermes-engine
1029 | - RCT-Folly/Fabric (= 2024.01.01.00)
1030 | - RCTRequired
1031 | - RCTTypeSafety
1032 | - React-Core
1033 | - React-cxxreact
1034 | - React-debug
1035 | - React-Fabric
1036 | - React-featureflags
1037 | - React-graphics
1038 | - React-jsi
1039 | - React-jsiexecutor
1040 | - React-logger
1041 | - React-rendererdebug
1042 | - React-runtimescheduler
1043 | - React-utils
1044 | - ReactCodegen
1045 | - ReactCommon/turbomodule/core
1046 | - Yoga
1047 | - React-FabricComponents/components/unimplementedview (0.76.5):
1048 | - DoubleConversion
1049 | - fmt (= 9.1.0)
1050 | - glog
1051 | - hermes-engine
1052 | - RCT-Folly/Fabric (= 2024.01.01.00)
1053 | - RCTRequired
1054 | - RCTTypeSafety
1055 | - React-Core
1056 | - React-cxxreact
1057 | - React-debug
1058 | - React-Fabric
1059 | - React-featureflags
1060 | - React-graphics
1061 | - React-jsi
1062 | - React-jsiexecutor
1063 | - React-logger
1064 | - React-rendererdebug
1065 | - React-runtimescheduler
1066 | - React-utils
1067 | - ReactCodegen
1068 | - ReactCommon/turbomodule/core
1069 | - Yoga
1070 | - React-FabricComponents/textlayoutmanager (0.76.5):
1071 | - DoubleConversion
1072 | - fmt (= 9.1.0)
1073 | - glog
1074 | - hermes-engine
1075 | - RCT-Folly/Fabric (= 2024.01.01.00)
1076 | - RCTRequired
1077 | - RCTTypeSafety
1078 | - React-Core
1079 | - React-cxxreact
1080 | - React-debug
1081 | - React-Fabric
1082 | - React-featureflags
1083 | - React-graphics
1084 | - React-jsi
1085 | - React-jsiexecutor
1086 | - React-logger
1087 | - React-rendererdebug
1088 | - React-runtimescheduler
1089 | - React-utils
1090 | - ReactCodegen
1091 | - ReactCommon/turbomodule/core
1092 | - Yoga
1093 | - React-FabricImage (0.76.5):
1094 | - DoubleConversion
1095 | - fmt (= 9.1.0)
1096 | - glog
1097 | - hermes-engine
1098 | - RCT-Folly/Fabric (= 2024.01.01.00)
1099 | - RCTRequired (= 0.76.5)
1100 | - RCTTypeSafety (= 0.76.5)
1101 | - React-Fabric
1102 | - React-graphics
1103 | - React-ImageManager
1104 | - React-jsi
1105 | - React-jsiexecutor (= 0.76.5)
1106 | - React-logger
1107 | - React-rendererdebug
1108 | - React-utils
1109 | - ReactCommon
1110 | - Yoga
1111 | - React-featureflags (0.76.5)
1112 | - React-featureflagsnativemodule (0.76.5):
1113 | - DoubleConversion
1114 | - glog
1115 | - hermes-engine
1116 | - RCT-Folly (= 2024.01.01.00)
1117 | - RCTRequired
1118 | - RCTTypeSafety
1119 | - React-Core
1120 | - React-debug
1121 | - React-Fabric
1122 | - React-featureflags
1123 | - React-graphics
1124 | - React-ImageManager
1125 | - React-NativeModulesApple
1126 | - React-RCTFabric
1127 | - React-rendererdebug
1128 | - React-utils
1129 | - ReactCodegen
1130 | - ReactCommon/turbomodule/bridging
1131 | - ReactCommon/turbomodule/core
1132 | - Yoga
1133 | - React-graphics (0.76.5):
1134 | - DoubleConversion
1135 | - fmt (= 9.1.0)
1136 | - glog
1137 | - RCT-Folly/Fabric (= 2024.01.01.00)
1138 | - React-jsi
1139 | - React-jsiexecutor
1140 | - React-utils
1141 | - React-hermes (0.76.5):
1142 | - DoubleConversion
1143 | - fmt (= 9.1.0)
1144 | - glog
1145 | - hermes-engine
1146 | - RCT-Folly (= 2024.01.01.00)
1147 | - React-cxxreact (= 0.76.5)
1148 | - React-jsi
1149 | - React-jsiexecutor (= 0.76.5)
1150 | - React-jsinspector
1151 | - React-perflogger (= 0.76.5)
1152 | - React-runtimeexecutor
1153 | - React-idlecallbacksnativemodule (0.76.5):
1154 | - DoubleConversion
1155 | - glog
1156 | - hermes-engine
1157 | - RCT-Folly (= 2024.01.01.00)
1158 | - RCTRequired
1159 | - RCTTypeSafety
1160 | - React-Core
1161 | - React-debug
1162 | - React-Fabric
1163 | - React-featureflags
1164 | - React-graphics
1165 | - React-ImageManager
1166 | - React-NativeModulesApple
1167 | - React-RCTFabric
1168 | - React-rendererdebug
1169 | - React-runtimescheduler
1170 | - React-utils
1171 | - ReactCodegen
1172 | - ReactCommon/turbomodule/bridging
1173 | - ReactCommon/turbomodule/core
1174 | - Yoga
1175 | - React-ImageManager (0.76.5):
1176 | - glog
1177 | - RCT-Folly/Fabric
1178 | - React-Core/Default
1179 | - React-debug
1180 | - React-Fabric
1181 | - React-graphics
1182 | - React-rendererdebug
1183 | - React-utils
1184 | - React-jserrorhandler (0.76.5):
1185 | - glog
1186 | - hermes-engine
1187 | - RCT-Folly/Fabric (= 2024.01.01.00)
1188 | - React-cxxreact
1189 | - React-debug
1190 | - React-jsi
1191 | - React-jsi (0.76.5):
1192 | - boost
1193 | - DoubleConversion
1194 | - fmt (= 9.1.0)
1195 | - glog
1196 | - hermes-engine
1197 | - RCT-Folly (= 2024.01.01.00)
1198 | - React-jsiexecutor (0.76.5):
1199 | - DoubleConversion
1200 | - fmt (= 9.1.0)
1201 | - glog
1202 | - hermes-engine
1203 | - RCT-Folly (= 2024.01.01.00)
1204 | - React-cxxreact (= 0.76.5)
1205 | - React-jsi (= 0.76.5)
1206 | - React-jsinspector
1207 | - React-perflogger (= 0.76.5)
1208 | - React-jsinspector (0.76.5):
1209 | - DoubleConversion
1210 | - glog
1211 | - hermes-engine
1212 | - RCT-Folly (= 2024.01.01.00)
1213 | - React-featureflags
1214 | - React-jsi
1215 | - React-perflogger (= 0.76.5)
1216 | - React-runtimeexecutor (= 0.76.5)
1217 | - React-jsitracing (0.76.5):
1218 | - React-jsi
1219 | - React-logger (0.76.5):
1220 | - glog
1221 | - React-Mapbuffer (0.76.5):
1222 | - glog
1223 | - React-debug
1224 | - React-microtasksnativemodule (0.76.5):
1225 | - DoubleConversion
1226 | - glog
1227 | - hermes-engine
1228 | - RCT-Folly (= 2024.01.01.00)
1229 | - RCTRequired
1230 | - RCTTypeSafety
1231 | - React-Core
1232 | - React-debug
1233 | - React-Fabric
1234 | - React-featureflags
1235 | - React-graphics
1236 | - React-ImageManager
1237 | - React-NativeModulesApple
1238 | - React-RCTFabric
1239 | - React-rendererdebug
1240 | - React-utils
1241 | - ReactCodegen
1242 | - ReactCommon/turbomodule/bridging
1243 | - ReactCommon/turbomodule/core
1244 | - Yoga
1245 | - react-native-safe-area-context (5.0.0):
1246 | - DoubleConversion
1247 | - glog
1248 | - hermes-engine
1249 | - RCT-Folly (= 2024.01.01.00)
1250 | - RCTRequired
1251 | - RCTTypeSafety
1252 | - React-Core
1253 | - React-debug
1254 | - React-Fabric
1255 | - React-featureflags
1256 | - React-graphics
1257 | - React-ImageManager
1258 | - react-native-safe-area-context/common (= 5.0.0)
1259 | - react-native-safe-area-context/fabric (= 5.0.0)
1260 | - React-NativeModulesApple
1261 | - React-RCTFabric
1262 | - React-rendererdebug
1263 | - React-utils
1264 | - ReactCodegen
1265 | - ReactCommon/turbomodule/bridging
1266 | - ReactCommon/turbomodule/core
1267 | - Yoga
1268 | - react-native-safe-area-context/common (5.0.0):
1269 | - DoubleConversion
1270 | - glog
1271 | - hermes-engine
1272 | - RCT-Folly (= 2024.01.01.00)
1273 | - RCTRequired
1274 | - RCTTypeSafety
1275 | - React-Core
1276 | - React-debug
1277 | - React-Fabric
1278 | - React-featureflags
1279 | - React-graphics
1280 | - React-ImageManager
1281 | - React-NativeModulesApple
1282 | - React-RCTFabric
1283 | - React-rendererdebug
1284 | - React-utils
1285 | - ReactCodegen
1286 | - ReactCommon/turbomodule/bridging
1287 | - ReactCommon/turbomodule/core
1288 | - Yoga
1289 | - react-native-safe-area-context/fabric (5.0.0):
1290 | - DoubleConversion
1291 | - glog
1292 | - hermes-engine
1293 | - RCT-Folly (= 2024.01.01.00)
1294 | - RCTRequired
1295 | - RCTTypeSafety
1296 | - React-Core
1297 | - React-debug
1298 | - React-Fabric
1299 | - React-featureflags
1300 | - React-graphics
1301 | - React-ImageManager
1302 | - react-native-safe-area-context/common
1303 | - React-NativeModulesApple
1304 | - React-RCTFabric
1305 | - React-rendererdebug
1306 | - React-utils
1307 | - ReactCodegen
1308 | - ReactCommon/turbomodule/bridging
1309 | - ReactCommon/turbomodule/core
1310 | - Yoga
1311 | - React-nativeconfig (0.76.5)
1312 | - React-NativeModulesApple (0.76.5):
1313 | - glog
1314 | - hermes-engine
1315 | - React-callinvoker
1316 | - React-Core
1317 | - React-cxxreact
1318 | - React-jsi
1319 | - React-jsinspector
1320 | - React-runtimeexecutor
1321 | - ReactCommon/turbomodule/bridging
1322 | - ReactCommon/turbomodule/core
1323 | - React-perflogger (0.76.5):
1324 | - DoubleConversion
1325 | - RCT-Folly (= 2024.01.01.00)
1326 | - React-performancetimeline (0.76.5):
1327 | - RCT-Folly (= 2024.01.01.00)
1328 | - React-cxxreact
1329 | - React-timing
1330 | - React-RCTActionSheet (0.76.5):
1331 | - React-Core/RCTActionSheetHeaders (= 0.76.5)
1332 | - React-RCTAnimation (0.76.5):
1333 | - RCT-Folly (= 2024.01.01.00)
1334 | - RCTTypeSafety
1335 | - React-Core/RCTAnimationHeaders
1336 | - React-jsi
1337 | - React-NativeModulesApple
1338 | - ReactCodegen
1339 | - ReactCommon
1340 | - React-RCTAppDelegate (0.76.5):
1341 | - RCT-Folly (= 2024.01.01.00)
1342 | - RCTRequired
1343 | - RCTTypeSafety
1344 | - React-Core
1345 | - React-CoreModules
1346 | - React-debug
1347 | - React-defaultsnativemodule
1348 | - React-Fabric
1349 | - React-featureflags
1350 | - React-graphics
1351 | - React-hermes
1352 | - React-nativeconfig
1353 | - React-NativeModulesApple
1354 | - React-RCTFabric
1355 | - React-RCTImage
1356 | - React-RCTNetwork
1357 | - React-rendererdebug
1358 | - React-RuntimeApple
1359 | - React-RuntimeCore
1360 | - React-RuntimeHermes
1361 | - React-runtimescheduler
1362 | - React-utils
1363 | - ReactCodegen
1364 | - ReactCommon
1365 | - React-RCTBlob (0.76.5):
1366 | - DoubleConversion
1367 | - fmt (= 9.1.0)
1368 | - hermes-engine
1369 | - RCT-Folly (= 2024.01.01.00)
1370 | - React-Core/RCTBlobHeaders
1371 | - React-Core/RCTWebSocket
1372 | - React-jsi
1373 | - React-jsinspector
1374 | - React-NativeModulesApple
1375 | - React-RCTNetwork
1376 | - ReactCodegen
1377 | - ReactCommon
1378 | - React-RCTFabric (0.76.5):
1379 | - glog
1380 | - hermes-engine
1381 | - RCT-Folly/Fabric (= 2024.01.01.00)
1382 | - React-Core
1383 | - React-debug
1384 | - React-Fabric
1385 | - React-FabricComponents
1386 | - React-FabricImage
1387 | - React-featureflags
1388 | - React-graphics
1389 | - React-ImageManager
1390 | - React-jsi
1391 | - React-jsinspector
1392 | - React-nativeconfig
1393 | - React-performancetimeline
1394 | - React-RCTImage
1395 | - React-RCTText
1396 | - React-rendererconsistency
1397 | - React-rendererdebug
1398 | - React-runtimescheduler
1399 | - React-utils
1400 | - Yoga
1401 | - React-RCTImage (0.76.5):
1402 | - RCT-Folly (= 2024.01.01.00)
1403 | - RCTTypeSafety
1404 | - React-Core/RCTImageHeaders
1405 | - React-jsi
1406 | - React-NativeModulesApple
1407 | - React-RCTNetwork
1408 | - ReactCodegen
1409 | - ReactCommon
1410 | - React-RCTLinking (0.76.5):
1411 | - React-Core/RCTLinkingHeaders (= 0.76.5)
1412 | - React-jsi (= 0.76.5)
1413 | - React-NativeModulesApple
1414 | - ReactCodegen
1415 | - ReactCommon
1416 | - ReactCommon/turbomodule/core (= 0.76.5)
1417 | - React-RCTNetwork (0.76.5):
1418 | - RCT-Folly (= 2024.01.01.00)
1419 | - RCTTypeSafety
1420 | - React-Core/RCTNetworkHeaders
1421 | - React-jsi
1422 | - React-NativeModulesApple
1423 | - ReactCodegen
1424 | - ReactCommon
1425 | - React-RCTSettings (0.76.5):
1426 | - RCT-Folly (= 2024.01.01.00)
1427 | - RCTTypeSafety
1428 | - React-Core/RCTSettingsHeaders
1429 | - React-jsi
1430 | - React-NativeModulesApple
1431 | - ReactCodegen
1432 | - ReactCommon
1433 | - React-RCTText (0.76.5):
1434 | - React-Core/RCTTextHeaders (= 0.76.5)
1435 | - Yoga
1436 | - React-RCTVibration (0.76.5):
1437 | - RCT-Folly (= 2024.01.01.00)
1438 | - React-Core/RCTVibrationHeaders
1439 | - React-jsi
1440 | - React-NativeModulesApple
1441 | - ReactCodegen
1442 | - ReactCommon
1443 | - React-rendererconsistency (0.76.5)
1444 | - React-rendererdebug (0.76.5):
1445 | - DoubleConversion
1446 | - fmt (= 9.1.0)
1447 | - RCT-Folly (= 2024.01.01.00)
1448 | - React-debug
1449 | - React-rncore (0.76.5)
1450 | - React-RuntimeApple (0.76.5):
1451 | - hermes-engine
1452 | - RCT-Folly/Fabric (= 2024.01.01.00)
1453 | - React-callinvoker
1454 | - React-Core/Default
1455 | - React-CoreModules
1456 | - React-cxxreact
1457 | - React-jserrorhandler
1458 | - React-jsi
1459 | - React-jsiexecutor
1460 | - React-jsinspector
1461 | - React-Mapbuffer
1462 | - React-NativeModulesApple
1463 | - React-RCTFabric
1464 | - React-RuntimeCore
1465 | - React-runtimeexecutor
1466 | - React-RuntimeHermes
1467 | - React-runtimescheduler
1468 | - React-utils
1469 | - React-RuntimeCore (0.76.5):
1470 | - glog
1471 | - hermes-engine
1472 | - RCT-Folly/Fabric (= 2024.01.01.00)
1473 | - React-cxxreact
1474 | - React-featureflags
1475 | - React-jserrorhandler
1476 | - React-jsi
1477 | - React-jsiexecutor
1478 | - React-jsinspector
1479 | - React-performancetimeline
1480 | - React-runtimeexecutor
1481 | - React-runtimescheduler
1482 | - React-utils
1483 | - React-runtimeexecutor (0.76.5):
1484 | - React-jsi (= 0.76.5)
1485 | - React-RuntimeHermes (0.76.5):
1486 | - hermes-engine
1487 | - RCT-Folly/Fabric (= 2024.01.01.00)
1488 | - React-featureflags
1489 | - React-hermes
1490 | - React-jsi
1491 | - React-jsinspector
1492 | - React-jsitracing
1493 | - React-nativeconfig
1494 | - React-RuntimeCore
1495 | - React-utils
1496 | - React-runtimescheduler (0.76.5):
1497 | - glog
1498 | - hermes-engine
1499 | - RCT-Folly (= 2024.01.01.00)
1500 | - React-callinvoker
1501 | - React-cxxreact
1502 | - React-debug
1503 | - React-featureflags
1504 | - React-jsi
1505 | - React-performancetimeline
1506 | - React-rendererconsistency
1507 | - React-rendererdebug
1508 | - React-runtimeexecutor
1509 | - React-timing
1510 | - React-utils
1511 | - React-timing (0.76.5)
1512 | - React-utils (0.76.5):
1513 | - glog
1514 | - hermes-engine
1515 | - RCT-Folly (= 2024.01.01.00)
1516 | - React-debug
1517 | - React-jsi (= 0.76.5)
1518 | - ReactCodegen (0.76.5):
1519 | - DoubleConversion
1520 | - glog
1521 | - hermes-engine
1522 | - RCT-Folly
1523 | - RCTRequired
1524 | - RCTTypeSafety
1525 | - React-Core
1526 | - React-debug
1527 | - React-Fabric
1528 | - React-FabricImage
1529 | - React-featureflags
1530 | - React-graphics
1531 | - React-jsi
1532 | - React-jsiexecutor
1533 | - React-NativeModulesApple
1534 | - React-rendererdebug
1535 | - React-utils
1536 | - ReactCommon/turbomodule/bridging
1537 | - ReactCommon/turbomodule/core
1538 | - ReactCommon (0.76.5):
1539 | - ReactCommon/turbomodule (= 0.76.5)
1540 | - ReactCommon/turbomodule (0.76.5):
1541 | - DoubleConversion
1542 | - fmt (= 9.1.0)
1543 | - glog
1544 | - hermes-engine
1545 | - RCT-Folly (= 2024.01.01.00)
1546 | - React-callinvoker (= 0.76.5)
1547 | - React-cxxreact (= 0.76.5)
1548 | - React-jsi (= 0.76.5)
1549 | - React-logger (= 0.76.5)
1550 | - React-perflogger (= 0.76.5)
1551 | - ReactCommon/turbomodule/bridging (= 0.76.5)
1552 | - ReactCommon/turbomodule/core (= 0.76.5)
1553 | - ReactCommon/turbomodule/bridging (0.76.5):
1554 | - DoubleConversion
1555 | - fmt (= 9.1.0)
1556 | - glog
1557 | - hermes-engine
1558 | - RCT-Folly (= 2024.01.01.00)
1559 | - React-callinvoker (= 0.76.5)
1560 | - React-cxxreact (= 0.76.5)
1561 | - React-jsi (= 0.76.5)
1562 | - React-logger (= 0.76.5)
1563 | - React-perflogger (= 0.76.5)
1564 | - ReactCommon/turbomodule/core (0.76.5):
1565 | - DoubleConversion
1566 | - fmt (= 9.1.0)
1567 | - glog
1568 | - hermes-engine
1569 | - RCT-Folly (= 2024.01.01.00)
1570 | - React-callinvoker (= 0.76.5)
1571 | - React-cxxreact (= 0.76.5)
1572 | - React-debug (= 0.76.5)
1573 | - React-featureflags (= 0.76.5)
1574 | - React-jsi (= 0.76.5)
1575 | - React-logger (= 0.76.5)
1576 | - React-perflogger (= 0.76.5)
1577 | - React-utils (= 0.76.5)
1578 | - SocketRocket (0.7.1)
1579 | - Yoga (0.0.0)
1580 |
1581 | DEPENDENCIES:
1582 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
1583 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
1584 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
1585 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
1586 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
1587 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
1588 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1589 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1590 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
1591 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`)
1592 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
1593 | - React (from `../node_modules/react-native/`)
1594 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
1595 | - React-Core (from `../node_modules/react-native/`)
1596 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
1597 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
1598 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
1599 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
1600 | - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
1601 | - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
1602 | - React-Fabric (from `../node_modules/react-native/ReactCommon`)
1603 | - React-FabricComponents (from `../node_modules/react-native/ReactCommon`)
1604 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`)
1605 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`)
1606 | - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
1607 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
1608 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
1609 | - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
1610 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
1611 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
1612 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
1613 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
1614 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`)
1615 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`)
1616 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
1617 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
1618 | - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
1619 | - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
1620 | - React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
1621 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
1622 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
1623 | - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`)
1624 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
1625 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
1626 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
1627 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
1628 | - React-RCTFabric (from `../node_modules/react-native/React`)
1629 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
1630 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
1631 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
1632 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
1633 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
1634 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
1635 | - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`)
1636 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`)
1637 | - React-rncore (from `../node_modules/react-native/ReactCommon`)
1638 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
1639 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`)
1640 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
1641 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`)
1642 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
1643 | - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`)
1644 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
1645 | - ReactCodegen (from `build/generated/ios`)
1646 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
1647 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
1648 |
1649 | SPEC REPOS:
1650 | trunk:
1651 | - SocketRocket
1652 |
1653 | EXTERNAL SOURCES:
1654 | boost:
1655 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
1656 | DoubleConversion:
1657 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
1658 | FBLazyVector:
1659 | :path: "../node_modules/react-native/Libraries/FBLazyVector"
1660 | fmt:
1661 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec"
1662 | glog:
1663 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
1664 | hermes-engine:
1665 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
1666 | :tag: hermes-2024-11-12-RNv0.76.2-5b4aa20c719830dcf5684832b89a6edb95ac3d64
1667 | RCT-Folly:
1668 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
1669 | RCTDeprecation:
1670 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
1671 | RCTRequired:
1672 | :path: "../node_modules/react-native/Libraries/Required"
1673 | RCTTypeSafety:
1674 | :path: "../node_modules/react-native/Libraries/TypeSafety"
1675 | React:
1676 | :path: "../node_modules/react-native/"
1677 | React-callinvoker:
1678 | :path: "../node_modules/react-native/ReactCommon/callinvoker"
1679 | React-Core:
1680 | :path: "../node_modules/react-native/"
1681 | React-CoreModules:
1682 | :path: "../node_modules/react-native/React/CoreModules"
1683 | React-cxxreact:
1684 | :path: "../node_modules/react-native/ReactCommon/cxxreact"
1685 | React-debug:
1686 | :path: "../node_modules/react-native/ReactCommon/react/debug"
1687 | React-defaultsnativemodule:
1688 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
1689 | React-domnativemodule:
1690 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom"
1691 | React-Fabric:
1692 | :path: "../node_modules/react-native/ReactCommon"
1693 | React-FabricComponents:
1694 | :path: "../node_modules/react-native/ReactCommon"
1695 | React-FabricImage:
1696 | :path: "../node_modules/react-native/ReactCommon"
1697 | React-featureflags:
1698 | :path: "../node_modules/react-native/ReactCommon/react/featureflags"
1699 | React-featureflagsnativemodule:
1700 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
1701 | React-graphics:
1702 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
1703 | React-hermes:
1704 | :path: "../node_modules/react-native/ReactCommon/hermes"
1705 | React-idlecallbacksnativemodule:
1706 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
1707 | React-ImageManager:
1708 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
1709 | React-jserrorhandler:
1710 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler"
1711 | React-jsi:
1712 | :path: "../node_modules/react-native/ReactCommon/jsi"
1713 | React-jsiexecutor:
1714 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
1715 | React-jsinspector:
1716 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern"
1717 | React-jsitracing:
1718 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/"
1719 | React-logger:
1720 | :path: "../node_modules/react-native/ReactCommon/logger"
1721 | React-Mapbuffer:
1722 | :path: "../node_modules/react-native/ReactCommon"
1723 | React-microtasksnativemodule:
1724 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
1725 | react-native-safe-area-context:
1726 | :path: "../node_modules/react-native-safe-area-context"
1727 | React-nativeconfig:
1728 | :path: "../node_modules/react-native/ReactCommon"
1729 | React-NativeModulesApple:
1730 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
1731 | React-perflogger:
1732 | :path: "../node_modules/react-native/ReactCommon/reactperflogger"
1733 | React-performancetimeline:
1734 | :path: "../node_modules/react-native/ReactCommon/react/performance/timeline"
1735 | React-RCTActionSheet:
1736 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
1737 | React-RCTAnimation:
1738 | :path: "../node_modules/react-native/Libraries/NativeAnimation"
1739 | React-RCTAppDelegate:
1740 | :path: "../node_modules/react-native/Libraries/AppDelegate"
1741 | React-RCTBlob:
1742 | :path: "../node_modules/react-native/Libraries/Blob"
1743 | React-RCTFabric:
1744 | :path: "../node_modules/react-native/React"
1745 | React-RCTImage:
1746 | :path: "../node_modules/react-native/Libraries/Image"
1747 | React-RCTLinking:
1748 | :path: "../node_modules/react-native/Libraries/LinkingIOS"
1749 | React-RCTNetwork:
1750 | :path: "../node_modules/react-native/Libraries/Network"
1751 | React-RCTSettings:
1752 | :path: "../node_modules/react-native/Libraries/Settings"
1753 | React-RCTText:
1754 | :path: "../node_modules/react-native/Libraries/Text"
1755 | React-RCTVibration:
1756 | :path: "../node_modules/react-native/Libraries/Vibration"
1757 | React-rendererconsistency:
1758 | :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency"
1759 | React-rendererdebug:
1760 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug"
1761 | React-rncore:
1762 | :path: "../node_modules/react-native/ReactCommon"
1763 | React-RuntimeApple:
1764 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
1765 | React-RuntimeCore:
1766 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1767 | React-runtimeexecutor:
1768 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
1769 | React-RuntimeHermes:
1770 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1771 | React-runtimescheduler:
1772 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
1773 | React-timing:
1774 | :path: "../node_modules/react-native/ReactCommon/react/timing"
1775 | React-utils:
1776 | :path: "../node_modules/react-native/ReactCommon/react/utils"
1777 | ReactCodegen:
1778 | :path: build/generated/ios
1779 | ReactCommon:
1780 | :path: "../node_modules/react-native/ReactCommon"
1781 | Yoga:
1782 | :path: "../node_modules/react-native/ReactCommon/yoga"
1783 |
1784 | SPEC CHECKSUMS:
1785 | boost: 1dca942403ed9342f98334bf4c3621f011aa7946
1786 | DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
1787 | FBLazyVector: 1bf99bb46c6af9a2712592e707347315f23947aa
1788 | fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
1789 | glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
1790 | hermes-engine: 06a9c6900587420b90accc394199527c64259db4
1791 | RCT-Folly: bf5c0376ffe4dd2cf438dcf86db385df9fdce648
1792 | RCTDeprecation: fb7d408617e25d7f537940000d766d60149c5fea
1793 | RCTRequired: 9aaf0ffcc1f41f0c671af863970ef25c422a9920
1794 | RCTTypeSafety: e9a6e7d48184646eb0610295b74c0dd02768cbb2
1795 | React: fffb3cf1b0d7aee03c4eb4952b2d58783615e9fa
1796 | React-callinvoker: 3c6ecc0315d42924e01b3ddc25cf2e49d33da169
1797 | React-Core: d2143ba58d0c8563cf397f96f699c6069eba951c
1798 | React-CoreModules: b3cbc5e3090a8c23116c0c7dd8998e0637e29619
1799 | React-cxxreact: 68fb9193582c4a411ce99d0b23f7b3d8da1c2e4a
1800 | React-debug: 297ed67868a76e8384669ea9b5c65c5d9d9d15d9
1801 | React-defaultsnativemodule: 9726dafb3b20bb49f9eac5993418aaa7ddb6a80d
1802 | React-domnativemodule: ff049da74cb1be08b7cd71cdbc7bb5b335e04d8e
1803 | React-Fabric: 2e33816098a5a29d2f4ae7eb2de3cfbc361b6922
1804 | React-FabricComponents: bb2d6b89321bf79653ae3d4ec890ba7cb9fe51c8
1805 | React-FabricImage: 019a5e834378e460ef39bf19cb506fd36491ae74
1806 | React-featureflags: cb3dca1c74ba813f2e578c8c635989d01d14739f
1807 | React-featureflagsnativemodule: 4a1eaf7a29e48ddd60bce9a2f4c4ef74dc3b9e53
1808 | React-graphics: e626f3b24227a3a8323ed89476c8f0927c0264c7
1809 | React-hermes: 63678d262d94835f986fa2fac1c835188f14160b
1810 | React-idlecallbacksnativemodule: 7a25d2bff611677bbc2eab428e7bfd02f7418b42
1811 | React-ImageManager: 223709133aa644bc1e74d354308cf2ed4c9d0f00
1812 | React-jserrorhandler: 212d88de95b23965fdff91c1a20da30e29cdfbbb
1813 | React-jsi: d189a2a826fe6700ea1194e1c2b15535d06c8d75
1814 | React-jsiexecutor: b75a12d37f2bf84f74b5c05131afdef243cfc69d
1815 | React-jsinspector: c3402468ae1fbca79e3d8cc11e7a0fc2c8ffafb1
1816 | React-jsitracing: 1f46c2ec0c5ace3fe959b1aa0f8535ef1c021161
1817 | React-logger: 697873f06b8ba436e3cddf28018ab4741e8071b6
1818 | React-Mapbuffer: c174e11bdea12dce07df8669d6c0dc97eb0c7706
1819 | React-microtasksnativemodule: 8a80099ad7391f4e13a48b12796d96680f120dc6
1820 | react-native-safe-area-context: d6406c2adbd41b2e09ab1c386781dc1c81a90919
1821 | React-nativeconfig: f7ab6c152e780b99a8c17448f2d99cf5f69a2311
1822 | React-NativeModulesApple: 70600f7edfc2c2a01e39ab13a20fd59f4c60df0b
1823 | React-perflogger: ceb97dd4e5ca6ff20eebb5a6f9e00312dcdea872
1824 | React-performancetimeline: e39f038509c2a6b2ddb85087ba7cb8bd9caf977d
1825 | React-RCTActionSheet: a4388035260b01ac38d3647da0433b0455da9bae
1826 | React-RCTAnimation: 84117cb3521c40e95a4edfeab1c1cb159bc9a7c3
1827 | React-RCTAppDelegate: df039dffb7adbc2e4a8ce951d1b2842f1846f43e
1828 | React-RCTBlob: 947cbb49842c9141e2b21f719e83e9197a06e453
1829 | React-RCTFabric: 8f8afe72401ddfca2bd8b488d2d9eb0deee0b4bf
1830 | React-RCTImage: 367a7dcca1d37b04e28918c025a0101494fb2a19
1831 | React-RCTLinking: b9dc797e49683a98ee4f703f1f01ec2bd69ceb7f
1832 | React-RCTNetwork: 16e92fb59b9cd1e1175ecb2e90aa9e06e82db7a3
1833 | React-RCTSettings: 20a1c3316956fae137d8178b4c23b7a1d56674cc
1834 | React-RCTText: 59d8792076b6010f7305f2558d868025004e108b
1835 | React-RCTVibration: 597d5aba0212d709ec79d12e76285c3d94dc0658
1836 | React-rendererconsistency: 42f182fe910ad6c9b449cc62adae8d0eaba76f0a
1837 | React-rendererdebug: f36daf9f79831c8785215048fad4ef6453834430
1838 | React-rncore: 85ed76036ff56e2e9c369155027cbbd84db86006
1839 | React-RuntimeApple: 6ca44fc23bb00474f9387c0709f23d4dade79800
1840 | React-RuntimeCore: b4d723e516e2e24616eb72de5b41a68b0736cc02
1841 | React-runtimeexecutor: 10fae9492194097c99f6e34cedbb42a308922d32
1842 | React-RuntimeHermes: 93437bfc028ba48122276e2748c7cd0f9bbcdb40
1843 | React-runtimescheduler: 72bbb4bd4774a0f4f9a7e84dbf133213197a0828
1844 | React-timing: 1050c6fa44c327f2d7538e10c548fdf521fabdb8
1845 | React-utils: 541c6cca08f32597d4183f00e83eef2ed20d4c54
1846 | ReactCodegen: daa13d9e48c9bdb1daac4bd694b9dd54e06681df
1847 | ReactCommon: a6b87a7591591f7a52d9c0fec3aa05e0620d5dd3
1848 | SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
1849 | Yoga: c7ea4c36c1d78ebbf45529b6e78283e4e0fe4956
1850 |
1851 | PODFILE CHECKSUM: ae2024aff79512b2523e166eeb430cdfa29700be
1852 |
1853 | COCOAPODS: 1.15.2
1854 |
--------------------------------------------------------------------------------
/ios/rn_crash_course.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 54;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 00E356F31AD99517003FC87E /* rn_crash_courseTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* rn_crash_courseTests.m */; };
11 | 0C80B921A6F3F58F76C31292 /* libPods-rn_crash_course.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-rn_crash_course.a */; };
12 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
13 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
14 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
15 | 3704284F1409B23CA9D5B339 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
16 | 7699B88040F8A987B510C191 /* libPods-rn_crash_course-rn_crash_courseTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-rn_crash_course-rn_crash_courseTests.a */; };
17 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
18 | /* End PBXBuildFile section */
19 |
20 | /* Begin PBXContainerItemProxy section */
21 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
22 | isa = PBXContainerItemProxy;
23 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
24 | proxyType = 1;
25 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
26 | remoteInfo = rn_crash_course;
27 | };
28 | /* End PBXContainerItemProxy section */
29 |
30 | /* Begin PBXFileReference section */
31 | 00E356EE1AD99517003FC87E /* rn_crash_courseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = rn_crash_courseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
32 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
33 | 00E356F21AD99517003FC87E /* rn_crash_courseTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = rn_crash_courseTests.m; sourceTree = ""; };
34 | 13B07F961A680F5B00A75B9A /* rn_crash_course.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = rn_crash_course.app; sourceTree = BUILT_PRODUCTS_DIR; };
35 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = rn_crash_course/AppDelegate.h; sourceTree = ""; };
36 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = rn_crash_course/AppDelegate.mm; sourceTree = ""; };
37 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = rn_crash_course/Images.xcassets; sourceTree = ""; };
38 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = rn_crash_course/Info.plist; sourceTree = ""; };
39 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = rn_crash_course/main.m; sourceTree = ""; };
40 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = rn_crash_course/PrivacyInfo.xcprivacy; sourceTree = ""; };
41 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-rn_crash_course-rn_crash_courseTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-rn_crash_course-rn_crash_courseTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
42 | 3B4392A12AC88292D35C810B /* Pods-rn_crash_course.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-rn_crash_course.debug.xcconfig"; path = "Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course.debug.xcconfig"; sourceTree = ""; };
43 | 5709B34CF0A7D63546082F79 /* Pods-rn_crash_course.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-rn_crash_course.release.xcconfig"; path = "Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course.release.xcconfig"; sourceTree = ""; };
44 | 5B7EB9410499542E8C5724F5 /* Pods-rn_crash_course-rn_crash_courseTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-rn_crash_course-rn_crash_courseTests.debug.xcconfig"; path = "Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests.debug.xcconfig"; sourceTree = ""; };
45 | 5DCACB8F33CDC322A6C60F78 /* libPods-rn_crash_course.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-rn_crash_course.a"; sourceTree = BUILT_PRODUCTS_DIR; };
46 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = rn_crash_course/LaunchScreen.storyboard; sourceTree = ""; };
47 | 89C6BE57DB24E9ADA2F236DE /* Pods-rn_crash_course-rn_crash_courseTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-rn_crash_course-rn_crash_courseTests.release.xcconfig"; path = "Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests.release.xcconfig"; sourceTree = ""; };
48 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
49 | /* End PBXFileReference section */
50 |
51 | /* Begin PBXFrameworksBuildPhase section */
52 | 00E356EB1AD99517003FC87E /* Frameworks */ = {
53 | isa = PBXFrameworksBuildPhase;
54 | buildActionMask = 2147483647;
55 | files = (
56 | 7699B88040F8A987B510C191 /* libPods-rn_crash_course-rn_crash_courseTests.a in Frameworks */,
57 | );
58 | runOnlyForDeploymentPostprocessing = 0;
59 | };
60 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
61 | isa = PBXFrameworksBuildPhase;
62 | buildActionMask = 2147483647;
63 | files = (
64 | 0C80B921A6F3F58F76C31292 /* libPods-rn_crash_course.a in Frameworks */,
65 | );
66 | runOnlyForDeploymentPostprocessing = 0;
67 | };
68 | /* End PBXFrameworksBuildPhase section */
69 |
70 | /* Begin PBXGroup section */
71 | 00E356EF1AD99517003FC87E /* rn_crash_courseTests */ = {
72 | isa = PBXGroup;
73 | children = (
74 | 00E356F21AD99517003FC87E /* rn_crash_courseTests.m */,
75 | 00E356F01AD99517003FC87E /* Supporting Files */,
76 | );
77 | path = rn_crash_courseTests;
78 | sourceTree = "";
79 | };
80 | 00E356F01AD99517003FC87E /* Supporting Files */ = {
81 | isa = PBXGroup;
82 | children = (
83 | 00E356F11AD99517003FC87E /* Info.plist */,
84 | );
85 | name = "Supporting Files";
86 | sourceTree = "";
87 | };
88 | 13B07FAE1A68108700A75B9A /* rn_crash_course */ = {
89 | isa = PBXGroup;
90 | children = (
91 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
92 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */,
93 | 13B07FB51A68108700A75B9A /* Images.xcassets */,
94 | 13B07FB61A68108700A75B9A /* Info.plist */,
95 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
96 | 13B07FB71A68108700A75B9A /* main.m */,
97 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
98 | );
99 | name = rn_crash_course;
100 | sourceTree = "";
101 | };
102 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
103 | isa = PBXGroup;
104 | children = (
105 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
106 | 5DCACB8F33CDC322A6C60F78 /* libPods-rn_crash_course.a */,
107 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-rn_crash_course-rn_crash_courseTests.a */,
108 | );
109 | name = Frameworks;
110 | sourceTree = "";
111 | };
112 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
113 | isa = PBXGroup;
114 | children = (
115 | );
116 | name = Libraries;
117 | sourceTree = "";
118 | };
119 | 83CBB9F61A601CBA00E9B192 = {
120 | isa = PBXGroup;
121 | children = (
122 | 13B07FAE1A68108700A75B9A /* rn_crash_course */,
123 | 832341AE1AAA6A7D00B99B32 /* Libraries */,
124 | 00E356EF1AD99517003FC87E /* rn_crash_courseTests */,
125 | 83CBBA001A601CBA00E9B192 /* Products */,
126 | 2D16E6871FA4F8E400B85C8A /* Frameworks */,
127 | BBD78D7AC51CEA395F1C20DB /* Pods */,
128 | );
129 | indentWidth = 2;
130 | sourceTree = "";
131 | tabWidth = 2;
132 | usesTabs = 0;
133 | };
134 | 83CBBA001A601CBA00E9B192 /* Products */ = {
135 | isa = PBXGroup;
136 | children = (
137 | 13B07F961A680F5B00A75B9A /* rn_crash_course.app */,
138 | 00E356EE1AD99517003FC87E /* rn_crash_courseTests.xctest */,
139 | );
140 | name = Products;
141 | sourceTree = "";
142 | };
143 | BBD78D7AC51CEA395F1C20DB /* Pods */ = {
144 | isa = PBXGroup;
145 | children = (
146 | 3B4392A12AC88292D35C810B /* Pods-rn_crash_course.debug.xcconfig */,
147 | 5709B34CF0A7D63546082F79 /* Pods-rn_crash_course.release.xcconfig */,
148 | 5B7EB9410499542E8C5724F5 /* Pods-rn_crash_course-rn_crash_courseTests.debug.xcconfig */,
149 | 89C6BE57DB24E9ADA2F236DE /* Pods-rn_crash_course-rn_crash_courseTests.release.xcconfig */,
150 | );
151 | path = Pods;
152 | sourceTree = "";
153 | };
154 | /* End PBXGroup section */
155 |
156 | /* Begin PBXNativeTarget section */
157 | 00E356ED1AD99517003FC87E /* rn_crash_courseTests */ = {
158 | isa = PBXNativeTarget;
159 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "rn_crash_courseTests" */;
160 | buildPhases = (
161 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */,
162 | 00E356EA1AD99517003FC87E /* Sources */,
163 | 00E356EB1AD99517003FC87E /* Frameworks */,
164 | 00E356EC1AD99517003FC87E /* Resources */,
165 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */,
166 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */,
167 | );
168 | buildRules = (
169 | );
170 | dependencies = (
171 | 00E356F51AD99517003FC87E /* PBXTargetDependency */,
172 | );
173 | name = rn_crash_courseTests;
174 | productName = rn_crash_courseTests;
175 | productReference = 00E356EE1AD99517003FC87E /* rn_crash_courseTests.xctest */;
176 | productType = "com.apple.product-type.bundle.unit-test";
177 | };
178 | 13B07F861A680F5B00A75B9A /* rn_crash_course */ = {
179 | isa = PBXNativeTarget;
180 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "rn_crash_course" */;
181 | buildPhases = (
182 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
183 | 13B07F871A680F5B00A75B9A /* Sources */,
184 | 13B07F8C1A680F5B00A75B9A /* Frameworks */,
185 | 13B07F8E1A680F5B00A75B9A /* Resources */,
186 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
187 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
188 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
189 | );
190 | buildRules = (
191 | );
192 | dependencies = (
193 | );
194 | name = rn_crash_course;
195 | productName = rn_crash_course;
196 | productReference = 13B07F961A680F5B00A75B9A /* rn_crash_course.app */;
197 | productType = "com.apple.product-type.application";
198 | };
199 | /* End PBXNativeTarget section */
200 |
201 | /* Begin PBXProject section */
202 | 83CBB9F71A601CBA00E9B192 /* Project object */ = {
203 | isa = PBXProject;
204 | attributes = {
205 | LastUpgradeCheck = 1210;
206 | TargetAttributes = {
207 | 00E356ED1AD99517003FC87E = {
208 | CreatedOnToolsVersion = 6.2;
209 | TestTargetID = 13B07F861A680F5B00A75B9A;
210 | };
211 | 13B07F861A680F5B00A75B9A = {
212 | LastSwiftMigration = 1120;
213 | };
214 | };
215 | };
216 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "rn_crash_course" */;
217 | compatibilityVersion = "Xcode 12.0";
218 | developmentRegion = en;
219 | hasScannedForEncodings = 0;
220 | knownRegions = (
221 | en,
222 | Base,
223 | );
224 | mainGroup = 83CBB9F61A601CBA00E9B192;
225 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
226 | projectDirPath = "";
227 | projectRoot = "";
228 | targets = (
229 | 13B07F861A680F5B00A75B9A /* rn_crash_course */,
230 | 00E356ED1AD99517003FC87E /* rn_crash_courseTests */,
231 | );
232 | };
233 | /* End PBXProject section */
234 |
235 | /* Begin PBXResourcesBuildPhase section */
236 | 00E356EC1AD99517003FC87E /* Resources */ = {
237 | isa = PBXResourcesBuildPhase;
238 | buildActionMask = 2147483647;
239 | files = (
240 | );
241 | runOnlyForDeploymentPostprocessing = 0;
242 | };
243 | 13B07F8E1A680F5B00A75B9A /* Resources */ = {
244 | isa = PBXResourcesBuildPhase;
245 | buildActionMask = 2147483647;
246 | files = (
247 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
248 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
249 | 3704284F1409B23CA9D5B339 /* PrivacyInfo.xcprivacy in Resources */,
250 | );
251 | runOnlyForDeploymentPostprocessing = 0;
252 | };
253 | /* End PBXResourcesBuildPhase section */
254 |
255 | /* Begin PBXShellScriptBuildPhase section */
256 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
257 | isa = PBXShellScriptBuildPhase;
258 | buildActionMask = 2147483647;
259 | files = (
260 | );
261 | inputPaths = (
262 | "$(SRCROOT)/.xcode.env.local",
263 | "$(SRCROOT)/.xcode.env",
264 | );
265 | name = "Bundle React Native code and images";
266 | outputPaths = (
267 | );
268 | runOnlyForDeploymentPostprocessing = 0;
269 | shellPath = /bin/sh;
270 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
271 | };
272 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
273 | isa = PBXShellScriptBuildPhase;
274 | buildActionMask = 2147483647;
275 | files = (
276 | );
277 | inputFileListPaths = (
278 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-frameworks-${CONFIGURATION}-input-files.xcfilelist",
279 | );
280 | name = "[CP] Embed Pods Frameworks";
281 | outputFileListPaths = (
282 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-frameworks-${CONFIGURATION}-output-files.xcfilelist",
283 | );
284 | runOnlyForDeploymentPostprocessing = 0;
285 | shellPath = /bin/sh;
286 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-frameworks.sh\"\n";
287 | showEnvVarsInLog = 0;
288 | };
289 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
290 | isa = PBXShellScriptBuildPhase;
291 | buildActionMask = 2147483647;
292 | files = (
293 | );
294 | inputFileListPaths = (
295 | );
296 | inputPaths = (
297 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
298 | "${PODS_ROOT}/Manifest.lock",
299 | );
300 | name = "[CP] Check Pods Manifest.lock";
301 | outputFileListPaths = (
302 | );
303 | outputPaths = (
304 | "$(DERIVED_FILE_DIR)/Pods-rn_crash_course-rn_crash_courseTests-checkManifestLockResult.txt",
305 | );
306 | runOnlyForDeploymentPostprocessing = 0;
307 | shellPath = /bin/sh;
308 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
309 | showEnvVarsInLog = 0;
310 | };
311 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
312 | isa = PBXShellScriptBuildPhase;
313 | buildActionMask = 2147483647;
314 | files = (
315 | );
316 | inputFileListPaths = (
317 | );
318 | inputPaths = (
319 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
320 | "${PODS_ROOT}/Manifest.lock",
321 | );
322 | name = "[CP] Check Pods Manifest.lock";
323 | outputFileListPaths = (
324 | );
325 | outputPaths = (
326 | "$(DERIVED_FILE_DIR)/Pods-rn_crash_course-checkManifestLockResult.txt",
327 | );
328 | runOnlyForDeploymentPostprocessing = 0;
329 | shellPath = /bin/sh;
330 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
331 | showEnvVarsInLog = 0;
332 | };
333 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = {
334 | isa = PBXShellScriptBuildPhase;
335 | buildActionMask = 2147483647;
336 | files = (
337 | );
338 | inputFileListPaths = (
339 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
340 | );
341 | name = "[CP] Embed Pods Frameworks";
342 | outputFileListPaths = (
343 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
344 | );
345 | runOnlyForDeploymentPostprocessing = 0;
346 | shellPath = /bin/sh;
347 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-frameworks.sh\"\n";
348 | showEnvVarsInLog = 0;
349 | };
350 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
351 | isa = PBXShellScriptBuildPhase;
352 | buildActionMask = 2147483647;
353 | files = (
354 | );
355 | inputFileListPaths = (
356 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-resources-${CONFIGURATION}-input-files.xcfilelist",
357 | );
358 | name = "[CP] Copy Pods Resources";
359 | outputFileListPaths = (
360 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-resources-${CONFIGURATION}-output-files.xcfilelist",
361 | );
362 | runOnlyForDeploymentPostprocessing = 0;
363 | shellPath = /bin/sh;
364 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-rn_crash_course/Pods-rn_crash_course-resources.sh\"\n";
365 | showEnvVarsInLog = 0;
366 | };
367 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = {
368 | isa = PBXShellScriptBuildPhase;
369 | buildActionMask = 2147483647;
370 | files = (
371 | );
372 | inputFileListPaths = (
373 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-resources-${CONFIGURATION}-input-files.xcfilelist",
374 | );
375 | name = "[CP] Copy Pods Resources";
376 | outputFileListPaths = (
377 | "${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-resources-${CONFIGURATION}-output-files.xcfilelist",
378 | );
379 | runOnlyForDeploymentPostprocessing = 0;
380 | shellPath = /bin/sh;
381 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-rn_crash_course-rn_crash_courseTests/Pods-rn_crash_course-rn_crash_courseTests-resources.sh\"\n";
382 | showEnvVarsInLog = 0;
383 | };
384 | /* End PBXShellScriptBuildPhase section */
385 |
386 | /* Begin PBXSourcesBuildPhase section */
387 | 00E356EA1AD99517003FC87E /* Sources */ = {
388 | isa = PBXSourcesBuildPhase;
389 | buildActionMask = 2147483647;
390 | files = (
391 | 00E356F31AD99517003FC87E /* rn_crash_courseTests.m in Sources */,
392 | );
393 | runOnlyForDeploymentPostprocessing = 0;
394 | };
395 | 13B07F871A680F5B00A75B9A /* Sources */ = {
396 | isa = PBXSourcesBuildPhase;
397 | buildActionMask = 2147483647;
398 | files = (
399 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
400 | 13B07FC11A68108700A75B9A /* main.m in Sources */,
401 | );
402 | runOnlyForDeploymentPostprocessing = 0;
403 | };
404 | /* End PBXSourcesBuildPhase section */
405 |
406 | /* Begin PBXTargetDependency section */
407 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
408 | isa = PBXTargetDependency;
409 | target = 13B07F861A680F5B00A75B9A /* rn_crash_course */;
410 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
411 | };
412 | /* End PBXTargetDependency section */
413 |
414 | /* Begin XCBuildConfiguration section */
415 | 00E356F61AD99517003FC87E /* Debug */ = {
416 | isa = XCBuildConfiguration;
417 | baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-rn_crash_course-rn_crash_courseTests.debug.xcconfig */;
418 | buildSettings = {
419 | BUNDLE_LOADER = "$(TEST_HOST)";
420 | GCC_PREPROCESSOR_DEFINITIONS = (
421 | "DEBUG=1",
422 | "$(inherited)",
423 | );
424 | INFOPLIST_FILE = rn_crash_courseTests/Info.plist;
425 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
426 | LD_RUNPATH_SEARCH_PATHS = (
427 | "$(inherited)",
428 | "@executable_path/Frameworks",
429 | "@loader_path/Frameworks",
430 | );
431 | OTHER_LDFLAGS = (
432 | "-ObjC",
433 | "-lc++",
434 | "$(inherited)",
435 | );
436 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
437 | PRODUCT_NAME = "$(TARGET_NAME)";
438 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/rn_crash_course.app/rn_crash_course";
439 | };
440 | name = Debug;
441 | };
442 | 00E356F71AD99517003FC87E /* Release */ = {
443 | isa = XCBuildConfiguration;
444 | baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-rn_crash_course-rn_crash_courseTests.release.xcconfig */;
445 | buildSettings = {
446 | BUNDLE_LOADER = "$(TEST_HOST)";
447 | COPY_PHASE_STRIP = NO;
448 | INFOPLIST_FILE = rn_crash_courseTests/Info.plist;
449 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
450 | LD_RUNPATH_SEARCH_PATHS = (
451 | "$(inherited)",
452 | "@executable_path/Frameworks",
453 | "@loader_path/Frameworks",
454 | );
455 | OTHER_LDFLAGS = (
456 | "-ObjC",
457 | "-lc++",
458 | "$(inherited)",
459 | );
460 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
461 | PRODUCT_NAME = "$(TARGET_NAME)";
462 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/rn_crash_course.app/rn_crash_course";
463 | };
464 | name = Release;
465 | };
466 | 13B07F941A680F5B00A75B9A /* Debug */ = {
467 | isa = XCBuildConfiguration;
468 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-rn_crash_course.debug.xcconfig */;
469 | buildSettings = {
470 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
471 | CLANG_ENABLE_MODULES = YES;
472 | CURRENT_PROJECT_VERSION = 1;
473 | ENABLE_BITCODE = NO;
474 | INFOPLIST_FILE = rn_crash_course/Info.plist;
475 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
476 | LD_RUNPATH_SEARCH_PATHS = (
477 | "$(inherited)",
478 | "@executable_path/Frameworks",
479 | );
480 | MARKETING_VERSION = 1.0;
481 | OTHER_LDFLAGS = (
482 | "$(inherited)",
483 | "-ObjC",
484 | "-lc++",
485 | );
486 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
487 | PRODUCT_NAME = rn_crash_course;
488 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
489 | SWIFT_VERSION = 5.0;
490 | VERSIONING_SYSTEM = "apple-generic";
491 | };
492 | name = Debug;
493 | };
494 | 13B07F951A680F5B00A75B9A /* Release */ = {
495 | isa = XCBuildConfiguration;
496 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-rn_crash_course.release.xcconfig */;
497 | buildSettings = {
498 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
499 | CLANG_ENABLE_MODULES = YES;
500 | CURRENT_PROJECT_VERSION = 1;
501 | INFOPLIST_FILE = rn_crash_course/Info.plist;
502 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
503 | LD_RUNPATH_SEARCH_PATHS = (
504 | "$(inherited)",
505 | "@executable_path/Frameworks",
506 | );
507 | MARKETING_VERSION = 1.0;
508 | OTHER_LDFLAGS = (
509 | "$(inherited)",
510 | "-ObjC",
511 | "-lc++",
512 | );
513 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
514 | PRODUCT_NAME = rn_crash_course;
515 | SWIFT_VERSION = 5.0;
516 | VERSIONING_SYSTEM = "apple-generic";
517 | };
518 | name = Release;
519 | };
520 | 83CBBA201A601CBA00E9B192 /* Debug */ = {
521 | isa = XCBuildConfiguration;
522 | buildSettings = {
523 | ALWAYS_SEARCH_USER_PATHS = NO;
524 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
525 | CLANG_CXX_LANGUAGE_STANDARD = "c++20";
526 | CLANG_CXX_LIBRARY = "libc++";
527 | CLANG_ENABLE_MODULES = YES;
528 | CLANG_ENABLE_OBJC_ARC = YES;
529 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
530 | CLANG_WARN_BOOL_CONVERSION = YES;
531 | CLANG_WARN_COMMA = YES;
532 | CLANG_WARN_CONSTANT_CONVERSION = YES;
533 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
534 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
535 | CLANG_WARN_EMPTY_BODY = YES;
536 | CLANG_WARN_ENUM_CONVERSION = YES;
537 | CLANG_WARN_INFINITE_RECURSION = YES;
538 | CLANG_WARN_INT_CONVERSION = YES;
539 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
540 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
541 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
542 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
543 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
544 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
545 | CLANG_WARN_STRICT_PROTOTYPES = YES;
546 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
547 | CLANG_WARN_UNREACHABLE_CODE = YES;
548 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
549 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
550 | COPY_PHASE_STRIP = NO;
551 | ENABLE_STRICT_OBJC_MSGSEND = YES;
552 | ENABLE_TESTABILITY = YES;
553 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
554 | GCC_C_LANGUAGE_STANDARD = gnu99;
555 | GCC_DYNAMIC_NO_PIC = NO;
556 | GCC_NO_COMMON_BLOCKS = YES;
557 | GCC_OPTIMIZATION_LEVEL = 0;
558 | GCC_PREPROCESSOR_DEFINITIONS = (
559 | "DEBUG=1",
560 | "$(inherited)",
561 | );
562 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
563 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
564 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
565 | GCC_WARN_UNDECLARED_SELECTOR = YES;
566 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
567 | GCC_WARN_UNUSED_FUNCTION = YES;
568 | GCC_WARN_UNUSED_VARIABLE = YES;
569 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
570 | LD_RUNPATH_SEARCH_PATHS = (
571 | /usr/lib/swift,
572 | "$(inherited)",
573 | );
574 | LIBRARY_SEARCH_PATHS = (
575 | "\"$(SDKROOT)/usr/lib/swift\"",
576 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
577 | "\"$(inherited)\"",
578 | );
579 | MTL_ENABLE_DEBUG_INFO = YES;
580 | ONLY_ACTIVE_ARCH = YES;
581 | OTHER_CPLUSPLUSFLAGS = (
582 | "$(OTHER_CFLAGS)",
583 | "-DFOLLY_NO_CONFIG",
584 | "-DFOLLY_MOBILE=1",
585 | "-DFOLLY_USE_LIBCPP=1",
586 | "-DFOLLY_CFG_NO_COROUTINES=1",
587 | "-DFOLLY_HAVE_CLOCK_GETTIME=1",
588 | );
589 | OTHER_LDFLAGS = (
590 | "$(inherited)",
591 | " ",
592 | );
593 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
594 | SDKROOT = iphoneos;
595 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
596 | USE_HERMES = true;
597 | };
598 | name = Debug;
599 | };
600 | 83CBBA211A601CBA00E9B192 /* Release */ = {
601 | isa = XCBuildConfiguration;
602 | buildSettings = {
603 | ALWAYS_SEARCH_USER_PATHS = NO;
604 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
605 | CLANG_CXX_LANGUAGE_STANDARD = "c++20";
606 | CLANG_CXX_LIBRARY = "libc++";
607 | CLANG_ENABLE_MODULES = YES;
608 | CLANG_ENABLE_OBJC_ARC = YES;
609 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
610 | CLANG_WARN_BOOL_CONVERSION = YES;
611 | CLANG_WARN_COMMA = YES;
612 | CLANG_WARN_CONSTANT_CONVERSION = YES;
613 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
614 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
615 | CLANG_WARN_EMPTY_BODY = YES;
616 | CLANG_WARN_ENUM_CONVERSION = YES;
617 | CLANG_WARN_INFINITE_RECURSION = YES;
618 | CLANG_WARN_INT_CONVERSION = YES;
619 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
620 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
621 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
622 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
623 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
624 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
625 | CLANG_WARN_STRICT_PROTOTYPES = YES;
626 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
627 | CLANG_WARN_UNREACHABLE_CODE = YES;
628 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
629 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
630 | COPY_PHASE_STRIP = YES;
631 | ENABLE_NS_ASSERTIONS = NO;
632 | ENABLE_STRICT_OBJC_MSGSEND = YES;
633 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
634 | GCC_C_LANGUAGE_STANDARD = gnu99;
635 | GCC_NO_COMMON_BLOCKS = YES;
636 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
637 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
638 | GCC_WARN_UNDECLARED_SELECTOR = YES;
639 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
640 | GCC_WARN_UNUSED_FUNCTION = YES;
641 | GCC_WARN_UNUSED_VARIABLE = YES;
642 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
643 | LD_RUNPATH_SEARCH_PATHS = (
644 | /usr/lib/swift,
645 | "$(inherited)",
646 | );
647 | LIBRARY_SEARCH_PATHS = (
648 | "\"$(SDKROOT)/usr/lib/swift\"",
649 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
650 | "\"$(inherited)\"",
651 | );
652 | MTL_ENABLE_DEBUG_INFO = NO;
653 | OTHER_CPLUSPLUSFLAGS = (
654 | "$(OTHER_CFLAGS)",
655 | "-DFOLLY_NO_CONFIG",
656 | "-DFOLLY_MOBILE=1",
657 | "-DFOLLY_USE_LIBCPP=1",
658 | "-DFOLLY_CFG_NO_COROUTINES=1",
659 | "-DFOLLY_HAVE_CLOCK_GETTIME=1",
660 | );
661 | OTHER_LDFLAGS = (
662 | "$(inherited)",
663 | " ",
664 | );
665 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
666 | SDKROOT = iphoneos;
667 | USE_HERMES = true;
668 | VALIDATE_PRODUCT = YES;
669 | };
670 | name = Release;
671 | };
672 | /* End XCBuildConfiguration section */
673 |
674 | /* Begin XCConfigurationList section */
675 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "rn_crash_courseTests" */ = {
676 | isa = XCConfigurationList;
677 | buildConfigurations = (
678 | 00E356F61AD99517003FC87E /* Debug */,
679 | 00E356F71AD99517003FC87E /* Release */,
680 | );
681 | defaultConfigurationIsVisible = 0;
682 | defaultConfigurationName = Release;
683 | };
684 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "rn_crash_course" */ = {
685 | isa = XCConfigurationList;
686 | buildConfigurations = (
687 | 13B07F941A680F5B00A75B9A /* Debug */,
688 | 13B07F951A680F5B00A75B9A /* Release */,
689 | );
690 | defaultConfigurationIsVisible = 0;
691 | defaultConfigurationName = Release;
692 | };
693 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "rn_crash_course" */ = {
694 | isa = XCConfigurationList;
695 | buildConfigurations = (
696 | 83CBBA201A601CBA00E9B192 /* Debug */,
697 | 83CBBA211A601CBA00E9B192 /* Release */,
698 | );
699 | defaultConfigurationIsVisible = 0;
700 | defaultConfigurationName = Release;
701 | };
702 | /* End XCConfigurationList section */
703 | };
704 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
705 | }
706 |
--------------------------------------------------------------------------------
/ios/rn_crash_course.xcodeproj/xcshareddata/xcschemes/rn_crash_course.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
53 |
55 |
61 |
62 |
63 |
64 |
70 |
72 |
78 |
79 |
80 |
81 |
83 |
84 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/ios/rn_crash_course.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : RCTAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/AppDelegate.mm:
--------------------------------------------------------------------------------
1 | #import "AppDelegate.h"
2 |
3 | #import
4 |
5 | @implementation AppDelegate
6 |
7 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
8 | {
9 | self.moduleName = @"rn_crash_course";
10 | // You can add your custom initial props in the dictionary below.
11 | // They will be passed down to the ViewController used by React Native.
12 | self.initialProps = @{};
13 |
14 | return [super application:application didFinishLaunchingWithOptions:launchOptions];
15 | }
16 |
17 | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
18 | {
19 | return [self bundleURL];
20 | }
21 |
22 | - (NSURL *)bundleURL
23 | {
24 | #if DEBUG
25 | return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
26 | #else
27 | return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
28 | #endif
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "2x",
6 | "size" : "20x20"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "scale" : "3x",
11 | "size" : "20x20"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "scale" : "2x",
16 | "size" : "29x29"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "scale" : "3x",
21 | "size" : "29x29"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "2x",
26 | "size" : "40x40"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "scale" : "3x",
31 | "size" : "40x40"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "scale" : "2x",
36 | "size" : "60x60"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "scale" : "3x",
41 | "size" : "60x60"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "scale" : "1x",
46 | "size" : "1024x1024"
47 | }
48 | ],
49 | "info" : {
50 | "author" : "xcode",
51 | "version" : 1
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | rn_crash_course
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | $(MARKETING_VERSION)
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | $(CURRENT_PROJECT_VERSION)
25 | LSRequiresIPhoneOS
26 |
27 | NSAppTransportSecurity
28 |
29 |
30 | NSAllowsArbitraryLoads
31 |
32 | NSAllowsLocalNetworking
33 |
34 |
35 | NSLocationWhenInUseUsageDescription
36 |
37 | UILaunchStoryboardName
38 | LaunchScreen
39 | UIRequiredDeviceCapabilities
40 |
41 | arm64
42 |
43 | UISupportedInterfaceOrientations
44 |
45 | UIInterfaceOrientationPortrait
46 | UIInterfaceOrientationLandscapeLeft
47 | UIInterfaceOrientationLandscapeRight
48 |
49 | UIViewControllerBasedStatusBarAppearance
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
24 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyAccessedAPITypes
6 |
7 |
8 | NSPrivacyAccessedAPIType
9 | NSPrivacyAccessedAPICategoryFileTimestamp
10 | NSPrivacyAccessedAPITypeReasons
11 |
12 | C617.1
13 |
14 |
15 |
16 | NSPrivacyAccessedAPIType
17 | NSPrivacyAccessedAPICategoryUserDefaults
18 | NSPrivacyAccessedAPITypeReasons
19 |
20 | CA92.1
21 |
22 |
23 |
24 | NSPrivacyAccessedAPIType
25 | NSPrivacyAccessedAPICategorySystemBootTime
26 | NSPrivacyAccessedAPITypeReasons
27 |
28 | 35F9.1
29 |
30 |
31 |
32 | NSPrivacyCollectedDataTypes
33 |
34 | NSPrivacyTracking
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/rn_crash_course/main.m:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "AppDelegate.h"
4 |
5 | int main(int argc, char *argv[])
6 | {
7 | @autoreleasepool {
8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/ios/rn_crash_courseTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/ios/rn_crash_courseTests/rn_crash_courseTests.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | #import
5 | #import
6 |
7 | #define TIMEOUT_SECONDS 600
8 | #define TEXT_TO_LOOK_FOR @"Welcome to React"
9 |
10 | @interface rn_crash_courseTests : XCTestCase
11 |
12 | @end
13 |
14 | @implementation rn_crash_courseTests
15 |
16 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test
17 | {
18 | if (test(view)) {
19 | return YES;
20 | }
21 | for (UIView *subview in [view subviews]) {
22 | if ([self findSubviewInView:subview matching:test]) {
23 | return YES;
24 | }
25 | }
26 | return NO;
27 | }
28 |
29 | - (void)testRendersWelcomeScreen
30 | {
31 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
32 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
33 | BOOL foundElement = NO;
34 |
35 | __block NSString *redboxError = nil;
36 | #ifdef DEBUG
37 | RCTSetLogFunction(
38 | ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
39 | if (level >= RCTLogLevelError) {
40 | redboxError = message;
41 | }
42 | });
43 | #endif
44 |
45 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
46 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
47 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
48 |
49 | foundElement = [self findSubviewInView:vc.view
50 | matching:^BOOL(UIView *view) {
51 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
52 | return YES;
53 | }
54 | return NO;
55 | }];
56 | }
57 |
58 | #ifdef DEBUG
59 | RCTSetLogFunction(RCTDefaultLogFunction);
60 | #endif
61 |
62 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
63 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
64 | }
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'react-native',
3 | };
4 |
--------------------------------------------------------------------------------
/metro.config.js:
--------------------------------------------------------------------------------
1 | const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
2 |
3 | /**
4 | * Metro configuration
5 | * https://reactnative.dev/docs/metro
6 | *
7 | * @type {import('metro-config').MetroConfig}
8 | */
9 | const config = {};
10 |
11 | module.exports = mergeConfig(getDefaultConfig(__dirname), config);
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rn_crash_course",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "android": "react-native run-android",
7 | "ios": "react-native run-ios",
8 | "lint": "eslint .",
9 | "start": "react-native start",
10 | "test": "jest",
11 | "pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install"
12 | },
13 | "dependencies": {
14 | "axios": "^1.7.9",
15 | "react": "18.3.1",
16 | "react-native": "0.76.5",
17 | "react-native-safe-area-context": "^5.0.0"
18 | },
19 | "devDependencies": {
20 | "@babel/core": "^7.25.2",
21 | "@babel/preset-env": "^7.25.3",
22 | "@babel/runtime": "^7.25.0",
23 | "@react-native-community/cli": "15.0.1",
24 | "@react-native-community/cli-platform-android": "15.0.1",
25 | "@react-native-community/cli-platform-ios": "15.0.1",
26 | "@react-native/babel-preset": "0.76.5",
27 | "@react-native/eslint-config": "0.76.5",
28 | "@react-native/metro-config": "0.76.5",
29 | "@react-native/typescript-config": "0.76.5",
30 | "@types/react": "^18.2.6",
31 | "@types/react-test-renderer": "^18.0.0",
32 | "babel-jest": "^29.6.3",
33 | "eslint": "^8.19.0",
34 | "jest": "^29.6.3",
35 | "prettier": "2.8.8",
36 | "react-test-renderer": "18.3.1",
37 | "typescript": "5.0.4"
38 | },
39 | "engines": {
40 | "node": ">=18"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/react-native.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ritik5Prasad/react_native_complete_interview/29c9f9d91bfa55c189fbcf1f98b5920eaffc160a/react-native.config.js
--------------------------------------------------------------------------------
/src/FinalHomeWork.js:
--------------------------------------------------------------------------------
1 | // displays the list of products using this API and filter
2 | // the products which has one of the tags as “beauty”
3 | // https://dummyjson.com/products
4 |
5 | // Create a custom hook
6 | // Create a HOC(High Order Component)
7 |
8 | import {
9 | View,
10 | Text,
11 | StyleSheet,
12 | SafeAreaView,
13 | FlatList,
14 | ActivityIndicator,
15 | Alert,
16 | } from 'react-native';
17 | import React, {useEffect, useState} from 'react';
18 | import {useApiHook} from './useApiHook';
19 |
20 | const FinalHomeWork = () => {
21 | const {loading, data} = useApiHook();
22 |
23 | // const [data, setData] = useState([]);
24 | // const [loading, setLoading] = useState(true);
25 |
26 | // const fetchData = async () => {
27 | // setLoading(true);
28 | // try {
29 | // const res = await fetch('https://dummyjson.com/products');
30 | // const data = await res.json();
31 | // const modifiedData =
32 | // data?.products?.filter(product =>
33 | // product.tags.some(tag => tag.toLowerCase() === 'beauty'),
34 | // ) || [];
35 | // setData(modifiedData);
36 | // } catch (error) {
37 | // Alert.alert('There was an error');
38 | // console.log(error);
39 | // } finally {
40 | // setLoading(false);
41 | // }
42 | // };
43 |
44 | // useEffect(() => {
45 | // fetchData();
46 | // }, []);
47 |
48 | const renderItemComponent = ({item}) => {
49 | return (
50 | <>
51 | {item?.title}
52 | {item?.price}
53 | {item?.tags?.join(',')}
54 | >
55 | );
56 | };
57 |
58 | return (
59 |
60 | {loading ? (
61 |
62 | ) : (
63 |
67 | No Data Found!
68 |
69 | }
70 | renderItem={renderItemComponent}
71 | key={item => item?.id}
72 | keyExtractor={item => item?.id}
73 | contentContainerStyle={styles.flatlistContainer}
74 | ItemSeparatorComponent={}
75 | />
76 | )}
77 |
78 | );
79 | };
80 |
81 | const styles = StyleSheet.create({
82 | divider: {
83 | width: '100%',
84 | height: 1,
85 | backgroundColor: '#ccc',
86 | marginVertical: 3,
87 | },
88 | container: {
89 | flex: 1,
90 | paddingTop: 30,
91 | backgroundColor: '#fff',
92 | },
93 | flatlistContainer: {
94 | padding: 15,
95 | },
96 | });
97 |
98 | export default FinalHomeWork;
99 |
--------------------------------------------------------------------------------
/src/Hooks/ForwardRef.js:
--------------------------------------------------------------------------------
1 | import React, {useRef, forwardRef, useImperativeHandle} from 'react';
2 | import {View, Text, Button, StyleSheet, TextInput} from 'react-native';
3 |
4 | // Child component
5 | const CustomInput = forwardRef((props, ref) => {
6 | const inputRef = useRef();
7 |
8 | // Expose methods to parent via ref
9 | useImperativeHandle(ref, () => ({
10 | focus: () => {
11 | inputRef.current.focus();
12 | },
13 | clear: () => {
14 | inputRef.current.clear();
15 | },
16 | }));
17 |
18 | return (
19 |
20 | );
21 | });
22 |
23 | // Parent component
24 | const Parent = () => {
25 | const customInputRef = useRef();
26 |
27 | return (
28 |
29 |
30 |
39 | );
40 | };
41 |
42 | const styles = StyleSheet.create({
43 | container: {
44 | flex: 1,
45 | justifyContent: 'center',
46 | alignItems: 'center',
47 | padding: 16,
48 | },
49 | input: {
50 | height: 40,
51 | borderColor: 'gray',
52 | borderWidth: 1,
53 | width: '80%',
54 | marginBottom: 16,
55 | paddingHorizontal: 8,
56 | },
57 | });
58 |
59 | export default Parent;
60 |
--------------------------------------------------------------------------------
/src/Hooks/Hooks.js:
--------------------------------------------------------------------------------
1 | import {View, Text, SafeAreaView, StyleSheet, Button} from 'react-native';
2 | import React, {useMemo, useState} from 'react';
3 | import UseLayoutEffect from './UseLayoutEffect';
4 | import UseCallback from './UseCallBack';
5 | import ForwardRef from './ForwardRef';
6 | import UseContext from './UseContext';
7 |
8 | const Hooks = () => {
9 | const [count, setCount] = useState(0);
10 | const [input, setInput] = useState('');
11 |
12 | // const expensionValue = useMemo(() => {
13 | // console.log('Calculating...');
14 | // let total = 0;
15 | // for (let i = 0; i < 1e7; i++) {
16 | // total += i;
17 | // }
18 | // return total;
19 | // }, [count]);
20 |
21 | // const calculateExpensiveValue = () => {
22 | // console.log('Calculating...');
23 | // let total = 0;
24 | // for (let i = 0; i < 1e7; i++) {
25 | // total += i;
26 | // }
27 | // return total;
28 | // };
29 |
30 | // const expensiveValue = calculateExpensiveValue();
31 |
32 | return (
33 |
34 | {/* */}
35 |
36 | {/* Expensive Calculation: {expensionValue}
37 | setCount(count + 1)} />
38 | setInput(input + '!')} />
39 | Input: {input} */}
40 |
41 | {/* */}
42 |
43 | {/* */}
44 |
45 | {/* */}
46 |
47 | );
48 | };
49 |
50 | const styles = StyleSheet.create({
51 | container: {
52 | flex: 1,
53 | },
54 | });
55 |
56 | export default Hooks;
57 |
--------------------------------------------------------------------------------
/src/Hooks/UseCallBack.js:
--------------------------------------------------------------------------------
1 | import React, {useState, useCallback} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const Child = React.memo(({onButtonClick}) => {
5 | console.log('Child rendered');
6 | return ;
7 | });
8 |
9 | const UseCallBack = () => {
10 | const [count, setCount] = useState(0);
11 | const [step, setStep] = useState(1);
12 |
13 | const incrementCount = useCallback(() => {
14 | setCount(prev => prev + step);
15 | }, [step]);
16 |
17 | return (
18 |
19 |
20 | Count: {count} Step:{step}
21 |
22 |
23 | setStep(prev => prev + 1)} />
24 |
25 | );
26 | };
27 |
28 | const styles = StyleSheet.create({
29 | container: {
30 | flex: 1,
31 | justifyContent: 'center',
32 | alignItems: 'center',
33 | },
34 | text: {
35 | fontSize: 18,
36 | marginBottom: 16,
37 | },
38 | });
39 |
40 | export default UseCallBack;
41 |
--------------------------------------------------------------------------------
/src/Hooks/UseContext.js:
--------------------------------------------------------------------------------
1 | import React, {useState, useContext, createContext} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | // Step 1: Create a Context
5 | const ThemeContext = createContext();
6 |
7 | const UseContext = () => {
8 | const [isDarkMode, setIsDarkMode] = useState(false);
9 |
10 | return (
11 | // Step 2: Provide the Context value
12 | setIsDarkMode(prev => !prev)}}>
14 |
19 | Theme Context Example
20 |
21 |
22 |
23 |
24 | );
25 | };
26 |
27 | // Step 3: Consume the Context value in a child component
28 | const ThemeToggle = () => {
29 | const {toggleTheme} = useContext(ThemeContext);
30 | return ;
31 | };
32 |
33 | const ThemedText = () => {
34 | const {isDarkMode} = useContext(ThemeContext);
35 | return (
36 |
37 | Current Theme: {isDarkMode ? 'Dark' : 'Light'}
38 |
39 | );
40 | };
41 |
42 | const styles = StyleSheet.create({
43 | container: {
44 | flex: 1,
45 | justifyContent: 'center',
46 | alignItems: 'center',
47 | backgroundColor: 'lightgray',
48 | },
49 | title: {
50 | fontSize: 20,
51 | fontWeight: 'bold',
52 | marginBottom: 16,
53 | },
54 | text: {
55 | fontSize: 18,
56 | marginTop: 16,
57 | },
58 | });
59 |
60 | export default UseContext;
61 |
--------------------------------------------------------------------------------
/src/Hooks/UseLayoutEffect.js:
--------------------------------------------------------------------------------
1 | import {View, Text, StyleSheet} from 'react-native';
2 | import React, {useLayoutEffect, useRef, useState} from 'react';
3 |
4 | const UseLayoutEffect = () => {
5 | const [dimensions, setDimensions] = useState({});
6 | const viewRef = useRef(null);
7 |
8 | useLayoutEffect(() => {
9 | console.log("dimensions")
10 | if (viewRef.current) {
11 | viewRef.current.measure((x, y, width, height, pageX, pageY) => {
12 | setDimensions({x, y, width, height, pageX, pageY});
13 | });
14 | }
15 | }, []);
16 |
17 | console.log(dimensions)
18 |
19 | return (
20 |
21 |
22 | Box Dimensions:
23 | {JSON.stringify(dimensions, null, 2)}
24 |
25 | );
26 | };
27 |
28 | const styles = StyleSheet.create({
29 | container: {
30 | flex: 1,
31 | backgroundColor: 'red',
32 | },
33 | box: {
34 | width: 100,
35 | height: 100,
36 | backgroundColor: 'blue',
37 | },
38 | });
39 |
40 | export default UseLayoutEffect;
41 |
--------------------------------------------------------------------------------
/src/JS/Callbacks.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button} from 'react-native';
3 | import axios from 'axios';
4 |
5 | export default function Callbacks() {
6 | const [data, setData] = useState(null);
7 |
8 | const handleData = responseData => {
9 | setData(responseData);
10 | };
11 |
12 | const fetchData = async () => {
13 | try {
14 | const response = await axios.get(
15 | 'https://jsonplaceholder.typicode.com/posts/1',
16 | );
17 | handleData(response.data);
18 | } catch (error) {
19 | console.error(error);
20 | }
21 | };
22 |
23 | return (
24 |
25 |
26 | {data && {JSON.stringify(data)}}
27 |
28 | );
29 | }
30 |
--------------------------------------------------------------------------------
/src/JS/CurryingAndHoisting.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const multiply = a => b => a * b;
5 |
6 | const CurryingAndHoisting = () => {
7 | const [result, setResult] = useState(null);
8 |
9 | function showMessage() {
10 | alert('Hoisted function called!');
11 | }
12 |
13 | const multiplyBy3 = multiply(3);
14 |
15 | const handleMultiply = () => {
16 | const multiplicationResult = multiplyBy3(5);
17 | setResult(multiplicationResult);
18 | };
19 |
20 | return (
21 |
22 | Currying & Hoisting Example
23 |
24 |
25 |
26 |
27 |
28 | {result && Result: {result}}
29 |
30 | );
31 | };
32 |
33 | const styles = StyleSheet.create({
34 | container: {
35 | flex: 1,
36 | justifyContent: 'center',
37 | alignItems: 'center',
38 | padding: 20,
39 | },
40 | });
41 |
42 | export default CurryingAndHoisting;
43 |
--------------------------------------------------------------------------------
/src/JS/DebouncingAndThrottling.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, TextInput, Button, Text, StyleSheet} from 'react-native';
3 |
4 | // Debounce function
5 | const debounce = (func, delay) => {
6 | let timeout;
7 | return (...args) => {
8 | clearTimeout(timeout);
9 | timeout = setTimeout(() => func(...args), delay);
10 | };
11 | };
12 |
13 | // Throttle function
14 | const throttle = (func, limit) => {
15 | let lastFunc;
16 | let lastTime;
17 | return (...args) => {
18 | const now = new Date().getTime();
19 | if (!lastTime || now - lastTime >= limit) {
20 | func(...args);
21 | lastTime = now;
22 | }
23 | };
24 | };
25 |
26 | const DebounceThrottleExample = () => {
27 | const [searchTerm, setSearchTerm] = useState('');
28 | const [debouncedResult, setDebouncedResult] = useState('');
29 | const [throttledResult, setThrottledResult] = useState('');
30 |
31 | // Handle input change for debouncing
32 | const handleDebouncedChange = debounce(text => {
33 | setDebouncedResult(`Debounced: ${text}`);
34 | }, 1000); // 1000ms delay
35 |
36 | // Handle input change for throttling
37 | const handleThrottledChange = throttle(text => {
38 | setThrottledResult(`Throttled: ${text}`);
39 | }, 1000); // 1000ms limit
40 |
41 | return (
42 |
43 | {
48 | setSearchTerm(text);
49 | handleDebouncedChange(text);
50 | handleThrottledChange(text);
51 | }}
52 | />
53 | {debouncedResult}
54 | {throttledResult}
55 |
56 | );
57 | };
58 |
59 | const styles = StyleSheet.create({
60 | container: {
61 | flex: 1,
62 | justifyContent: 'center',
63 | alignItems: 'center',
64 | padding: 20,
65 | },
66 | input: {
67 | height: 40,
68 | borderColor: 'gray',
69 | borderWidth: 1,
70 | width: '80%',
71 | marginBottom: 20,
72 | paddingLeft: 10,
73 | },
74 | });
75 |
76 | export default DebounceThrottleExample;
77 |
--------------------------------------------------------------------------------
/src/JS/DeepCopyShallowCopy.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const DeepCopyShallowCopy = () => {
5 | const [person, setPerson] = useState({
6 | name: 'John',
7 | address: {city: 'New York', zip: '10001'},
8 | });
9 |
10 | const handleShallowCopy = () => {
11 | console.log('--- Shallow Copy ---');
12 | const shallowCopy = {...person}; // Shallow copy using spread operator
13 | console.log('Before modification:', shallowCopy);
14 |
15 | shallowCopy.address.city = 'Los Angeles'; // Modify the nested property
16 | console.log('After modification (Shallow Copy):', shallowCopy);
17 | console.log('Original object (Affected by shallow copy):', person);
18 |
19 | setPerson(shallowCopy); // Updates the state
20 | };
21 |
22 | const handleDeepCopy = () => {
23 | console.log('--- Deep Copy ---');
24 | const deepCopy = JSON.parse(JSON.stringify(person)); // Deep copy using JSON methods
25 | console.log('Before modification:', deepCopy);
26 |
27 | deepCopy.address.city = 'San Francisco'; // Modify the nested property
28 | console.log('After modification (Deep Copy):', deepCopy);
29 | console.log('Original object (Unaffected by deep copy):', person);
30 |
31 | setPerson(deepCopy); // Updates the state
32 | };
33 |
34 | return (
35 |
36 | Deep Copy vs Shallow Copy
37 | Name: {person.name}
38 | City: {person.address.city}
39 |
40 |
41 |
42 | );
43 | };
44 |
45 | const styles = StyleSheet.create({
46 | container: {
47 | flex: 1,
48 | justifyContent: 'center',
49 | alignItems: 'center',
50 | padding: 20,
51 | },
52 | title: {
53 | fontSize: 20,
54 | marginBottom: 20,
55 | fontWeight: 'bold',
56 | },
57 | });
58 |
59 | export default DeepCopyShallowCopy;
60 |
--------------------------------------------------------------------------------
/src/JS/GeneratorsAndIterators.js:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import { View, Text, Button, StyleSheet } from 'react-native';
3 |
4 | // Generator function example
5 | function* numberGenerator() {
6 | let count = 0;
7 | while (count < 5) {
8 | yield count;
9 | count++;
10 | }
11 | }
12 |
13 | // Creating an iterator using the generator function
14 | const iterator = numberGenerator();
15 |
16 | const GeneratorsAndIterators = () => {
17 | const [currentValue, setCurrentValue] = useState(null);
18 |
19 | // Function to get the next value from the generator
20 | const getNextValue = () => {
21 | const result = iterator.next();
22 | if (result.done) {
23 | setCurrentValue('Sequence complete');
24 | } else {
25 | setCurrentValue(result.value);
26 | }
27 | };
28 |
29 | return (
30 |
31 | Current Value: {currentValue !== null ? currentValue : 'Press Next'}
32 |
33 |
34 | );
35 | };
36 |
37 | const styles = StyleSheet.create({
38 | container: {
39 | flex: 1,
40 | justifyContent: 'center',
41 | alignItems: 'center',
42 | padding: 20,
43 | },
44 | text: {
45 | fontSize: 24,
46 | marginBottom: 20,
47 | },
48 | });
49 |
50 | export default GeneratorsAndIterators;
51 |
--------------------------------------------------------------------------------
/src/JS/Interceptors.js:
--------------------------------------------------------------------------------
1 | import React, {useEffect} from 'react';
2 | import {View, Text, StyleSheet} from 'react-native';
3 | import axios from 'axios';
4 |
5 | const Interceptors = () => {
6 |
7 | useEffect(() => {
8 | const requestInterceptor = axios.interceptors.request.use(
9 | config => {
10 | console.log('Request:', config);
11 | config.headers.Authorization = 'Bearer dummy-token';
12 | return config;
13 | },
14 | error => {
15 | console.error('Request Error:', error);
16 | return Promise.reject(error);
17 | },
18 | );
19 |
20 | const responseInterceptor = axios.interceptors.response.use(
21 | response => {
22 | console.log('Response:', response);
23 | return response;
24 | },
25 | error => {
26 | console.error('Response Error:', error);
27 | return Promise.reject(error);
28 | },
29 | );
30 |
31 | return () => {
32 | axios.interceptors.request.eject(requestInterceptor);
33 | axios.interceptors.response.eject(responseInterceptor);
34 | };
35 | }, []);
36 |
37 | // Test API request
38 | const fetchData = async () => {
39 | try {
40 | const response = await axios.get(
41 | 'https://jsonplaceholder.typicode.com/posts/1',
42 | );
43 | console.log('Data:', response.data);
44 | } catch (error) {
45 | console.error('API Error:', error);
46 | }
47 | };
48 |
49 | useEffect(() => {
50 | fetchData();
51 | }, []);
52 |
53 | return (
54 |
55 | Check console for Axios Interceptor Example
56 |
57 | );
58 | };
59 |
60 | const styles = StyleSheet.create({
61 | container: {
62 | flex: 1,
63 | justifyContent: 'center',
64 | alignItems: 'center',
65 | },
66 | });
67 |
68 | export default Interceptors;
69 |
--------------------------------------------------------------------------------
/src/JS/Javascript.js:
--------------------------------------------------------------------------------
1 | import {View, Text, SafeAreaView} from 'react-native';
2 | import React from 'react';
3 | import LetVarConst from './LetVarConst';
4 | import Reconciliation from './Reconcillation';
5 | import Callbacks from './Callbacks';
6 | import DeepCopyShallowCopy from './DeepCopyShallowCopy';
7 | import SpreadOperatorRestOperator from './SpreadOperatorRestOperator';
8 | import CurryingAndHoisting from './CurryingAndHoisting';
9 | import GeneratorsAndIterators from './GeneratorsAndIterators';
10 | import DebouncingAndThrottling from './DebouncingAndThrottling';
11 | import PrototypalInheritance from './PrototypalInheritance';
12 | import PromiseAsyncFetchTryCatch from './PromiseAsyncFetchTryCatch';
13 | import LazyLoadingAndCodeSplitting from './LazyLoading';
14 | import Interceptors from './Interceptors';
15 |
16 | const Javascript = () => {
17 | return (
18 |
19 | {/* */}
20 | {/* */}
21 | {/* */}
22 | {/* */}
23 | {/* */}
24 | {/* */}
25 | {/* */}
26 | {/* */}
27 | {/* */}
28 | {/* */}
29 | {/* */}
30 |
31 |
32 | );
33 | };
34 |
35 | export default Javascript;
36 |
--------------------------------------------------------------------------------
/src/JS/LazyLoadedComponent.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {View, Text, StyleSheet} from 'react-native';
3 |
4 | const LazyLoadedComponent = () => {
5 | return (
6 |
7 | Hello from Lazy Loaded Component!
8 |
9 | );
10 | };
11 |
12 | const styles = StyleSheet.create({
13 | container: {
14 | marginTop: 20,
15 | padding: 20,
16 | backgroundColor: '#f0f0f0',
17 | borderRadius: 10,
18 | alignItems: 'center',
19 | },
20 | text: {
21 | fontSize: 18,
22 | color: '#333',
23 | },
24 | });
25 |
26 | export default LazyLoadedComponent;
27 |
--------------------------------------------------------------------------------
/src/JS/LazyLoading.js:
--------------------------------------------------------------------------------
1 | import React, {Suspense, lazy, useState} from 'react';
2 | import {View, Text, Button, StyleSheet, ActivityIndicator} from 'react-native';
3 |
4 | // Lazy load the component
5 | const LazyLoadedComponent = lazy(() => import('./LazyLoadedComponent'));
6 |
7 | const LazyLoadingAndCodeSplitting = () => {
8 | const [showComponent, setShowComponent] = useState(false);
9 |
10 | return (
11 |
12 | Lazy Loading and Code Splitting Example
13 | setShowComponent(true)} />
14 |
15 | {showComponent && (
16 | }>
17 |
18 |
19 | )}
20 |
21 | );
22 | };
23 |
24 | const styles = StyleSheet.create({
25 | container: {
26 | flex: 1,
27 | justifyContent: 'center',
28 | alignItems: 'center',
29 | padding: 20,
30 | },
31 | title: {
32 | fontSize: 20,
33 | marginBottom: 20,
34 | },
35 | });
36 |
37 | export default LazyLoadingAndCodeSplitting;
38 |
--------------------------------------------------------------------------------
/src/JS/LetVarConst.js:
--------------------------------------------------------------------------------
1 | import {View, Text} from 'react-native';
2 | import React from 'react';
3 |
4 | const LetVarConst = () => {
5 | // Using `let` for a variable that will be reassigned
6 | let version = 'ES6';
7 | version = 'ES2020';
8 |
9 | // Using `const` for a constant value
10 | const language = 'JavaScript';
11 |
12 | // Using `var` (not recommended in modern JavaScript)
13 | var scopeTest = 'This variable is function-scoped';
14 | console.log(color);
15 | console.log(name());
16 |
17 | function name() {
18 | return 'Ritik';
19 | }
20 |
21 | let color;
22 |
23 | color = 'red';
24 |
25 | return (
26 |
27 | Version: {version}
28 | Language: {language}
29 | Scope Test: {scopeTest}
30 |
31 | );
32 | };
33 |
34 | export default LetVarConst;
35 |
--------------------------------------------------------------------------------
/src/JS/PromiseAsyncFetchTryCatch.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const PromiseAsyncFetchTryCatch = () => {
5 | const [data, setData] = useState(null);
6 | const [error, setError] = useState(null);
7 |
8 | const fetchData = async () => {
9 | const url = 'https://jsonplaceholder.typicode.com/posts/1';
10 |
11 | try {
12 | const response = await fetch(url);
13 | if (!response.ok) {
14 | throw new Error('Network response was not ok');
15 | }
16 | const result = await response.json();
17 | setData(result);
18 | } catch (err) {
19 | setError(err.message);
20 | }
21 | };
22 |
23 | const fetchDataWithPromise = () => {
24 | const url = 'https://jsonplaceholder.typicode.com/posts/1';
25 |
26 | fetch(url)
27 | .then(response => {
28 | if (!response.ok) {
29 | throw new Error('Network response was not ok');
30 | }
31 | return response.json();
32 | })
33 | .then(result => setData(result))
34 | .catch(err => setError(err.message));
35 | };
36 |
37 | return (
38 |
39 | Data from API:
40 | {data ? (
41 | {JSON.stringify(data)}
42 | ) : (
43 | No data loaded yet.
44 | )}
45 | {error && Error: {error}}
46 |
47 |
48 |
49 | );
50 | };
51 |
52 | const styles = StyleSheet.create({
53 | container: {
54 | flex: 1,
55 | justifyContent: 'center',
56 | alignItems: 'center',
57 | padding: 20,
58 | },
59 | errorText: {
60 | color: 'red',
61 | },
62 | });
63 |
64 | export default PromiseAsyncFetchTryCatch;
65 |
--------------------------------------------------------------------------------
/src/JS/PrototypalInheritance.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {View, Text, StyleSheet} from 'react-native';
3 |
4 | function Animal(name) {
5 | this.name = name;
6 | }
7 |
8 | Animal.prototype.speak = function () {
9 | return `${this.name} makes a noise`;
10 | };
11 |
12 | // Child class (Object) inherits from Animal
13 | function Dog(name, breed) {
14 | Animal.call(this, name);
15 | this.breed = breed;
16 | }
17 |
18 | // Set the prototype of Dog to be an instance of Animal
19 | Dog.prototype = Object.create(Animal.prototype);
20 | Dog.prototype.constructor = Dog;
21 |
22 | // Override the speak method
23 | Dog.prototype.speak = function () {
24 | return `${this.name} barks`;
25 | };
26 |
27 | const PrototypalInheritance = () => {
28 | const dog = new Dog('Buddy', 'Golden Retriever');
29 | const animal = new Animal('Generic Animal');
30 |
31 | return (
32 |
33 | {dog.speak()}
34 | {animal.speak()}
35 |
36 | );
37 | };
38 |
39 | const styles = StyleSheet.create({
40 | container: {
41 | flex: 1,
42 | justifyContent: 'center',
43 | alignItems: 'center',
44 | padding: 20,
45 | },
46 | });
47 |
48 | export default PrototypalInheritance;
49 |
--------------------------------------------------------------------------------
/src/JS/Reconcillation.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const Reconciliation = () => {
5 | const [count, setCount] = useState(0);
6 | const [name, setName] = useState('John');
7 |
8 | const handleIncrease = () => {
9 | setCount(count + 1);
10 | };
11 |
12 | const handleChangeName = () => {
13 | setName(name === 'John' ? 'Jane' : 'John');
14 | };
15 |
16 | return (
17 |
18 | Reconciliation Example
19 | Count: {count}
20 |
21 | Name: {name}
22 |
23 |
24 | );
25 | };
26 |
27 | const styles = StyleSheet.create({
28 | container: {
29 | flex: 1,
30 | justifyContent: 'center',
31 | alignItems: 'center',
32 | },
33 | text: {
34 | fontSize: 20,
35 | marginBottom: 20,
36 | },
37 | });
38 |
39 | export default Reconciliation;
40 |
--------------------------------------------------------------------------------
/src/JS/SpreadOperatorRestOperator.js:
--------------------------------------------------------------------------------
1 | import React, {useState} from 'react';
2 | import {View, Text, Button, StyleSheet} from 'react-native';
3 |
4 | const SpreadOperatorRestOperator = (props) => {
5 | const {obj,...res}=props
6 |
7 | console.log(res)
8 | const [arr, setArr] = useState([1, 2, 3, 4, 5]);
9 | const [person, setPerson] = useState({
10 | name: 'John',
11 | age: 30,
12 | city: 'New York',
13 | });
14 |
15 | const handleArrayOperations = () => {
16 | const newArray = [...arr, 6, 7];
17 | setArr(newArray);
18 | };
19 |
20 | const handleObjectOperations = () => {
21 | const {name, ...rest} = person;
22 | console.log('Name:', name);
23 | console.log('Rest:', rest);
24 |
25 | const updatedPerson = {...person, age: 31};
26 | setPerson(updatedPerson);
27 | };
28 |
29 | return (
30 |
31 | Array: {arr.join(', ')}
32 |
33 |
34 |
35 | Person: {person.name}, {person.age}, {person.city}
36 |
37 |
38 |
39 | );
40 | };
41 |
42 | const styles = StyleSheet.create({
43 | container: {
44 | flex: 1,
45 | justifyContent: 'center',
46 | alignItems: 'center',
47 | },
48 | });
49 |
50 | export default SpreadOperatorRestOperator;
51 |
--------------------------------------------------------------------------------
/src/components/BasicComponents.js:
--------------------------------------------------------------------------------
1 | import {
2 | View,
3 | Text,
4 | StyleSheet,
5 | SafeAreaView,
6 | Dimensions,
7 | TouchableOpacity,
8 | Image,
9 | FlatList,
10 | } from 'react-native';
11 | import React from 'react';
12 | import {useSafeAreaInsets} from 'react-native-safe-area-context';
13 | import {imageUri} from '../dummyData';
14 |
15 | const screenHeight = Dimensions.get('window').height;
16 | const screenWidth = Dimensions.get('window').width;
17 | const fontScale = Dimensions.get('window').fontScale;
18 | const scale = Dimensions.get('window').scale;
19 |
20 | console.log('Dimesions', screenHeight, screenWidth, fontScale, scale);
21 |
22 | const BasicComponents = () => {
23 | const insets = useSafeAreaInsets();
24 | console.log(insets.top);
25 | console.log(insets.left);
26 | console.log(insets.right);
27 | console.log(insets.bottom);
28 |
29 | const onLayout = e => {
30 | console.log(e.nativeEvent);
31 | };
32 | return (
33 |
36 | {/* */}
37 | console.log('Button')}>
40 | BasicComponent
41 |
42 |
43 |
44 | );
45 | };
46 |
47 | const styles = StyleSheet.create({
48 | container: {
49 | flex: 1,
50 | backgroundColor: 'yellow',
51 | },
52 | button: {
53 | padding: 20,
54 | borderRadius: 20,
55 | justifyContent: 'center',
56 | alignItems: 'center',
57 | backgroundColor: 'red',
58 | alignSelf: 'center',
59 | },
60 | img: {
61 | width: 240,
62 | height: 240,
63 | resizeMode: 'contain',
64 | },
65 | });
66 |
67 | export default BasicComponents;
68 |
--------------------------------------------------------------------------------
/src/components/ClassComponent.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import {Button, Text, View} from 'react-native';
3 |
4 | // CLASS COMPONENTS
5 |
6 | class LifecylceComponent extends Component {
7 | constructor(props) {
8 | super(props);
9 | this.state = {
10 | count: 0,
11 | };
12 | console.log('Constructor:Component Initialized');
13 | }
14 |
15 | static getDerivedStateFromProps(props, state) {
16 | console.log('Get Derived Props', props, state);
17 | return null;
18 | }
19 |
20 | componentDidMount() {
21 | console.log('componentDidMount: Component Mounted');
22 | }
23 |
24 | shouldComponentUpdate(nextProps, nextState) {
25 | console.log(
26 | 'shouldComponentUpdate: Should re-render?',
27 | nextState.count !== this.state.count,
28 | nextProps,
29 | );
30 | return true;
31 | }
32 |
33 | getSnapshotBeforeUpdate(prevProps, prevState) {
34 | console.log(
35 | 'getSnapshotBeforeUpdate: Before DOM is updated',
36 | prevProps,
37 | prevState,
38 | );
39 | return null;
40 | }
41 |
42 | componentDidUpdate(prevProps, prevState, snapshot) {
43 | console.log(
44 | 'componentDidUpdate: Component Updated',
45 | prevProps,
46 | prevState,
47 | snapshot,
48 | );
49 | }
50 |
51 | componentWillUnmount() {
52 | console.log('componentWillUnmount: Component Unmounted');
53 | }
54 |
55 | incrementCount = () => {
56 | this.setState({count: this.state.count + 1});
57 | };
58 |
59 | render() {
60 | console.log('Render:Rendering UI');
61 | return (
62 |
63 |
64 | HELLO BASIC CONCEPTS {this.state.count}
65 |
66 |
67 |
68 | );
69 | }
70 | }
71 |
72 | export default LifecylceComponent;
73 |
--------------------------------------------------------------------------------
/src/components/FunctionalComponent.js:
--------------------------------------------------------------------------------
1 | import {
2 | View,
3 | Text,
4 | StyleSheet,
5 | SafeAreaView,
6 | Button,
7 | Alert,
8 | } from 'react-native';
9 | import React, {useEffect, useState} from 'react';
10 |
11 | const FunctionalComponent = () => {
12 | const [count, setCount] = useState(0);
13 |
14 | useEffect(() => {
15 | console.log('Component Mounted');
16 |
17 | return () => {
18 | console.log('componentWillUnmount: Component Unmounted');
19 | };
20 | }, []);
21 |
22 | useEffect(() => {
23 | console.log("Count Updated")
24 | if (count == 5) {
25 | Alert.alert('Count Reached 5');
26 | }
27 | }, [count]);
28 |
29 | return (
30 |
31 |
32 | Functional Component Count: {count}
33 | setCount(count + 1)} />
34 |
35 | );
36 | };
37 |
38 | const styles = StyleSheet.create({
39 | container: {
40 | flex: 1,
41 | backgroundColor: '#fff',
42 | },
43 | text: {
44 | color: '#000',
45 | fontSize: 22,
46 | },
47 | });
48 |
49 | export default FunctionalComponent;
50 |
--------------------------------------------------------------------------------
/src/dummyData.js:
--------------------------------------------------------------------------------
1 | export const imageUri =
2 | 'https://static.vecteezy.com/system/resources/thumbnails/033/662/051/small/cartoon-lofi-young-manga-style-girl-while-listening-to-music-in-the-rain-ai-generative-photo.jpg';
3 |
--------------------------------------------------------------------------------
/src/useApiHook.js:
--------------------------------------------------------------------------------
1 | import React, {useEffect, useState} from 'react';
2 | import {Alert} from 'react-native';
3 |
4 | export const useApiHook = () => {
5 | const [data, setData] = useState([]);
6 | const [loading, setLoading] = useState(true);
7 |
8 | const fetchData = async () => {
9 | setLoading(true);
10 | try {
11 | const res = await fetch('https://dummyjson.com/products');
12 | const data = await res.json();
13 | const modifiedData =
14 | data?.products?.filter(product =>
15 | product.tags.some(tag => tag.toLowerCase() === 'beauty'),
16 | ) || [];
17 | setData(modifiedData);
18 | } catch (error) {
19 | Alert.alert('There was an error');
20 | console.log(error);
21 | } finally {
22 | setLoading(false);
23 | }
24 | };
25 |
26 | useEffect(() => {
27 | fetchData();
28 | }, []);
29 |
30 | return {data, loading};
31 | };
32 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@react-native/typescript-config/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------