(...)
63 | // TODO: Consider extending Jest core or Jest RN addon to allow this functionality i.e. stricter accurate generics
64 |
--------------------------------------------------------------------------------
/renovate.json5:
--------------------------------------------------------------------------------
1 | // https://docs.renovatebot.com/presets-default
2 | {
3 | "extends": [
4 | // bundle presets
5 | "config:best-practices", // https://docs.renovatebot.com/presets-config/#configbest-practices
6 | // raw atomic presets
7 | ":prHourlyLimitNone",
8 | ":maintainLockFilesWeekly"
9 | ],
10 | // https://docs.renovatebot.com/configuration-options/#postupdateoptions
11 | "postUpdateOptions": ["yarnDedupeHighest"],
12 | "timezone": "Europe/London",
13 | "packageRules": [
14 | // https://docs.renovatebot.com/presets-group
15 | // https://docs.renovatebot.com/presets-monorepo
16 | {
17 | // e.g. eslint, eslint-plugin-react-native, eslint-config-airbnb-typescript
18 | "matchPackageNames": ["/eslint/"],
19 | "addLabels": ["devDependencies", "linting"]
20 | },
21 | {
22 | // TODO: upstream group:react-nativeMonorepo
23 | // TODO: upstream monorepo:react-native
24 | "groupName": "react-native monorepo",
25 | "matchSourceUrls": ["github.com/facebook/react-native"],
26 | "addLabels": ["dependencies", "react native"],
27 | "automerge": false
28 | },
29 | {
30 | "matchPackageNames": ["/react-native/"],
31 | "addLabels": ["react native"]
32 | },
33 | {
34 | "matchPackageNames": ["@react-native-community"],
35 | "addLabels": ["community"]
36 | },
37 | {
38 | "groupName": "@lavamoat/allow-scripts",
39 | "matchPackageNames": [
40 | // https://lavamoat.github.io/guides/allow-scripts/#setup
41 | // https://github.com/LavaMoat/LavaMoat/tree/main/packages/allow-scripts#setup
42 | // https://github.com/LavaMoat/LavaMoat/blob/main/packages/allow-scripts/src/setup.js#L133-L134
43 | "@lavamoat/preinstall-always-fail",
44 | "@lavamoat/allow-scripts"
45 | ],
46 | "addLabels": ["dependencies", "lavamoat"]
47 | },
48 | {
49 | // https://github.com/actions/runner-images
50 | // https://github.com/actions/partner-runner-images
51 | "matchManagers": ["github-actions"],
52 | // https://github.com/renovatebot/renovate/tree/main/lib/modules/datasource/github-runners#unstable-runners
53 | "ignoreUnstable": false
54 | },
55 | {
56 | "groupName": "swc monorepo",
57 | "addLabels": ["devDependencies", "swc", "transpiling"],
58 | "matchSourceUrls": ["github.com/swc-project/swc"]
59 | }
60 | ],
61 | "vulnerabilityAlerts": {
62 | "addLabels": ["security"]
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | const webpack = require('webpack')
4 | const HtmlWebpackPlugin = require('html-webpack-plugin')
5 |
6 | const appDirectory = path.resolve(__dirname)
7 | const rootDirectory = path.resolve(__dirname, '..', '..')
8 |
9 | const compileNodeModules = [
10 | 'react-native-swipe-gestures',
11 | 'react-native-modal-selector'
12 | ].map(moduleName => path.resolve(rootDirectory, `node_modules/${moduleName}`))
13 |
14 | const babelLoaderConfiguration = {
15 | test: /\.js$|tsx?$/,
16 | include: [
17 | path.resolve(__dirname, 'index.web.js'),
18 | path.resolve(__dirname, 'App.web.tsx'),
19 | path.resolve(__dirname, 'components'),
20 | path.resolve(__dirname, './.storybook/preview.js'),
21 | path.resolve(__dirname, './.storybook/Storybook.tsx'),
22 | ...compileNodeModules
23 | ],
24 | use: {
25 | loader: 'babel-loader',
26 | options: {
27 | cacheDirectory: true,
28 | presets: [
29 | '@babel/env',
30 | '@babel/preset-react',
31 | 'module:metro-react-native-babel-preset'
32 | ],
33 | plugins: ['react-native-web', '@babel/plugin-proposal-class-properties']
34 | }
35 | }
36 | }
37 |
38 | const svgLoaderConfiguration = {
39 | test: /\.svg$/,
40 | use: [
41 | {
42 | loader: '@svgr/webpack'
43 | }
44 | ]
45 | }
46 |
47 | const imageLoaderConfiguration = {
48 | test: /\.(gif|jpe?g|png)$/,
49 | use: {
50 | loader: 'url-loader',
51 | options: {
52 | name: '[name].[ext]'
53 | }
54 | }
55 | }
56 |
57 | module.exports = {
58 | entry: {
59 | app: path.join(__dirname, 'index.web.js')
60 | },
61 | output: {
62 | path: path.resolve(appDirectory, 'dist'),
63 | publicPath: '/',
64 | filename: 'rnw.bundle.js'
65 | },
66 | resolve: {
67 | extensions: ['.web.tsx', '.web.ts', '.tsx', '.ts', '.web.js', '.js'],
68 | alias: {
69 | 'react-native$': 'react-native-web'
70 | }
71 | },
72 | module: {
73 | rules: [
74 | babelLoaderConfiguration,
75 | imageLoaderConfiguration,
76 | svgLoaderConfiguration
77 | ]
78 | },
79 | plugins: [
80 | new HtmlWebpackPlugin({
81 | template: path.join(__dirname, 'index.html')
82 | }),
83 | new webpack.HotModuleReplacementPlugin(),
84 | new webpack.DefinePlugin({
85 | // See: https://github.com/necolas/react-native-web/issues/349
86 | __DEV__: JSON.stringify(true)
87 | })
88 | ],
89 | devServer: {
90 | open: true
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | # For most projects, this workflow file will not need changing; you simply need
2 | # to commit it to your repository.
3 | #
4 | # You may wish to alter this file to override the set of languages analyzed,
5 | # or to provide custom queries or build logic.
6 | #
7 | # ******** NOTE ********
8 | # We have attempted to detect the languages in your repository. Please check
9 | # the `language` matrix defined below to confirm you have the correct set of
10 | # supported CodeQL languages.
11 | #
12 | name: 'CodeQL'
13 |
14 | on:
15 | push:
16 | branches: [ master ]
17 | pull_request:
18 | # The branches below must be a subset of the branches above
19 | branches: [ master ]
20 | schedule:
21 | - cron: '31 11 * * 1'
22 |
23 | jobs:
24 | analyze:
25 | name: Analyze
26 | runs-on: ubuntu-latest
27 | permissions:
28 | actions: read
29 | contents: read
30 | security-events: write
31 |
32 | strategy:
33 | fail-fast: false
34 | matrix:
35 | language: [ 'javascript' ]
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37 | # Learn more:
38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39 |
40 | steps:
41 | - name: Checkout repository
42 | uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
43 |
44 | # Initializes the CodeQL tools for scanning.
45 | - name: Initialize CodeQL
46 | uses: github/codeql-action/init@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
47 | with:
48 | languages: ${{ matrix.language }}
49 | # If you wish to specify custom queries, you can do so here or in a config file.
50 | # By default, queries listed here will override any specified in a config file.
51 | # Prefix the list here with "+" to use these queries and those in the config file.
52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main
53 |
54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55 | # If this step fails, then you should remove it and run the build manually (see below)
56 | - name: Autobuild
57 | uses: github/codeql-action/autobuild@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
58 |
59 | # ℹ️ Command-line programs to run using the OS shell.
60 | # 📚 https://git.io/JvXDl
61 |
62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63 | # and modify them (or add more) to build your code if your project
64 | # uses a compiled language
65 |
66 | #- run: |
67 | # make bootstrap
68 | # make release
69 |
70 | - name: Perform CodeQL Analysis
71 | uses: github/codeql-action/analyze@fdbfb4d2750291e159f0156def62b853c2798ca2 # v4
72 |
--------------------------------------------------------------------------------
/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 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | require_relative '../node_modules/react-native/scripts/react_native_pods'
2 | require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
3 |
4 | platform :ios, min_ios_version_supported
5 | prepare_react_native_project!
6 | ENV['RCT_NEW_ARCH_ENABLED'] = '1'
7 |
8 | linkage = ENV['USE_FRAMEWORKS']
9 | if linkage != nil
10 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
11 | use_frameworks! :linkage => linkage.to_sym
12 | end
13 |
14 | target 'MyApp' do
15 | config = use_native_modules!
16 |
17 | # Flags change depending on the env values.
18 | flags = get_default_flags()
19 |
20 | use_react_native!(
21 | :path => config[:reactNativePath],
22 | # Hermes is now enabled by default. Disable by setting this flag to false.
23 | # Upcoming versions of React Native may rely on get_default_flags(), but
24 | # we make it explicit here to aid in the React Native upgrade process.
25 | :hermes_enabled => flags[:hermes_enabled],
26 | :fabric_enabled => flags[:fabric_enabled],
27 | # An absolute path to your application root.
28 | :app_path => "#{Pod::Config.instance.installation_root}/.."
29 | )
30 |
31 | target 'MyAppTests' do
32 | inherit! :complete
33 | # Pods for testing
34 | end
35 |
36 | post_install do |installer|
37 | # RN post install
38 | react_native_post_install(
39 | installer,
40 | # Set `mac_catalyst_enabled` to `true` in order to apply patches
41 | # necessary for Mac Catalyst builds
42 | :mac_catalyst_enabled => false
43 | )
44 | # ...
45 | # Compiler cache (ccache)
46 | installer.pods_project.targets.each do |target|
47 | target.build_configurations.each do |config|
48 | # Using the un-qualified names means you can swap in different implementations, for example ccache
49 | config.build_settings["CC"] = "clang"
50 | config.build_settings["LD"] = "clang"
51 | config.build_settings["CXX"] = "clang++"
52 | config.build_settings["LDPLUSPLUS"] = "clang++"
53 | end
54 | end
55 | # Deprecate iOS/tvOS SDK 11.0 support since 12.4+ required
56 | installer.pods_project.targets.each do |target|
57 | target.build_configurations.each do |config|
58 | config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4'
59 | end
60 | end
61 | # Xcode 12.5 M1 post install workaround
62 | __apply_Xcode_12_5_M1_post_install_workaround(installer)
63 | end
64 | end
65 |
66 | # Ref: https://github.com/leotm/react-native-template-new-architecture/issues/1775
67 | # TODO: Remove in Boost 1.76.0+ via RN 0.71.12+ (react-native/third-party-podspecs/boost.podspec)
68 | def find_and_replace_boost_url
69 | pod_spec = "../node_modules/react-native/third-party-podspecs/boost.podspec"
70 | puts "Debug: Starting boost URL replacement"
71 | if File.exist?(pod_spec)
72 | puts "Debug: Found boost.podspec"
73 | spec_content = File.read(pod_spec)
74 | spec_content.gsub!(
75 | 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
76 | 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2'
77 | )
78 | File.write(pod_spec, spec_content)
79 | puts "Debug: Updated boost.podspec"
80 | end
81 | end
82 |
83 | find_and_replace_boost_url
84 |
--------------------------------------------------------------------------------
/.github/workflows/android.yml:
--------------------------------------------------------------------------------
1 | # This workflow uses actions that are not certified by GitHub.
2 | # They are provided by a third-party and are governed by
3 | # separate terms of service, privacy policy, and support
4 | # documentation.
5 | # This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
6 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
7 |
8 | name: Android CI with Gradle
9 |
10 | on:
11 | push:
12 | branches: [ master ]
13 | pull_request:
14 | branches: [ master ]
15 |
16 | # Global workflow envs
17 | # env:
18 | # ANDROID_NDK_HOME: /usr/local/lib/android/sdk/ndk/x.x.x
19 | # ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/x.x.x
20 |
21 | # TODO: Avoid brutally editing/setting ndk.dir in local.properties
22 |
23 | jobs:
24 | build-android:
25 |
26 | runs-on: ubuntu-24.04 # https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
27 |
28 | # Local job envs
29 |
30 | steps:
31 |
32 | - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6
33 |
34 | - name: Setup JDK 19
35 | uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
36 | with:
37 | java-version: 19
38 | distribution: temurin
39 | cache: 'gradle'
40 |
41 | # yarn cache
42 | # node_modules cache
43 |
44 | - name: Install deps and setup
45 | run: yarn && yarn setup
46 |
47 | - name: npx react-native info
48 | run: npx react-native info
49 |
50 | # - name: Build application Debug APK with Gradle
51 | # uses: gradle/gradle-build-action@v2.4.2
52 | # with:
53 | # arguments: assembleDebug
54 | # build-root-directory: android
55 |
56 | # Avoid release poisoned cache problems
57 | # Preserve hosted agent free disk space
58 | # - name: Delete Android build pre-computed outputs
59 | # uses: gradle/gradle-build-action@v2.4.2
60 | # with:
61 | # arguments: clean
62 | # build-root-directory: android
63 |
64 | - name: Build application Release APK with Gradle
65 | uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
66 | with:
67 | arguments: assembleRelease
68 | build-root-directory: android
69 |
70 | # - name: Build project Make-based (not CMake)
71 | # run: |
72 | # /usr/local/lib/android/sdk/ndk/x.x.x/ndk-build
73 | # NDK_PROJECT_PATH=null
74 | # APP_BUILD_SCRIPT=/home/runner/work/react-native-template-new-architecture/react-native-template-new-architecture/node_modules/react-native/ReactAndroid/src/main/jni/react/jni/Android.mk
75 | # NDK_APPLICATION_MK=/home/runner/work/react-native-template-new-architecture/react-native-template-new-architecture/node_modules/react-native/ReactAndroid/src/main/jni/Application.mk
76 |
77 | # E2E Release APK for Detox per VM image architecture for AVD
78 | # --active-arch-only
79 | # - M1: -PreactNativeArchitectures=arm64-v8a
80 | # - Other: -PreactNativeArchitectures=x86_64
81 |
82 | # Release AAB/APK with all 4 ABIs
83 | # - 1 AAB/APK, 1 upload
84 | # - Consider ccache without matrix
85 | # - Parallelise each ABI via matrix
86 | # - Upload each ABI seperately
87 | # - Consider sccache
88 | # - Bigger organisation/team
89 | # - Running more frequent builds
90 |
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | /* eslint-disable react-native/no-raw-text, no-console */
2 | // https://github.com/Intellicode/eslint-plugin-react-native/issues/271
3 |
4 | import type { PropsWithChildren } from 'react'
5 | import {
6 | SafeAreaView,
7 | ScrollView,
8 | StatusBar,
9 | StyleSheet,
10 | Text,
11 | useColorScheme,
12 | View
13 | } from 'react-native'
14 | import {
15 | Colors,
16 | DebugInstructions,
17 | Header,
18 | LearnMoreLinks,
19 | ReloadInstructions
20 | } from 'react-native/Libraries/NewAppScreen'
21 |
22 | // import StorybookUIRoot from '../.storybook/Storybook'
23 |
24 | if (__DEV__) {
25 | import('../ReactotronConfig')
26 | .then(() => {
27 | console.log('Reactotron Configured')
28 | })
29 | .catch(() => console.error)
30 | }
31 |
32 | type SectionProps = PropsWithChildren<{
33 | title: string
34 | }>
35 |
36 | const Section = ({ children, title }: SectionProps) => {
37 | const isDarkMode = useColorScheme() === 'dark'
38 | return (
39 |
40 |
46 | {title}
47 |
48 |
49 |
55 | {children}
56 |
57 |
58 | )
59 | }
60 |
61 | export const App = () => {
62 | const isDarkMode = useColorScheme() === 'dark'
63 |
64 | const backgroundStyle = {
65 | backgroundColor: isDarkMode ? Colors.darker : Colors.lighter
66 | }
67 |
68 | return (
69 |
70 |
74 |
75 |
79 |
80 |
81 |
86 |
87 | Edit src/index.tsx to change
88 | this screen and then come back to see your edits.
89 |
90 |
91 |
94 |
95 |
98 |
99 |
100 | Read the docs to discover what to do next:
101 |
102 |
103 |
104 |
105 |
106 |
107 | )
108 | }
109 |
110 | const styles = StyleSheet.create({
111 | highlight: {
112 | fontWeight: '700'
113 | },
114 | sectionContainer: {
115 | marginTop: 32,
116 | paddingHorizontal: 24
117 | },
118 | sectionDescription: {
119 | fontSize: 18,
120 | fontWeight: '400',
121 | marginTop: 8
122 | },
123 | sectionTitle: {
124 | fontSize: 24,
125 | fontWeight: '600'
126 | }
127 | })
128 |
129 | export default App // Or StorybookUIRoot
130 |
131 | // export default Reactotron.storybookSwitcher(storybook)(App)
132 | // https://github.com/infinitered/reactotron/issues/1160
133 |
--------------------------------------------------------------------------------
/ios/MyApp/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/Launch Screen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
24 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | React Native Template / Boilerplate
6 | Bleeding 🔪 Edge 🌉 Nightlymare 🌃 Edition
7 | ““”̿ ̿ ̿ ̿ ̿’̿’̵͇̿̿з=(*▽*)=ε/̵͇̿̿/̿ ̿ ̿ ̿ ̿’““
8 | IDKFA
9 |
10 |
11 |
12 | [](https://github.com/facebook/react-native/releases)
13 | [](#)
14 | [](#)
15 | [](#)
16 | [](https://github.com/leotm/react-native-template-new-architecture/actions/workflows/main.yml)
17 | [](https://github.com/leotm/react-native-template-new-architecture/pulse)
18 | [](https://github.com/leotm/react-native-template-new-architecture/wiki)
19 | [](https://github.com/leotm/react-native-template-new-architecture/projects/1)
20 |
21 |
22 |
23 | Android | iOS
24 | --- | ---
25 |  | 
26 |
27 | ## Set Up Your Environment
28 |
29 | [**Fresh Apple Silicon 🔥 (macOS arm64)**](https://github.com/leotm/react-native-template-new-architecture/wiki/Apple-Silicon-setup)
30 |
31 | ## Install
32 |
33 | ```sh
34 | corepack enable
35 | yarn
36 | yarn setup
37 | ```
38 |
39 | ## Start
40 |
41 | ```sh
42 | yarn start
43 | ```
44 |
45 | ## iOS
46 |
47 | ```sh
48 | cd ios
49 | pod install
50 | cd ..
51 | yarn ios
52 | ```
53 |
54 | _[Old Rosetta 2 Intel x86_64 way](https://github.com/leotm/react-native-template-new-architecture/wiki/(New)-Architecture#building-for-ios-intel-x86_64-architecture)_
55 |
56 | ## Android
57 |
58 | ### NDK
59 |
60 |
61 |
62 | _Old manual setup
_
63 |
64 | [Building-from-source#prerequisites](https://github.com/facebook/react-native/wiki/Building-from-source#prerequisites), but with NDK 25.0.8775105
65 |
66 | ```
67 | # android/local.properties
68 | sdk.dir=/Users//Library/Android/sdk
69 | ndk.dir=/Users//Library/Android/sdk/ndk/25.0.8775105
70 | ```
71 |
72 | _Strip: ` rcX` suffix / (trailing) spaces / final final linebreak - otherwise `fcntl(): Bad file descriptor`_
73 |
74 |
75 |
76 | ### Android Studio
77 |
78 |
79 |
80 | _Old manual setup
_
81 |
82 | Open [Android Studio - Preview release - Canary build](https://developer.android.com/studio/preview)
83 | - Open Project, set the [JDK](https://github.com/leotm/react-native-template-new-architecture/wiki/Android#jdk)
84 | - [SDK Manager > SDK Tools > NDK > ⬇️ 25.0.8775105](https://user-images.githubusercontent.com/1881059/158474758-c8c1412c-2f35-4d0d-abc7-6ba18c65827c.png)
85 | - Build [all 4 default ABIs](https://github.com/leotm/react-native-template-new-architecture/blob/master/android/gradle.properties#L33) first with other libraries
86 | - Open an arm64 AVD e.g. `Pixel_3a_API_31_arm64-v8a` [Initial Preview v3: Google APIs System Image](https://github.com/google/android-emulator-m1-preview)
87 | - Make Project
88 |
89 |
90 |
91 | ### Run
92 |
93 | ```sh
94 | yarn android
95 | ```
96 |
97 | ## Storybook v6
98 |
99 | Add stories to `src/components/**/*.stories.(ts|tsx)`
100 |
101 | _Keep in sync with `.storybook` and `storybook_server` `/main.js`_
102 |
103 | ```sh
104 | yarn get-stories
105 | ```
106 |
107 | ```sh
108 | yarn storybook-server # optional
109 | ```
110 |
111 | https://github.com/leotm/react-native-template-new-architecture/blob/01f1c9864f55367004effbe26d3f33590784704b/src/index.tsx#L132
112 |
113 |
114 |
115 | _Old v5 setup
_
116 |
117 | https://github.com/leotm/react-native-template-new-architecture/blob/01f1c9864f55367004effbe26d3f33590784704b/metro.config.js#L16
118 |
119 | - https://github.com/facebook/hermes/issues/135
120 | - https://github.com/facebook/react-native/issues/31969
121 |
122 | ```sh
123 | # @storybook/react-native-server v5
124 | yarn storybook
125 | ```
126 |
127 | ```sh
128 | yarn
129 | ```
130 |
131 |
132 |
133 | ## Node
134 |
135 | _With [ts-node](https://github.com/TypeStrong/ts-node) and [curveball](https://github.com/curveball)_
136 |
137 | ```sh
138 | yarn server
139 | ```
140 |
141 | ## Deno
142 |
143 | ```sh
144 | brew install deno
145 | ```
146 |
147 | ```sh
148 | yarn deno
149 | ```
150 |
151 | ---
152 |
153 | [](#)
154 |
--------------------------------------------------------------------------------
/ios/MyApp.xcodeproj/xcshareddata/xcschemes/MyApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
43 |
49 |
50 |
51 |
52 |
53 |
58 |
59 |
65 |
66 |
67 |
68 |
70 |
76 |
77 |
78 |
79 |
80 |
90 |
92 |
98 |
99 |
100 |
101 |
107 |
109 |
115 |
116 |
117 |
118 |
120 |
121 |
124 |
125 |
126 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: [
4 | // All
5 | 'eslint:all', // Pairs well with plugin:react/all
6 | 'plugin:react/all', // Pairs well with eslint:all
7 | 'plugin:@typescript-eslint/all', // Unstable
8 | 'plugin:jest/all', // Unstable
9 | 'plugin:react-native/all',
10 | // Recommended
11 | 'plugin:import/recommended', // plugin:import/errors + plugin:import/warnings
12 | 'plugin:import/typescript', // This line apaz does the trick - but which pony?
13 | 'plugin:react-hooks/recommended',
14 | // Misc
15 | 'airbnb-typescript-prettier',
16 | // 'react-native-typescript', // [ERR_PACKAGE_PATH_NOT_EXPORTED]: Failed to load plugin 'flowtype'
17 | // '@react-native-community', // [ERR_PACKAGE_PATH_NOT_EXPORTED]: Failed to load plugin 'flowtype'
18 | // 'plugin:prettier/recommended', // Incompatible with eslint-plugin-yml
19 | 'plugin:yml/prettier'
20 | ],
21 | parser: '@typescript-eslint/parser',
22 | parserOptions: {
23 | project: './tsconfig.json', // Required for '@typescript-eslint/await-thenable'
24 | ecmaVersion: 'latest'
25 | },
26 | overrides: [
27 | {
28 | files: ['*.yaml', '*.yml'],
29 | parser: 'yaml-eslint-parser',
30 | rules: {
31 | // TODO: Fix
32 | 'spaced-comment': 'off',
33 | 'yml/flow-sequence-bracket-spacing': ['error', 'always']
34 | }
35 | }
36 | ],
37 | env: {
38 | // Extended, but here for visibility
39 | 'react-native/react-native': true,
40 | 'jest/globals': true
41 | },
42 | ignorePatterns: [
43 | 'lib',
44 | 'babel.config.js',
45 | 'metro.config.js',
46 | '.eslintrc.js',
47 | 'webpack.config.js',
48 | // '!/.github', // False positive: Error loading '@typescript-eslint/await-thenable' requires parserOptions.project
49 | '!/.storybook',
50 | '.storybook/storybook.requires.js' // Codegen
51 | ],
52 | plugins: [
53 | 'deprecation',
54 | 'simple-import-sort',
55 | 'sort-keys-fix',
56 | 'typescript-sort-keys',
57 | 'communist-spelling'
58 | ],
59 | rules: {
60 | // Misc
61 | 'jsx-a11y/accessible-emoji': 'off', // RN TS requires raw text in , not
62 | 'deprecation/deprecation': 'error',
63 | 'no-shadow': 'off',
64 | 'communist-spelling/communist-spelling': 'error',
65 | 'react-native/no-color-literals': 'off',
66 | 'react/jsx-props-no-spreading': 'off',
67 | // Sorts
68 | 'typescript-sort-keys/interface': 'error',
69 | 'typescript-sort-keys/string-enum': 'error',
70 | 'sort-vars': 'error',
71 | 'sort-keys-fix/sort-keys-fix': 'error', // sort-keys with autofix
72 | // @typescript-eslint
73 | '@typescript-eslint/explicit-function-return-type': 'off', // Prefer type inference
74 | '@typescript-eslint/explicit-module-boundary-types': 'off', // Prefer type inference
75 | '@typescript-eslint/no-use-before-define': 'off',
76 | '@typescript-eslint/object-curly-spacing': 'off',
77 | '@typescript-eslint/no-unsafe-assignment': 'off',
78 | '@typescript-eslint/naming-convention': 'off',
79 | '@typescript-eslint/no-magic-numbers': 'off',
80 | '@typescript-eslint/prefer-readonly-parameter-types': 'off',
81 | '@typescript-eslint/no-type-alias': 'off',
82 | '@typescript-eslint/no-unsafe-member-access': 'off',
83 | /**
84 | * Auto-fixing/removing unneeded type args is nice,
85 | * But not false-positive generic type args with React props
86 | * - class Atom extends Component<{ children: ReactNode, onPress: () => void }>
87 | * - const Atom = ({ children, onPress }: { children: ReactNode; onPress: () => void }) => <>> // Inferred JSX.Element
88 | * - const Atom: FC<{ onPress: () => void }>
89 | * React 17 PropsWithChildren, now removed for generic P in React 18
90 | */
91 | '@typescript-eslint/no-unnecessary-type-arguments': 'off',
92 | '@typescript-eslint/no-unused-vars': [
93 | 'error',
94 | { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }
95 | ],
96 | // React
97 | 'react/static-property-placement': ['error', 'static public field'], // https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#support-for-defaultprops-in-jsx
98 | 'react/jsx-no-literals': 'off',
99 | 'react/jsx-max-depth': 'off',
100 | // 'react-native/no-raw-text': ['error', { skip: 'Text.Text' }], // https://github.com/Intellicode/eslint-plugin-react-native/issues/271
101 | 'react/react-in-jsx-scope': 'off',
102 | 'react/no-multi-comp': 'off',
103 | 'react/jsx-one-expression-per-line': 'off',
104 | 'react/function-component-definition': [
105 | 'error',
106 | {
107 | namedComponents: 'arrow-function',
108 | unnamedComponents: 'arrow-function'
109 | }
110 | ],
111 | // Jest
112 | 'jest/require-hook': 'off',
113 | // Imports/Exports
114 | 'simple-import-sort/imports': 'error',
115 | 'simple-import-sort/exports': 'error',
116 | // 'sort-imports': 'error', // Incompatible w simple-import-sort
117 | // 'import/order': ['error', { 'newlines-between': 'always' }], // Incompatible w simple-import-sort
118 | 'import/prefer-default-export': 'off',
119 | 'import/no-extraneous-dependencies': [
120 | 'error',
121 | {
122 | // Supported: classic.yarnpkg.com/en/docs/dependency-types
123 | devDependencies: [
124 | // Unit/E2E tests
125 | '**/*{.,_}{test,spec}.{ts,tsx}',
126 | // Snapshot tests (Jest)
127 | '**/__tests__/**/*.{ts,tsx}', // react-test-renderer
128 | // Storybook config
129 | '.storybook/**/*.{ts,tsx,js}',
130 | // Stories (@storybook/react-native)
131 | 'src/components/**/*.stories.tsx' // v6
132 | ]
133 | }
134 | ]
135 | }
136 | }
137 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@tsconfig/react-native/tsconfig.json",
3 | "compilerOptions": {
4 | /* Basic Options */
5 | "target": "esnext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
6 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
7 | "lib": ["es2019"], /* Specify library files to be included in the compilation. */
8 | "allowJs": true, /* Allow javascript files to be compiled. */
9 | // "checkJs": true, /* Report errors in .js files. */
10 | "jsx": "react-native", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
11 | // "declaration": true, /* Generates corresponding '.d.ts' file. */
12 | // "sourceMap": true, /* Generates corresponding '.map' file. */
13 | // "outFile": "./", /* Concatenate and emit output to single file. */
14 | // "outDir": "./lib", /* Redirect output structure to the directory. */
15 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
16 | // "removeComments": true, /* Do not emit comments to output. */
17 | "noEmit": true, /* Do not emit outputs. */
18 | "incremental": true, /* Enable incremental compilation */
19 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */
20 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
21 | "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
22 |
23 | /* Strict Type-Checking Options */
24 | "strict": true, /* Enable all strict type-checking options. */
25 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
26 | // "strictNullChecks": true, /* Enable strict null checks. */
27 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */
28 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
29 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
30 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
31 |
32 | /* Additional Checks */
33 | "noUnusedLocals": true, /* Report errors on unused locals. */
34 | "noUnusedParameters": true, /* Report errors on unused parameters. */
35 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
36 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
37 |
38 | /* Module Resolution Options */
39 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
40 | "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
41 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
42 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
43 | // "typeRoots": [], /* List of folders to include type definitions from. */
44 | // "types": [], /* Type declaration files to be included in compilation. */
45 | "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
46 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
47 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
48 |
49 | /* Source Map Options */
50 | // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
51 | // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
52 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
53 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
54 |
55 | /* Experimental Options */
56 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
57 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
58 | "resolveJsonModule": true,
59 | "skipLibCheck": true /* Ignore e.g. node_modules: @storybook/client-api/dist/story_store.d.ts; @types/reach__router/index.d.ts; more likely to come', */
60 | },
61 | // Glob patterns .{a,b} or .?{a|b} unsupported :(
62 | "files":[
63 | "index.ts",
64 | "node.ts",
65 | "deno.ts",
66 | "types/globals.d.ts",
67 | ],
68 | "include": [
69 | ".storybook/*.*",
70 | "jest",
71 | "__tests__",
72 | "src"
73 | ],
74 | "ts-node": {
75 | "swc": true
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "myapp",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "setup": "allow-scripts",
7 | "start": "react-native start",
8 | "start:reset": "react-native start --reset-cache",
9 | "android": "react-native run-android --active-arch-only",
10 | "android:release": "react-native run-android --active-arch-only --variant release",
11 | "ios": "react-native run-ios",
12 | "ios:release": "react-native run-ios --configuration Release",
13 | "ios:light": "xcrun simctl ui booted appearance light",
14 | "ios:dark": "xcrun simctl ui booted appearance dark",
15 | "doctor": "react-native doctor",
16 | "lint": "eslint . --ext ts,tsx,yml --cache",
17 | "lint:fix": "eslint . --ext ts,tsx,yml --cache --fix",
18 | "lint:config": "eslint --print-config index.ts",
19 | "prettier:check": "yarn prettier --check src/**/*.{ts,tsx,json} && yarn prettier --check *.{ts,tsx,json}",
20 | "prettier:write": "yarn prettier --write src/**/*.{ts,tsx,json} && yarn prettier --write *.{ts,tsx,json}",
21 | "check:all": "yarn tsc && yarn lint && yarn prettier:check && jest",
22 | "fix": "yarn lint:fix && yarn prettier:write",
23 | "test": "jest",
24 | "snap": "jest -u",
25 | "get-stories": "sb-rn-get-stories --config-path=./.storybook",
26 | "storybook-watcher": "sb-rn-watcher --config-path=./.storybook",
27 | "storybook-server": "react-native-storybook-server",
28 | "flipper-server": "flipper-server",
29 | "node-server": "ts-node node.ts",
30 | "deno-server": "deno run --allow-net deno.ts",
31 | "rename": "yarn react-native-rename",
32 | "clean": "react-native clean",
33 | "clean:proj": "react-native clean-project",
34 | "clean:proj-auto": "react-native clean-project-auto",
35 | "help": "react-native"
36 | },
37 | "dependencies": {
38 | "@react-native-async-storage/async-storage": "1.18.2",
39 | "@react-native-community/checkbox": "0.5.20",
40 | "@react-native-community/datetimepicker": "7.0.1",
41 | "@react-native-community/slider": "4.4.2",
42 | "@react-navigation/native": "6.1.7",
43 | "@react-navigation/native-stack": "6.9.13",
44 | "@tanstack/react-query": "5.90.10",
45 | "react": "18.2.0",
46 | "react-native": "0.71.12",
47 | "react-native-codegen": "0.71.5",
48 | "react-native-gesture-handler": "2.9.0",
49 | "react-native-reanimated": "3.0.2",
50 | "react-native-safe-area-context": "4.5.5",
51 | "react-native-screens": "3.20.0"
52 | },
53 | "devDependencies": {
54 | "@babel/core": "7.21.8",
55 | "@babel/preset-env": "7.21.5",
56 | "@babel/preset-react": "7.18.6",
57 | "@babel/runtime": "7.21.5",
58 | "@curveball/core": "0.21.1",
59 | "@curveball/router": "0.6.0",
60 | "@lavamoat/allow-scripts": "3.4.1",
61 | "@lavamoat/git-safe-dependencies": "0.3.1",
62 | "@lavamoat/preinstall-always-fail": "2.1.1",
63 | "@react-native-community/cli": "11.3.7",
64 | "@react-native-community/eslint-config": "3.2.0",
65 | "@storybook/addon-actions": "6.5.16",
66 | "@storybook/addon-backgrounds": "6.5.16",
67 | "@storybook/addon-controls": "6.5.16",
68 | "@storybook/addon-essentials": "6.5.16",
69 | "@storybook/addon-knobs": "6.4.0",
70 | "@storybook/addon-links": "6.5.16",
71 | "@storybook/addon-ondevice-actions": "6.5.3",
72 | "@storybook/addon-ondevice-backgrounds": "6.5.3",
73 | "@storybook/addon-ondevice-controls": "6.5.3",
74 | "@storybook/addon-ondevice-knobs": "6.5.3",
75 | "@storybook/addon-ondevice-notes": "6.5.3",
76 | "@storybook/addons": "6.5.16",
77 | "@storybook/docs-tools": "6.5.16",
78 | "@storybook/eslint-config-storybook": "3.1.2",
79 | "@storybook/linter-config": "3.1.2",
80 | "@storybook/react": "6.5.16",
81 | "@storybook/react-native": "6.5.3",
82 | "@storybook/react-native-server": "6.5.3",
83 | "@swc/core": "1.3.76",
84 | "@swc/wasm": "1.3.76",
85 | "@tsconfig/react-native": "3.0.8",
86 | "@types/jest": "29.5.3",
87 | "@types/node": "18.19.130",
88 | "@types/react": "18.2.20",
89 | "@types/react-native": "0.72.2",
90 | "@types/react-test-renderer": "18.0.0",
91 | "@types/ws": "8.18.1",
92 | "@typescript-eslint/eslint-plugin": "5.62.0",
93 | "@typescript-eslint/parser": "5.62.0",
94 | "babel-jest": "29.5.0",
95 | "babel-loader": "9.1.3",
96 | "babel-plugin-react-docgen-typescript": "1.5.1",
97 | "babel-plugin-transform-inline-environment-variables": "0.4.4",
98 | "eslint": "8.57.1",
99 | "eslint-config-airbnb-typescript": "18.0.0",
100 | "eslint-config-airbnb-typescript-prettier": "5.0.0",
101 | "eslint-config-react-native-typescript": "2.2.7",
102 | "eslint-plugin-communist-spelling": "1.0.0",
103 | "eslint-plugin-deprecation": "3.0.0",
104 | "eslint-plugin-detox": "1.0.0",
105 | "eslint-plugin-import": "2.32.0",
106 | "eslint-plugin-jest": "27.9.0",
107 | "eslint-plugin-jsx-a11y": "6.10.2",
108 | "eslint-plugin-react": "7.37.5",
109 | "eslint-plugin-react-hooks": "4.6.0",
110 | "eslint-plugin-react-native": "5.0.0",
111 | "eslint-plugin-simple-import-sort": "9.0.0",
112 | "eslint-plugin-sort-keys-fix": "1.1.2",
113 | "eslint-plugin-typescript-sort-keys": "3.3.0",
114 | "eslint-plugin-yml": "1.19.0",
115 | "html-webpack-plugin": "5.5.3",
116 | "husky": "9.1.7",
117 | "jest": "29.5.0",
118 | "lint-staged": "16.2.7",
119 | "metro-react-native-babel-preset": "0.76.8",
120 | "prettier": "2.8.8",
121 | "react-codemod": "5.4.4",
122 | "react-dom": "18.2.0",
123 | "react-native-clean-project": "4.0.3",
124 | "react-native-gradle-plugin": "0.71.19",
125 | "react-native-rename": "3.2.17",
126 | "react-test-renderer": "18.2.0",
127 | "reactotron-react-native": "5.0.3",
128 | "ts-node": "10.9.1",
129 | "typescript": "5.9.3",
130 | "webpack-cli": "5.0.2",
131 | "webpack-dev-server": "4.13.3"
132 | },
133 | "jest": {
134 | "preset": "react-native",
135 | "moduleFileExtensions": [
136 | "ts",
137 | "tsx",
138 | "js"
139 | ],
140 | "testPathIgnorePatterns": [
141 | "lib"
142 | ],
143 | "setupFiles": [
144 | "./jest/setup.ts"
145 | ]
146 | },
147 | "husky": {
148 | "hooks": {
149 | "pre-commit": "lint-staged"
150 | }
151 | },
152 | "lint-staged": {
153 | "*.{js,ts,tsx}": [
154 | "eslint --cache --fix",
155 | "prettier --write"
156 | ]
157 | },
158 | "packageManager": "yarn@4.12.0",
159 | "lavamoat": {
160 | "allowScripts": {
161 | "@lavamoat/preinstall-always-fail": false,
162 | "@storybook/react>@pmmmwh/react-refresh-webpack-plugin>core-js-pure": false,
163 | "@storybook/react>core-js": false,
164 | "@swc/core": false,
165 | "webpack-cli>webpack>watchpack>watchpack-chokidar2>chokidar>fsevents": false
166 | }
167 | }
168 | }
169 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: "com.android.application"
2 | apply plugin: "com.facebook.react"
3 |
4 | import com.android.build.OutputFile
5 |
6 | /**
7 | * This is the configuration block to customize your React Native Android app.
8 | * By default you don't need to apply any configuration, just uncomment the lines you need.
9 | */
10 | react {
11 | /* Folders */
12 | // The root of your project, i.e. where "package.json" lives. Default is '..'
13 | // root = file("../")
14 | // The folder where the react-native NPM package is. Default is ../node_modules/react-native
15 | // reactNativeDir = file("../node_modules/react-native")
16 | // The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
17 | // codegenDir = file("../node_modules/react-native-codegen")
18 | // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
19 | // cliFile = file("../node_modules/react-native/cli.js")
20 |
21 | /* Variants */
22 | // The list of variants to that are debuggable. For those we're going to
23 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
24 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
25 | // debuggableVariants = ["liteDebug", "prodDebug"]
26 |
27 | /* Bundling */
28 | // A list containing the node command and its flags. Default is just 'node'.
29 | // nodeExecutableAndArgs = ["node"]
30 | //
31 | // The command to run when bundling. By default is 'bundle'
32 | // bundleCommand = "ram-bundle"
33 | //
34 | // The path to the CLI configuration file. Default is empty.
35 | // bundleConfig = file(../rn-cli.config.js)
36 | //
37 | // The name of the generated asset file containing your JS bundle
38 | // bundleAssetName = "MyApplication.android.bundle"
39 | //
40 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
41 | // entryFile = file("../js/MyApplication.android.js")
42 | // entryFile: "index.ts",
43 | // entryFile = file("../js/MyApplication.android.js")
44 | //
45 | // A list of extra flags to pass to the 'bundle' commands.
46 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
47 | // extraPackagerArgs = []
48 |
49 | /* Hermes Commands */
50 | // The hermes compiler command to run. By default it is 'hermesc'
51 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
52 | //
53 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
54 | // hermesFlags = ["-O", "-output-source-map"]
55 | }
56 |
57 | /**
58 | * Set this to true to create four separate APKs instead of one,
59 | * one for each native architecture. This is useful if you don't
60 | * use App Bundles (https://developer.android.com/guide/app-bundle/)
61 | * and want to have separate APKs to upload to the Play Store.
62 | */
63 | def enableSeparateBuildPerCPUArchitecture = false
64 |
65 | /**
66 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
67 | */
68 | def enableProguardInReleaseBuilds = false
69 |
70 | /**
71 | * The preferred build flavor of JavaScriptCore (JSC)
72 | *
73 | * For example, to use the international variant, you can use:
74 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
75 | *
76 | * The international variant includes ICU i18n library and necessary data
77 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
78 | * give correct results when using with locales other than en-US. Note that
79 | * this variant is about 6MiB larger per architecture than default.
80 | */
81 | def jscFlavor = 'org.webkit:android-jsc:+'
82 |
83 | /**
84 | * Private function to get the list of Native Architectures you want to build.
85 | * This reads the value from reactNativeArchitectures in your gradle.properties
86 | * file and works together with the --active-arch-only flag of react-native run-android.
87 | */
88 | def reactNativeArchitectures() {
89 | def value = project.getProperties().get("reactNativeArchitectures")
90 | return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
91 | }
92 |
93 | android {
94 | ndkVersion rootProject.ext.ndkVersion
95 |
96 | compileSdkVersion rootProject.ext.compileSdkVersion
97 |
98 | namespace "com.leotm.myapp"
99 | defaultConfig {
100 | applicationId "com.leotm.myapp"
101 | minSdkVersion rootProject.ext.minSdkVersion
102 | targetSdkVersion rootProject.ext.targetSdkVersion
103 | versionCode 1
104 | versionName "1.0"
105 | }
106 |
107 | splits {
108 | abi {
109 | reset()
110 | enable enableSeparateBuildPerCPUArchitecture
111 | universalApk false // If true, also generate a universal APK
112 | include (*reactNativeArchitectures())
113 | }
114 | }
115 | signingConfigs {
116 | debug {
117 | storeFile file('debug.keystore')
118 | storePassword 'android'
119 | keyAlias 'androiddebugkey'
120 | keyPassword 'android'
121 | }
122 | }
123 | buildTypes {
124 | debug {
125 | signingConfig signingConfigs.debug
126 | }
127 | release {
128 | // Caution! In production, you need to generate your own keystore file.
129 | // see https://reactnative.dev/docs/signed-apk-android.
130 | signingConfig signingConfigs.debug
131 | minifyEnabled enableProguardInReleaseBuilds
132 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
133 | }
134 | }
135 |
136 | // applicationVariants are e.g. debug, release
137 | applicationVariants.all { variant ->
138 | variant.outputs.each { output ->
139 | // For each separate APK per architecture, set a unique version code as described here:
140 | // https://developer.android.com/studio/build/configure-apk-splits.html
141 | // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc.
142 | def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
143 | def abi = output.getFilter(OutputFile.ABI)
144 | if (abi != null) { // null for the universal-debug, universal-release variants
145 | output.versionCodeOverride =
146 | defaultConfig.versionCode * 1000 + versionCodes.get(abi)
147 | }
148 |
149 | }
150 | }
151 | }
152 |
153 | dependencies {
154 | // The version of react-native is set by the React Native Gradle Plugin
155 | implementation("com.facebook.react:react-android")
156 |
157 | implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
158 |
159 | if (hermesEnabled.toBoolean()) {
160 | implementation("com.facebook.react:hermes-android")
161 | } else {
162 | implementation jscFlavor
163 | }
164 | }
165 |
166 | apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
167 |
--------------------------------------------------------------------------------
/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 |
19 | ##############################################################################
20 | #
21 | # Gradle start up script for POSIX generated by Gradle.
22 | #
23 | # Important for running:
24 | #
25 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
26 | # noncompliant, but you have some other compliant shell such as ksh or
27 | # bash, then to run this script, type that shell name before the whole
28 | # command line, like:
29 | #
30 | # ksh Gradle
31 | #
32 | # Busybox and similar reduced shells will NOT work, because this script
33 | # requires all of these POSIX shell features:
34 | # * functions;
35 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
36 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
37 | # * compound commands having a testable exit status, especially «case»;
38 | # * various built-in commands including «command», «set», and «ulimit».
39 | #
40 | # Important for patching:
41 | #
42 | # (2) This script targets any POSIX shell, so it avoids extensions provided
43 | # by Bash, Ksh, etc; in particular arrays are avoided.
44 | #
45 | # The "traditional" practice of packing multiple parameters into a
46 | # space-separated string is a well documented source of bugs and security
47 | # problems, so this is (mostly) avoided, by progressively accumulating
48 | # options in "$@", and eventually passing that to Java.
49 | #
50 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
51 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
52 | # see the in-line comments for details.
53 | #
54 | # There are tweaks for specific operating systems such as AIX, CygWin,
55 | # Darwin, MinGW, and NonStop.
56 | #
57 | # (3) This script is generated from the Groovy template
58 | # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
59 | # within the Gradle project.
60 | #
61 | # You can find Gradle at https://github.com/gradle/gradle/.
62 | #
63 | ##############################################################################
64 |
65 | # Attempt to set APP_HOME
66 |
67 | # Resolve links: $0 may be a link
68 | app_path=$0
69 |
70 | # Need this for daisy-chained symlinks.
71 | while
72 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
73 | [ -h "$app_path" ]
74 | do
75 | ls=$( ls -ld "$app_path" )
76 | link=${ls#*' -> '}
77 | case $link in #(
78 | /*) app_path=$link ;; #(
79 | *) app_path=$APP_HOME$link ;;
80 | esac
81 | done
82 |
83 | APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
84 |
85 | APP_NAME="Gradle"
86 | APP_BASE_NAME=${0##*/}
87 |
88 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
90 |
91 | # Use the maximum available, or set MAX_FD != -1 to use that value.
92 | MAX_FD=maximum
93 |
94 | warn () {
95 | echo "$*"
96 | } >&2
97 |
98 | die () {
99 | echo
100 | echo "$*"
101 | echo
102 | exit 1
103 | } >&2
104 |
105 | # OS specific support (must be 'true' or 'false').
106 | cygwin=false
107 | msys=false
108 | darwin=false
109 | nonstop=false
110 | case "$( uname )" in #(
111 | CYGWIN* ) cygwin=true ;; #(
112 | Darwin* ) darwin=true ;; #(
113 | MSYS* | MINGW* ) msys=true ;; #(
114 | NONSTOP* ) nonstop=true ;;
115 | esac
116 |
117 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
118 |
119 |
120 | # Determine the Java command to use to start the JVM.
121 | if [ -n "$JAVA_HOME" ] ; then
122 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
123 | # IBM's JDK on AIX uses strange locations for the executables
124 | JAVACMD=$JAVA_HOME/jre/sh/java
125 | else
126 | JAVACMD=$JAVA_HOME/bin/java
127 | fi
128 | if [ ! -x "$JAVACMD" ] ; then
129 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
130 |
131 | Please set the JAVA_HOME variable in your environment to match the
132 | location of your Java installation."
133 | fi
134 | else
135 | JAVACMD=java
136 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137 |
138 | Please set the JAVA_HOME variable in your environment to match the
139 | location of your Java installation."
140 | fi
141 |
142 | # Increase the maximum file descriptors if we can.
143 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144 | case $MAX_FD in #(
145 | max*)
146 | MAX_FD=$( ulimit -H -n ) ||
147 | warn "Could not query maximum file descriptor limit"
148 | esac
149 | case $MAX_FD in #(
150 | '' | soft) :;; #(
151 | *)
152 | ulimit -n "$MAX_FD" ||
153 | warn "Could not set maximum file descriptor limit to $MAX_FD"
154 | esac
155 | fi
156 |
157 | # Collect all arguments for the java command, stacking in reverse order:
158 | # * args from the command line
159 | # * the main class name
160 | # * -classpath
161 | # * -D...appname settings
162 | # * --module-path (only if needed)
163 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
164 |
165 | # For Cygwin or MSYS, switch paths to Windows format before running java
166 | if "$cygwin" || "$msys" ; then
167 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
168 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
169 |
170 | JAVACMD=$( cygpath --unix "$JAVACMD" )
171 |
172 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
173 | for arg do
174 | if
175 | case $arg in #(
176 | -*) false ;; # don't mess with options #(
177 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
178 | [ -e "$t" ] ;; #(
179 | *) false ;;
180 | esac
181 | then
182 | arg=$( cygpath --path --ignore --mixed "$arg" )
183 | fi
184 | # Roll the args list around exactly as many times as the number of
185 | # args, so each arg winds up back in the position where it started, but
186 | # possibly modified.
187 | #
188 | # NB: a `for` loop captures its iteration list before it begins, so
189 | # changing the positional parameters here affects neither the number of
190 | # iterations, nor the values presented in `arg`.
191 | shift # remove old arg
192 | set -- "$@" "$arg" # push replacement arg
193 | done
194 | fi
195 |
196 | # Collect all arguments for the java command;
197 | # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
198 | # shell script including quotes and variable substitutions, so put them in
199 | # double quotes to make sure that they get re-expanded; and
200 | # * put everything else in single quotes, so that it's not re-expanded.
201 |
202 | set -- \
203 | "-Dorg.gradle.appname=$APP_BASE_NAME" \
204 | -classpath "$CLASSPATH" \
205 | org.gradle.wrapper.GradleWrapperMain \
206 | "$@"
207 |
208 | # Use "xargs" to parse quoted args.
209 | #
210 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
211 | #
212 | # In Bash we could simply go:
213 | #
214 | # readarray ARGS < <( xargs -n1 <<<"$var" ) &&
215 | # set -- "${ARGS[@]}" "$@"
216 | #
217 | # but POSIX shell has neither arrays nor command substitution, so instead we
218 | # post-process each arg (as a line of input to sed) to backslash-escape any
219 | # character that might be a shell metacharacter, then use eval to reverse
220 | # that process (while maintaining the separation between arguments), and wrap
221 | # the whole thing up as a single "set" statement.
222 | #
223 | # This will of course break if any of these variables contains a newline or
224 | # an unmatched quote.
225 | #
226 |
227 | eval "set -- $(
228 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
229 | xargs -n1 |
230 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
231 | tr '\n' ' '
232 | )" '"$@"'
233 |
234 | exec "$JAVACMD" "$@"
235 |
--------------------------------------------------------------------------------
/__tests__/__snapshots__/App-test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`app renders correctly 1`] = `
4 |
11 |
19 |
20 |
35 |
66 |
80 | Welcome to
81 |
82 |
83 | React Native
84 |
85 |
86 |
93 |
101 |
114 | Step One
115 |
116 |
130 | Edit
131 |
138 | src/index.tsx
139 |
140 | to change this screen and then come back to see your edits.
141 |
142 |
143 |
151 |
164 | See Your Changes
165 |
166 |
180 |
181 | Press
182 |
189 | Cmd + R
190 |
191 | in the simulator to reload your app's code.
192 |
193 |
194 |
195 |
203 |
216 | Debug
217 |
218 |
232 |
233 | Press
234 |
241 | Cmd + D
242 |
243 | in the simulator or
244 |
245 |
252 | Shake
253 |
254 | your device to open the React Native debug menu.
255 |
256 |
257 |
258 |
266 |
279 | Learn More
280 |
281 |
295 | Read the docs to discover what to do next:
296 |
297 |
298 |
306 |
318 |
358 |
368 | The Basics
369 |
370 |
385 | Explains a Hello World for React Native.
386 |
387 |
388 |
400 |
440 |
450 | Style
451 |
452 |
467 | Covers how to use the prop named style which controls the visuals.
468 |
469 |
470 |
482 |
522 |
532 | Layout
533 |
534 |
549 | React Native uses flexbox for layout, learn how it works.
550 |
551 |
552 |
564 |
604 |
614 | Components
615 |
616 |
631 | The full list of components and APIs inside React Native.
632 |
633 |
634 |
646 |
686 |
696 | Navigation
697 |
698 |
713 | How to handle moving between screens inside your application.
714 |
715 |
716 |
728 |
768 |
778 | Networking
779 |
780 |
795 | How to use the Fetch API in React Native.
796 |
797 |
798 |
810 |
850 |
860 | Help
861 |
862 |
877 | Need more help? There are many other React Native developers who may have the answer.
878 |
879 |
880 |
892 |
932 |
942 | Follow us on Twitter
943 |
944 |
959 | Stay in touch with the community, join in on Q&As and more by following React Native on Twitter.
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 | `;
968 |
--------------------------------------------------------------------------------
/ios/MyApp.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 00E356F31AD99517003FC87E /* MyAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* MyAppTests.m */; };
11 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
12 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
14 | 48B9D79F8B510603F0433630 /* libPods-MyApp-MyAppTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 39C30EA5EC35B0DE95DF8892 /* libPods-MyApp-MyAppTests.a */; };
15 | E2E23248081DE822037022AF /* libPods-MyApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FF4B8C4D42B2E7AC629DD93 /* libPods-MyApp.a */; };
16 | /* End PBXBuildFile section */
17 |
18 | /* Begin PBXContainerItemProxy section */
19 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
20 | isa = PBXContainerItemProxy;
21 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
22 | proxyType = 1;
23 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
24 | remoteInfo = MyApp;
25 | };
26 | /* End PBXContainerItemProxy section */
27 |
28 | /* Begin PBXFileReference section */
29 | 00E356EE1AD99517003FC87E /* MyAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MyAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
30 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
31 | 00E356F21AD99517003FC87E /* MyAppTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyAppTests.m; sourceTree = ""; };
32 | 0AB195497A6653D88013B39C /* Pods-MyApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MyApp.debug.xcconfig"; path = "Target Support Files/Pods-MyApp/Pods-MyApp.debug.xcconfig"; sourceTree = ""; };
33 | 13B07F961A680F5B00A75B9A /* MyApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MyApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
34 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = MyApp/AppDelegate.h; sourceTree = ""; };
35 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = MyApp/AppDelegate.mm; sourceTree = ""; };
36 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = MyApp/Images.xcassets; sourceTree = ""; };
37 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = MyApp/Info.plist; sourceTree = ""; };
38 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = MyApp/main.m; sourceTree = ""; };
39 | 39C30EA5EC35B0DE95DF8892 /* libPods-MyApp-MyAppTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MyApp-MyAppTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
40 | 5E57CCA2F5AD60B313BFA1C0 /* Pods-MyApp-MyAppTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MyApp-MyAppTests.release.xcconfig"; path = "Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests.release.xcconfig"; sourceTree = ""; };
41 | 7FF4B8C4D42B2E7AC629DD93 /* libPods-MyApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MyApp.a"; sourceTree = BUILT_PRODUCTS_DIR; };
42 | 94195DD6942E3931F6F7B8DB /* Pods-MyApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MyApp.release.xcconfig"; path = "Target Support Files/Pods-MyApp/Pods-MyApp.release.xcconfig"; sourceTree = ""; };
43 | B3561C4B24410BD300AE4B32 /* MyApp-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MyApp-Bridging-Header.h"; sourceTree = ""; };
44 | B36B6748266D0E86007CD52E /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = "Launch Screen.storyboard"; path = "/Users/leo/Documents/GitHub/LeoTMApp/ios/Launch Screen.storyboard"; sourceTree = ""; };
45 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
46 | F52DFF8E484078E0BFF2BDBE /* Pods-MyApp-MyAppTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MyApp-MyAppTests.debug.xcconfig"; path = "Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests.debug.xcconfig"; sourceTree = ""; };
47 | /* End PBXFileReference section */
48 |
49 | /* Begin PBXFrameworksBuildPhase section */
50 | 00E356EB1AD99517003FC87E /* Frameworks */ = {
51 | isa = PBXFrameworksBuildPhase;
52 | buildActionMask = 2147483647;
53 | files = (
54 | 48B9D79F8B510603F0433630 /* libPods-MyApp-MyAppTests.a in Frameworks */,
55 | );
56 | runOnlyForDeploymentPostprocessing = 0;
57 | };
58 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
59 | isa = PBXFrameworksBuildPhase;
60 | buildActionMask = 2147483647;
61 | files = (
62 | E2E23248081DE822037022AF /* libPods-MyApp.a in Frameworks */,
63 | );
64 | runOnlyForDeploymentPostprocessing = 0;
65 | };
66 | /* End PBXFrameworksBuildPhase section */
67 |
68 | /* Begin PBXGroup section */
69 | 00E356EF1AD99517003FC87E /* MyAppTests */ = {
70 | isa = PBXGroup;
71 | children = (
72 | 00E356F21AD99517003FC87E /* MyAppTests.m */,
73 | 00E356F01AD99517003FC87E /* Supporting Files */,
74 | );
75 | path = MyAppTests;
76 | sourceTree = "";
77 | };
78 | 00E356F01AD99517003FC87E /* Supporting Files */ = {
79 | isa = PBXGroup;
80 | children = (
81 | 00E356F11AD99517003FC87E /* Info.plist */,
82 | );
83 | name = "Supporting Files";
84 | sourceTree = "";
85 | };
86 | 13B07FAE1A68108700A75B9A /* MyApp */ = {
87 | isa = PBXGroup;
88 | children = (
89 | B36B6748266D0E86007CD52E /* Launch Screen.storyboard */,
90 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
91 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */,
92 | 13B07FB51A68108700A75B9A /* Images.xcassets */,
93 | 13B07FB61A68108700A75B9A /* Info.plist */,
94 | 13B07FB71A68108700A75B9A /* main.m */,
95 | B3561C4B24410BD300AE4B32 /* MyApp-Bridging-Header.h */,
96 | );
97 | name = MyApp;
98 | sourceTree = "";
99 | };
100 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
101 | isa = PBXGroup;
102 | children = (
103 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
104 | 7FF4B8C4D42B2E7AC629DD93 /* libPods-MyApp.a */,
105 | 39C30EA5EC35B0DE95DF8892 /* libPods-MyApp-MyAppTests.a */,
106 | );
107 | name = Frameworks;
108 | sourceTree = "";
109 | };
110 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
111 | isa = PBXGroup;
112 | children = (
113 | );
114 | name = Libraries;
115 | sourceTree = "";
116 | };
117 | 83CBB9F61A601CBA00E9B192 = {
118 | isa = PBXGroup;
119 | children = (
120 | 13B07FAE1A68108700A75B9A /* MyApp */,
121 | 832341AE1AAA6A7D00B99B32 /* Libraries */,
122 | 00E356EF1AD99517003FC87E /* MyAppTests */,
123 | 83CBBA001A601CBA00E9B192 /* Products */,
124 | 2D16E6871FA4F8E400B85C8A /* Frameworks */,
125 | D46286BEECDAD8CEEDBDB219 /* Pods */,
126 | );
127 | indentWidth = 2;
128 | sourceTree = "";
129 | tabWidth = 2;
130 | usesTabs = 0;
131 | };
132 | 83CBBA001A601CBA00E9B192 /* Products */ = {
133 | isa = PBXGroup;
134 | children = (
135 | 13B07F961A680F5B00A75B9A /* MyApp.app */,
136 | 00E356EE1AD99517003FC87E /* MyAppTests.xctest */,
137 | );
138 | name = Products;
139 | sourceTree = "";
140 | };
141 | D46286BEECDAD8CEEDBDB219 /* Pods */ = {
142 | isa = PBXGroup;
143 | children = (
144 | 0AB195497A6653D88013B39C /* Pods-MyApp.debug.xcconfig */,
145 | 94195DD6942E3931F6F7B8DB /* Pods-MyApp.release.xcconfig */,
146 | F52DFF8E484078E0BFF2BDBE /* Pods-MyApp-MyAppTests.debug.xcconfig */,
147 | 5E57CCA2F5AD60B313BFA1C0 /* Pods-MyApp-MyAppTests.release.xcconfig */,
148 | );
149 | path = Pods;
150 | sourceTree = "";
151 | };
152 | /* End PBXGroup section */
153 |
154 | /* Begin PBXNativeTarget section */
155 | 00E356ED1AD99517003FC87E /* MyAppTests */ = {
156 | isa = PBXNativeTarget;
157 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "MyAppTests" */;
158 | buildPhases = (
159 | 7AFE00AD02B1DDBA3DCE3F5A /* [CP] Check Pods Manifest.lock */,
160 | 00E356EA1AD99517003FC87E /* Sources */,
161 | 00E356EB1AD99517003FC87E /* Frameworks */,
162 | 00E356EC1AD99517003FC87E /* Resources */,
163 | 295DF23B7F8DCF5118F3DEC8 /* [CP] Embed Pods Frameworks */,
164 | C9061BCF084119E7F0C6D26B /* [CP] Copy Pods Resources */,
165 | );
166 | buildRules = (
167 | );
168 | dependencies = (
169 | 00E356F51AD99517003FC87E /* PBXTargetDependency */,
170 | );
171 | name = MyAppTests;
172 | productName = MyAppTests;
173 | productReference = 00E356EE1AD99517003FC87E /* MyAppTests.xctest */;
174 | productType = "com.apple.product-type.bundle.unit-test";
175 | };
176 | 13B07F861A680F5B00A75B9A /* MyApp */ = {
177 | isa = PBXNativeTarget;
178 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "MyApp" */;
179 | buildPhases = (
180 | 5B218DD85B1DBFB58BCC8028 /* [CP] Check Pods Manifest.lock */,
181 | FD10A7F022414F080027D42C /* Start Packager */,
182 | 13B07F871A680F5B00A75B9A /* Sources */,
183 | 13B07F8C1A680F5B00A75B9A /* Frameworks */,
184 | 13B07F8E1A680F5B00A75B9A /* Resources */,
185 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
186 | 96BC4834324AB052E4CE0B44 /* [CP] Embed Pods Frameworks */,
187 | A0D237FDDA394F7196DDC9F5 /* [CP] Copy Pods Resources */,
188 | );
189 | buildRules = (
190 | );
191 | dependencies = (
192 | );
193 | name = MyApp;
194 | productName = MyApp;
195 | productReference = 13B07F961A680F5B00A75B9A /* MyApp.app */;
196 | productType = "com.apple.product-type.application";
197 | };
198 | /* End PBXNativeTarget section */
199 |
200 | /* Begin PBXProject section */
201 | 83CBB9F71A601CBA00E9B192 /* Project object */ = {
202 | isa = PBXProject;
203 | attributes = {
204 | LastUpgradeCheck = 1210;
205 | ORGANIZATIONNAME = LeoTM;
206 | TargetAttributes = {
207 | 00E356ED1AD99517003FC87E = {
208 | CreatedOnToolsVersion = 6.2;
209 | TestTargetID = 13B07F861A680F5B00A75B9A;
210 | };
211 | 13B07F861A680F5B00A75B9A = {
212 | LastSwiftMigration = 1130;
213 | };
214 | };
215 | };
216 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MyApp" */;
217 | compatibilityVersion = "Xcode 3.2";
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 /* MyApp */,
230 | 00E356ED1AD99517003FC87E /* MyAppTests */,
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 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
248 | );
249 | runOnlyForDeploymentPostprocessing = 0;
250 | };
251 | /* End PBXResourcesBuildPhase section */
252 |
253 | /* Begin PBXShellScriptBuildPhase section */
254 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
255 | isa = PBXShellScriptBuildPhase;
256 | buildActionMask = 2147483647;
257 | files = (
258 | );
259 | inputPaths = (
260 | "$(SRCROOT)/.xcode.env.local",
261 | "$(SRCROOT)/.xcode.env",
262 | );
263 | name = "Bundle React Native code and images";
264 | outputPaths = (
265 | );
266 | runOnlyForDeploymentPostprocessing = 0;
267 | shellPath = /bin/sh;
268 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
269 | };
270 | 295DF23B7F8DCF5118F3DEC8 /* [CP] Embed Pods Frameworks */ = {
271 | isa = PBXShellScriptBuildPhase;
272 | buildActionMask = 2147483647;
273 | files = (
274 | );
275 | inputPaths = (
276 | "${PODS_ROOT}/Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests-frameworks.sh",
277 | "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
278 | );
279 | name = "[CP] Embed Pods Frameworks";
280 | outputPaths = (
281 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
282 | );
283 | runOnlyForDeploymentPostprocessing = 0;
284 | shellPath = /bin/sh;
285 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests-frameworks.sh\"\n";
286 | showEnvVarsInLog = 0;
287 | };
288 | 5B218DD85B1DBFB58BCC8028 /* [CP] Check Pods Manifest.lock */ = {
289 | isa = PBXShellScriptBuildPhase;
290 | buildActionMask = 2147483647;
291 | files = (
292 | );
293 | inputFileListPaths = (
294 | );
295 | inputPaths = (
296 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
297 | "${PODS_ROOT}/Manifest.lock",
298 | );
299 | name = "[CP] Check Pods Manifest.lock";
300 | outputFileListPaths = (
301 | );
302 | outputPaths = (
303 | "$(DERIVED_FILE_DIR)/Pods-MyApp-checkManifestLockResult.txt",
304 | );
305 | runOnlyForDeploymentPostprocessing = 0;
306 | shellPath = /bin/sh;
307 | 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";
308 | showEnvVarsInLog = 0;
309 | };
310 | 7AFE00AD02B1DDBA3DCE3F5A /* [CP] Check Pods Manifest.lock */ = {
311 | isa = PBXShellScriptBuildPhase;
312 | buildActionMask = 2147483647;
313 | files = (
314 | );
315 | inputFileListPaths = (
316 | );
317 | inputPaths = (
318 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
319 | "${PODS_ROOT}/Manifest.lock",
320 | );
321 | name = "[CP] Check Pods Manifest.lock";
322 | outputFileListPaths = (
323 | );
324 | outputPaths = (
325 | "$(DERIVED_FILE_DIR)/Pods-MyApp-MyAppTests-checkManifestLockResult.txt",
326 | );
327 | runOnlyForDeploymentPostprocessing = 0;
328 | shellPath = /bin/sh;
329 | 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";
330 | showEnvVarsInLog = 0;
331 | };
332 | 96BC4834324AB052E4CE0B44 /* [CP] Embed Pods Frameworks */ = {
333 | isa = PBXShellScriptBuildPhase;
334 | buildActionMask = 2147483647;
335 | files = (
336 | );
337 | inputPaths = (
338 | "${PODS_ROOT}/Target Support Files/Pods-MyApp/Pods-MyApp-frameworks.sh",
339 | "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
340 | );
341 | name = "[CP] Embed Pods Frameworks";
342 | outputPaths = (
343 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
344 | );
345 | runOnlyForDeploymentPostprocessing = 0;
346 | shellPath = /bin/sh;
347 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MyApp/Pods-MyApp-frameworks.sh\"\n";
348 | showEnvVarsInLog = 0;
349 | };
350 | A0D237FDDA394F7196DDC9F5 /* [CP] Copy Pods Resources */ = {
351 | isa = PBXShellScriptBuildPhase;
352 | buildActionMask = 2147483647;
353 | files = (
354 | );
355 | inputPaths = (
356 | "${PODS_ROOT}/Target Support Files/Pods-MyApp/Pods-MyApp-resources.sh",
357 | "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
358 | );
359 | name = "[CP] Copy Pods Resources";
360 | outputPaths = (
361 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
362 | );
363 | runOnlyForDeploymentPostprocessing = 0;
364 | shellPath = /bin/sh;
365 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MyApp/Pods-MyApp-resources.sh\"\n";
366 | showEnvVarsInLog = 0;
367 | };
368 | C9061BCF084119E7F0C6D26B /* [CP] Copy Pods Resources */ = {
369 | isa = PBXShellScriptBuildPhase;
370 | buildActionMask = 2147483647;
371 | files = (
372 | );
373 | inputPaths = (
374 | "${PODS_ROOT}/Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests-resources.sh",
375 | "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
376 | );
377 | name = "[CP] Copy Pods Resources";
378 | outputPaths = (
379 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
380 | );
381 | runOnlyForDeploymentPostprocessing = 0;
382 | shellPath = /bin/sh;
383 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MyApp-MyAppTests/Pods-MyApp-MyAppTests-resources.sh\"\n";
384 | showEnvVarsInLog = 0;
385 | };
386 | FD10A7F022414F080027D42C /* Start Packager */ = {
387 | isa = PBXShellScriptBuildPhase;
388 | buildActionMask = 2147483647;
389 | files = (
390 | );
391 | inputFileListPaths = (
392 | );
393 | inputPaths = (
394 | );
395 | name = "Start Packager";
396 | outputFileListPaths = (
397 | );
398 | outputPaths = (
399 | );
400 | runOnlyForDeploymentPostprocessing = 0;
401 | shellPath = /bin/sh;
402 | shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n";
403 | showEnvVarsInLog = 0;
404 | };
405 | /* End PBXShellScriptBuildPhase section */
406 |
407 | /* Begin PBXSourcesBuildPhase section */
408 | 00E356EA1AD99517003FC87E /* Sources */ = {
409 | isa = PBXSourcesBuildPhase;
410 | buildActionMask = 2147483647;
411 | files = (
412 | 00E356F31AD99517003FC87E /* MyAppTests.m in Sources */,
413 | );
414 | runOnlyForDeploymentPostprocessing = 0;
415 | };
416 | 13B07F871A680F5B00A75B9A /* Sources */ = {
417 | isa = PBXSourcesBuildPhase;
418 | buildActionMask = 2147483647;
419 | files = (
420 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
421 | 13B07FC11A68108700A75B9A /* main.m in Sources */,
422 | );
423 | runOnlyForDeploymentPostprocessing = 0;
424 | };
425 | /* End PBXSourcesBuildPhase section */
426 |
427 | /* Begin PBXTargetDependency section */
428 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
429 | isa = PBXTargetDependency;
430 | target = 13B07F861A680F5B00A75B9A /* MyApp */;
431 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
432 | };
433 | /* End PBXTargetDependency section */
434 |
435 | /* Begin XCBuildConfiguration section */
436 | 00E356F61AD99517003FC87E /* Debug */ = {
437 | isa = XCBuildConfiguration;
438 | baseConfigurationReference = F52DFF8E484078E0BFF2BDBE /* Pods-MyApp-MyAppTests.debug.xcconfig */;
439 | buildSettings = {
440 | BUNDLE_LOADER = "$(TEST_HOST)";
441 | GCC_PREPROCESSOR_DEFINITIONS = (
442 | "DEBUG=1",
443 | "$(inherited)",
444 | );
445 | INFOPLIST_FILE = MyAppTests/Info.plist;
446 | IPHONEOS_DEPLOYMENT_TARGET = 12.4;
447 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
448 | OTHER_CFLAGS = (
449 | "$(inherited)",
450 | "-DFB_SONARKIT_ENABLED=1",
451 | );
452 | OTHER_LDFLAGS = (
453 | "-ObjC",
454 | "-lc++",
455 | "$(inherited)",
456 | );
457 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
458 | PRODUCT_NAME = "$(TARGET_NAME)";
459 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp";
460 | };
461 | name = Debug;
462 | };
463 | 00E356F71AD99517003FC87E /* Release */ = {
464 | isa = XCBuildConfiguration;
465 | baseConfigurationReference = 5E57CCA2F5AD60B313BFA1C0 /* Pods-MyApp-MyAppTests.release.xcconfig */;
466 | buildSettings = {
467 | BUNDLE_LOADER = "$(TEST_HOST)";
468 | COPY_PHASE_STRIP = NO;
469 | INFOPLIST_FILE = MyAppTests/Info.plist;
470 | IPHONEOS_DEPLOYMENT_TARGET = 12.4;
471 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
472 | OTHER_CFLAGS = (
473 | "$(inherited)",
474 | "-DFB_SONARKIT_ENABLED=1",
475 | );
476 | OTHER_LDFLAGS = (
477 | "-ObjC",
478 | "-lc++",
479 | "$(inherited)",
480 | );
481 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
482 | PRODUCT_NAME = "$(TARGET_NAME)";
483 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp";
484 | };
485 | name = Release;
486 | };
487 | 13B07F941A680F5B00A75B9A /* Debug */ = {
488 | isa = XCBuildConfiguration;
489 | baseConfigurationReference = 0AB195497A6653D88013B39C /* Pods-MyApp.debug.xcconfig */;
490 | buildSettings = {
491 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
492 | CLANG_ENABLE_MODULES = YES;
493 | CURRENT_PROJECT_VERSION = 1;
494 | ENABLE_BITCODE = NO;
495 | GCC_PREPROCESSOR_DEFINITIONS = (
496 | "$(inherited)",
497 | "FB_SONARKIT_ENABLED=1",
498 | );
499 | INFOPLIST_FILE = MyApp/Info.plist;
500 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
501 | MARKETING_VERSION = 1.0;
502 | OTHER_CFLAGS = (
503 | "$(inherited)",
504 | "-DFB_SONARKIT_ENABLED=1",
505 | );
506 | OTHER_LDFLAGS = (
507 | "$(inherited)",
508 | "-ObjC",
509 | "-lc++",
510 | );
511 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
512 | PRODUCT_NAME = MyApp;
513 | SWIFT_OBJC_BRIDGING_HEADER = "MyApp-Bridging-Header.h";
514 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
515 | SWIFT_VERSION = 5.0;
516 | VERSIONING_SYSTEM = "apple-generic";
517 | };
518 | name = Debug;
519 | };
520 | 13B07F951A680F5B00A75B9A /* Release */ = {
521 | isa = XCBuildConfiguration;
522 | baseConfigurationReference = 94195DD6942E3931F6F7B8DB /* Pods-MyApp.release.xcconfig */;
523 | buildSettings = {
524 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
525 | CLANG_ENABLE_MODULES = YES;
526 | CURRENT_PROJECT_VERSION = 1;
527 | INFOPLIST_FILE = MyApp/Info.plist;
528 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
529 | MARKETING_VERSION = 1.0;
530 | OTHER_CFLAGS = (
531 | "$(inherited)",
532 | "-DFB_SONARKIT_ENABLED=1",
533 | );
534 | OTHER_LDFLAGS = (
535 | "$(inherited)",
536 | "-ObjC",
537 | "-lc++",
538 | );
539 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
540 | PRODUCT_NAME = MyApp;
541 | SWIFT_OBJC_BRIDGING_HEADER = "MyApp-Bridging-Header.h";
542 | SWIFT_VERSION = 5.0;
543 | VERSIONING_SYSTEM = "apple-generic";
544 | };
545 | name = Release;
546 | };
547 | 83CBBA201A601CBA00E9B192 /* Debug */ = {
548 | isa = XCBuildConfiguration;
549 | buildSettings = {
550 | ALWAYS_SEARCH_USER_PATHS = NO;
551 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
552 | CLANG_CXX_LANGUAGE_STANDARD = "c++17";
553 | CLANG_CXX_LIBRARY = "libc++";
554 | CLANG_ENABLE_MODULES = YES;
555 | CLANG_ENABLE_OBJC_ARC = YES;
556 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
557 | CLANG_WARN_BOOL_CONVERSION = YES;
558 | CLANG_WARN_COMMA = YES;
559 | CLANG_WARN_CONSTANT_CONVERSION = YES;
560 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
561 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
562 | CLANG_WARN_EMPTY_BODY = YES;
563 | CLANG_WARN_ENUM_CONVERSION = YES;
564 | CLANG_WARN_INFINITE_RECURSION = YES;
565 | CLANG_WARN_INT_CONVERSION = YES;
566 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
567 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
568 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
569 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
570 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
571 | CLANG_WARN_STRICT_PROTOTYPES = YES;
572 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
573 | CLANG_WARN_UNREACHABLE_CODE = YES;
574 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
575 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
576 | COPY_PHASE_STRIP = NO;
577 | ENABLE_STRICT_OBJC_MSGSEND = YES;
578 | ENABLE_TESTABILITY = YES;
579 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
580 | GCC_C_LANGUAGE_STANDARD = gnu99;
581 | GCC_DYNAMIC_NO_PIC = NO;
582 | GCC_NO_COMMON_BLOCKS = YES;
583 | GCC_OPTIMIZATION_LEVEL = 0;
584 | GCC_PREPROCESSOR_DEFINITIONS = (
585 | "DEBUG=1",
586 | "$(inherited)",
587 | );
588 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
589 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
590 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
591 | GCC_WARN_UNDECLARED_SELECTOR = YES;
592 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
593 | GCC_WARN_UNUSED_FUNCTION = YES;
594 | GCC_WARN_UNUSED_VARIABLE = YES;
595 | IPHONEOS_DEPLOYMENT_TARGET = 12.4;
596 | LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
597 | LIBRARY_SEARCH_PATHS = (
598 | "$(SDKROOT)/usr/lib/swift",
599 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
600 | "\"$(inherited)\"",
601 | );
602 | MTL_ENABLE_DEBUG_INFO = YES;
603 | ONLY_ACTIVE_ARCH = YES;
604 | OTHER_CPLUSPLUSFLAGS = (
605 | "$(OTHER_CFLAGS)",
606 | "-DFOLLY_NO_CONFIG",
607 | "-DFOLLY_MOBILE=1",
608 | "-DFOLLY_USE_LIBCPP=1",
609 | );
610 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
611 | SDKROOT = iphoneos;
612 | };
613 | name = Debug;
614 | };
615 | 83CBBA211A601CBA00E9B192 /* Release */ = {
616 | isa = XCBuildConfiguration;
617 | buildSettings = {
618 | ALWAYS_SEARCH_USER_PATHS = NO;
619 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
620 | CLANG_CXX_LANGUAGE_STANDARD = "c++17";
621 | CLANG_CXX_LIBRARY = "libc++";
622 | CLANG_ENABLE_MODULES = YES;
623 | CLANG_ENABLE_OBJC_ARC = YES;
624 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
625 | CLANG_WARN_BOOL_CONVERSION = YES;
626 | CLANG_WARN_COMMA = YES;
627 | CLANG_WARN_CONSTANT_CONVERSION = YES;
628 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
629 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
630 | CLANG_WARN_EMPTY_BODY = YES;
631 | CLANG_WARN_ENUM_CONVERSION = YES;
632 | CLANG_WARN_INFINITE_RECURSION = YES;
633 | CLANG_WARN_INT_CONVERSION = YES;
634 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
635 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
636 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
637 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
638 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
639 | CLANG_WARN_STRICT_PROTOTYPES = YES;
640 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
641 | CLANG_WARN_UNREACHABLE_CODE = YES;
642 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
643 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
644 | COPY_PHASE_STRIP = YES;
645 | ENABLE_NS_ASSERTIONS = NO;
646 | ENABLE_STRICT_OBJC_MSGSEND = YES;
647 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386;
648 | GCC_C_LANGUAGE_STANDARD = gnu99;
649 | GCC_NO_COMMON_BLOCKS = YES;
650 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
651 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
652 | GCC_WARN_UNDECLARED_SELECTOR = YES;
653 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
654 | GCC_WARN_UNUSED_FUNCTION = YES;
655 | GCC_WARN_UNUSED_VARIABLE = YES;
656 | IPHONEOS_DEPLOYMENT_TARGET = 12.4;
657 | LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
658 | LIBRARY_SEARCH_PATHS = (
659 | "$(SDKROOT)/usr/lib/swift",
660 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
661 | "\"$(inherited)\"",
662 | );
663 | MTL_ENABLE_DEBUG_INFO = NO;
664 | OTHER_CPLUSPLUSFLAGS = (
665 | "$(OTHER_CFLAGS)",
666 | "-DFOLLY_NO_CONFIG",
667 | "-DFOLLY_MOBILE=1",
668 | "-DFOLLY_USE_LIBCPP=1",
669 | );
670 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
671 | SDKROOT = iphoneos;
672 | VALIDATE_PRODUCT = YES;
673 | };
674 | name = Release;
675 | };
676 | /* End XCBuildConfiguration section */
677 |
678 | /* Begin XCConfigurationList section */
679 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "MyAppTests" */ = {
680 | isa = XCConfigurationList;
681 | buildConfigurations = (
682 | 00E356F61AD99517003FC87E /* Debug */,
683 | 00E356F71AD99517003FC87E /* Release */,
684 | );
685 | defaultConfigurationIsVisible = 0;
686 | defaultConfigurationName = Release;
687 | };
688 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "MyApp" */ = {
689 | isa = XCConfigurationList;
690 | buildConfigurations = (
691 | 13B07F941A680F5B00A75B9A /* Debug */,
692 | 13B07F951A680F5B00A75B9A /* Release */,
693 | );
694 | defaultConfigurationIsVisible = 0;
695 | defaultConfigurationName = Release;
696 | };
697 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MyApp" */ = {
698 | isa = XCConfigurationList;
699 | buildConfigurations = (
700 | 83CBBA201A601CBA00E9B192 /* Debug */,
701 | 83CBBA211A601CBA00E9B192 /* Release */,
702 | );
703 | defaultConfigurationIsVisible = 0;
704 | defaultConfigurationName = Release;
705 | };
706 | /* End XCConfigurationList section */
707 | };
708 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
709 | }
710 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - BEMCheckBox (1.4.1)
3 | - boost (1.76.0)
4 | - DoubleConversion (1.1.6)
5 | - FBLazyVector (0.71.12)
6 | - FBReactNativeSpec (0.71.12):
7 | - RCT-Folly (= 2021.07.22.00)
8 | - RCTRequired (= 0.71.12)
9 | - RCTTypeSafety (= 0.71.12)
10 | - React-Core (= 0.71.12)
11 | - React-jsi (= 0.71.12)
12 | - ReactCommon/turbomodule/core (= 0.71.12)
13 | - fmt (6.2.1)
14 | - glog (0.3.5)
15 | - hermes-engine (0.71.12):
16 | - hermes-engine/Pre-built (= 0.71.12)
17 | - hermes-engine/Pre-built (0.71.12)
18 | - libevent (2.1.12)
19 | - RCT-Folly (2021.07.22.00):
20 | - boost
21 | - DoubleConversion
22 | - fmt (~> 6.2.1)
23 | - glog
24 | - RCT-Folly/Default (= 2021.07.22.00)
25 | - RCT-Folly/Default (2021.07.22.00):
26 | - boost
27 | - DoubleConversion
28 | - fmt (~> 6.2.1)
29 | - glog
30 | - RCT-Folly/Fabric (2021.07.22.00):
31 | - boost
32 | - DoubleConversion
33 | - fmt (~> 6.2.1)
34 | - glog
35 | - RCT-Folly/Futures (2021.07.22.00):
36 | - boost
37 | - DoubleConversion
38 | - fmt (~> 6.2.1)
39 | - glog
40 | - libevent
41 | - RCTRequired (0.71.12)
42 | - RCTTypeSafety (0.71.12):
43 | - FBLazyVector (= 0.71.12)
44 | - RCTRequired (= 0.71.12)
45 | - React-Core (= 0.71.12)
46 | - React (0.71.12):
47 | - React-Core (= 0.71.12)
48 | - React-Core/DevSupport (= 0.71.12)
49 | - React-Core/RCTWebSocket (= 0.71.12)
50 | - React-RCTActionSheet (= 0.71.12)
51 | - React-RCTAnimation (= 0.71.12)
52 | - React-RCTBlob (= 0.71.12)
53 | - React-RCTImage (= 0.71.12)
54 | - React-RCTLinking (= 0.71.12)
55 | - React-RCTNetwork (= 0.71.12)
56 | - React-RCTSettings (= 0.71.12)
57 | - React-RCTText (= 0.71.12)
58 | - React-RCTVibration (= 0.71.12)
59 | - React-callinvoker (0.71.12)
60 | - React-Codegen (0.71.12):
61 | - FBReactNativeSpec
62 | - hermes-engine
63 | - RCT-Folly
64 | - RCTRequired
65 | - RCTTypeSafety
66 | - React-Core
67 | - React-graphics
68 | - React-jsi
69 | - React-jsiexecutor
70 | - React-rncore
71 | - ReactCommon/turbomodule/bridging
72 | - ReactCommon/turbomodule/core
73 | - React-Core (0.71.12):
74 | - glog
75 | - hermes-engine
76 | - RCT-Folly (= 2021.07.22.00)
77 | - React-Core/Default (= 0.71.12)
78 | - React-cxxreact (= 0.71.12)
79 | - React-hermes
80 | - React-jsi (= 0.71.12)
81 | - React-jsiexecutor (= 0.71.12)
82 | - React-perflogger (= 0.71.12)
83 | - Yoga
84 | - React-Core/CoreModulesHeaders (0.71.12):
85 | - glog
86 | - hermes-engine
87 | - RCT-Folly (= 2021.07.22.00)
88 | - React-Core/Default
89 | - React-cxxreact (= 0.71.12)
90 | - React-hermes
91 | - React-jsi (= 0.71.12)
92 | - React-jsiexecutor (= 0.71.12)
93 | - React-perflogger (= 0.71.12)
94 | - Yoga
95 | - React-Core/Default (0.71.12):
96 | - glog
97 | - hermes-engine
98 | - RCT-Folly (= 2021.07.22.00)
99 | - React-cxxreact (= 0.71.12)
100 | - React-hermes
101 | - React-jsi (= 0.71.12)
102 | - React-jsiexecutor (= 0.71.12)
103 | - React-perflogger (= 0.71.12)
104 | - Yoga
105 | - React-Core/DevSupport (0.71.12):
106 | - glog
107 | - hermes-engine
108 | - RCT-Folly (= 2021.07.22.00)
109 | - React-Core/Default (= 0.71.12)
110 | - React-Core/RCTWebSocket (= 0.71.12)
111 | - React-cxxreact (= 0.71.12)
112 | - React-hermes
113 | - React-jsi (= 0.71.12)
114 | - React-jsiexecutor (= 0.71.12)
115 | - React-jsinspector (= 0.71.12)
116 | - React-perflogger (= 0.71.12)
117 | - Yoga
118 | - React-Core/RCTActionSheetHeaders (0.71.12):
119 | - glog
120 | - hermes-engine
121 | - RCT-Folly (= 2021.07.22.00)
122 | - React-Core/Default
123 | - React-cxxreact (= 0.71.12)
124 | - React-hermes
125 | - React-jsi (= 0.71.12)
126 | - React-jsiexecutor (= 0.71.12)
127 | - React-perflogger (= 0.71.12)
128 | - Yoga
129 | - React-Core/RCTAnimationHeaders (0.71.12):
130 | - glog
131 | - hermes-engine
132 | - RCT-Folly (= 2021.07.22.00)
133 | - React-Core/Default
134 | - React-cxxreact (= 0.71.12)
135 | - React-hermes
136 | - React-jsi (= 0.71.12)
137 | - React-jsiexecutor (= 0.71.12)
138 | - React-perflogger (= 0.71.12)
139 | - Yoga
140 | - React-Core/RCTBlobHeaders (0.71.12):
141 | - glog
142 | - hermes-engine
143 | - RCT-Folly (= 2021.07.22.00)
144 | - React-Core/Default
145 | - React-cxxreact (= 0.71.12)
146 | - React-hermes
147 | - React-jsi (= 0.71.12)
148 | - React-jsiexecutor (= 0.71.12)
149 | - React-perflogger (= 0.71.12)
150 | - Yoga
151 | - React-Core/RCTImageHeaders (0.71.12):
152 | - glog
153 | - hermes-engine
154 | - RCT-Folly (= 2021.07.22.00)
155 | - React-Core/Default
156 | - React-cxxreact (= 0.71.12)
157 | - React-hermes
158 | - React-jsi (= 0.71.12)
159 | - React-jsiexecutor (= 0.71.12)
160 | - React-perflogger (= 0.71.12)
161 | - Yoga
162 | - React-Core/RCTLinkingHeaders (0.71.12):
163 | - glog
164 | - hermes-engine
165 | - RCT-Folly (= 2021.07.22.00)
166 | - React-Core/Default
167 | - React-cxxreact (= 0.71.12)
168 | - React-hermes
169 | - React-jsi (= 0.71.12)
170 | - React-jsiexecutor (= 0.71.12)
171 | - React-perflogger (= 0.71.12)
172 | - Yoga
173 | - React-Core/RCTNetworkHeaders (0.71.12):
174 | - glog
175 | - hermes-engine
176 | - RCT-Folly (= 2021.07.22.00)
177 | - React-Core/Default
178 | - React-cxxreact (= 0.71.12)
179 | - React-hermes
180 | - React-jsi (= 0.71.12)
181 | - React-jsiexecutor (= 0.71.12)
182 | - React-perflogger (= 0.71.12)
183 | - Yoga
184 | - React-Core/RCTSettingsHeaders (0.71.12):
185 | - glog
186 | - hermes-engine
187 | - RCT-Folly (= 2021.07.22.00)
188 | - React-Core/Default
189 | - React-cxxreact (= 0.71.12)
190 | - React-hermes
191 | - React-jsi (= 0.71.12)
192 | - React-jsiexecutor (= 0.71.12)
193 | - React-perflogger (= 0.71.12)
194 | - Yoga
195 | - React-Core/RCTTextHeaders (0.71.12):
196 | - glog
197 | - hermes-engine
198 | - RCT-Folly (= 2021.07.22.00)
199 | - React-Core/Default
200 | - React-cxxreact (= 0.71.12)
201 | - React-hermes
202 | - React-jsi (= 0.71.12)
203 | - React-jsiexecutor (= 0.71.12)
204 | - React-perflogger (= 0.71.12)
205 | - Yoga
206 | - React-Core/RCTVibrationHeaders (0.71.12):
207 | - glog
208 | - hermes-engine
209 | - RCT-Folly (= 2021.07.22.00)
210 | - React-Core/Default
211 | - React-cxxreact (= 0.71.12)
212 | - React-hermes
213 | - React-jsi (= 0.71.12)
214 | - React-jsiexecutor (= 0.71.12)
215 | - React-perflogger (= 0.71.12)
216 | - Yoga
217 | - React-Core/RCTWebSocket (0.71.12):
218 | - glog
219 | - hermes-engine
220 | - RCT-Folly (= 2021.07.22.00)
221 | - React-Core/Default (= 0.71.12)
222 | - React-cxxreact (= 0.71.12)
223 | - React-hermes
224 | - React-jsi (= 0.71.12)
225 | - React-jsiexecutor (= 0.71.12)
226 | - React-perflogger (= 0.71.12)
227 | - Yoga
228 | - React-CoreModules (0.71.12):
229 | - RCT-Folly (= 2021.07.22.00)
230 | - RCTTypeSafety (= 0.71.12)
231 | - React-Codegen (= 0.71.12)
232 | - React-Core/CoreModulesHeaders (= 0.71.12)
233 | - React-jsi (= 0.71.12)
234 | - React-RCTBlob
235 | - React-RCTImage (= 0.71.12)
236 | - ReactCommon/turbomodule/core (= 0.71.12)
237 | - React-cxxreact (0.71.12):
238 | - boost (= 1.76.0)
239 | - DoubleConversion
240 | - glog
241 | - hermes-engine
242 | - RCT-Folly (= 2021.07.22.00)
243 | - React-callinvoker (= 0.71.12)
244 | - React-jsi (= 0.71.12)
245 | - React-jsinspector (= 0.71.12)
246 | - React-logger (= 0.71.12)
247 | - React-perflogger (= 0.71.12)
248 | - React-runtimeexecutor (= 0.71.12)
249 | - React-Fabric (0.71.12):
250 | - RCT-Folly/Fabric (= 2021.07.22.00)
251 | - RCTRequired (= 0.71.12)
252 | - RCTTypeSafety (= 0.71.12)
253 | - React-Fabric/animations (= 0.71.12)
254 | - React-Fabric/attributedstring (= 0.71.12)
255 | - React-Fabric/butter (= 0.71.12)
256 | - React-Fabric/componentregistry (= 0.71.12)
257 | - React-Fabric/componentregistrynative (= 0.71.12)
258 | - React-Fabric/components (= 0.71.12)
259 | - React-Fabric/config (= 0.71.12)
260 | - React-Fabric/core (= 0.71.12)
261 | - React-Fabric/debug_core (= 0.71.12)
262 | - React-Fabric/debug_renderer (= 0.71.12)
263 | - React-Fabric/imagemanager (= 0.71.12)
264 | - React-Fabric/leakchecker (= 0.71.12)
265 | - React-Fabric/mapbuffer (= 0.71.12)
266 | - React-Fabric/mounting (= 0.71.12)
267 | - React-Fabric/runtimescheduler (= 0.71.12)
268 | - React-Fabric/scheduler (= 0.71.12)
269 | - React-Fabric/telemetry (= 0.71.12)
270 | - React-Fabric/templateprocessor (= 0.71.12)
271 | - React-Fabric/textlayoutmanager (= 0.71.12)
272 | - React-Fabric/uimanager (= 0.71.12)
273 | - React-Fabric/utils (= 0.71.12)
274 | - React-graphics (= 0.71.12)
275 | - React-jsi (= 0.71.12)
276 | - React-jsiexecutor (= 0.71.12)
277 | - ReactCommon/turbomodule/core (= 0.71.12)
278 | - React-Fabric/animations (0.71.12):
279 | - RCT-Folly/Fabric (= 2021.07.22.00)
280 | - RCTRequired (= 0.71.12)
281 | - RCTTypeSafety (= 0.71.12)
282 | - React-graphics (= 0.71.12)
283 | - React-jsi (= 0.71.12)
284 | - React-jsiexecutor (= 0.71.12)
285 | - ReactCommon/turbomodule/core (= 0.71.12)
286 | - React-Fabric/attributedstring (0.71.12):
287 | - RCT-Folly/Fabric (= 2021.07.22.00)
288 | - RCTRequired (= 0.71.12)
289 | - RCTTypeSafety (= 0.71.12)
290 | - React-graphics (= 0.71.12)
291 | - React-jsi (= 0.71.12)
292 | - React-jsiexecutor (= 0.71.12)
293 | - ReactCommon/turbomodule/core (= 0.71.12)
294 | - React-Fabric/butter (0.71.12):
295 | - RCT-Folly/Fabric (= 2021.07.22.00)
296 | - RCTRequired (= 0.71.12)
297 | - RCTTypeSafety (= 0.71.12)
298 | - React-graphics (= 0.71.12)
299 | - React-jsi (= 0.71.12)
300 | - React-jsiexecutor (= 0.71.12)
301 | - ReactCommon/turbomodule/core (= 0.71.12)
302 | - React-Fabric/componentregistry (0.71.12):
303 | - RCT-Folly/Fabric (= 2021.07.22.00)
304 | - RCTRequired (= 0.71.12)
305 | - RCTTypeSafety (= 0.71.12)
306 | - React-graphics (= 0.71.12)
307 | - React-jsi (= 0.71.12)
308 | - React-jsiexecutor (= 0.71.12)
309 | - ReactCommon/turbomodule/core (= 0.71.12)
310 | - React-Fabric/componentregistrynative (0.71.12):
311 | - RCT-Folly/Fabric (= 2021.07.22.00)
312 | - RCTRequired (= 0.71.12)
313 | - RCTTypeSafety (= 0.71.12)
314 | - React-graphics (= 0.71.12)
315 | - React-jsi (= 0.71.12)
316 | - React-jsiexecutor (= 0.71.12)
317 | - ReactCommon/turbomodule/core (= 0.71.12)
318 | - React-Fabric/components (0.71.12):
319 | - RCT-Folly/Fabric (= 2021.07.22.00)
320 | - RCTRequired (= 0.71.12)
321 | - RCTTypeSafety (= 0.71.12)
322 | - React-Fabric/components/activityindicator (= 0.71.12)
323 | - React-Fabric/components/image (= 0.71.12)
324 | - React-Fabric/components/inputaccessory (= 0.71.12)
325 | - React-Fabric/components/legacyviewmanagerinterop (= 0.71.12)
326 | - React-Fabric/components/modal (= 0.71.12)
327 | - React-Fabric/components/root (= 0.71.12)
328 | - React-Fabric/components/safeareaview (= 0.71.12)
329 | - React-Fabric/components/scrollview (= 0.71.12)
330 | - React-Fabric/components/slider (= 0.71.12)
331 | - React-Fabric/components/text (= 0.71.12)
332 | - React-Fabric/components/textinput (= 0.71.12)
333 | - React-Fabric/components/unimplementedview (= 0.71.12)
334 | - React-Fabric/components/view (= 0.71.12)
335 | - React-graphics (= 0.71.12)
336 | - React-jsi (= 0.71.12)
337 | - React-jsiexecutor (= 0.71.12)
338 | - ReactCommon/turbomodule/core (= 0.71.12)
339 | - React-Fabric/components/activityindicator (0.71.12):
340 | - RCT-Folly/Fabric (= 2021.07.22.00)
341 | - RCTRequired (= 0.71.12)
342 | - RCTTypeSafety (= 0.71.12)
343 | - React-graphics (= 0.71.12)
344 | - React-jsi (= 0.71.12)
345 | - React-jsiexecutor (= 0.71.12)
346 | - ReactCommon/turbomodule/core (= 0.71.12)
347 | - React-Fabric/components/image (0.71.12):
348 | - RCT-Folly/Fabric (= 2021.07.22.00)
349 | - RCTRequired (= 0.71.12)
350 | - RCTTypeSafety (= 0.71.12)
351 | - React-graphics (= 0.71.12)
352 | - React-jsi (= 0.71.12)
353 | - React-jsiexecutor (= 0.71.12)
354 | - ReactCommon/turbomodule/core (= 0.71.12)
355 | - React-Fabric/components/inputaccessory (0.71.12):
356 | - RCT-Folly/Fabric (= 2021.07.22.00)
357 | - RCTRequired (= 0.71.12)
358 | - RCTTypeSafety (= 0.71.12)
359 | - React-graphics (= 0.71.12)
360 | - React-jsi (= 0.71.12)
361 | - React-jsiexecutor (= 0.71.12)
362 | - ReactCommon/turbomodule/core (= 0.71.12)
363 | - React-Fabric/components/legacyviewmanagerinterop (0.71.12):
364 | - RCT-Folly/Fabric (= 2021.07.22.00)
365 | - RCTRequired (= 0.71.12)
366 | - RCTTypeSafety (= 0.71.12)
367 | - React-graphics (= 0.71.12)
368 | - React-jsi (= 0.71.12)
369 | - React-jsiexecutor (= 0.71.12)
370 | - ReactCommon/turbomodule/core (= 0.71.12)
371 | - React-Fabric/components/modal (0.71.12):
372 | - RCT-Folly/Fabric (= 2021.07.22.00)
373 | - RCTRequired (= 0.71.12)
374 | - RCTTypeSafety (= 0.71.12)
375 | - React-graphics (= 0.71.12)
376 | - React-jsi (= 0.71.12)
377 | - React-jsiexecutor (= 0.71.12)
378 | - ReactCommon/turbomodule/core (= 0.71.12)
379 | - React-Fabric/components/root (0.71.12):
380 | - RCT-Folly/Fabric (= 2021.07.22.00)
381 | - RCTRequired (= 0.71.12)
382 | - RCTTypeSafety (= 0.71.12)
383 | - React-graphics (= 0.71.12)
384 | - React-jsi (= 0.71.12)
385 | - React-jsiexecutor (= 0.71.12)
386 | - ReactCommon/turbomodule/core (= 0.71.12)
387 | - React-Fabric/components/safeareaview (0.71.12):
388 | - RCT-Folly/Fabric (= 2021.07.22.00)
389 | - RCTRequired (= 0.71.12)
390 | - RCTTypeSafety (= 0.71.12)
391 | - React-graphics (= 0.71.12)
392 | - React-jsi (= 0.71.12)
393 | - React-jsiexecutor (= 0.71.12)
394 | - ReactCommon/turbomodule/core (= 0.71.12)
395 | - React-Fabric/components/scrollview (0.71.12):
396 | - RCT-Folly/Fabric (= 2021.07.22.00)
397 | - RCTRequired (= 0.71.12)
398 | - RCTTypeSafety (= 0.71.12)
399 | - React-graphics (= 0.71.12)
400 | - React-jsi (= 0.71.12)
401 | - React-jsiexecutor (= 0.71.12)
402 | - ReactCommon/turbomodule/core (= 0.71.12)
403 | - React-Fabric/components/slider (0.71.12):
404 | - RCT-Folly/Fabric (= 2021.07.22.00)
405 | - RCTRequired (= 0.71.12)
406 | - RCTTypeSafety (= 0.71.12)
407 | - React-graphics (= 0.71.12)
408 | - React-jsi (= 0.71.12)
409 | - React-jsiexecutor (= 0.71.12)
410 | - ReactCommon/turbomodule/core (= 0.71.12)
411 | - React-Fabric/components/text (0.71.12):
412 | - RCT-Folly/Fabric (= 2021.07.22.00)
413 | - RCTRequired (= 0.71.12)
414 | - RCTTypeSafety (= 0.71.12)
415 | - React-graphics (= 0.71.12)
416 | - React-jsi (= 0.71.12)
417 | - React-jsiexecutor (= 0.71.12)
418 | - ReactCommon/turbomodule/core (= 0.71.12)
419 | - React-Fabric/components/textinput (0.71.12):
420 | - RCT-Folly/Fabric (= 2021.07.22.00)
421 | - RCTRequired (= 0.71.12)
422 | - RCTTypeSafety (= 0.71.12)
423 | - React-graphics (= 0.71.12)
424 | - React-jsi (= 0.71.12)
425 | - React-jsiexecutor (= 0.71.12)
426 | - ReactCommon/turbomodule/core (= 0.71.12)
427 | - React-Fabric/components/unimplementedview (0.71.12):
428 | - RCT-Folly/Fabric (= 2021.07.22.00)
429 | - RCTRequired (= 0.71.12)
430 | - RCTTypeSafety (= 0.71.12)
431 | - React-graphics (= 0.71.12)
432 | - React-jsi (= 0.71.12)
433 | - React-jsiexecutor (= 0.71.12)
434 | - ReactCommon/turbomodule/core (= 0.71.12)
435 | - React-Fabric/components/view (0.71.12):
436 | - RCT-Folly/Fabric (= 2021.07.22.00)
437 | - RCTRequired (= 0.71.12)
438 | - RCTTypeSafety (= 0.71.12)
439 | - React-graphics (= 0.71.12)
440 | - React-jsi (= 0.71.12)
441 | - React-jsiexecutor (= 0.71.12)
442 | - ReactCommon/turbomodule/core (= 0.71.12)
443 | - Yoga
444 | - React-Fabric/config (0.71.12):
445 | - RCT-Folly/Fabric (= 2021.07.22.00)
446 | - RCTRequired (= 0.71.12)
447 | - RCTTypeSafety (= 0.71.12)
448 | - React-graphics (= 0.71.12)
449 | - React-jsi (= 0.71.12)
450 | - React-jsiexecutor (= 0.71.12)
451 | - ReactCommon/turbomodule/core (= 0.71.12)
452 | - React-Fabric/core (0.71.12):
453 | - RCT-Folly/Fabric (= 2021.07.22.00)
454 | - RCTRequired (= 0.71.12)
455 | - RCTTypeSafety (= 0.71.12)
456 | - React-graphics (= 0.71.12)
457 | - React-jsi (= 0.71.12)
458 | - React-jsiexecutor (= 0.71.12)
459 | - ReactCommon/turbomodule/core (= 0.71.12)
460 | - React-Fabric/debug_core (0.71.12):
461 | - RCT-Folly/Fabric (= 2021.07.22.00)
462 | - RCTRequired (= 0.71.12)
463 | - RCTTypeSafety (= 0.71.12)
464 | - React-graphics (= 0.71.12)
465 | - React-jsi (= 0.71.12)
466 | - React-jsiexecutor (= 0.71.12)
467 | - ReactCommon/turbomodule/core (= 0.71.12)
468 | - React-Fabric/debug_renderer (0.71.12):
469 | - RCT-Folly/Fabric (= 2021.07.22.00)
470 | - RCTRequired (= 0.71.12)
471 | - RCTTypeSafety (= 0.71.12)
472 | - React-graphics (= 0.71.12)
473 | - React-jsi (= 0.71.12)
474 | - React-jsiexecutor (= 0.71.12)
475 | - ReactCommon/turbomodule/core (= 0.71.12)
476 | - React-Fabric/imagemanager (0.71.12):
477 | - RCT-Folly/Fabric (= 2021.07.22.00)
478 | - RCTRequired (= 0.71.12)
479 | - RCTTypeSafety (= 0.71.12)
480 | - React-graphics (= 0.71.12)
481 | - React-jsi (= 0.71.12)
482 | - React-jsiexecutor (= 0.71.12)
483 | - React-RCTImage (= 0.71.12)
484 | - ReactCommon/turbomodule/core (= 0.71.12)
485 | - React-Fabric/leakchecker (0.71.12):
486 | - RCT-Folly/Fabric (= 2021.07.22.00)
487 | - RCTRequired (= 0.71.12)
488 | - RCTTypeSafety (= 0.71.12)
489 | - React-graphics (= 0.71.12)
490 | - React-jsi (= 0.71.12)
491 | - React-jsiexecutor (= 0.71.12)
492 | - ReactCommon/turbomodule/core (= 0.71.12)
493 | - React-Fabric/mapbuffer (0.71.12):
494 | - RCT-Folly/Fabric (= 2021.07.22.00)
495 | - RCTRequired (= 0.71.12)
496 | - RCTTypeSafety (= 0.71.12)
497 | - React-graphics (= 0.71.12)
498 | - React-jsi (= 0.71.12)
499 | - React-jsiexecutor (= 0.71.12)
500 | - ReactCommon/turbomodule/core (= 0.71.12)
501 | - React-Fabric/mounting (0.71.12):
502 | - RCT-Folly/Fabric (= 2021.07.22.00)
503 | - RCTRequired (= 0.71.12)
504 | - RCTTypeSafety (= 0.71.12)
505 | - React-graphics (= 0.71.12)
506 | - React-jsi (= 0.71.12)
507 | - React-jsiexecutor (= 0.71.12)
508 | - ReactCommon/turbomodule/core (= 0.71.12)
509 | - React-Fabric/runtimescheduler (0.71.12):
510 | - RCT-Folly/Fabric (= 2021.07.22.00)
511 | - RCTRequired (= 0.71.12)
512 | - RCTTypeSafety (= 0.71.12)
513 | - React-graphics (= 0.71.12)
514 | - React-jsi (= 0.71.12)
515 | - React-jsiexecutor (= 0.71.12)
516 | - ReactCommon/turbomodule/core (= 0.71.12)
517 | - React-Fabric/scheduler (0.71.12):
518 | - RCT-Folly/Fabric (= 2021.07.22.00)
519 | - RCTRequired (= 0.71.12)
520 | - RCTTypeSafety (= 0.71.12)
521 | - React-graphics (= 0.71.12)
522 | - React-jsi (= 0.71.12)
523 | - React-jsiexecutor (= 0.71.12)
524 | - ReactCommon/turbomodule/core (= 0.71.12)
525 | - React-Fabric/telemetry (0.71.12):
526 | - RCT-Folly/Fabric (= 2021.07.22.00)
527 | - RCTRequired (= 0.71.12)
528 | - RCTTypeSafety (= 0.71.12)
529 | - React-graphics (= 0.71.12)
530 | - React-jsi (= 0.71.12)
531 | - React-jsiexecutor (= 0.71.12)
532 | - ReactCommon/turbomodule/core (= 0.71.12)
533 | - React-Fabric/templateprocessor (0.71.12):
534 | - RCT-Folly/Fabric (= 2021.07.22.00)
535 | - RCTRequired (= 0.71.12)
536 | - RCTTypeSafety (= 0.71.12)
537 | - React-graphics (= 0.71.12)
538 | - React-jsi (= 0.71.12)
539 | - React-jsiexecutor (= 0.71.12)
540 | - ReactCommon/turbomodule/core (= 0.71.12)
541 | - React-Fabric/textlayoutmanager (0.71.12):
542 | - RCT-Folly/Fabric (= 2021.07.22.00)
543 | - RCTRequired (= 0.71.12)
544 | - RCTTypeSafety (= 0.71.12)
545 | - React-Fabric/uimanager
546 | - React-graphics (= 0.71.12)
547 | - React-jsi (= 0.71.12)
548 | - React-jsiexecutor (= 0.71.12)
549 | - ReactCommon/turbomodule/core (= 0.71.12)
550 | - React-Fabric/uimanager (0.71.12):
551 | - RCT-Folly/Fabric (= 2021.07.22.00)
552 | - RCTRequired (= 0.71.12)
553 | - RCTTypeSafety (= 0.71.12)
554 | - React-graphics (= 0.71.12)
555 | - React-jsi (= 0.71.12)
556 | - React-jsiexecutor (= 0.71.12)
557 | - ReactCommon/turbomodule/core (= 0.71.12)
558 | - React-Fabric/utils (0.71.12):
559 | - RCT-Folly/Fabric (= 2021.07.22.00)
560 | - RCTRequired (= 0.71.12)
561 | - RCTTypeSafety (= 0.71.12)
562 | - React-graphics (= 0.71.12)
563 | - React-jsi (= 0.71.12)
564 | - React-jsiexecutor (= 0.71.12)
565 | - ReactCommon/turbomodule/core (= 0.71.12)
566 | - React-graphics (0.71.12):
567 | - RCT-Folly/Fabric (= 2021.07.22.00)
568 | - React-Core/Default (= 0.71.12)
569 | - React-hermes (0.71.12):
570 | - DoubleConversion
571 | - glog
572 | - hermes-engine
573 | - RCT-Folly (= 2021.07.22.00)
574 | - RCT-Folly/Futures (= 2021.07.22.00)
575 | - React-cxxreact (= 0.71.12)
576 | - React-jsi
577 | - React-jsiexecutor (= 0.71.12)
578 | - React-jsinspector (= 0.71.12)
579 | - React-perflogger (= 0.71.12)
580 | - React-jsi (0.71.12):
581 | - boost (= 1.76.0)
582 | - DoubleConversion
583 | - glog
584 | - hermes-engine
585 | - RCT-Folly (= 2021.07.22.00)
586 | - React-jsiexecutor (0.71.12):
587 | - DoubleConversion
588 | - glog
589 | - hermes-engine
590 | - RCT-Folly (= 2021.07.22.00)
591 | - React-cxxreact (= 0.71.12)
592 | - React-jsi (= 0.71.12)
593 | - React-perflogger (= 0.71.12)
594 | - React-jsinspector (0.71.12)
595 | - React-logger (0.71.12):
596 | - glog
597 | - react-native-safe-area-context (4.5.5):
598 | - RCT-Folly
599 | - RCTRequired
600 | - RCTTypeSafety
601 | - React-Core
602 | - react-native-safe-area-context/common (= 4.5.5)
603 | - react-native-safe-area-context/fabric (= 4.5.5)
604 | - ReactCommon/turbomodule/core
605 | - react-native-safe-area-context/common (4.5.5):
606 | - RCT-Folly
607 | - RCTRequired
608 | - RCTTypeSafety
609 | - React-Core
610 | - ReactCommon/turbomodule/core
611 | - react-native-safe-area-context/fabric (4.5.5):
612 | - RCT-Folly
613 | - RCTRequired
614 | - RCTTypeSafety
615 | - React-Codegen
616 | - React-Core
617 | - react-native-safe-area-context/common
618 | - React-RCTFabric
619 | - ReactCommon/turbomodule/core
620 | - react-native-slider (4.4.2):
621 | - RCT-Folly
622 | - RCTRequired
623 | - RCTTypeSafety
624 | - React-Codegen
625 | - React-Core
626 | - React-RCTFabric
627 | - ReactCommon/turbomodule/core
628 | - React-perflogger (0.71.12)
629 | - React-RCTActionSheet (0.71.12):
630 | - React-Core/RCTActionSheetHeaders (= 0.71.12)
631 | - React-RCTAnimation (0.71.12):
632 | - RCT-Folly (= 2021.07.22.00)
633 | - RCTTypeSafety (= 0.71.12)
634 | - React-Codegen (= 0.71.12)
635 | - React-Core/RCTAnimationHeaders (= 0.71.12)
636 | - React-jsi (= 0.71.12)
637 | - ReactCommon/turbomodule/core (= 0.71.12)
638 | - React-RCTAppDelegate (0.71.12):
639 | - RCT-Folly
640 | - RCTRequired
641 | - RCTTypeSafety
642 | - React-Core
643 | - React-graphics
644 | - React-RCTFabric
645 | - ReactCommon/turbomodule/core
646 | - React-RCTBlob (0.71.12):
647 | - hermes-engine
648 | - RCT-Folly (= 2021.07.22.00)
649 | - React-Codegen (= 0.71.12)
650 | - React-Core/RCTBlobHeaders (= 0.71.12)
651 | - React-Core/RCTWebSocket (= 0.71.12)
652 | - React-jsi (= 0.71.12)
653 | - React-RCTNetwork (= 0.71.12)
654 | - ReactCommon/turbomodule/core (= 0.71.12)
655 | - React-RCTFabric (0.71.12):
656 | - RCT-Folly/Fabric (= 2021.07.22.00)
657 | - React-Core (= 0.71.12)
658 | - React-Fabric (= 0.71.12)
659 | - React-RCTImage (= 0.71.12)
660 | - React-RCTImage (0.71.12):
661 | - RCT-Folly (= 2021.07.22.00)
662 | - RCTTypeSafety (= 0.71.12)
663 | - React-Codegen (= 0.71.12)
664 | - React-Core/RCTImageHeaders (= 0.71.12)
665 | - React-jsi (= 0.71.12)
666 | - React-RCTNetwork (= 0.71.12)
667 | - ReactCommon/turbomodule/core (= 0.71.12)
668 | - React-RCTLinking (0.71.12):
669 | - React-Codegen (= 0.71.12)
670 | - React-Core/RCTLinkingHeaders (= 0.71.12)
671 | - React-jsi (= 0.71.12)
672 | - ReactCommon/turbomodule/core (= 0.71.12)
673 | - React-RCTNetwork (0.71.12):
674 | - RCT-Folly (= 2021.07.22.00)
675 | - RCTTypeSafety (= 0.71.12)
676 | - React-Codegen (= 0.71.12)
677 | - React-Core/RCTNetworkHeaders (= 0.71.12)
678 | - React-jsi (= 0.71.12)
679 | - ReactCommon/turbomodule/core (= 0.71.12)
680 | - React-RCTSettings (0.71.12):
681 | - RCT-Folly (= 2021.07.22.00)
682 | - RCTTypeSafety (= 0.71.12)
683 | - React-Codegen (= 0.71.12)
684 | - React-Core/RCTSettingsHeaders (= 0.71.12)
685 | - React-jsi (= 0.71.12)
686 | - ReactCommon/turbomodule/core (= 0.71.12)
687 | - React-RCTText (0.71.12):
688 | - React-Core/RCTTextHeaders (= 0.71.12)
689 | - React-RCTVibration (0.71.12):
690 | - RCT-Folly (= 2021.07.22.00)
691 | - React-Codegen (= 0.71.12)
692 | - React-Core/RCTVibrationHeaders (= 0.71.12)
693 | - React-jsi (= 0.71.12)
694 | - ReactCommon/turbomodule/core (= 0.71.12)
695 | - React-rncore (0.71.12)
696 | - React-runtimeexecutor (0.71.12):
697 | - React-jsi (= 0.71.12)
698 | - ReactCommon/turbomodule/bridging (0.71.12):
699 | - DoubleConversion
700 | - glog
701 | - hermes-engine
702 | - RCT-Folly (= 2021.07.22.00)
703 | - React-callinvoker (= 0.71.12)
704 | - React-Core (= 0.71.12)
705 | - React-cxxreact (= 0.71.12)
706 | - React-jsi (= 0.71.12)
707 | - React-logger (= 0.71.12)
708 | - React-perflogger (= 0.71.12)
709 | - ReactCommon/turbomodule/core (0.71.12):
710 | - DoubleConversion
711 | - glog
712 | - hermes-engine
713 | - RCT-Folly (= 2021.07.22.00)
714 | - React-callinvoker (= 0.71.12)
715 | - React-Core (= 0.71.12)
716 | - React-cxxreact (= 0.71.12)
717 | - React-jsi (= 0.71.12)
718 | - React-logger (= 0.71.12)
719 | - React-perflogger (= 0.71.12)
720 | - RNCAsyncStorage (1.18.2):
721 | - React-Core
722 | - RNCCheckbox (0.5.20):
723 | - BEMCheckBox (~> 1.4)
724 | - React-Core
725 | - RNDateTimePicker (7.0.1):
726 | - RCT-Folly
727 | - RCTRequired
728 | - RCTTypeSafety
729 | - React
730 | - React-Codegen
731 | - React-RCTFabric
732 | - ReactCommon/turbomodule/core
733 | - RNGestureHandler (2.9.0):
734 | - RCT-Folly
735 | - RCTRequired
736 | - RCTTypeSafety
737 | - React
738 | - React-Codegen
739 | - React-RCTFabric
740 | - ReactCommon/turbomodule/core
741 | - RNReanimated (3.0.2):
742 | - DoubleConversion
743 | - FBLazyVector
744 | - FBReactNativeSpec
745 | - glog
746 | - RCT-Folly
747 | - RCTRequired
748 | - RCTTypeSafety
749 | - React-callinvoker
750 | - React-Codegen
751 | - React-Core
752 | - React-Core/DevSupport
753 | - React-Core/RCTWebSocket
754 | - React-CoreModules
755 | - React-cxxreact
756 | - React-jsi
757 | - React-jsiexecutor
758 | - React-jsinspector
759 | - React-RCTActionSheet
760 | - React-RCTAnimation
761 | - React-RCTBlob
762 | - React-RCTFabric
763 | - React-RCTImage
764 | - React-RCTLinking
765 | - React-RCTNetwork
766 | - React-RCTSettings
767 | - React-RCTText
768 | - ReactCommon/turbomodule/core
769 | - Yoga
770 | - RNScreens (3.20.0):
771 | - RCT-Folly
772 | - RCTRequired
773 | - RCTTypeSafety
774 | - React
775 | - React-Codegen
776 | - React-RCTFabric
777 | - ReactCommon/turbomodule/core
778 | - RNScreens/common (= 3.20.0)
779 | - RNScreens/common (3.20.0):
780 | - RCT-Folly
781 | - RCTRequired
782 | - RCTTypeSafety
783 | - React
784 | - React-Codegen
785 | - React-RCTFabric
786 | - ReactCommon/turbomodule/core
787 | - Yoga (1.14.0)
788 |
789 | DEPENDENCIES:
790 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
791 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
792 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
793 | - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
794 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
795 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
796 | - libevent (~> 2.1.12)
797 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
798 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
799 | - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
800 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
801 | - React (from `../node_modules/react-native/`)
802 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
803 | - React-Codegen (from `build/generated/ios`)
804 | - React-Core (from `../node_modules/react-native/`)
805 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
806 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
807 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
808 | - React-Fabric (from `../node_modules/react-native/ReactCommon`)
809 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
810 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
811 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
812 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
813 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
814 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
815 | - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
816 | - "react-native-slider (from `../node_modules/@react-native-community/slider`)"
817 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
818 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
819 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
820 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
821 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
822 | - React-RCTFabric (from `../node_modules/react-native/React`)
823 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
824 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
825 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
826 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
827 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
828 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
829 | - React-rncore (from `../node_modules/react-native/ReactCommon`)
830 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
831 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
832 | - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
833 | - "RNCCheckbox (from `../node_modules/@react-native-community/checkbox`)"
834 | - "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)"
835 | - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
836 | - RNReanimated (from `../node_modules/react-native-reanimated`)
837 | - RNScreens (from `../node_modules/react-native-screens`)
838 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
839 |
840 | SPEC REPOS:
841 | trunk:
842 | - BEMCheckBox
843 | - fmt
844 | - libevent
845 |
846 | EXTERNAL SOURCES:
847 | boost:
848 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
849 | DoubleConversion:
850 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
851 | FBLazyVector:
852 | :path: "../node_modules/react-native/Libraries/FBLazyVector"
853 | FBReactNativeSpec:
854 | :path: "../node_modules/react-native/React/FBReactNativeSpec"
855 | glog:
856 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
857 | hermes-engine:
858 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
859 | RCT-Folly:
860 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
861 | RCTRequired:
862 | :path: "../node_modules/react-native/Libraries/RCTRequired"
863 | RCTTypeSafety:
864 | :path: "../node_modules/react-native/Libraries/TypeSafety"
865 | React:
866 | :path: "../node_modules/react-native/"
867 | React-callinvoker:
868 | :path: "../node_modules/react-native/ReactCommon/callinvoker"
869 | React-Codegen:
870 | :path: build/generated/ios
871 | React-Core:
872 | :path: "../node_modules/react-native/"
873 | React-CoreModules:
874 | :path: "../node_modules/react-native/React/CoreModules"
875 | React-cxxreact:
876 | :path: "../node_modules/react-native/ReactCommon/cxxreact"
877 | React-Fabric:
878 | :path: "../node_modules/react-native/ReactCommon"
879 | React-graphics:
880 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
881 | React-hermes:
882 | :path: "../node_modules/react-native/ReactCommon/hermes"
883 | React-jsi:
884 | :path: "../node_modules/react-native/ReactCommon/jsi"
885 | React-jsiexecutor:
886 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
887 | React-jsinspector:
888 | :path: "../node_modules/react-native/ReactCommon/jsinspector"
889 | React-logger:
890 | :path: "../node_modules/react-native/ReactCommon/logger"
891 | react-native-safe-area-context:
892 | :path: "../node_modules/react-native-safe-area-context"
893 | react-native-slider:
894 | :path: "../node_modules/@react-native-community/slider"
895 | React-perflogger:
896 | :path: "../node_modules/react-native/ReactCommon/reactperflogger"
897 | React-RCTActionSheet:
898 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
899 | React-RCTAnimation:
900 | :path: "../node_modules/react-native/Libraries/NativeAnimation"
901 | React-RCTAppDelegate:
902 | :path: "../node_modules/react-native/Libraries/AppDelegate"
903 | React-RCTBlob:
904 | :path: "../node_modules/react-native/Libraries/Blob"
905 | React-RCTFabric:
906 | :path: "../node_modules/react-native/React"
907 | React-RCTImage:
908 | :path: "../node_modules/react-native/Libraries/Image"
909 | React-RCTLinking:
910 | :path: "../node_modules/react-native/Libraries/LinkingIOS"
911 | React-RCTNetwork:
912 | :path: "../node_modules/react-native/Libraries/Network"
913 | React-RCTSettings:
914 | :path: "../node_modules/react-native/Libraries/Settings"
915 | React-RCTText:
916 | :path: "../node_modules/react-native/Libraries/Text"
917 | React-RCTVibration:
918 | :path: "../node_modules/react-native/Libraries/Vibration"
919 | React-rncore:
920 | :path: "../node_modules/react-native/ReactCommon"
921 | React-runtimeexecutor:
922 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
923 | ReactCommon:
924 | :path: "../node_modules/react-native/ReactCommon"
925 | RNCAsyncStorage:
926 | :path: "../node_modules/@react-native-async-storage/async-storage"
927 | RNCCheckbox:
928 | :path: "../node_modules/@react-native-community/checkbox"
929 | RNDateTimePicker:
930 | :path: "../node_modules/@react-native-community/datetimepicker"
931 | RNGestureHandler:
932 | :path: "../node_modules/react-native-gesture-handler"
933 | RNReanimated:
934 | :path: "../node_modules/react-native-reanimated"
935 | RNScreens:
936 | :path: "../node_modules/react-native-screens"
937 | Yoga:
938 | :path: "../node_modules/react-native/ReactCommon/yoga"
939 |
940 | SPEC CHECKSUMS:
941 | BEMCheckBox: 5ba6e37ade3d3657b36caecc35c8b75c6c2b1a4e
942 | boost: 7dcd2de282d72e344012f7d6564d024930a6a440
943 | DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
944 | FBLazyVector: 4eb7ee83e8d0ad7e20a829485295ff48823c4e4c
945 | FBReactNativeSpec: be2df14ea53a93ca2cfcee55312669505eb90c5f
946 | fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
947 | glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
948 | hermes-engine: b60ebc812e0179a612d8146ac54730d533c804a2
949 | libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
950 | RCT-Folly: 8dc08ca5a393b48b1c523ab6220dfdcc0fe000ad
951 | RCTRequired: 4db5e3e18b906377a502da5b358ff159ba4783ed
952 | RCTTypeSafety: 6c1a8aed043050de0d537336c95cd1be7b66c272
953 | React: 214e77358d860a3ed707fede9088e7c00663a087
954 | React-callinvoker: 8fc1c79c26fbcadce2a5d4a3cb4b2ced2dec3436
955 | React-Codegen: 876d60b671363cf57e34ddf42b0b6693edc369cb
956 | React-Core: 206bd6a52359b3d2c59ad0b62ffb0573b88beaa8
957 | React-CoreModules: 5b4874fce9169ea7f7e76de90480d5b1ee848ad5
958 | React-cxxreact: 57ac5cdc7751f1cb7356edc274ff8872607f727b
959 | React-Fabric: 5d13e5b42e0fa9a03ba360d9e6b13e59001fd6ad
960 | React-graphics: fa303eb6c3b52de9a8a9e38c7aab022b1ce6d3d4
961 | React-hermes: a6bc952f8a69348cb7b9777278b2fc0afaec2288
962 | React-jsi: be9c1c536ee1c952fedc3cb0bfd4187dfca542ec
963 | React-jsiexecutor: d7dad493db23e4047854ac8d1e62a4233da015b0
964 | React-jsinspector: ec4dcbfb1f4e72f04f826a0301eceee5fa7ca540
965 | React-logger: 85a9ec18ac722350b58b93e3b98729e83ea20497
966 | react-native-safe-area-context: dcaacbff8b994529af10da303daea0f7544f34a8
967 | react-native-slider: 07bc5bd80a21a3d2166a432d6a7d9f18714182f3
968 | React-perflogger: 75b0e25075c67565a830985f3c373e2eae5389e0
969 | React-RCTActionSheet: a0c3e916b327e297d124d9ebe8b0c721840ee04d
970 | React-RCTAnimation: 3da7025801d7bf0f8cfd94574d6278d5b82a8b88
971 | React-RCTAppDelegate: 5cede39116289f57b01e834b88b2367b01da741b
972 | React-RCTBlob: 5f6248a8b61b70d6e148c856bd44c0fd90b12727
973 | React-RCTFabric: 7667a890d204af8a42683133250251e698c67e5c
974 | React-RCTImage: e230761bd34d71362dd8b3d51b5cd72674935aa0
975 | React-RCTLinking: 3294b1b540005628168e5a341963b0eddc3932e8
976 | React-RCTNetwork: 00c6b2215e54a9fb015c53a5e02b0a852dbb8568
977 | React-RCTSettings: 2e7e4964f45e9b24c6c32ad30b6ab2ef4a7e2ffc
978 | React-RCTText: a9c712b13cab90e1432e0ad113edc8bdbc691248
979 | React-RCTVibration: a283fefb8cc29d9740a7ff2e87f72ad10f25a433
980 | React-rncore: 1809ecfc14066404da300c0d950876bf95852f87
981 | React-runtimeexecutor: 7902246857a4ead4166869e6c42d4df329ff721d
982 | ReactCommon: 4c09d9d7a28ba0c7aade6dc1c814458a139ad9ce
983 | RNCAsyncStorage: d74501eeac0371fb58b3643704451a11b760af80
984 | RNCCheckbox: 33b44487ca8008394ce658cc32b26eab04f426ef
985 | RNDateTimePicker: 8b68d896fb4f5267ac43e3af0f6bda1003d63064
986 | RNGestureHandler: 4378fa3b950b834ce3901e70fb97c6686816efe7
987 | RNReanimated: bb0763e9d424bfebc26c82647066ebe2bebdf072
988 | RNScreens: 461531814d619976a000a94fa0e6f5532e8d916a
989 | Yoga: 39310a10944fc864a7550700de349183450f8aaa
990 |
991 | PODFILE CHECKSUM: 9142f97edc4a32dd7586340eee736bcd9cd67189
992 |
993 | COCOAPODS: 1.16.2
994 |
--------------------------------------------------------------------------------