├── .node-version ├── ios ├── .xcode.env ├── news │ ├── Images.xcassets │ │ ├── Contents.json │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── PrivacyInfo.xcprivacy │ ├── Info.plist │ └── LaunchScreen.storyboard ├── news.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── _xcode.env ├── AppDelegate.swift ├── Podfile ├── news.xcodeproj │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── news.xcscheme │ └── project.pbxproj └── Podfile.lock ├── app.json ├── .bundle └── config ├── .npmrc ├── react-native.config.js ├── android ├── app │ ├── debug.keystore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ └── drawable │ │ │ │ │ └── rn_edit_text_material.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── news │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── MainApplication.kt │ │ │ └── AndroidManifest.xml │ │ └── debug │ │ │ └── AndroidManifest.xml │ ├── proguard-rules.pro │ └── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── build.gradle ├── resolveNodePackage.gradle ├── settings.gradle ├── gradle.properties ├── gradlew.bat └── gradlew ├── .prettierrc.js ├── tsconfig.json ├── index.js ├── Gemfile ├── .changeset ├── config.json └── README.md ├── src ├── screens │ ├── AccountScreen.tsx │ ├── SearchScreen.tsx │ └── HomeScreen.tsx ├── App.tsx ├── components │ └── NavBar.tsx ├── navigation │ ├── MainNavigator.tsx │ ├── HomeNavigator.tsx │ ├── SearchNavigator.tsx │ ├── AccountNavigator.tsx │ └── TabsNavigator.tsx └── data │ ├── recentNews.json │ ├── trending.json │ └── recentArticles.json ├── __tests__ └── App-test.tsx ├── .eslintrc.js ├── sharedDeps.js ├── .gitignore ├── .github └── workflows │ └── deploy.yml ├── README.md ├── rspack.config.mjs ├── package.json └── Gemfile.lock /.node-version: -------------------------------------------------------------------------------- 1 | 22 -------------------------------------------------------------------------------- /ios/.xcode.env: -------------------------------------------------------------------------------- 1 | export NODE_BINARY=$(command -v node) 2 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "news", 3 | "displayName": "news" 4 | } -------------------------------------------------------------------------------- /.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=false 2 | package-manager-strict-version=true 3 | update-notifier=false -------------------------------------------------------------------------------- /react-native.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | commands: require('@callstack/repack/commands/rspack'), 3 | }; 4 | -------------------------------------------------------------------------------- /android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/debug.keystore -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | news 3 | 4 | -------------------------------------------------------------------------------- /ios/news/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@react-native/typescript-config/tsconfig.json", 3 | "compilerOptions": { 4 | "module": "es2020", 5 | "jsx": "react-native" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/callstack/news-mini-app-showcase/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import {AppRegistry} from 'react-native'; 2 | import App from './src/App'; 3 | import {name as appName} from './app.json'; 4 | 5 | AppRegistry.registerComponent(appName, () => App); 6 | -------------------------------------------------------------------------------- /ios/news.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /ios/news.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version 4 | ruby '>= 2.6.10' 5 | 6 | gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' 7 | gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' 8 | gem 'xcodeproj', '< 1.26.0' 9 | gem 'concurrent-ruby', '< 1.3.4' 10 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", 3 | "changelog": "@changesets/cli/changelog", 4 | "commit": false, 5 | "fixed": [], 6 | "linked": [], 7 | "access": "restricted", 8 | "baseBranch": "main", 9 | "updateInternalDependencies": "patch", 10 | "ignore": [] 11 | } 12 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/screens/AccountScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {StyleSheet, View} from 'react-native'; 3 | 4 | const AccountScreen = () => { 5 | return ; 6 | }; 7 | 8 | const styles = StyleSheet.create({ 9 | container: { 10 | flex: 1, 11 | }, 12 | }); 13 | 14 | export default AccountScreen; 15 | -------------------------------------------------------------------------------- /__tests__/App-test.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../src/App'; 8 | 9 | // Note: test renderer must be required after react-native. 10 | import renderer from 'react-test-renderer'; 11 | 12 | it('renders correctly', () => { 13 | renderer.create(); 14 | }); 15 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {NavigationContainer} from '@react-navigation/native'; 3 | import MainNavigator from './navigation/MainNavigator'; 4 | 5 | const App = () => { 6 | return ( 7 | 8 | 9 | 10 | ); 11 | }; 12 | 13 | export default App; 14 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native-community', 4 | parser: '@typescript-eslint/parser', 5 | plugins: ['@typescript-eslint'], 6 | overrides: [ 7 | { 8 | files: ['*.ts', '*.tsx'], 9 | rules: { 10 | '@typescript-eslint/no-shadow': ['error'], 11 | 'no-shadow': 'off', 12 | 'no-undef': 'off', 13 | }, 14 | }, 15 | ], 16 | }; 17 | -------------------------------------------------------------------------------- /sharedDeps.js: -------------------------------------------------------------------------------- 1 | const getSharedDependencies = ({eager = true}) => { 2 | const {dependencies} = require('./package.json'); 3 | 4 | const shared = Object.entries(dependencies) 5 | .filter(([dep]) => dep !== '@module-federation/enhanced') 6 | .map(([dep, version]) => { 7 | return [dep, {singleton: true, eager, requiredVersion: version}]; 8 | }); 9 | return Object.fromEntries(shared); 10 | }; 11 | 12 | module.exports = getSharedDependencies; 13 | -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /src/components/NavBar.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {NativeStackHeaderProps} from '@react-navigation/native-stack'; 3 | import {Appbar} from 'react-native-paper'; 4 | 5 | const NavBar = ({navigation, back, route, options}: NativeStackHeaderProps) => { 6 | return ( 7 | 8 | {back ? : null} 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default NavBar; 15 | -------------------------------------------------------------------------------- /ios/_xcode.env: -------------------------------------------------------------------------------- 1 | # This `.xcode.env` file is versioned and is used to source the environment 2 | # used when running script phases inside Xcode. 3 | # To customize your local environment, you can create an `.xcode.env.local` 4 | # file that is not versioned. 5 | 6 | # NODE_BINARY variable contains the PATH to the node executable. 7 | # 8 | # Customize the NODE_BINARY variable here. 9 | # For example, to use nvm with brew, add the following line 10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use 11 | export NODE_BINARY=$(command -v node) 12 | -------------------------------------------------------------------------------- /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /src/navigation/MainNavigator.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {createNativeStackNavigator} from '@react-navigation/native-stack'; 3 | import TabsNavigator from './TabsNavigator'; 4 | 5 | export type MainStackParamList = { 6 | Tabs: undefined; 7 | }; 8 | 9 | const Main = createNativeStackNavigator(); 10 | 11 | const MainNavigator = () => { 12 | return ( 13 | 17 | 18 | 19 | ); 20 | }; 21 | 22 | export default MainNavigator; 23 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "35.0.0" 6 | minSdkVersion = 24 7 | compileSdkVersion = 35 8 | targetSdkVersion = 35 9 | ndkVersion = "27.1.12297006" 10 | kotlinVersion = "2.0.21" 11 | } 12 | repositories { 13 | google() 14 | mavenCentral() 15 | } 16 | dependencies { 17 | classpath("com.android.tools.build:gradle:7.3.1") 18 | classpath("com.facebook.react:react-native-gradle-plugin") 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /android/resolveNodePackage.gradle: -------------------------------------------------------------------------------- 1 | // source: https://github.com/facebook/react-native/pull/39520 2 | // TODO remove in the future when this lands in RN 3 | 4 | ext.resolveNodePackage = { String packageName, File startDir -> 5 | def candidate = new File(startDir, "node_modules/$packageName") 6 | 7 | if (candidate.exists()) { 8 | return candidate.canonicalFile 9 | } 10 | 11 | def parentDir = startDir.parentFile 12 | if (parentDir == null || startDir.canonicalPath == parentDir.canonicalPath) { 13 | throw new GradleException("Failed to find the package '$packageName'. Ensure you have installed node_modules.") 14 | } 15 | 16 | return resolveNodePackage(packageName, parentDir) 17 | } -------------------------------------------------------------------------------- /src/navigation/HomeNavigator.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {createNativeStackNavigator} from '@react-navigation/native-stack'; 3 | import HomeScreen from '../screens/HomeScreen'; 4 | import NavBar from '../components/NavBar'; 5 | 6 | export type HomeStackParamList = { 7 | Home: undefined; 8 | Upcoming: undefined; 9 | }; 10 | 11 | const Home = createNativeStackNavigator(); 12 | 13 | const HomeNavigator = () => { 14 | return ( 15 | , 18 | }}> 19 | 20 | 21 | ); 22 | }; 23 | 24 | export default HomeNavigator; 25 | -------------------------------------------------------------------------------- /src/navigation/SearchNavigator.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {createNativeStackNavigator} from '@react-navigation/native-stack'; 3 | import NavBar from '../components/NavBar'; 4 | import SearchScreen from '../screens/SearchScreen'; 5 | 6 | export type SearchStackParamList = { 7 | Search: undefined; 8 | }; 9 | 10 | const Search = createNativeStackNavigator(); 11 | 12 | const SearchNavigator = () => { 13 | return ( 14 | , 17 | }}> 18 | 19 | 20 | ); 21 | }; 22 | 23 | export default SearchNavigator; 24 | -------------------------------------------------------------------------------- /src/navigation/AccountNavigator.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {createNativeStackNavigator} from '@react-navigation/native-stack'; 3 | import NavBar from '../components/NavBar'; 4 | import AccountScreen from '../screens/AccountScreen'; 5 | 6 | export type AccountStackParamList = { 7 | Account: undefined; 8 | }; 9 | 10 | const Account = createNativeStackNavigator(); 11 | 12 | const AccountNavigator = () => { 13 | return ( 14 | , 17 | }}> 18 | 19 | 20 | ); 21 | }; 22 | 23 | export default AccountNavigator; 24 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | apply from: "./resolveNodePackage.gradle" 3 | // resolve react-native-gradle-plugin & CLI dynamically 4 | def reactNativePath = resolveNodePackage('react-native', rootDir) 5 | def gradlePluginPath = resolveNodePackage('@react-native/gradle-plugin', reactNativePath) 6 | // expose gradlePluginPath outside of pluginManagement block 7 | settings.ext.gradlePluginPath = gradlePluginPath.path 8 | includeBuild(gradlePluginPath.path) 9 | } 10 | 11 | plugins { id("com.facebook.react.settings") } 12 | extensions.configure(com.facebook.react.ReactSettingsExtension) { ex -> ex.autolinkLibrariesFromCommand() } 13 | 14 | rootProject.name = 'news' 15 | 16 | include ':app' 17 | includeBuild(ext.gradlePluginPath) 18 | -------------------------------------------------------------------------------- /src/screens/SearchScreen.tsx: -------------------------------------------------------------------------------- 1 | import React, {useCallback, useState} from 'react'; 2 | import {StyleSheet, View} from 'react-native'; 3 | import {MD3Colors, Searchbar} from 'react-native-paper'; 4 | 5 | const SearchScreen = () => { 6 | const [searchQuery, setSearchQuery] = useState(''); 7 | 8 | const onChangeSearch = useCallback( 9 | (query: string) => setSearchQuery(query), 10 | [], 11 | ); 12 | 13 | return ( 14 | 15 | 22 | 23 | ); 24 | }; 25 | 26 | const styles = StyleSheet.create({ 27 | container: { 28 | flex: 1, 29 | backgroundColor: '#fff', 30 | }, 31 | searchbar: { 32 | margin: 16, 33 | }, 34 | }); 35 | 36 | export default SearchScreen; 37 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/news/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.news 2 | 3 | import com.facebook.react.ReactActivity 4 | import com.facebook.react.ReactActivityDelegate 5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled 6 | import com.facebook.react.defaults.DefaultReactActivityDelegate 7 | 8 | import android.os.Bundle 9 | 10 | class MainActivity : ReactActivity() { 11 | 12 | /** 13 | * Returns the name of the main component registered from JavaScript. This is used to schedule 14 | * rendering of the component. 15 | */ 16 | override fun getMainComponentName(): String = "news" 17 | 18 | /** 19 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] 20 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] 21 | */ 22 | override fun createReactActivityDelegate(): ReactActivityDelegate = 23 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) 24 | } -------------------------------------------------------------------------------- /ios/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import React 3 | import React_RCTAppDelegate 4 | import ReactAppDependencyProvider 5 | 6 | @main 7 | class AppDelegate: RCTAppDelegate { 8 | override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { 9 | self.moduleName = "news" 10 | self.dependencyProvider = RCTAppDependencyProvider() 11 | 12 | // You can add your custom initial props in the dictionary below. 13 | // They will be passed down to the ViewController used by React Native. 14 | self.initialProps = [:] 15 | 16 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 17 | } 18 | 19 | override func sourceURL(for bridge: RCTBridge) -> URL? { 20 | self.bundleURL() 21 | } 22 | 23 | override func bundleURL() -> URL? { 24 | #if DEBUG 25 | RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") 26 | #else 27 | Bundle.main.url(forResource: "main", withExtension: "jsbundle") 28 | #endif 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ios/news/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "scale" : "1x", 46 | "size" : "1024x1024" 47 | } 48 | ], 49 | "info" : { 50 | "author" : "xcode", 51 | "version" : 1 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /ios/news/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyAccessedAPITypes 6 | 7 | 8 | NSPrivacyAccessedAPIType 9 | NSPrivacyAccessedAPICategoryFileTimestamp 10 | NSPrivacyAccessedAPITypeReasons 11 | 12 | C617.1 13 | 14 | 15 | 16 | NSPrivacyAccessedAPIType 17 | NSPrivacyAccessedAPICategoryUserDefaults 18 | NSPrivacyAccessedAPITypeReasons 19 | 20 | CA92.1 21 | 22 | 23 | 24 | NSPrivacyAccessedAPIType 25 | NSPrivacyAccessedAPICategorySystemBootTime 26 | NSPrivacyAccessedAPITypeReasons 27 | 28 | 35F9.1 29 | 30 | 31 | 32 | NSPrivacyCollectedDataTypes 33 | 34 | NSPrivacyTracking 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | ios/build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | ios/.xcode.env.local 24 | 25 | # Android/IntelliJ 26 | # 27 | android/build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | *.hprof 33 | .cxx/ 34 | *.keystore 35 | !debug.keystore 36 | .kotlin/ 37 | 38 | # node.js 39 | # 40 | node_modules/ 41 | npm-debug.log 42 | yarn-error.log 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | **/fastlane/report.xml 52 | **/fastlane/Preview.html 53 | **/fastlane/screenshots 54 | **/fastlane/test_output 55 | 56 | # Bundle artifacts 57 | build/generated 58 | 59 | # Ruby / CocoaPods 60 | /ios/Pods/ 61 | /vendor/bundle/ 62 | 63 | # yalc 64 | .yalc 65 | yalc.lock 66 | 67 | # certificates 68 | code-signing.pem 69 | code-signing.pem.pub 70 | 71 | # build artifcats 72 | build/ 73 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | name: Build and Deploy 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'news-android@*.*.*' 7 | - 'news-ios@*.*.*' 8 | 9 | jobs: 10 | build-and-deploy: 11 | runs-on: ubuntu-latest 12 | environment: release 13 | permissions: 14 | contents: write 15 | 16 | steps: 17 | - name: Checkout repository 18 | uses: actions/checkout@v3 19 | 20 | - name: Set up Node.js 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version: 18 24 | cache: yarn 25 | 26 | - name: Install dependencies 27 | run: yarn install --frozen-lockfile 28 | 29 | - name: Create code-signing.pem 30 | env: 31 | CODE_SIGNING_KEY: ${{ secrets.CODE_SIGNING_KEY }} 32 | run: echo "$CODE_SIGNING_KEY" > code-signing.pem 33 | 34 | - name: Run Android bundle script 35 | if: contains(github.ref, 'news-android@') 36 | run: yarn bundle:android 37 | 38 | - name: Run iOS bundle script 39 | if: contains(github.ref, 'news-ios@') 40 | run: yarn bundle:ios 41 | 42 | - name: Delete code-signing.pem 43 | run: rm code-signing.pem 44 | 45 | - name: Release 46 | uses: ncipollo/release-action@v1 47 | with: 48 | artifacts: 'build/outputs/**/*.bundle,build/outputs/**/*.map' 49 | artifactErrorsFailBuild: true 50 | skipIfReleaseExists: true 51 | name: ${{ github.ref_name }} 52 | tag: ${{ github.ref }} 53 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # News mini-app showcase 2 | 3 | This is mini app for reading news and articles. It's a part of [Super App Showcase](https://github.com/callstack/super-app-showcase), demonstrating compatibility of an independent repository with a super app powered by Module Federation. 4 | 5 | News exposes `MainNavigator`. `MainNavigator` is News app itself. News app uses auth logic and UI (`SignInScreen`, `AccountScreen`) from Auth remote module, so we suggest to run Auth dev server to prevent issues with News app. If Auth dev server will no be run, News app will not work as standalone app. 6 | 7 | ## Getting started 8 | 9 | To run News app without changing or removing auth logic you need to run Auth dev server or deploy bundle and provide url to bundle file in `createURLResolver` function in `index.js` file. Otherwise you can remove auth logic from News app. To do this you need to remove `SignInScreen` and `AccountScreen` from `MainNavigator`, `AuthProvider` from App and remove Auth remote container from `index.js` file. 10 | 11 | ## Setup 12 | 13 | Install dependencies: 14 | 15 | ``` 16 | pnpm install 17 | ``` 18 | 19 | ### Run 20 | 21 | Start dev server if you need to work as a part of host app. News app server will run on 9001 port: 22 | 23 | ``` 24 | pnpm start 25 | ``` 26 | 27 | Or start dev server for News app as a standalone app. It will run News app server will run on 8081 port: 28 | 29 | ``` 30 | pnpm start:standalone 31 | ``` 32 | 33 | Run iOS or Android app (ios | android): 34 | 35 | ``` 36 | pnpm 37 | ``` 38 | 39 | ### Generate bundle files 40 | 41 | Generate iOS or Android bundle files (ios | android): 42 | 43 | ``` 44 | pnpm bundle: 45 | ``` 46 | -------------------------------------------------------------------------------- /src/navigation/TabsNavigator.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import {createNativeBottomTabNavigator} from '@bottom-tabs/react-navigation'; 4 | import {MD3Colors} from 'react-native-paper'; 5 | import Icon from 'react-native-vector-icons/MaterialCommunityIcons'; 6 | import AccountNavigator from './AccountNavigator'; 7 | import SearchNavigator from './SearchNavigator'; 8 | import HomeNavigator from './HomeNavigator'; 9 | 10 | export type TabsParamList = { 11 | HomeNavigator: undefined; 12 | SearchNavigator: undefined; 13 | AccountNavigator: undefined; 14 | }; 15 | 16 | const homeIcon = Icon.getImageSourceSync('home', 24); 17 | const magnifyIcon = Icon.getImageSourceSync('magnify', 24); 18 | const accountIcon = Icon.getImageSourceSync('account', 24); 19 | 20 | const Tabs = createNativeBottomTabNavigator(); 21 | 22 | const TabsNavigator = () => { 23 | return ( 24 | 25 | homeIcon, 31 | }} 32 | /> 33 | magnifyIcon, 39 | }} 40 | /> 41 | accountIcon, 47 | }} 48 | /> 49 | 50 | ); 51 | }; 52 | 53 | export default TabsNavigator; 54 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | resolve_react_native = <<-JS 2 | require.resolve("react-native", {paths: ["#{Dir.pwd}"]}) 3 | JS 4 | 5 | react_native_path = File.dirname(Pod::Executable.execute_command('node', ['-p', resolve_react_native]).strip) 6 | react_native_pods_path = react_native_path + '/scripts/react_native_pods.rb' 7 | 8 | resolve_cli_native_modules_script = <<-JS 9 | require.resolve("@react-native-community/cli-platform-ios/native_modules.rb", {paths: ["#{react_native_path}"]}) 10 | JS 11 | 12 | cli_native_modules_script_path = Pod::Executable.execute_command('node', ['-p', resolve_cli_native_modules_script]).strip 13 | 14 | require react_native_pods_path 15 | require cli_native_modules_script_path 16 | 17 | platform :ios, min_ios_version_supported 18 | prepare_react_native_project! 19 | 20 | 21 | linkage = ENV['USE_FRAMEWORKS'] 22 | if linkage != nil 23 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green 24 | use_frameworks! :linkage => linkage.to_sym 25 | end 26 | 27 | pod 'SDWebImage', :modular_headers => true 28 | pod 'SDWebImageSVGCoder', :modular_headers => true 29 | 30 | target 'news' do 31 | config = use_native_modules! 32 | 33 | # Flags change depending on the env values. 34 | flags = get_default_flags() 35 | 36 | use_react_native!( 37 | :path => config[:reactNativePath], 38 | :app_path => "#{Pod::Config.instance.installation_root}/.." 39 | ) 40 | 41 | post_install do |installer| 42 | react_native_post_install( 43 | installer, 44 | config[:reactNativePath], 45 | # Set `mac_catalyst_enabled` to `true` in order to apply patches 46 | # necessary for Mac Catalyst builds 47 | :mac_catalyst_enabled => false 48 | ) 49 | # __apply_Xcode_12_5_M1_post_install_workaround(installer) 50 | end 51 | end 52 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/news/MainApplication.kt: -------------------------------------------------------------------------------- 1 | package com.news 2 | 3 | import android.app.Application 4 | import com.facebook.react.PackageList 5 | import com.facebook.react.ReactApplication 6 | import com.facebook.react.ReactHost 7 | import com.facebook.react.ReactNativeHost 8 | import com.facebook.react.ReactPackage 9 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load 10 | import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost 11 | import com.facebook.react.defaults.DefaultReactNativeHost 12 | import com.facebook.react.soloader.OpenSourceMergedSoMapping 13 | import com.facebook.soloader.SoLoader 14 | 15 | class MainApplication : Application(), ReactApplication { 16 | 17 | override val reactNativeHost: ReactNativeHost = 18 | object : DefaultReactNativeHost(this) { 19 | override fun getPackages(): List = 20 | PackageList(this).packages.apply { 21 | // Packages that cannot be autolinked yet can be added manually here, for example: 22 | // add(MyReactNativePackage()) 23 | } 24 | 25 | override fun getJSMainModuleName(): String = "index" 26 | 27 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG 28 | 29 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED 30 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED 31 | } 32 | 33 | override val reactHost: ReactHost 34 | get() = getDefaultReactHost(applicationContext, reactNativeHost) 35 | 36 | override fun onCreate() { 37 | super.onCreate() 38 | SoLoader.init(this, OpenSourceMergedSoMapping) 39 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { 40 | // If you opted-in for the New Architecture, we load the native entry point for this app. 41 | load() 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m 13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | # AndroidX package structure to make it clearer which packages are bundled with the 21 | # Android operating system, and which are packaged with your app's APK 22 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 23 | android.useAndroidX=true 24 | 25 | # Use this property to specify which architecture you want to build. 26 | # You can also override it from the CLI using 27 | # ./gradlew -PreactNativeArchitectures=x86_64 28 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 29 | 30 | # Use this property to enable support to the new architecture. 31 | # This will allow you to use TurboModules and the Fabric render in 32 | # your application. You should enable this flag either if you want 33 | # to write custom TurboModules/Fabric components OR use libraries that 34 | # are providing them. 35 | newArchEnabled=true 36 | 37 | # Use this property to enable or disable the Hermes JS engine. 38 | # If set to false, you will be using JSC instead. 39 | hermesEnabled=true -------------------------------------------------------------------------------- /rspack.config.mjs: -------------------------------------------------------------------------------- 1 | import path from 'node:path'; 2 | import {fileURLToPath} from 'node:url'; 3 | import * as Repack from '@callstack/repack'; 4 | import rspack from '@rspack/core'; 5 | import getSharedDependencies from './sharedDeps.js'; 6 | 7 | const __filename = fileURLToPath(import.meta.url); 8 | const __dirname = path.dirname(__filename); 9 | 10 | const STANDALONE = Boolean(process.env.STANDALONE); 11 | 12 | /** 13 | * Rspack configuration enhanced with Re.Pack defaults for React Native. 14 | * 15 | * Learn about Rspack configuration: https://rspack.dev/config/ 16 | * Learn about Re.Pack configuration: https://re-pack.dev/docs/guides/configuration 17 | */ 18 | 19 | export default env => { 20 | const {mode, devServer, platform} = env; 21 | 22 | return { 23 | mode, 24 | context: __dirname, 25 | entry: './index.js', 26 | experiments: { 27 | incremental: mode === 'development', 28 | }, 29 | resolve: { 30 | ...Repack.getResolveOptions(), 31 | }, 32 | output: { 33 | uniqueName: 'sas-news', 34 | }, 35 | module: { 36 | rules: [ 37 | ...Repack.getJsTransformRules(), 38 | ...Repack.getAssetTransformRules({inline: true}), 39 | ], 40 | }, 41 | plugins: [ 42 | new Repack.RepackPlugin(), 43 | new Repack.plugins.ModuleFederationPluginV2({ 44 | name: 'news', 45 | filename: 'news.container.js.bundle', 46 | dts: false, 47 | exposes: { 48 | './App': './src/navigation/MainNavigator', 49 | }, 50 | shared: getSharedDependencies({eager: STANDALONE}), 51 | }), 52 | new Repack.plugins.CodeSigningPlugin({ 53 | enabled: mode === 'production', 54 | privateKeyPath: path.join('..', '..', 'code-signing.pem'), 55 | }), 56 | // silence missing @react-native-masked-view optionally required by @react-navigation/elements 57 | new rspack.IgnorePlugin({ 58 | resourceRegExp: /^@react-native-masked-view/, 59 | }), 60 | ], 61 | }; 62 | }; 63 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/rn_edit_text_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 23 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "news", 3 | "version": "0.0.1", 4 | "private": true, 5 | "engines": { 6 | "node": ">=22" 7 | }, 8 | "engineStrict": true, 9 | "packageManager": "pnpm@9.15.3", 10 | "scripts": { 11 | "android": "react-native run-android --no-packager", 12 | "ios": "react-native run-ios --no-packager", 13 | "start": "react-native start --port 9004", 14 | "start:standalone": "STANDALONE=1 react-native start --port 8081", 15 | "test": "jest", 16 | "lint": "eslint . --ext .js,.jsx,.ts,.tsx", 17 | "pods": "(cd ios && bundle install && bundle exec pod install)", 18 | "pods:update": "(cd ios && bundle exec pod update)", 19 | "bundle": "pnpm bundle:ios && pnpm bundle:android", 20 | "bundle:ios": "react-native bundle --platform ios --entry-file index.js", 21 | "bundle:android": "react-native bundle --platform android --entry-file index.js" 22 | }, 23 | "dependencies": { 24 | "@bottom-tabs/react-navigation": "0.9.0", 25 | "@module-federation/enhanced": "0.11.3", 26 | "@react-navigation/native": "7.0.14", 27 | "@react-navigation/native-stack": "7.2.0", 28 | "react": "19.0.0", 29 | "react-native": "0.78.2", 30 | "react-native-bottom-tabs": "0.9.0", 31 | "react-native-paper": "5.12.5", 32 | "react-native-safe-area-context": "5.3.0", 33 | "react-native-screens": "4.10.0", 34 | "react-native-vector-icons": "10.2.0" 35 | }, 36 | "devDependencies": { 37 | "@babel/core": "^7.25.2", 38 | "@babel/preset-env": "^7.25.3", 39 | "@babel/runtime": "^7.25.0", 40 | "@callstack/repack": "5.0.5", 41 | "@changesets/cli": "^2.26.1", 42 | "@react-native-community/cli": "15.0.1", 43 | "@react-native/babel-preset": "0.78.2", 44 | "@react-native/eslint-config": "0.78.2", 45 | "@react-native/typescript-config": "0.78.2", 46 | "@rspack/core": "^1.2.8", 47 | "@swc/helpers": "^0.5.15", 48 | "@types/jest": "^29.5.14", 49 | "@types/react": "^19.0.0", 50 | "@types/react-test-renderer": "^19.0.0", 51 | "@typescript-eslint/eslint-plugin": "^8.12.2", 52 | "@typescript-eslint/parser": "^8.12.2", 53 | "babel-jest": "^29.2.1", 54 | "eslint": "^8.19.0", 55 | "jest": "^29.2.1", 56 | "react-test-renderer": "^19.0.0", 57 | "typescript": "^5.6.3" 58 | }, 59 | "jest": { 60 | "preset": "react-native", 61 | "moduleFileExtensions": [ 62 | "ts", 63 | "tsx", 64 | "js", 65 | "jsx", 66 | "json", 67 | "node" 68 | ] 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /ios/news/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | news 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(CURRENT_PROJECT_VERSION) 25 | LSRequiresIPhoneOS 26 | 27 | NSAppTransportSecurity 28 | 29 | NSExceptionDomains 30 | 31 | localhost 32 | 33 | NSExceptionAllowsInsecureHTTPLoads 34 | 35 | 36 | 37 | 38 | NSLocationWhenInUseUsageDescription 39 | 40 | UIAppFonts 41 | 42 | AntDesign.ttf 43 | Entypo.ttf 44 | EvilIcons.ttf 45 | Feather.ttf 46 | FontAwesome.ttf 47 | FontAwesome5_Brands.ttf 48 | FontAwesome5_Regular.ttf 49 | FontAwesome5_Solid.ttf 50 | Foundation.ttf 51 | Ionicons.ttf 52 | MaterialIcons.ttf 53 | MaterialCommunityIcons.ttf 54 | SimpleLineIcons.ttf 55 | Octicons.ttf 56 | Zocial.ttf 57 | Fontisto.ttf 58 | 59 | UILaunchStoryboardName 60 | LaunchScreen 61 | UIRequiredDeviceCapabilities 62 | 63 | armv7 64 | 65 | UISupportedInterfaceOrientations 66 | 67 | UIInterfaceOrientationPortrait 68 | UIInterfaceOrientationLandscapeLeft 69 | UIInterfaceOrientationLandscapeRight 70 | 71 | UIViewControllerBasedStatusBarAppearance 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | CFPropertyList (3.0.6) 5 | rexml 6 | activesupport (6.1.7.10) 7 | concurrent-ruby (~> 1.0, >= 1.0.2) 8 | i18n (>= 1.6, < 2) 9 | minitest (>= 5.1) 10 | tzinfo (~> 2.0) 11 | zeitwerk (~> 2.3) 12 | addressable (2.8.7) 13 | public_suffix (>= 2.0.2, < 7.0) 14 | algoliasearch (1.27.5) 15 | httpclient (~> 2.8, >= 2.8.3) 16 | json (>= 1.5.1) 17 | atomos (0.1.3) 18 | claide (1.1.0) 19 | cocoapods (1.15.2) 20 | addressable (~> 2.8) 21 | claide (>= 1.0.2, < 2.0) 22 | cocoapods-core (= 1.15.2) 23 | cocoapods-deintegrate (>= 1.0.3, < 2.0) 24 | cocoapods-downloader (>= 2.1, < 3.0) 25 | cocoapods-plugins (>= 1.0.0, < 2.0) 26 | cocoapods-search (>= 1.0.0, < 2.0) 27 | cocoapods-trunk (>= 1.6.0, < 2.0) 28 | cocoapods-try (>= 1.1.0, < 2.0) 29 | colored2 (~> 3.1) 30 | escape (~> 0.0.4) 31 | fourflusher (>= 2.3.0, < 3.0) 32 | gh_inspector (~> 1.0) 33 | molinillo (~> 0.8.0) 34 | nap (~> 1.0) 35 | ruby-macho (>= 2.3.0, < 3.0) 36 | xcodeproj (>= 1.23.0, < 2.0) 37 | cocoapods-core (1.15.2) 38 | activesupport (>= 5.0, < 8) 39 | addressable (~> 2.8) 40 | algoliasearch (~> 1.0) 41 | concurrent-ruby (~> 1.1) 42 | fuzzy_match (~> 2.0.4) 43 | nap (~> 1.0) 44 | netrc (~> 0.11) 45 | public_suffix (~> 4.0) 46 | typhoeus (~> 1.0) 47 | cocoapods-deintegrate (1.0.5) 48 | cocoapods-downloader (2.1) 49 | cocoapods-plugins (1.0.0) 50 | nap 51 | cocoapods-search (1.0.1) 52 | cocoapods-trunk (1.6.0) 53 | nap (>= 0.8, < 2.0) 54 | netrc (~> 0.11) 55 | cocoapods-try (1.2.0) 56 | colored2 (3.1.2) 57 | concurrent-ruby (1.2.2) 58 | escape (0.0.4) 59 | ethon (0.16.0) 60 | ffi (>= 1.15.0) 61 | ffi (1.17.1) 62 | fourflusher (2.3.1) 63 | fuzzy_match (2.0.4) 64 | gh_inspector (1.1.3) 65 | httpclient (2.9.0) 66 | mutex_m 67 | i18n (1.13.0) 68 | concurrent-ruby (~> 1.0) 69 | json (2.10.2) 70 | minitest (5.18.0) 71 | molinillo (0.8.0) 72 | mutex_m (0.3.0) 73 | nanaimo (0.3.0) 74 | nap (1.1.0) 75 | netrc (0.11.0) 76 | public_suffix (4.0.7) 77 | rexml (3.2.5) 78 | ruby-macho (2.5.1) 79 | typhoeus (1.4.1) 80 | ethon (>= 0.9.0) 81 | tzinfo (2.0.6) 82 | concurrent-ruby (~> 1.0) 83 | xcodeproj (1.24.0) 84 | CFPropertyList (>= 2.3.3, < 4.0) 85 | atomos (~> 0.1.3) 86 | claide (>= 1.0.2, < 2.0) 87 | colored2 (~> 3.1) 88 | nanaimo (~> 0.3.0) 89 | rexml (~> 3.2.4) 90 | zeitwerk (2.6.18) 91 | 92 | PLATFORMS 93 | ruby 94 | 95 | DEPENDENCIES 96 | activesupport (>= 6.1.7.5, != 7.1.0) 97 | cocoapods (>= 1.13, != 1.15.1, != 1.15.0) 98 | concurrent-ruby (< 1.3.4) 99 | xcodeproj (< 1.26.0) 100 | 101 | RUBY VERSION 102 | ruby 2.7.6p219 103 | 104 | BUNDLED WITH 105 | 2.4.20 106 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /src/data/recentNews.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "id": "1", 5 | "title": "News 1", 6 | "image": "https://picsum.photos/700", 7 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 8 | }, 9 | { 10 | "id": "2", 11 | "title": "News 2", 12 | "image": "https://picsum.photos/700", 13 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 14 | }, 15 | { 16 | "id": "3", 17 | "title": "News 3", 18 | "image": "https://picsum.photos/700", 19 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 20 | }, 21 | { 22 | "id": "4", 23 | "title": "News 4", 24 | "image": "https://picsum.photos/700", 25 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/data/trending.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "id": "1", 5 | "title": "Article 1", 6 | "image": "https://picsum.photos/700", 7 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 8 | }, 9 | { 10 | "id": "2", 11 | "title": "News 2", 12 | "image": "https://picsum.photos/700", 13 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 14 | }, 15 | { 16 | "id": "3", 17 | "title": "Article 3", 18 | "image": "https://picsum.photos/700", 19 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 20 | }, 21 | { 22 | "id": "4", 23 | "title": "Article 4", 24 | "image": "https://picsum.photos/700", 25 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/data/recentArticles.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "id": "1", 5 | "title": "Article 1", 6 | "image": "https://picsum.photos/700", 7 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 8 | }, 9 | { 10 | "id": "2", 11 | "title": "Article 2", 12 | "image": "https://picsum.photos/700", 13 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 14 | }, 15 | { 16 | "id": "3", 17 | "title": "Article 3", 18 | "image": "https://picsum.photos/700", 19 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 20 | }, 21 | { 22 | "id": "4", 23 | "title": "Article 4", 24 | "image": "https://picsum.photos/700", 25 | "content": "Lorem ipsum dolor sit amet consectetur adipiscing elit in taciti suscipit gravida, felis congue ad tincidunt nec habitasse erat massa potenti purus, morbi ut iaculis eget sodales quis etiam condimentum nullam vulputate. Netus penatibus etiam ultrices neque nostra augue class tincidunt dapibus libero cum odio tempor habitant, eu praesent ligula lacinia egestas eros turpis donec luctus nullam aliquet nibh orci. Hendrerit euismod massa blandit sagittis aptent mi imperdiet dictumst dui curabitur, nascetur nunc potenti vestibulum diam luctus class purus felis, phasellus primis porta per quam penatibus fringilla magnis metus." 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/screens/HomeScreen.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {Alert, FlatList, ScrollView, StyleSheet, View} from 'react-native'; 3 | import { 4 | Card, 5 | Button, 6 | Divider, 7 | Text, 8 | Title, 9 | Paragraph, 10 | } from 'react-native-paper'; 11 | import recentNews from '../data/recentNews.json'; 12 | import recentArticles from '../data/recentArticles.json'; 13 | import trending from '../data/trending.json'; 14 | 15 | const renderArticle = ({item}: any) => ( 16 | 17 | 18 | 19 | {item.title} 20 | {item.content} 21 | 22 | 23 | ); 24 | 25 | const renderDivider = () => ; 26 | 27 | const showNotImplementedAlert = () => Alert.alert('Not implemented yet'); 28 | 29 | const HomeScreen = () => { 30 | return ( 31 | 34 | 35 | 36 | Trending 37 | 38 | 41 | 42 | 50 | 51 | 52 | Recent News 53 | 54 | 57 | 58 | 66 | 67 | 68 | Recent Articles 69 | 70 | 73 | 74 | 82 | 83 | ); 84 | }; 85 | 86 | const styles = StyleSheet.create({ 87 | container: { 88 | flex: 1, 89 | backgroundColor: '#fff', 90 | }, 91 | contentContainer: { 92 | paddingHorizontal: 16, 93 | paddingBottom: 16, 94 | }, 95 | divider: { 96 | backgroundColor: 'transparent', 97 | width: 16, 98 | }, 99 | header: { 100 | padding: 16, 101 | flexDirection: 'row', 102 | alignItems: 'center', 103 | }, 104 | headerTitle: { 105 | flex: 1, 106 | }, 107 | cardWidth: { 108 | width: 270, 109 | }, 110 | }); 111 | 112 | export default HomeScreen; 113 | -------------------------------------------------------------------------------- /ios/news.xcodeproj/xcshareddata/xcschemes/news.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 55 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /ios/news/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 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | apply plugin: "org.jetbrains.kotlin.android" 3 | apply plugin: "com.facebook.react" 4 | 5 | apply from: "../resolveNodePackage.gradle" 6 | 7 | def reactNativePath = resolveNodePackage('react-native', rootDir) 8 | def codegenPath = resolveNodePackage('@react-native/codegen', reactNativePath) 9 | 10 | /** 11 | * This is the configuration block to customize your React Native Android app. 12 | * By default you don't need to apply any configuration, just uncomment the lines you need. 13 | */ 14 | react { 15 | /* Folders */ 16 | // The root of your project, i.e. where "package.json" lives. Default is '../..' 17 | // root = file("../../") 18 | // The folder where the react-native NPM package is. Default is ../../node_modules/react-native 19 | // reactNativeDir = file("../../node_modules/react-native") 20 | // The folder where the react-native Codegen package is. Default is ../../node_modules/react-native-codegen 21 | codegenDir = codegenPath 22 | // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js 23 | // cliFile = file("../../node_modules/react-native/cli.js") 24 | /* Variants */ 25 | // The list of variants to that are debuggable. For those we're going to 26 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'. 27 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. 28 | // debuggableVariants = ["liteDebug", "prodDebug"] 29 | /* Bundling */ 30 | // A list containing the node command and its flags. Default is just 'node'. 31 | // nodeExecutableAndArgs = ["node"] 32 | // 33 | // The command to run when bundling. By default is 'bundle' 34 | bundleCommand = "bundle" 35 | // 36 | // The path to the CLI configuration file. Default is empty. 37 | // bundleConfig = file(../rn-cli.config.js) 38 | // 39 | // The name of the generated asset file containing your JS bundle 40 | // bundleAssetName = "MyApplication.android.bundle" 41 | // 42 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' 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 | /* Hermes Commands */ 49 | // The hermes compiler command to run. By default it is 'hermesc' 50 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" 51 | // 52 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" 53 | // hermesFlags = ["-O", "-output-source-map"] 54 | /* Autolinking */ 55 | autolinkLibrariesWithApp() 56 | } 57 | 58 | project.ext.vectoricons = [ 59 | iconFontsDir: "../../node_modules/react-native-vector-icons/Fonts", 60 | ] 61 | 62 | apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" 63 | 64 | /** 65 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode. 66 | */ 67 | def enableProguardInReleaseBuilds = false 68 | 69 | /** 70 | * The preferred build flavor of JavaScriptCore (JSC) 71 | * 72 | * For example, to use the international variant, you can use: 73 | * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` 74 | * 75 | * The international variant includes ICU i18n library and necessary data 76 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that 77 | * give correct results when using with locales other than en-US. Note that 78 | * this variant is about 6MiB larger per architecture than default. 79 | */ 80 | def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' 81 | 82 | android { 83 | ndkVersion rootProject.ext.ndkVersion 84 | buildToolsVersion rootProject.ext.buildToolsVersion 85 | compileSdk rootProject.ext.compileSdkVersion 86 | 87 | namespace "com.news" 88 | defaultConfig { 89 | applicationId "com.news" 90 | minSdkVersion rootProject.ext.minSdkVersion 91 | targetSdkVersion rootProject.ext.targetSdkVersion 92 | versionCode 1 93 | versionName "1.0" 94 | } 95 | 96 | signingConfigs { 97 | debug { 98 | storeFile file('debug.keystore') 99 | storePassword 'android' 100 | keyAlias 'androiddebugkey' 101 | keyPassword 'android' 102 | } 103 | } 104 | buildTypes { 105 | debug { 106 | signingConfig signingConfigs.debug 107 | } 108 | release { 109 | // Caution! In production, you need to generate your own keystore file. 110 | // see https://reactnative.dev/docs/signed-apk-android. 111 | signingConfig signingConfigs.debug 112 | minifyEnabled enableProguardInReleaseBuilds 113 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 114 | } 115 | } 116 | } 117 | 118 | dependencies { 119 | // The version of react-native is set by the React Native Gradle Plugin 120 | implementation("com.facebook.react:react-android") 121 | 122 | if (hermesEnabled.toBoolean()) { 123 | implementation("com.facebook.react:hermes-android") 124 | } else { 125 | implementation jscFlavor 126 | } 127 | } -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015-2021 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | # SPDX-License-Identifier: Apache-2.0 19 | # 20 | 21 | ############################################################################## 22 | # 23 | # Gradle start up script for POSIX generated by Gradle. 24 | # 25 | # Important for running: 26 | # 27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 28 | # noncompliant, but you have some other compliant shell such as ksh or 29 | # bash, then to run this script, type that shell name before the whole 30 | # command line, like: 31 | # 32 | # ksh Gradle 33 | # 34 | # Busybox and similar reduced shells will NOT work, because this script 35 | # requires all of these POSIX shell features: 36 | # * functions; 37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 39 | # * compound commands having a testable exit status, especially «case»; 40 | # * various built-in commands including «command», «set», and «ulimit». 41 | # 42 | # Important for patching: 43 | # 44 | # (2) This script targets any POSIX shell, so it avoids extensions provided 45 | # by Bash, Ksh, etc; in particular arrays are avoided. 46 | # 47 | # The "traditional" practice of packing multiple parameters into a 48 | # space-separated string is a well documented source of bugs and security 49 | # problems, so this is (mostly) avoided, by progressively accumulating 50 | # options in "$@", and eventually passing that to Java. 51 | # 52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 54 | # see the in-line comments for details. 55 | # 56 | # There are tweaks for specific operating systems such as AIX, CygWin, 57 | # Darwin, MinGW, and NonStop. 58 | # 59 | # (3) This script is generated from the Groovy template 60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 61 | # within the Gradle project. 62 | # 63 | # You can find Gradle at https://github.com/gradle/gradle/. 64 | # 65 | ############################################################################## 66 | 67 | # Attempt to set APP_HOME 68 | 69 | # Resolve links: $0 may be a link 70 | app_path=$0 71 | 72 | # Need this for daisy-chained symlinks. 73 | while 74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 75 | [ -h "$app_path" ] 76 | do 77 | ls=$( ls -ld "$app_path" ) 78 | link=${ls#*' -> '} 79 | case $link in #( 80 | /*) app_path=$link ;; #( 81 | *) app_path=$APP_HOME$link ;; 82 | esac 83 | done 84 | 85 | # This is normally unused 86 | # shellcheck disable=SC2034 87 | APP_BASE_NAME=${0##*/} 88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) 89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit 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 | if ! command -v java >/dev/null 2>&1 137 | then 138 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 139 | 140 | Please set the JAVA_HOME variable in your environment to match the 141 | location of your Java installation." 142 | fi 143 | fi 144 | 145 | # Increase the maximum file descriptors if we can. 146 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 147 | case $MAX_FD in #( 148 | max*) 149 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 150 | # shellcheck disable=SC2039,SC3045 151 | MAX_FD=$( ulimit -H -n ) || 152 | warn "Could not query maximum file descriptor limit" 153 | esac 154 | case $MAX_FD in #( 155 | '' | soft) :;; #( 156 | *) 157 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 158 | # shellcheck disable=SC2039,SC3045 159 | ulimit -n "$MAX_FD" || 160 | warn "Could not set maximum file descriptor limit to $MAX_FD" 161 | esac 162 | fi 163 | 164 | # Collect all arguments for the java command, stacking in reverse order: 165 | # * args from the command line 166 | # * the main class name 167 | # * -classpath 168 | # * -D...appname settings 169 | # * --module-path (only if needed) 170 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 171 | 172 | # For Cygwin or MSYS, switch paths to Windows format before running java 173 | if "$cygwin" || "$msys" ; then 174 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 175 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 176 | 177 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 178 | 179 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 180 | for arg do 181 | if 182 | case $arg in #( 183 | -*) false ;; # don't mess with options #( 184 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 185 | [ -e "$t" ] ;; #( 186 | *) false ;; 187 | esac 188 | then 189 | arg=$( cygpath --path --ignore --mixed "$arg" ) 190 | fi 191 | # Roll the args list around exactly as many times as the number of 192 | # args, so each arg winds up back in the position where it started, but 193 | # possibly modified. 194 | # 195 | # NB: a `for` loop captures its iteration list before it begins, so 196 | # changing the positional parameters here affects neither the number of 197 | # iterations, nor the values presented in `arg`. 198 | shift # remove old arg 199 | set -- "$@" "$arg" # push replacement arg 200 | done 201 | fi 202 | 203 | 204 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 205 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 206 | 207 | # Collect all arguments for the java command: 208 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, 209 | # and any embedded shellness will be escaped. 210 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be 211 | # treated as '${Hostname}' itself on the command line. 212 | 213 | set -- \ 214 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 215 | -classpath "$CLASSPATH" \ 216 | org.gradle.wrapper.GradleWrapperMain \ 217 | "$@" 218 | 219 | # Stop when "xargs" is not available. 220 | if ! command -v xargs >/dev/null 2>&1 221 | then 222 | die "xargs is not available" 223 | fi 224 | 225 | # Use "xargs" to parse quoted args. 226 | # 227 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 228 | # 229 | # In Bash we could simply go: 230 | # 231 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 232 | # set -- "${ARGS[@]}" "$@" 233 | # 234 | # but POSIX shell has neither arrays nor command substitution, so instead we 235 | # post-process each arg (as a line of input to sed) to backslash-escape any 236 | # character that might be a shell metacharacter, then use eval to reverse 237 | # that process (while maintaining the separation between arguments), and wrap 238 | # the whole thing up as a single "set" statement. 239 | # 240 | # This will of course break if any of these variables contains a newline or 241 | # an unmatched quote. 242 | # 243 | 244 | eval "set -- $( 245 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 246 | xargs -n1 | 247 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 248 | tr '\n' ' ' 249 | )" '"$@"' 250 | 251 | exec "$JAVACMD" "$@" -------------------------------------------------------------------------------- /ios/news.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0C80B921A6F3F58F76C31292 /* libPods-news.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-news.a */; }; 11 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 12 | 2FE847D96A902A97E60D699D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 9A62C2A0C650765A1A475A4F /* PrivacyInfo.xcprivacy */; }; 13 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 14 | B39E15AC2D9BDB8300326657 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39E15AB2D9BDB8300326657 /* AppDelegate.swift */; }; 15 | /* End PBXBuildFile section */ 16 | 17 | /* Begin PBXFileReference section */ 18 | 13B07F961A680F5B00A75B9A /* news.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = news.app; sourceTree = BUILT_PRODUCTS_DIR; }; 19 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = news/Images.xcassets; sourceTree = ""; }; 20 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = news/Info.plist; sourceTree = ""; }; 21 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-news-newsTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-news-newsTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 22 | 3B4392A12AC88292D35C810B /* Pods-news.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-news.debug.xcconfig"; path = "Target Support Files/Pods-news/Pods-news.debug.xcconfig"; sourceTree = ""; }; 23 | 5709B34CF0A7D63546082F79 /* Pods-news.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-news.release.xcconfig"; path = "Target Support Files/Pods-news/Pods-news.release.xcconfig"; sourceTree = ""; }; 24 | 5B7EB9410499542E8C5724F5 /* Pods-news-newsTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-news-newsTests.debug.xcconfig"; path = "Target Support Files/Pods-news-newsTests/Pods-news-newsTests.debug.xcconfig"; sourceTree = ""; }; 25 | 5DCACB8F33CDC322A6C60F78 /* libPods-news.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-news.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 26 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = news/LaunchScreen.storyboard; sourceTree = ""; }; 27 | 89C6BE57DB24E9ADA2F236DE /* Pods-news-newsTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-news-newsTests.release.xcconfig"; path = "Target Support Files/Pods-news-newsTests/Pods-news-newsTests.release.xcconfig"; sourceTree = ""; }; 28 | 9A62C2A0C650765A1A475A4F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = news/PrivacyInfo.xcprivacy; sourceTree = ""; }; 29 | B39E15AB2D9BDB8300326657 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 30 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 31 | /* End PBXFileReference section */ 32 | 33 | /* Begin PBXFrameworksBuildPhase section */ 34 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 35 | isa = PBXFrameworksBuildPhase; 36 | buildActionMask = 2147483647; 37 | files = ( 38 | 0C80B921A6F3F58F76C31292 /* libPods-news.a in Frameworks */, 39 | ); 40 | runOnlyForDeploymentPostprocessing = 0; 41 | }; 42 | /* End PBXFrameworksBuildPhase section */ 43 | 44 | /* Begin PBXGroup section */ 45 | 13B07FAE1A68108700A75B9A /* news */ = { 46 | isa = PBXGroup; 47 | children = ( 48 | B39E15AB2D9BDB8300326657 /* AppDelegate.swift */, 49 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 50 | 13B07FB61A68108700A75B9A /* Info.plist */, 51 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 52 | 9A62C2A0C650765A1A475A4F /* PrivacyInfo.xcprivacy */, 53 | ); 54 | name = news; 55 | sourceTree = ""; 56 | }; 57 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 58 | isa = PBXGroup; 59 | children = ( 60 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 61 | 5DCACB8F33CDC322A6C60F78 /* libPods-news.a */, 62 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-news-newsTests.a */, 63 | ); 64 | name = Frameworks; 65 | sourceTree = ""; 66 | }; 67 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 68 | isa = PBXGroup; 69 | children = ( 70 | ); 71 | name = Libraries; 72 | sourceTree = ""; 73 | }; 74 | 83CBB9F61A601CBA00E9B192 = { 75 | isa = PBXGroup; 76 | children = ( 77 | 13B07FAE1A68108700A75B9A /* news */, 78 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 79 | 83CBBA001A601CBA00E9B192 /* Products */, 80 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 81 | BBD78D7AC51CEA395F1C20DB /* Pods */, 82 | ); 83 | indentWidth = 2; 84 | sourceTree = ""; 85 | tabWidth = 2; 86 | usesTabs = 0; 87 | }; 88 | 83CBBA001A601CBA00E9B192 /* Products */ = { 89 | isa = PBXGroup; 90 | children = ( 91 | 13B07F961A680F5B00A75B9A /* news.app */, 92 | ); 93 | name = Products; 94 | sourceTree = ""; 95 | }; 96 | BBD78D7AC51CEA395F1C20DB /* Pods */ = { 97 | isa = PBXGroup; 98 | children = ( 99 | 3B4392A12AC88292D35C810B /* Pods-news.debug.xcconfig */, 100 | 5709B34CF0A7D63546082F79 /* Pods-news.release.xcconfig */, 101 | 5B7EB9410499542E8C5724F5 /* Pods-news-newsTests.debug.xcconfig */, 102 | 89C6BE57DB24E9ADA2F236DE /* Pods-news-newsTests.release.xcconfig */, 103 | ); 104 | path = Pods; 105 | sourceTree = ""; 106 | }; 107 | /* End PBXGroup section */ 108 | 109 | /* Begin PBXNativeTarget section */ 110 | 13B07F861A680F5B00A75B9A /* news */ = { 111 | isa = PBXNativeTarget; 112 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "news" */; 113 | buildPhases = ( 114 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, 115 | FD10A7F022414F080027D42C /* Start Packager */, 116 | 13B07F871A680F5B00A75B9A /* Sources */, 117 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 118 | 13B07F8E1A680F5B00A75B9A /* Resources */, 119 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 120 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, 121 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, 122 | ); 123 | buildRules = ( 124 | ); 125 | dependencies = ( 126 | ); 127 | name = news; 128 | productName = news; 129 | productReference = 13B07F961A680F5B00A75B9A /* news.app */; 130 | productType = "com.apple.product-type.application"; 131 | }; 132 | /* End PBXNativeTarget section */ 133 | 134 | /* Begin PBXProject section */ 135 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 136 | isa = PBXProject; 137 | attributes = { 138 | LastUpgradeCheck = 1210; 139 | TargetAttributes = { 140 | 13B07F861A680F5B00A75B9A = { 141 | LastSwiftMigration = 1620; 142 | }; 143 | }; 144 | }; 145 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "news" */; 146 | compatibilityVersion = "Xcode 12.0"; 147 | developmentRegion = en; 148 | hasScannedForEncodings = 0; 149 | knownRegions = ( 150 | en, 151 | Base, 152 | ); 153 | mainGroup = 83CBB9F61A601CBA00E9B192; 154 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 155 | projectDirPath = ""; 156 | projectRoot = ""; 157 | targets = ( 158 | 13B07F861A680F5B00A75B9A /* news */, 159 | ); 160 | }; 161 | /* End PBXProject section */ 162 | 163 | /* Begin PBXResourcesBuildPhase section */ 164 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 165 | isa = PBXResourcesBuildPhase; 166 | buildActionMask = 2147483647; 167 | files = ( 168 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 169 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 170 | 2FE847D96A902A97E60D699D /* PrivacyInfo.xcprivacy in Resources */, 171 | ); 172 | runOnlyForDeploymentPostprocessing = 0; 173 | }; 174 | /* End PBXResourcesBuildPhase section */ 175 | 176 | /* Begin PBXShellScriptBuildPhase section */ 177 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 178 | isa = PBXShellScriptBuildPhase; 179 | buildActionMask = 2147483647; 180 | files = ( 181 | ); 182 | inputPaths = ( 183 | "$(SRCROOT)/.xcode.env.local", 184 | "$(SRCROOT)/.xcode.env", 185 | ); 186 | name = "Bundle React Native code and images"; 187 | outputPaths = ( 188 | ); 189 | runOnlyForDeploymentPostprocessing = 0; 190 | shellPath = /bin/sh; 191 | 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\"\nBUNDLE_COMMAND=webpack-bundle\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; 192 | }; 193 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { 194 | isa = PBXShellScriptBuildPhase; 195 | buildActionMask = 2147483647; 196 | files = ( 197 | ); 198 | inputFileListPaths = ( 199 | "${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-frameworks-${CONFIGURATION}-input-files.xcfilelist", 200 | ); 201 | name = "[CP] Embed Pods Frameworks"; 202 | outputFileListPaths = ( 203 | "${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-frameworks-${CONFIGURATION}-output-files.xcfilelist", 204 | ); 205 | runOnlyForDeploymentPostprocessing = 0; 206 | shellPath = /bin/sh; 207 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-frameworks.sh\"\n"; 208 | showEnvVarsInLog = 0; 209 | }; 210 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { 211 | isa = PBXShellScriptBuildPhase; 212 | buildActionMask = 2147483647; 213 | files = ( 214 | ); 215 | inputFileListPaths = ( 216 | ); 217 | inputPaths = ( 218 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 219 | "${PODS_ROOT}/Manifest.lock", 220 | ); 221 | name = "[CP] Check Pods Manifest.lock"; 222 | outputFileListPaths = ( 223 | ); 224 | outputPaths = ( 225 | "$(DERIVED_FILE_DIR)/Pods-news-checkManifestLockResult.txt", 226 | ); 227 | runOnlyForDeploymentPostprocessing = 0; 228 | shellPath = /bin/sh; 229 | 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"; 230 | showEnvVarsInLog = 0; 231 | }; 232 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { 233 | isa = PBXShellScriptBuildPhase; 234 | buildActionMask = 2147483647; 235 | files = ( 236 | ); 237 | inputFileListPaths = ( 238 | "${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-resources-${CONFIGURATION}-input-files.xcfilelist", 239 | ); 240 | name = "[CP] Copy Pods Resources"; 241 | outputFileListPaths = ( 242 | "${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-resources-${CONFIGURATION}-output-files.xcfilelist", 243 | ); 244 | runOnlyForDeploymentPostprocessing = 0; 245 | shellPath = /bin/sh; 246 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-news/Pods-news-resources.sh\"\n"; 247 | showEnvVarsInLog = 0; 248 | }; 249 | FD10A7F022414F080027D42C /* Start Packager */ = { 250 | isa = PBXShellScriptBuildPhase; 251 | buildActionMask = 2147483647; 252 | files = ( 253 | ); 254 | inputFileListPaths = ( 255 | ); 256 | inputPaths = ( 257 | ); 258 | name = "Start Packager"; 259 | outputFileListPaths = ( 260 | ); 261 | outputPaths = ( 262 | ); 263 | runOnlyForDeploymentPostprocessing = 0; 264 | shellPath = /bin/sh; 265 | 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"; 266 | showEnvVarsInLog = 0; 267 | }; 268 | /* End PBXShellScriptBuildPhase section */ 269 | 270 | /* Begin PBXSourcesBuildPhase section */ 271 | 13B07F871A680F5B00A75B9A /* Sources */ = { 272 | isa = PBXSourcesBuildPhase; 273 | buildActionMask = 2147483647; 274 | files = ( 275 | B39E15AC2D9BDB8300326657 /* AppDelegate.swift in Sources */, 276 | ); 277 | runOnlyForDeploymentPostprocessing = 0; 278 | }; 279 | /* End PBXSourcesBuildPhase section */ 280 | 281 | /* Begin XCBuildConfiguration section */ 282 | 13B07F941A680F5B00A75B9A /* Debug */ = { 283 | isa = XCBuildConfiguration; 284 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-news.debug.xcconfig */; 285 | buildSettings = { 286 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 287 | CLANG_ENABLE_MODULES = YES; 288 | CODE_SIGN_IDENTITY = "Apple Development"; 289 | CODE_SIGN_STYLE = Automatic; 290 | CURRENT_PROJECT_VERSION = 1; 291 | DEVELOPMENT_TEAM = XXNWVWEW5L; 292 | ENABLE_BITCODE = NO; 293 | INFOPLIST_FILE = news/Info.plist; 294 | LD_RUNPATH_SEARCH_PATHS = ( 295 | "$(inherited)", 296 | "@executable_path/Frameworks", 297 | ); 298 | MARKETING_VERSION = 1.0; 299 | OTHER_LDFLAGS = ( 300 | "$(inherited)", 301 | "-ObjC", 302 | "-lc++", 303 | ); 304 | PRODUCT_BUNDLE_IDENTIFIER = org.reactjs.native.example.newsappwsfwefwef; 305 | PRODUCT_NAME = news; 306 | PROVISIONING_PROFILE_SPECIFIER = ""; 307 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 308 | SWIFT_VERSION = 5.0; 309 | VERSIONING_SYSTEM = "apple-generic"; 310 | }; 311 | name = Debug; 312 | }; 313 | 13B07F951A680F5B00A75B9A /* Release */ = { 314 | isa = XCBuildConfiguration; 315 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-news.release.xcconfig */; 316 | buildSettings = { 317 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 318 | CLANG_ENABLE_MODULES = YES; 319 | CODE_SIGN_IDENTITY = "Apple Development"; 320 | CODE_SIGN_STYLE = Automatic; 321 | CURRENT_PROJECT_VERSION = 1; 322 | DEVELOPMENT_TEAM = XXNWVWEW5L; 323 | INFOPLIST_FILE = news/Info.plist; 324 | LD_RUNPATH_SEARCH_PATHS = ( 325 | "$(inherited)", 326 | "@executable_path/Frameworks", 327 | ); 328 | MARKETING_VERSION = 1.0; 329 | OTHER_LDFLAGS = ( 330 | "$(inherited)", 331 | "-ObjC", 332 | "-lc++", 333 | ); 334 | PRODUCT_BUNDLE_IDENTIFIER = org.reactjs.native.example.newsappwsfwefwef; 335 | PRODUCT_NAME = news; 336 | PROVISIONING_PROFILE_SPECIFIER = ""; 337 | SWIFT_VERSION = 5.0; 338 | VERSIONING_SYSTEM = "apple-generic"; 339 | }; 340 | name = Release; 341 | }; 342 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 343 | isa = XCBuildConfiguration; 344 | buildSettings = { 345 | ALWAYS_SEARCH_USER_PATHS = NO; 346 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 347 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 348 | CLANG_CXX_LIBRARY = "libc++"; 349 | CLANG_ENABLE_MODULES = YES; 350 | CLANG_ENABLE_OBJC_ARC = YES; 351 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 352 | CLANG_WARN_BOOL_CONVERSION = YES; 353 | CLANG_WARN_COMMA = YES; 354 | CLANG_WARN_CONSTANT_CONVERSION = YES; 355 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 356 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 357 | CLANG_WARN_EMPTY_BODY = YES; 358 | CLANG_WARN_ENUM_CONVERSION = YES; 359 | CLANG_WARN_INFINITE_RECURSION = YES; 360 | CLANG_WARN_INT_CONVERSION = YES; 361 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 362 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 363 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 364 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 365 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 366 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 367 | CLANG_WARN_STRICT_PROTOTYPES = YES; 368 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 369 | CLANG_WARN_UNREACHABLE_CODE = YES; 370 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 371 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 372 | COPY_PHASE_STRIP = NO; 373 | ENABLE_STRICT_OBJC_MSGSEND = YES; 374 | ENABLE_TESTABILITY = YES; 375 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; 376 | GCC_C_LANGUAGE_STANDARD = gnu99; 377 | GCC_DYNAMIC_NO_PIC = NO; 378 | GCC_NO_COMMON_BLOCKS = YES; 379 | GCC_OPTIMIZATION_LEVEL = 0; 380 | GCC_PREPROCESSOR_DEFINITIONS = ( 381 | "DEBUG=1", 382 | "$(inherited)", 383 | ); 384 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 385 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 386 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 387 | GCC_WARN_UNDECLARED_SELECTOR = YES; 388 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 389 | GCC_WARN_UNUSED_FUNCTION = YES; 390 | GCC_WARN_UNUSED_VARIABLE = YES; 391 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 392 | LD_RUNPATH_SEARCH_PATHS = ( 393 | /usr/lib/swift, 394 | "$(inherited)", 395 | ); 396 | LIBRARY_SEARCH_PATHS = ( 397 | "\"$(SDKROOT)/usr/lib/swift\"", 398 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 399 | "\"$(inherited)\"", 400 | ); 401 | MTL_ENABLE_DEBUG_INFO = YES; 402 | ONLY_ACTIVE_ARCH = YES; 403 | OTHER_CPLUSPLUSFLAGS = ( 404 | "$(OTHER_CFLAGS)", 405 | "-DFOLLY_NO_CONFIG", 406 | "-DFOLLY_MOBILE=1", 407 | "-DFOLLY_USE_LIBCPP=1", 408 | ); 409 | OTHER_LDFLAGS = ( 410 | "$(inherited)", 411 | " ", 412 | ); 413 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 414 | SDKROOT = iphoneos; 415 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; 416 | USE_HERMES = true; 417 | }; 418 | name = Debug; 419 | }; 420 | 83CBBA211A601CBA00E9B192 /* Release */ = { 421 | isa = XCBuildConfiguration; 422 | buildSettings = { 423 | ALWAYS_SEARCH_USER_PATHS = NO; 424 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 425 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 426 | CLANG_CXX_LIBRARY = "libc++"; 427 | CLANG_ENABLE_MODULES = YES; 428 | CLANG_ENABLE_OBJC_ARC = YES; 429 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 430 | CLANG_WARN_BOOL_CONVERSION = YES; 431 | CLANG_WARN_COMMA = YES; 432 | CLANG_WARN_CONSTANT_CONVERSION = YES; 433 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 434 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 435 | CLANG_WARN_EMPTY_BODY = YES; 436 | CLANG_WARN_ENUM_CONVERSION = YES; 437 | CLANG_WARN_INFINITE_RECURSION = YES; 438 | CLANG_WARN_INT_CONVERSION = YES; 439 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 440 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 441 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 442 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 443 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 444 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 445 | CLANG_WARN_STRICT_PROTOTYPES = YES; 446 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 447 | CLANG_WARN_UNREACHABLE_CODE = YES; 448 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 449 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 450 | COPY_PHASE_STRIP = YES; 451 | ENABLE_NS_ASSERTIONS = NO; 452 | ENABLE_STRICT_OBJC_MSGSEND = YES; 453 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; 454 | GCC_C_LANGUAGE_STANDARD = gnu99; 455 | GCC_NO_COMMON_BLOCKS = YES; 456 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 457 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 458 | GCC_WARN_UNDECLARED_SELECTOR = YES; 459 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 460 | GCC_WARN_UNUSED_FUNCTION = YES; 461 | GCC_WARN_UNUSED_VARIABLE = YES; 462 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 463 | LD_RUNPATH_SEARCH_PATHS = ( 464 | /usr/lib/swift, 465 | "$(inherited)", 466 | ); 467 | LIBRARY_SEARCH_PATHS = ( 468 | "\"$(SDKROOT)/usr/lib/swift\"", 469 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 470 | "\"$(inherited)\"", 471 | ); 472 | MTL_ENABLE_DEBUG_INFO = NO; 473 | OTHER_CPLUSPLUSFLAGS = ( 474 | "$(OTHER_CFLAGS)", 475 | "-DFOLLY_NO_CONFIG", 476 | "-DFOLLY_MOBILE=1", 477 | "-DFOLLY_USE_LIBCPP=1", 478 | ); 479 | OTHER_LDFLAGS = ( 480 | "$(inherited)", 481 | " ", 482 | ); 483 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 484 | SDKROOT = iphoneos; 485 | USE_HERMES = true; 486 | VALIDATE_PRODUCT = YES; 487 | }; 488 | name = Release; 489 | }; 490 | /* End XCBuildConfiguration section */ 491 | 492 | /* Begin XCConfigurationList section */ 493 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "news" */ = { 494 | isa = XCConfigurationList; 495 | buildConfigurations = ( 496 | 13B07F941A680F5B00A75B9A /* Debug */, 497 | 13B07F951A680F5B00A75B9A /* Release */, 498 | ); 499 | defaultConfigurationIsVisible = 0; 500 | defaultConfigurationName = Release; 501 | }; 502 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "news" */ = { 503 | isa = XCConfigurationList; 504 | buildConfigurations = ( 505 | 83CBBA201A601CBA00E9B192 /* Debug */, 506 | 83CBBA211A601CBA00E9B192 /* Release */, 507 | ); 508 | defaultConfigurationIsVisible = 0; 509 | defaultConfigurationName = Release; 510 | }; 511 | /* End XCConfigurationList section */ 512 | }; 513 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 514 | } 515 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - boost (1.84.0) 3 | - callstack-repack (5.0.5): 4 | - DoubleConversion 5 | - glog 6 | - hermes-engine 7 | - JWTDecode (~> 3.0.0) 8 | - RCT-Folly (= 2024.11.18.00) 9 | - RCTRequired 10 | - RCTTypeSafety 11 | - React-Core 12 | - React-debug 13 | - React-Fabric 14 | - React-featureflags 15 | - React-graphics 16 | - React-ImageManager 17 | - React-NativeModulesApple 18 | - React-RCTFabric 19 | - React-rendererdebug 20 | - React-utils 21 | - ReactCodegen 22 | - ReactCommon/turbomodule/bridging 23 | - ReactCommon/turbomodule/core 24 | - SwiftyRSA (~> 1.7) 25 | - Yoga 26 | - DoubleConversion (1.1.6) 27 | - fast_float (6.1.4) 28 | - FBLazyVector (0.78.2) 29 | - fmt (11.0.2) 30 | - glog (0.3.5) 31 | - hermes-engine (0.78.1): 32 | - hermes-engine/Pre-built (= 0.78.1) 33 | - hermes-engine/Pre-built (0.78.1) 34 | - JWTDecode (3.0.1) 35 | - RCT-Folly (2024.11.18.00): 36 | - boost 37 | - DoubleConversion 38 | - fast_float (= 6.1.4) 39 | - fmt (= 11.0.2) 40 | - glog 41 | - RCT-Folly/Default (= 2024.11.18.00) 42 | - RCT-Folly/Default (2024.11.18.00): 43 | - boost 44 | - DoubleConversion 45 | - fast_float (= 6.1.4) 46 | - fmt (= 11.0.2) 47 | - glog 48 | - RCT-Folly/Fabric (2024.11.18.00): 49 | - boost 50 | - DoubleConversion 51 | - fast_float (= 6.1.4) 52 | - fmt (= 11.0.2) 53 | - glog 54 | - RCTDeprecation (0.78.2) 55 | - RCTRequired (0.78.2) 56 | - RCTTypeSafety (0.78.2): 57 | - FBLazyVector (= 0.78.2) 58 | - RCTRequired (= 0.78.2) 59 | - React-Core (= 0.78.2) 60 | - React (0.78.2): 61 | - React-Core (= 0.78.2) 62 | - React-Core/DevSupport (= 0.78.2) 63 | - React-Core/RCTWebSocket (= 0.78.2) 64 | - React-RCTActionSheet (= 0.78.2) 65 | - React-RCTAnimation (= 0.78.2) 66 | - React-RCTBlob (= 0.78.2) 67 | - React-RCTImage (= 0.78.2) 68 | - React-RCTLinking (= 0.78.2) 69 | - React-RCTNetwork (= 0.78.2) 70 | - React-RCTSettings (= 0.78.2) 71 | - React-RCTText (= 0.78.2) 72 | - React-RCTVibration (= 0.78.2) 73 | - React-callinvoker (0.78.2) 74 | - React-Core (0.78.2): 75 | - glog 76 | - hermes-engine 77 | - RCT-Folly (= 2024.11.18.00) 78 | - RCTDeprecation 79 | - React-Core/Default (= 0.78.2) 80 | - React-cxxreact 81 | - React-featureflags 82 | - React-hermes 83 | - React-jsi 84 | - React-jsiexecutor 85 | - React-jsinspector 86 | - React-perflogger 87 | - React-runtimescheduler 88 | - React-utils 89 | - SocketRocket (= 0.7.1) 90 | - Yoga 91 | - React-Core/CoreModulesHeaders (0.78.2): 92 | - glog 93 | - hermes-engine 94 | - RCT-Folly (= 2024.11.18.00) 95 | - RCTDeprecation 96 | - React-Core/Default 97 | - React-cxxreact 98 | - React-featureflags 99 | - React-hermes 100 | - React-jsi 101 | - React-jsiexecutor 102 | - React-jsinspector 103 | - React-perflogger 104 | - React-runtimescheduler 105 | - React-utils 106 | - SocketRocket (= 0.7.1) 107 | - Yoga 108 | - React-Core/Default (0.78.2): 109 | - glog 110 | - hermes-engine 111 | - RCT-Folly (= 2024.11.18.00) 112 | - RCTDeprecation 113 | - React-cxxreact 114 | - React-featureflags 115 | - React-hermes 116 | - React-jsi 117 | - React-jsiexecutor 118 | - React-jsinspector 119 | - React-perflogger 120 | - React-runtimescheduler 121 | - React-utils 122 | - SocketRocket (= 0.7.1) 123 | - Yoga 124 | - React-Core/DevSupport (0.78.2): 125 | - glog 126 | - hermes-engine 127 | - RCT-Folly (= 2024.11.18.00) 128 | - RCTDeprecation 129 | - React-Core/Default (= 0.78.2) 130 | - React-Core/RCTWebSocket (= 0.78.2) 131 | - React-cxxreact 132 | - React-featureflags 133 | - React-hermes 134 | - React-jsi 135 | - React-jsiexecutor 136 | - React-jsinspector 137 | - React-perflogger 138 | - React-runtimescheduler 139 | - React-utils 140 | - SocketRocket (= 0.7.1) 141 | - Yoga 142 | - React-Core/RCTActionSheetHeaders (0.78.2): 143 | - glog 144 | - hermes-engine 145 | - RCT-Folly (= 2024.11.18.00) 146 | - RCTDeprecation 147 | - React-Core/Default 148 | - React-cxxreact 149 | - React-featureflags 150 | - React-hermes 151 | - React-jsi 152 | - React-jsiexecutor 153 | - React-jsinspector 154 | - React-perflogger 155 | - React-runtimescheduler 156 | - React-utils 157 | - SocketRocket (= 0.7.1) 158 | - Yoga 159 | - React-Core/RCTAnimationHeaders (0.78.2): 160 | - glog 161 | - hermes-engine 162 | - RCT-Folly (= 2024.11.18.00) 163 | - RCTDeprecation 164 | - React-Core/Default 165 | - React-cxxreact 166 | - React-featureflags 167 | - React-hermes 168 | - React-jsi 169 | - React-jsiexecutor 170 | - React-jsinspector 171 | - React-perflogger 172 | - React-runtimescheduler 173 | - React-utils 174 | - SocketRocket (= 0.7.1) 175 | - Yoga 176 | - React-Core/RCTBlobHeaders (0.78.2): 177 | - glog 178 | - hermes-engine 179 | - RCT-Folly (= 2024.11.18.00) 180 | - RCTDeprecation 181 | - React-Core/Default 182 | - React-cxxreact 183 | - React-featureflags 184 | - React-hermes 185 | - React-jsi 186 | - React-jsiexecutor 187 | - React-jsinspector 188 | - React-perflogger 189 | - React-runtimescheduler 190 | - React-utils 191 | - SocketRocket (= 0.7.1) 192 | - Yoga 193 | - React-Core/RCTImageHeaders (0.78.2): 194 | - glog 195 | - hermes-engine 196 | - RCT-Folly (= 2024.11.18.00) 197 | - RCTDeprecation 198 | - React-Core/Default 199 | - React-cxxreact 200 | - React-featureflags 201 | - React-hermes 202 | - React-jsi 203 | - React-jsiexecutor 204 | - React-jsinspector 205 | - React-perflogger 206 | - React-runtimescheduler 207 | - React-utils 208 | - SocketRocket (= 0.7.1) 209 | - Yoga 210 | - React-Core/RCTLinkingHeaders (0.78.2): 211 | - glog 212 | - hermes-engine 213 | - RCT-Folly (= 2024.11.18.00) 214 | - RCTDeprecation 215 | - React-Core/Default 216 | - React-cxxreact 217 | - React-featureflags 218 | - React-hermes 219 | - React-jsi 220 | - React-jsiexecutor 221 | - React-jsinspector 222 | - React-perflogger 223 | - React-runtimescheduler 224 | - React-utils 225 | - SocketRocket (= 0.7.1) 226 | - Yoga 227 | - React-Core/RCTNetworkHeaders (0.78.2): 228 | - glog 229 | - hermes-engine 230 | - RCT-Folly (= 2024.11.18.00) 231 | - RCTDeprecation 232 | - React-Core/Default 233 | - React-cxxreact 234 | - React-featureflags 235 | - React-hermes 236 | - React-jsi 237 | - React-jsiexecutor 238 | - React-jsinspector 239 | - React-perflogger 240 | - React-runtimescheduler 241 | - React-utils 242 | - SocketRocket (= 0.7.1) 243 | - Yoga 244 | - React-Core/RCTSettingsHeaders (0.78.2): 245 | - glog 246 | - hermes-engine 247 | - RCT-Folly (= 2024.11.18.00) 248 | - RCTDeprecation 249 | - React-Core/Default 250 | - React-cxxreact 251 | - React-featureflags 252 | - React-hermes 253 | - React-jsi 254 | - React-jsiexecutor 255 | - React-jsinspector 256 | - React-perflogger 257 | - React-runtimescheduler 258 | - React-utils 259 | - SocketRocket (= 0.7.1) 260 | - Yoga 261 | - React-Core/RCTTextHeaders (0.78.2): 262 | - glog 263 | - hermes-engine 264 | - RCT-Folly (= 2024.11.18.00) 265 | - RCTDeprecation 266 | - React-Core/Default 267 | - React-cxxreact 268 | - React-featureflags 269 | - React-hermes 270 | - React-jsi 271 | - React-jsiexecutor 272 | - React-jsinspector 273 | - React-perflogger 274 | - React-runtimescheduler 275 | - React-utils 276 | - SocketRocket (= 0.7.1) 277 | - Yoga 278 | - React-Core/RCTVibrationHeaders (0.78.2): 279 | - glog 280 | - hermes-engine 281 | - RCT-Folly (= 2024.11.18.00) 282 | - RCTDeprecation 283 | - React-Core/Default 284 | - React-cxxreact 285 | - React-featureflags 286 | - React-hermes 287 | - React-jsi 288 | - React-jsiexecutor 289 | - React-jsinspector 290 | - React-perflogger 291 | - React-runtimescheduler 292 | - React-utils 293 | - SocketRocket (= 0.7.1) 294 | - Yoga 295 | - React-Core/RCTWebSocket (0.78.2): 296 | - glog 297 | - hermes-engine 298 | - RCT-Folly (= 2024.11.18.00) 299 | - RCTDeprecation 300 | - React-Core/Default (= 0.78.2) 301 | - React-cxxreact 302 | - React-featureflags 303 | - React-hermes 304 | - React-jsi 305 | - React-jsiexecutor 306 | - React-jsinspector 307 | - React-perflogger 308 | - React-runtimescheduler 309 | - React-utils 310 | - SocketRocket (= 0.7.1) 311 | - Yoga 312 | - React-CoreModules (0.78.2): 313 | - DoubleConversion 314 | - fast_float (= 6.1.4) 315 | - fmt (= 11.0.2) 316 | - RCT-Folly (= 2024.11.18.00) 317 | - RCTTypeSafety (= 0.78.2) 318 | - React-Core/CoreModulesHeaders (= 0.78.2) 319 | - React-jsi (= 0.78.2) 320 | - React-jsinspector 321 | - React-NativeModulesApple 322 | - React-RCTBlob 323 | - React-RCTFBReactNativeSpec 324 | - React-RCTImage (= 0.78.2) 325 | - ReactCommon 326 | - SocketRocket (= 0.7.1) 327 | - React-cxxreact (0.78.2): 328 | - boost 329 | - DoubleConversion 330 | - fast_float (= 6.1.4) 331 | - fmt (= 11.0.2) 332 | - glog 333 | - hermes-engine 334 | - RCT-Folly (= 2024.11.18.00) 335 | - React-callinvoker (= 0.78.2) 336 | - React-debug (= 0.78.2) 337 | - React-jsi (= 0.78.2) 338 | - React-jsinspector 339 | - React-logger (= 0.78.2) 340 | - React-perflogger (= 0.78.2) 341 | - React-runtimeexecutor (= 0.78.2) 342 | - React-timing (= 0.78.2) 343 | - React-debug (0.78.2) 344 | - React-defaultsnativemodule (0.78.2): 345 | - hermes-engine 346 | - RCT-Folly 347 | - React-domnativemodule 348 | - React-featureflagsnativemodule 349 | - React-idlecallbacksnativemodule 350 | - React-jsi 351 | - React-jsiexecutor 352 | - React-microtasksnativemodule 353 | - React-RCTFBReactNativeSpec 354 | - React-domnativemodule (0.78.2): 355 | - hermes-engine 356 | - RCT-Folly 357 | - React-Fabric 358 | - React-FabricComponents 359 | - React-graphics 360 | - React-jsi 361 | - React-jsiexecutor 362 | - React-RCTFBReactNativeSpec 363 | - ReactCommon/turbomodule/core 364 | - Yoga 365 | - React-Fabric (0.78.2): 366 | - DoubleConversion 367 | - fast_float (= 6.1.4) 368 | - fmt (= 11.0.2) 369 | - glog 370 | - hermes-engine 371 | - RCT-Folly/Fabric (= 2024.11.18.00) 372 | - RCTRequired 373 | - RCTTypeSafety 374 | - React-Core 375 | - React-cxxreact 376 | - React-debug 377 | - React-Fabric/animations (= 0.78.2) 378 | - React-Fabric/attributedstring (= 0.78.2) 379 | - React-Fabric/componentregistry (= 0.78.2) 380 | - React-Fabric/componentregistrynative (= 0.78.2) 381 | - React-Fabric/components (= 0.78.2) 382 | - React-Fabric/consistency (= 0.78.2) 383 | - React-Fabric/core (= 0.78.2) 384 | - React-Fabric/dom (= 0.78.2) 385 | - React-Fabric/imagemanager (= 0.78.2) 386 | - React-Fabric/leakchecker (= 0.78.2) 387 | - React-Fabric/mounting (= 0.78.2) 388 | - React-Fabric/observers (= 0.78.2) 389 | - React-Fabric/scheduler (= 0.78.2) 390 | - React-Fabric/telemetry (= 0.78.2) 391 | - React-Fabric/templateprocessor (= 0.78.2) 392 | - React-Fabric/uimanager (= 0.78.2) 393 | - React-featureflags 394 | - React-graphics 395 | - React-jsi 396 | - React-jsiexecutor 397 | - React-logger 398 | - React-rendererdebug 399 | - React-runtimescheduler 400 | - React-utils 401 | - ReactCommon/turbomodule/core 402 | - React-Fabric/animations (0.78.2): 403 | - DoubleConversion 404 | - fast_float (= 6.1.4) 405 | - fmt (= 11.0.2) 406 | - glog 407 | - hermes-engine 408 | - RCT-Folly/Fabric (= 2024.11.18.00) 409 | - RCTRequired 410 | - RCTTypeSafety 411 | - React-Core 412 | - React-cxxreact 413 | - React-debug 414 | - React-featureflags 415 | - React-graphics 416 | - React-jsi 417 | - React-jsiexecutor 418 | - React-logger 419 | - React-rendererdebug 420 | - React-runtimescheduler 421 | - React-utils 422 | - ReactCommon/turbomodule/core 423 | - React-Fabric/attributedstring (0.78.2): 424 | - DoubleConversion 425 | - fast_float (= 6.1.4) 426 | - fmt (= 11.0.2) 427 | - glog 428 | - hermes-engine 429 | - RCT-Folly/Fabric (= 2024.11.18.00) 430 | - RCTRequired 431 | - RCTTypeSafety 432 | - React-Core 433 | - React-cxxreact 434 | - React-debug 435 | - React-featureflags 436 | - React-graphics 437 | - React-jsi 438 | - React-jsiexecutor 439 | - React-logger 440 | - React-rendererdebug 441 | - React-runtimescheduler 442 | - React-utils 443 | - ReactCommon/turbomodule/core 444 | - React-Fabric/componentregistry (0.78.2): 445 | - DoubleConversion 446 | - fast_float (= 6.1.4) 447 | - fmt (= 11.0.2) 448 | - glog 449 | - hermes-engine 450 | - RCT-Folly/Fabric (= 2024.11.18.00) 451 | - RCTRequired 452 | - RCTTypeSafety 453 | - React-Core 454 | - React-cxxreact 455 | - React-debug 456 | - React-featureflags 457 | - React-graphics 458 | - React-jsi 459 | - React-jsiexecutor 460 | - React-logger 461 | - React-rendererdebug 462 | - React-runtimescheduler 463 | - React-utils 464 | - ReactCommon/turbomodule/core 465 | - React-Fabric/componentregistrynative (0.78.2): 466 | - DoubleConversion 467 | - fast_float (= 6.1.4) 468 | - fmt (= 11.0.2) 469 | - glog 470 | - hermes-engine 471 | - RCT-Folly/Fabric (= 2024.11.18.00) 472 | - RCTRequired 473 | - RCTTypeSafety 474 | - React-Core 475 | - React-cxxreact 476 | - React-debug 477 | - React-featureflags 478 | - React-graphics 479 | - React-jsi 480 | - React-jsiexecutor 481 | - React-logger 482 | - React-rendererdebug 483 | - React-runtimescheduler 484 | - React-utils 485 | - ReactCommon/turbomodule/core 486 | - React-Fabric/components (0.78.2): 487 | - DoubleConversion 488 | - fast_float (= 6.1.4) 489 | - fmt (= 11.0.2) 490 | - glog 491 | - hermes-engine 492 | - RCT-Folly/Fabric (= 2024.11.18.00) 493 | - RCTRequired 494 | - RCTTypeSafety 495 | - React-Core 496 | - React-cxxreact 497 | - React-debug 498 | - React-Fabric/components/legacyviewmanagerinterop (= 0.78.2) 499 | - React-Fabric/components/root (= 0.78.2) 500 | - React-Fabric/components/view (= 0.78.2) 501 | - React-featureflags 502 | - React-graphics 503 | - React-jsi 504 | - React-jsiexecutor 505 | - React-logger 506 | - React-rendererdebug 507 | - React-runtimescheduler 508 | - React-utils 509 | - ReactCommon/turbomodule/core 510 | - React-Fabric/components/legacyviewmanagerinterop (0.78.2): 511 | - DoubleConversion 512 | - fast_float (= 6.1.4) 513 | - fmt (= 11.0.2) 514 | - glog 515 | - hermes-engine 516 | - RCT-Folly/Fabric (= 2024.11.18.00) 517 | - RCTRequired 518 | - RCTTypeSafety 519 | - React-Core 520 | - React-cxxreact 521 | - React-debug 522 | - React-featureflags 523 | - React-graphics 524 | - React-jsi 525 | - React-jsiexecutor 526 | - React-logger 527 | - React-rendererdebug 528 | - React-runtimescheduler 529 | - React-utils 530 | - ReactCommon/turbomodule/core 531 | - React-Fabric/components/root (0.78.2): 532 | - DoubleConversion 533 | - fast_float (= 6.1.4) 534 | - fmt (= 11.0.2) 535 | - glog 536 | - hermes-engine 537 | - RCT-Folly/Fabric (= 2024.11.18.00) 538 | - RCTRequired 539 | - RCTTypeSafety 540 | - React-Core 541 | - React-cxxreact 542 | - React-debug 543 | - React-featureflags 544 | - React-graphics 545 | - React-jsi 546 | - React-jsiexecutor 547 | - React-logger 548 | - React-rendererdebug 549 | - React-runtimescheduler 550 | - React-utils 551 | - ReactCommon/turbomodule/core 552 | - React-Fabric/components/view (0.78.2): 553 | - DoubleConversion 554 | - fast_float (= 6.1.4) 555 | - fmt (= 11.0.2) 556 | - glog 557 | - hermes-engine 558 | - RCT-Folly/Fabric (= 2024.11.18.00) 559 | - RCTRequired 560 | - RCTTypeSafety 561 | - React-Core 562 | - React-cxxreact 563 | - React-debug 564 | - React-featureflags 565 | - React-graphics 566 | - React-jsi 567 | - React-jsiexecutor 568 | - React-logger 569 | - React-rendererdebug 570 | - React-runtimescheduler 571 | - React-utils 572 | - ReactCommon/turbomodule/core 573 | - Yoga 574 | - React-Fabric/consistency (0.78.2): 575 | - DoubleConversion 576 | - fast_float (= 6.1.4) 577 | - fmt (= 11.0.2) 578 | - glog 579 | - hermes-engine 580 | - RCT-Folly/Fabric (= 2024.11.18.00) 581 | - RCTRequired 582 | - RCTTypeSafety 583 | - React-Core 584 | - React-cxxreact 585 | - React-debug 586 | - React-featureflags 587 | - React-graphics 588 | - React-jsi 589 | - React-jsiexecutor 590 | - React-logger 591 | - React-rendererdebug 592 | - React-runtimescheduler 593 | - React-utils 594 | - ReactCommon/turbomodule/core 595 | - React-Fabric/core (0.78.2): 596 | - DoubleConversion 597 | - fast_float (= 6.1.4) 598 | - fmt (= 11.0.2) 599 | - glog 600 | - hermes-engine 601 | - RCT-Folly/Fabric (= 2024.11.18.00) 602 | - RCTRequired 603 | - RCTTypeSafety 604 | - React-Core 605 | - React-cxxreact 606 | - React-debug 607 | - React-featureflags 608 | - React-graphics 609 | - React-jsi 610 | - React-jsiexecutor 611 | - React-logger 612 | - React-rendererdebug 613 | - React-runtimescheduler 614 | - React-utils 615 | - ReactCommon/turbomodule/core 616 | - React-Fabric/dom (0.78.2): 617 | - DoubleConversion 618 | - fast_float (= 6.1.4) 619 | - fmt (= 11.0.2) 620 | - glog 621 | - hermes-engine 622 | - RCT-Folly/Fabric (= 2024.11.18.00) 623 | - RCTRequired 624 | - RCTTypeSafety 625 | - React-Core 626 | - React-cxxreact 627 | - React-debug 628 | - React-featureflags 629 | - React-graphics 630 | - React-jsi 631 | - React-jsiexecutor 632 | - React-logger 633 | - React-rendererdebug 634 | - React-runtimescheduler 635 | - React-utils 636 | - ReactCommon/turbomodule/core 637 | - React-Fabric/imagemanager (0.78.2): 638 | - DoubleConversion 639 | - fast_float (= 6.1.4) 640 | - fmt (= 11.0.2) 641 | - glog 642 | - hermes-engine 643 | - RCT-Folly/Fabric (= 2024.11.18.00) 644 | - RCTRequired 645 | - RCTTypeSafety 646 | - React-Core 647 | - React-cxxreact 648 | - React-debug 649 | - React-featureflags 650 | - React-graphics 651 | - React-jsi 652 | - React-jsiexecutor 653 | - React-logger 654 | - React-rendererdebug 655 | - React-runtimescheduler 656 | - React-utils 657 | - ReactCommon/turbomodule/core 658 | - React-Fabric/leakchecker (0.78.2): 659 | - DoubleConversion 660 | - fast_float (= 6.1.4) 661 | - fmt (= 11.0.2) 662 | - glog 663 | - hermes-engine 664 | - RCT-Folly/Fabric (= 2024.11.18.00) 665 | - RCTRequired 666 | - RCTTypeSafety 667 | - React-Core 668 | - React-cxxreact 669 | - React-debug 670 | - React-featureflags 671 | - React-graphics 672 | - React-jsi 673 | - React-jsiexecutor 674 | - React-logger 675 | - React-rendererdebug 676 | - React-runtimescheduler 677 | - React-utils 678 | - ReactCommon/turbomodule/core 679 | - React-Fabric/mounting (0.78.2): 680 | - DoubleConversion 681 | - fast_float (= 6.1.4) 682 | - fmt (= 11.0.2) 683 | - glog 684 | - hermes-engine 685 | - RCT-Folly/Fabric (= 2024.11.18.00) 686 | - RCTRequired 687 | - RCTTypeSafety 688 | - React-Core 689 | - React-cxxreact 690 | - React-debug 691 | - React-featureflags 692 | - React-graphics 693 | - React-jsi 694 | - React-jsiexecutor 695 | - React-logger 696 | - React-rendererdebug 697 | - React-runtimescheduler 698 | - React-utils 699 | - ReactCommon/turbomodule/core 700 | - React-Fabric/observers (0.78.2): 701 | - DoubleConversion 702 | - fast_float (= 6.1.4) 703 | - fmt (= 11.0.2) 704 | - glog 705 | - hermes-engine 706 | - RCT-Folly/Fabric (= 2024.11.18.00) 707 | - RCTRequired 708 | - RCTTypeSafety 709 | - React-Core 710 | - React-cxxreact 711 | - React-debug 712 | - React-Fabric/observers/events (= 0.78.2) 713 | - React-featureflags 714 | - React-graphics 715 | - React-jsi 716 | - React-jsiexecutor 717 | - React-logger 718 | - React-rendererdebug 719 | - React-runtimescheduler 720 | - React-utils 721 | - ReactCommon/turbomodule/core 722 | - React-Fabric/observers/events (0.78.2): 723 | - DoubleConversion 724 | - fast_float (= 6.1.4) 725 | - fmt (= 11.0.2) 726 | - glog 727 | - hermes-engine 728 | - RCT-Folly/Fabric (= 2024.11.18.00) 729 | - RCTRequired 730 | - RCTTypeSafety 731 | - React-Core 732 | - React-cxxreact 733 | - React-debug 734 | - React-featureflags 735 | - React-graphics 736 | - React-jsi 737 | - React-jsiexecutor 738 | - React-logger 739 | - React-rendererdebug 740 | - React-runtimescheduler 741 | - React-utils 742 | - ReactCommon/turbomodule/core 743 | - React-Fabric/scheduler (0.78.2): 744 | - DoubleConversion 745 | - fast_float (= 6.1.4) 746 | - fmt (= 11.0.2) 747 | - glog 748 | - hermes-engine 749 | - RCT-Folly/Fabric (= 2024.11.18.00) 750 | - RCTRequired 751 | - RCTTypeSafety 752 | - React-Core 753 | - React-cxxreact 754 | - React-debug 755 | - React-Fabric/observers/events 756 | - React-featureflags 757 | - React-graphics 758 | - React-jsi 759 | - React-jsiexecutor 760 | - React-logger 761 | - React-performancetimeline 762 | - React-rendererdebug 763 | - React-runtimescheduler 764 | - React-utils 765 | - ReactCommon/turbomodule/core 766 | - React-Fabric/telemetry (0.78.2): 767 | - DoubleConversion 768 | - fast_float (= 6.1.4) 769 | - fmt (= 11.0.2) 770 | - glog 771 | - hermes-engine 772 | - RCT-Folly/Fabric (= 2024.11.18.00) 773 | - RCTRequired 774 | - RCTTypeSafety 775 | - React-Core 776 | - React-cxxreact 777 | - React-debug 778 | - React-featureflags 779 | - React-graphics 780 | - React-jsi 781 | - React-jsiexecutor 782 | - React-logger 783 | - React-rendererdebug 784 | - React-runtimescheduler 785 | - React-utils 786 | - ReactCommon/turbomodule/core 787 | - React-Fabric/templateprocessor (0.78.2): 788 | - DoubleConversion 789 | - fast_float (= 6.1.4) 790 | - fmt (= 11.0.2) 791 | - glog 792 | - hermes-engine 793 | - RCT-Folly/Fabric (= 2024.11.18.00) 794 | - RCTRequired 795 | - RCTTypeSafety 796 | - React-Core 797 | - React-cxxreact 798 | - React-debug 799 | - React-featureflags 800 | - React-graphics 801 | - React-jsi 802 | - React-jsiexecutor 803 | - React-logger 804 | - React-rendererdebug 805 | - React-runtimescheduler 806 | - React-utils 807 | - ReactCommon/turbomodule/core 808 | - React-Fabric/uimanager (0.78.2): 809 | - DoubleConversion 810 | - fast_float (= 6.1.4) 811 | - fmt (= 11.0.2) 812 | - glog 813 | - hermes-engine 814 | - RCT-Folly/Fabric (= 2024.11.18.00) 815 | - RCTRequired 816 | - RCTTypeSafety 817 | - React-Core 818 | - React-cxxreact 819 | - React-debug 820 | - React-Fabric/uimanager/consistency (= 0.78.2) 821 | - React-featureflags 822 | - React-graphics 823 | - React-jsi 824 | - React-jsiexecutor 825 | - React-logger 826 | - React-rendererconsistency 827 | - React-rendererdebug 828 | - React-runtimescheduler 829 | - React-utils 830 | - ReactCommon/turbomodule/core 831 | - React-Fabric/uimanager/consistency (0.78.2): 832 | - DoubleConversion 833 | - fast_float (= 6.1.4) 834 | - fmt (= 11.0.2) 835 | - glog 836 | - hermes-engine 837 | - RCT-Folly/Fabric (= 2024.11.18.00) 838 | - RCTRequired 839 | - RCTTypeSafety 840 | - React-Core 841 | - React-cxxreact 842 | - React-debug 843 | - React-featureflags 844 | - React-graphics 845 | - React-jsi 846 | - React-jsiexecutor 847 | - React-logger 848 | - React-rendererconsistency 849 | - React-rendererdebug 850 | - React-runtimescheduler 851 | - React-utils 852 | - ReactCommon/turbomodule/core 853 | - React-FabricComponents (0.78.2): 854 | - DoubleConversion 855 | - fast_float (= 6.1.4) 856 | - fmt (= 11.0.2) 857 | - glog 858 | - hermes-engine 859 | - RCT-Folly/Fabric (= 2024.11.18.00) 860 | - RCTRequired 861 | - RCTTypeSafety 862 | - React-Core 863 | - React-cxxreact 864 | - React-debug 865 | - React-Fabric 866 | - React-FabricComponents/components (= 0.78.2) 867 | - React-FabricComponents/textlayoutmanager (= 0.78.2) 868 | - React-featureflags 869 | - React-graphics 870 | - React-jsi 871 | - React-jsiexecutor 872 | - React-logger 873 | - React-rendererdebug 874 | - React-runtimescheduler 875 | - React-utils 876 | - ReactCommon/turbomodule/core 877 | - Yoga 878 | - React-FabricComponents/components (0.78.2): 879 | - DoubleConversion 880 | - fast_float (= 6.1.4) 881 | - fmt (= 11.0.2) 882 | - glog 883 | - hermes-engine 884 | - RCT-Folly/Fabric (= 2024.11.18.00) 885 | - RCTRequired 886 | - RCTTypeSafety 887 | - React-Core 888 | - React-cxxreact 889 | - React-debug 890 | - React-Fabric 891 | - React-FabricComponents/components/inputaccessory (= 0.78.2) 892 | - React-FabricComponents/components/iostextinput (= 0.78.2) 893 | - React-FabricComponents/components/modal (= 0.78.2) 894 | - React-FabricComponents/components/rncore (= 0.78.2) 895 | - React-FabricComponents/components/safeareaview (= 0.78.2) 896 | - React-FabricComponents/components/scrollview (= 0.78.2) 897 | - React-FabricComponents/components/text (= 0.78.2) 898 | - React-FabricComponents/components/textinput (= 0.78.2) 899 | - React-FabricComponents/components/unimplementedview (= 0.78.2) 900 | - React-featureflags 901 | - React-graphics 902 | - React-jsi 903 | - React-jsiexecutor 904 | - React-logger 905 | - React-rendererdebug 906 | - React-runtimescheduler 907 | - React-utils 908 | - ReactCommon/turbomodule/core 909 | - Yoga 910 | - React-FabricComponents/components/inputaccessory (0.78.2): 911 | - DoubleConversion 912 | - fast_float (= 6.1.4) 913 | - fmt (= 11.0.2) 914 | - glog 915 | - hermes-engine 916 | - RCT-Folly/Fabric (= 2024.11.18.00) 917 | - RCTRequired 918 | - RCTTypeSafety 919 | - React-Core 920 | - React-cxxreact 921 | - React-debug 922 | - React-Fabric 923 | - React-featureflags 924 | - React-graphics 925 | - React-jsi 926 | - React-jsiexecutor 927 | - React-logger 928 | - React-rendererdebug 929 | - React-runtimescheduler 930 | - React-utils 931 | - ReactCommon/turbomodule/core 932 | - Yoga 933 | - React-FabricComponents/components/iostextinput (0.78.2): 934 | - DoubleConversion 935 | - fast_float (= 6.1.4) 936 | - fmt (= 11.0.2) 937 | - glog 938 | - hermes-engine 939 | - RCT-Folly/Fabric (= 2024.11.18.00) 940 | - RCTRequired 941 | - RCTTypeSafety 942 | - React-Core 943 | - React-cxxreact 944 | - React-debug 945 | - React-Fabric 946 | - React-featureflags 947 | - React-graphics 948 | - React-jsi 949 | - React-jsiexecutor 950 | - React-logger 951 | - React-rendererdebug 952 | - React-runtimescheduler 953 | - React-utils 954 | - ReactCommon/turbomodule/core 955 | - Yoga 956 | - React-FabricComponents/components/modal (0.78.2): 957 | - DoubleConversion 958 | - fast_float (= 6.1.4) 959 | - fmt (= 11.0.2) 960 | - glog 961 | - hermes-engine 962 | - RCT-Folly/Fabric (= 2024.11.18.00) 963 | - RCTRequired 964 | - RCTTypeSafety 965 | - React-Core 966 | - React-cxxreact 967 | - React-debug 968 | - React-Fabric 969 | - React-featureflags 970 | - React-graphics 971 | - React-jsi 972 | - React-jsiexecutor 973 | - React-logger 974 | - React-rendererdebug 975 | - React-runtimescheduler 976 | - React-utils 977 | - ReactCommon/turbomodule/core 978 | - Yoga 979 | - React-FabricComponents/components/rncore (0.78.2): 980 | - DoubleConversion 981 | - fast_float (= 6.1.4) 982 | - fmt (= 11.0.2) 983 | - glog 984 | - hermes-engine 985 | - RCT-Folly/Fabric (= 2024.11.18.00) 986 | - RCTRequired 987 | - RCTTypeSafety 988 | - React-Core 989 | - React-cxxreact 990 | - React-debug 991 | - React-Fabric 992 | - React-featureflags 993 | - React-graphics 994 | - React-jsi 995 | - React-jsiexecutor 996 | - React-logger 997 | - React-rendererdebug 998 | - React-runtimescheduler 999 | - React-utils 1000 | - ReactCommon/turbomodule/core 1001 | - Yoga 1002 | - React-FabricComponents/components/safeareaview (0.78.2): 1003 | - DoubleConversion 1004 | - fast_float (= 6.1.4) 1005 | - fmt (= 11.0.2) 1006 | - glog 1007 | - hermes-engine 1008 | - RCT-Folly/Fabric (= 2024.11.18.00) 1009 | - RCTRequired 1010 | - RCTTypeSafety 1011 | - React-Core 1012 | - React-cxxreact 1013 | - React-debug 1014 | - React-Fabric 1015 | - React-featureflags 1016 | - React-graphics 1017 | - React-jsi 1018 | - React-jsiexecutor 1019 | - React-logger 1020 | - React-rendererdebug 1021 | - React-runtimescheduler 1022 | - React-utils 1023 | - ReactCommon/turbomodule/core 1024 | - Yoga 1025 | - React-FabricComponents/components/scrollview (0.78.2): 1026 | - DoubleConversion 1027 | - fast_float (= 6.1.4) 1028 | - fmt (= 11.0.2) 1029 | - glog 1030 | - hermes-engine 1031 | - RCT-Folly/Fabric (= 2024.11.18.00) 1032 | - RCTRequired 1033 | - RCTTypeSafety 1034 | - React-Core 1035 | - React-cxxreact 1036 | - React-debug 1037 | - React-Fabric 1038 | - React-featureflags 1039 | - React-graphics 1040 | - React-jsi 1041 | - React-jsiexecutor 1042 | - React-logger 1043 | - React-rendererdebug 1044 | - React-runtimescheduler 1045 | - React-utils 1046 | - ReactCommon/turbomodule/core 1047 | - Yoga 1048 | - React-FabricComponents/components/text (0.78.2): 1049 | - DoubleConversion 1050 | - fast_float (= 6.1.4) 1051 | - fmt (= 11.0.2) 1052 | - glog 1053 | - hermes-engine 1054 | - RCT-Folly/Fabric (= 2024.11.18.00) 1055 | - RCTRequired 1056 | - RCTTypeSafety 1057 | - React-Core 1058 | - React-cxxreact 1059 | - React-debug 1060 | - React-Fabric 1061 | - React-featureflags 1062 | - React-graphics 1063 | - React-jsi 1064 | - React-jsiexecutor 1065 | - React-logger 1066 | - React-rendererdebug 1067 | - React-runtimescheduler 1068 | - React-utils 1069 | - ReactCommon/turbomodule/core 1070 | - Yoga 1071 | - React-FabricComponents/components/textinput (0.78.2): 1072 | - DoubleConversion 1073 | - fast_float (= 6.1.4) 1074 | - fmt (= 11.0.2) 1075 | - glog 1076 | - hermes-engine 1077 | - RCT-Folly/Fabric (= 2024.11.18.00) 1078 | - RCTRequired 1079 | - RCTTypeSafety 1080 | - React-Core 1081 | - React-cxxreact 1082 | - React-debug 1083 | - React-Fabric 1084 | - React-featureflags 1085 | - React-graphics 1086 | - React-jsi 1087 | - React-jsiexecutor 1088 | - React-logger 1089 | - React-rendererdebug 1090 | - React-runtimescheduler 1091 | - React-utils 1092 | - ReactCommon/turbomodule/core 1093 | - Yoga 1094 | - React-FabricComponents/components/unimplementedview (0.78.2): 1095 | - DoubleConversion 1096 | - fast_float (= 6.1.4) 1097 | - fmt (= 11.0.2) 1098 | - glog 1099 | - hermes-engine 1100 | - RCT-Folly/Fabric (= 2024.11.18.00) 1101 | - RCTRequired 1102 | - RCTTypeSafety 1103 | - React-Core 1104 | - React-cxxreact 1105 | - React-debug 1106 | - React-Fabric 1107 | - React-featureflags 1108 | - React-graphics 1109 | - React-jsi 1110 | - React-jsiexecutor 1111 | - React-logger 1112 | - React-rendererdebug 1113 | - React-runtimescheduler 1114 | - React-utils 1115 | - ReactCommon/turbomodule/core 1116 | - Yoga 1117 | - React-FabricComponents/textlayoutmanager (0.78.2): 1118 | - DoubleConversion 1119 | - fast_float (= 6.1.4) 1120 | - fmt (= 11.0.2) 1121 | - glog 1122 | - hermes-engine 1123 | - RCT-Folly/Fabric (= 2024.11.18.00) 1124 | - RCTRequired 1125 | - RCTTypeSafety 1126 | - React-Core 1127 | - React-cxxreact 1128 | - React-debug 1129 | - React-Fabric 1130 | - React-featureflags 1131 | - React-graphics 1132 | - React-jsi 1133 | - React-jsiexecutor 1134 | - React-logger 1135 | - React-rendererdebug 1136 | - React-runtimescheduler 1137 | - React-utils 1138 | - ReactCommon/turbomodule/core 1139 | - Yoga 1140 | - React-FabricImage (0.78.2): 1141 | - DoubleConversion 1142 | - fast_float (= 6.1.4) 1143 | - fmt (= 11.0.2) 1144 | - glog 1145 | - hermes-engine 1146 | - RCT-Folly/Fabric (= 2024.11.18.00) 1147 | - RCTRequired (= 0.78.2) 1148 | - RCTTypeSafety (= 0.78.2) 1149 | - React-Fabric 1150 | - React-featureflags 1151 | - React-graphics 1152 | - React-ImageManager 1153 | - React-jsi 1154 | - React-jsiexecutor (= 0.78.2) 1155 | - React-logger 1156 | - React-rendererdebug 1157 | - React-utils 1158 | - ReactCommon 1159 | - Yoga 1160 | - React-featureflags (0.78.2): 1161 | - RCT-Folly (= 2024.11.18.00) 1162 | - React-featureflagsnativemodule (0.78.2): 1163 | - hermes-engine 1164 | - RCT-Folly 1165 | - React-featureflags 1166 | - React-jsi 1167 | - React-jsiexecutor 1168 | - React-RCTFBReactNativeSpec 1169 | - ReactCommon/turbomodule/core 1170 | - React-graphics (0.78.2): 1171 | - DoubleConversion 1172 | - fast_float (= 6.1.4) 1173 | - fmt (= 11.0.2) 1174 | - glog 1175 | - hermes-engine 1176 | - RCT-Folly/Fabric (= 2024.11.18.00) 1177 | - React-jsi 1178 | - React-jsiexecutor 1179 | - React-utils 1180 | - React-hermes (0.78.2): 1181 | - DoubleConversion 1182 | - fast_float (= 6.1.4) 1183 | - fmt (= 11.0.2) 1184 | - glog 1185 | - hermes-engine 1186 | - RCT-Folly (= 2024.11.18.00) 1187 | - React-cxxreact (= 0.78.2) 1188 | - React-jsi 1189 | - React-jsiexecutor (= 0.78.2) 1190 | - React-jsinspector 1191 | - React-perflogger (= 0.78.2) 1192 | - React-runtimeexecutor 1193 | - React-idlecallbacksnativemodule (0.78.2): 1194 | - glog 1195 | - hermes-engine 1196 | - RCT-Folly 1197 | - React-jsi 1198 | - React-jsiexecutor 1199 | - React-RCTFBReactNativeSpec 1200 | - React-runtimescheduler 1201 | - ReactCommon/turbomodule/core 1202 | - React-ImageManager (0.78.2): 1203 | - glog 1204 | - RCT-Folly/Fabric 1205 | - React-Core/Default 1206 | - React-debug 1207 | - React-Fabric 1208 | - React-graphics 1209 | - React-rendererdebug 1210 | - React-utils 1211 | - React-jserrorhandler (0.78.2): 1212 | - glog 1213 | - hermes-engine 1214 | - RCT-Folly/Fabric (= 2024.11.18.00) 1215 | - React-cxxreact 1216 | - React-debug 1217 | - React-featureflags 1218 | - React-jsi 1219 | - ReactCommon/turbomodule/bridging 1220 | - React-jsi (0.78.2): 1221 | - boost 1222 | - DoubleConversion 1223 | - fast_float (= 6.1.4) 1224 | - fmt (= 11.0.2) 1225 | - glog 1226 | - hermes-engine 1227 | - RCT-Folly (= 2024.11.18.00) 1228 | - React-jsiexecutor (0.78.2): 1229 | - DoubleConversion 1230 | - fast_float (= 6.1.4) 1231 | - fmt (= 11.0.2) 1232 | - glog 1233 | - hermes-engine 1234 | - RCT-Folly (= 2024.11.18.00) 1235 | - React-cxxreact (= 0.78.2) 1236 | - React-jsi (= 0.78.2) 1237 | - React-jsinspector 1238 | - React-perflogger (= 0.78.2) 1239 | - React-jsinspector (0.78.2): 1240 | - DoubleConversion 1241 | - glog 1242 | - hermes-engine 1243 | - RCT-Folly 1244 | - React-featureflags 1245 | - React-jsi 1246 | - React-jsinspectortracing 1247 | - React-perflogger (= 0.78.2) 1248 | - React-runtimeexecutor (= 0.78.2) 1249 | - React-jsinspectortracing (0.78.2): 1250 | - RCT-Folly 1251 | - React-jsitracing (0.78.2): 1252 | - React-jsi 1253 | - React-logger (0.78.2): 1254 | - glog 1255 | - React-Mapbuffer (0.78.2): 1256 | - glog 1257 | - React-debug 1258 | - React-microtasksnativemodule (0.78.2): 1259 | - hermes-engine 1260 | - RCT-Folly 1261 | - React-jsi 1262 | - React-jsiexecutor 1263 | - React-RCTFBReactNativeSpec 1264 | - ReactCommon/turbomodule/core 1265 | - react-native-bottom-tabs (0.9.0): 1266 | - DoubleConversion 1267 | - glog 1268 | - hermes-engine 1269 | - RCT-Folly (= 2024.11.18.00) 1270 | - RCTRequired 1271 | - RCTTypeSafety 1272 | - React-Core 1273 | - React-debug 1274 | - React-Fabric 1275 | - React-featureflags 1276 | - React-graphics 1277 | - React-ImageManager 1278 | - React-NativeModulesApple 1279 | - React-RCTFabric 1280 | - React-rendererdebug 1281 | - React-utils 1282 | - ReactCodegen 1283 | - ReactCommon/turbomodule/bridging 1284 | - ReactCommon/turbomodule/core 1285 | - SDWebImage (>= 5.19.1) 1286 | - SDWebImageSVGCoder (>= 1.7.0) 1287 | - SwiftUIIntrospect (~> 1.0) 1288 | - Yoga 1289 | - react-native-safe-area-context (5.3.0): 1290 | - DoubleConversion 1291 | - glog 1292 | - hermes-engine 1293 | - RCT-Folly (= 2024.11.18.00) 1294 | - RCTRequired 1295 | - RCTTypeSafety 1296 | - React-Core 1297 | - React-debug 1298 | - React-Fabric 1299 | - React-featureflags 1300 | - React-graphics 1301 | - React-ImageManager 1302 | - react-native-safe-area-context/common (= 5.3.0) 1303 | - react-native-safe-area-context/fabric (= 5.3.0) 1304 | - React-NativeModulesApple 1305 | - React-RCTFabric 1306 | - React-rendererdebug 1307 | - React-utils 1308 | - ReactCodegen 1309 | - ReactCommon/turbomodule/bridging 1310 | - ReactCommon/turbomodule/core 1311 | - Yoga 1312 | - react-native-safe-area-context/common (5.3.0): 1313 | - DoubleConversion 1314 | - glog 1315 | - hermes-engine 1316 | - RCT-Folly (= 2024.11.18.00) 1317 | - RCTRequired 1318 | - RCTTypeSafety 1319 | - React-Core 1320 | - React-debug 1321 | - React-Fabric 1322 | - React-featureflags 1323 | - React-graphics 1324 | - React-ImageManager 1325 | - React-NativeModulesApple 1326 | - React-RCTFabric 1327 | - React-rendererdebug 1328 | - React-utils 1329 | - ReactCodegen 1330 | - ReactCommon/turbomodule/bridging 1331 | - ReactCommon/turbomodule/core 1332 | - Yoga 1333 | - react-native-safe-area-context/fabric (5.3.0): 1334 | - DoubleConversion 1335 | - glog 1336 | - hermes-engine 1337 | - RCT-Folly (= 2024.11.18.00) 1338 | - RCTRequired 1339 | - RCTTypeSafety 1340 | - React-Core 1341 | - React-debug 1342 | - React-Fabric 1343 | - React-featureflags 1344 | - React-graphics 1345 | - React-ImageManager 1346 | - react-native-safe-area-context/common 1347 | - React-NativeModulesApple 1348 | - React-RCTFabric 1349 | - React-rendererdebug 1350 | - React-utils 1351 | - ReactCodegen 1352 | - ReactCommon/turbomodule/bridging 1353 | - ReactCommon/turbomodule/core 1354 | - Yoga 1355 | - React-NativeModulesApple (0.78.2): 1356 | - glog 1357 | - hermes-engine 1358 | - React-callinvoker 1359 | - React-Core 1360 | - React-cxxreact 1361 | - React-jsi 1362 | - React-jsinspector 1363 | - React-runtimeexecutor 1364 | - ReactCommon/turbomodule/bridging 1365 | - ReactCommon/turbomodule/core 1366 | - React-perflogger (0.78.2): 1367 | - DoubleConversion 1368 | - RCT-Folly (= 2024.11.18.00) 1369 | - React-performancetimeline (0.78.2): 1370 | - RCT-Folly (= 2024.11.18.00) 1371 | - React-cxxreact 1372 | - React-featureflags 1373 | - React-jsinspectortracing 1374 | - React-timing 1375 | - React-RCTActionSheet (0.78.2): 1376 | - React-Core/RCTActionSheetHeaders (= 0.78.2) 1377 | - React-RCTAnimation (0.78.2): 1378 | - RCT-Folly (= 2024.11.18.00) 1379 | - RCTTypeSafety 1380 | - React-Core/RCTAnimationHeaders 1381 | - React-jsi 1382 | - React-NativeModulesApple 1383 | - React-RCTFBReactNativeSpec 1384 | - ReactCommon 1385 | - React-RCTAppDelegate (0.78.2): 1386 | - RCT-Folly (= 2024.11.18.00) 1387 | - RCTRequired 1388 | - RCTTypeSafety 1389 | - React-Core 1390 | - React-CoreModules 1391 | - React-debug 1392 | - React-defaultsnativemodule 1393 | - React-Fabric 1394 | - React-featureflags 1395 | - React-graphics 1396 | - React-hermes 1397 | - React-NativeModulesApple 1398 | - React-RCTFabric 1399 | - React-RCTFBReactNativeSpec 1400 | - React-RCTImage 1401 | - React-RCTNetwork 1402 | - React-rendererdebug 1403 | - React-RuntimeApple 1404 | - React-RuntimeCore 1405 | - React-RuntimeHermes 1406 | - React-runtimescheduler 1407 | - React-utils 1408 | - ReactCommon 1409 | - React-RCTBlob (0.78.2): 1410 | - DoubleConversion 1411 | - fast_float (= 6.1.4) 1412 | - fmt (= 11.0.2) 1413 | - hermes-engine 1414 | - RCT-Folly (= 2024.11.18.00) 1415 | - React-Core/RCTBlobHeaders 1416 | - React-Core/RCTWebSocket 1417 | - React-jsi 1418 | - React-jsinspector 1419 | - React-NativeModulesApple 1420 | - React-RCTFBReactNativeSpec 1421 | - React-RCTNetwork 1422 | - ReactCommon 1423 | - React-RCTFabric (0.78.2): 1424 | - glog 1425 | - hermes-engine 1426 | - RCT-Folly/Fabric (= 2024.11.18.00) 1427 | - React-Core 1428 | - React-debug 1429 | - React-Fabric 1430 | - React-FabricComponents 1431 | - React-FabricImage 1432 | - React-featureflags 1433 | - React-graphics 1434 | - React-ImageManager 1435 | - React-jsi 1436 | - React-jsinspector 1437 | - React-jsinspectortracing 1438 | - React-performancetimeline 1439 | - React-RCTImage 1440 | - React-RCTText 1441 | - React-rendererconsistency 1442 | - React-rendererdebug 1443 | - React-runtimescheduler 1444 | - React-utils 1445 | - Yoga 1446 | - React-RCTFBReactNativeSpec (0.78.2): 1447 | - hermes-engine 1448 | - RCT-Folly 1449 | - RCTRequired 1450 | - RCTTypeSafety 1451 | - React-Core 1452 | - React-jsi 1453 | - React-jsiexecutor 1454 | - React-NativeModulesApple 1455 | - ReactCommon 1456 | - React-RCTImage (0.78.2): 1457 | - RCT-Folly (= 2024.11.18.00) 1458 | - RCTTypeSafety 1459 | - React-Core/RCTImageHeaders 1460 | - React-jsi 1461 | - React-NativeModulesApple 1462 | - React-RCTFBReactNativeSpec 1463 | - React-RCTNetwork 1464 | - ReactCommon 1465 | - React-RCTLinking (0.78.2): 1466 | - React-Core/RCTLinkingHeaders (= 0.78.2) 1467 | - React-jsi (= 0.78.2) 1468 | - React-NativeModulesApple 1469 | - React-RCTFBReactNativeSpec 1470 | - ReactCommon 1471 | - ReactCommon/turbomodule/core (= 0.78.2) 1472 | - React-RCTNetwork (0.78.2): 1473 | - RCT-Folly (= 2024.11.18.00) 1474 | - RCTTypeSafety 1475 | - React-Core/RCTNetworkHeaders 1476 | - React-jsi 1477 | - React-NativeModulesApple 1478 | - React-RCTFBReactNativeSpec 1479 | - ReactCommon 1480 | - React-RCTSettings (0.78.2): 1481 | - RCT-Folly (= 2024.11.18.00) 1482 | - RCTTypeSafety 1483 | - React-Core/RCTSettingsHeaders 1484 | - React-jsi 1485 | - React-NativeModulesApple 1486 | - React-RCTFBReactNativeSpec 1487 | - ReactCommon 1488 | - React-RCTText (0.78.2): 1489 | - React-Core/RCTTextHeaders (= 0.78.2) 1490 | - Yoga 1491 | - React-RCTVibration (0.78.2): 1492 | - RCT-Folly (= 2024.11.18.00) 1493 | - React-Core/RCTVibrationHeaders 1494 | - React-jsi 1495 | - React-NativeModulesApple 1496 | - React-RCTFBReactNativeSpec 1497 | - ReactCommon 1498 | - React-rendererconsistency (0.78.2) 1499 | - React-rendererdebug (0.78.2): 1500 | - DoubleConversion 1501 | - fast_float (= 6.1.4) 1502 | - fmt (= 11.0.2) 1503 | - RCT-Folly (= 2024.11.18.00) 1504 | - React-debug 1505 | - React-rncore (0.78.2) 1506 | - React-RuntimeApple (0.78.2): 1507 | - hermes-engine 1508 | - RCT-Folly/Fabric (= 2024.11.18.00) 1509 | - React-callinvoker 1510 | - React-Core/Default 1511 | - React-CoreModules 1512 | - React-cxxreact 1513 | - React-featureflags 1514 | - React-jserrorhandler 1515 | - React-jsi 1516 | - React-jsiexecutor 1517 | - React-jsinspector 1518 | - React-Mapbuffer 1519 | - React-NativeModulesApple 1520 | - React-RCTFabric 1521 | - React-RCTFBReactNativeSpec 1522 | - React-RuntimeCore 1523 | - React-runtimeexecutor 1524 | - React-RuntimeHermes 1525 | - React-runtimescheduler 1526 | - React-utils 1527 | - React-RuntimeCore (0.78.2): 1528 | - glog 1529 | - hermes-engine 1530 | - RCT-Folly/Fabric (= 2024.11.18.00) 1531 | - React-cxxreact 1532 | - React-Fabric 1533 | - React-featureflags 1534 | - React-jserrorhandler 1535 | - React-jsi 1536 | - React-jsiexecutor 1537 | - React-jsinspector 1538 | - React-performancetimeline 1539 | - React-runtimeexecutor 1540 | - React-runtimescheduler 1541 | - React-utils 1542 | - React-runtimeexecutor (0.78.2): 1543 | - React-jsi (= 0.78.2) 1544 | - React-RuntimeHermes (0.78.2): 1545 | - hermes-engine 1546 | - RCT-Folly/Fabric (= 2024.11.18.00) 1547 | - React-featureflags 1548 | - React-hermes 1549 | - React-jsi 1550 | - React-jsinspector 1551 | - React-jsitracing 1552 | - React-RuntimeCore 1553 | - React-utils 1554 | - React-runtimescheduler (0.78.2): 1555 | - glog 1556 | - hermes-engine 1557 | - RCT-Folly (= 2024.11.18.00) 1558 | - React-callinvoker 1559 | - React-cxxreact 1560 | - React-debug 1561 | - React-featureflags 1562 | - React-jsi 1563 | - React-performancetimeline 1564 | - React-rendererconsistency 1565 | - React-rendererdebug 1566 | - React-runtimeexecutor 1567 | - React-timing 1568 | - React-utils 1569 | - React-timing (0.78.2) 1570 | - React-utils (0.78.2): 1571 | - glog 1572 | - hermes-engine 1573 | - RCT-Folly (= 2024.11.18.00) 1574 | - React-debug 1575 | - React-jsi (= 0.78.2) 1576 | - ReactAppDependencyProvider (0.78.2): 1577 | - ReactCodegen 1578 | - ReactCodegen (0.78.2): 1579 | - DoubleConversion 1580 | - glog 1581 | - hermes-engine 1582 | - RCT-Folly 1583 | - RCTRequired 1584 | - RCTTypeSafety 1585 | - React-Core 1586 | - React-debug 1587 | - React-Fabric 1588 | - React-FabricImage 1589 | - React-featureflags 1590 | - React-graphics 1591 | - React-jsi 1592 | - React-jsiexecutor 1593 | - React-NativeModulesApple 1594 | - React-RCTAppDelegate 1595 | - React-rendererdebug 1596 | - React-utils 1597 | - ReactCommon/turbomodule/bridging 1598 | - ReactCommon/turbomodule/core 1599 | - ReactCommon (0.78.2): 1600 | - ReactCommon/turbomodule (= 0.78.2) 1601 | - ReactCommon/turbomodule (0.78.2): 1602 | - DoubleConversion 1603 | - fast_float (= 6.1.4) 1604 | - fmt (= 11.0.2) 1605 | - glog 1606 | - hermes-engine 1607 | - RCT-Folly (= 2024.11.18.00) 1608 | - React-callinvoker (= 0.78.2) 1609 | - React-cxxreact (= 0.78.2) 1610 | - React-jsi (= 0.78.2) 1611 | - React-logger (= 0.78.2) 1612 | - React-perflogger (= 0.78.2) 1613 | - ReactCommon/turbomodule/bridging (= 0.78.2) 1614 | - ReactCommon/turbomodule/core (= 0.78.2) 1615 | - ReactCommon/turbomodule/bridging (0.78.2): 1616 | - DoubleConversion 1617 | - fast_float (= 6.1.4) 1618 | - fmt (= 11.0.2) 1619 | - glog 1620 | - hermes-engine 1621 | - RCT-Folly (= 2024.11.18.00) 1622 | - React-callinvoker (= 0.78.2) 1623 | - React-cxxreact (= 0.78.2) 1624 | - React-jsi (= 0.78.2) 1625 | - React-logger (= 0.78.2) 1626 | - React-perflogger (= 0.78.2) 1627 | - ReactCommon/turbomodule/core (0.78.2): 1628 | - DoubleConversion 1629 | - fast_float (= 6.1.4) 1630 | - fmt (= 11.0.2) 1631 | - glog 1632 | - hermes-engine 1633 | - RCT-Folly (= 2024.11.18.00) 1634 | - React-callinvoker (= 0.78.2) 1635 | - React-cxxreact (= 0.78.2) 1636 | - React-debug (= 0.78.2) 1637 | - React-featureflags (= 0.78.2) 1638 | - React-jsi (= 0.78.2) 1639 | - React-logger (= 0.78.2) 1640 | - React-perflogger (= 0.78.2) 1641 | - React-utils (= 0.78.2) 1642 | - RNScreens (4.10.0): 1643 | - DoubleConversion 1644 | - glog 1645 | - hermes-engine 1646 | - RCT-Folly (= 2024.11.18.00) 1647 | - RCTRequired 1648 | - RCTTypeSafety 1649 | - React-Core 1650 | - React-debug 1651 | - React-Fabric 1652 | - React-featureflags 1653 | - React-graphics 1654 | - React-ImageManager 1655 | - React-NativeModulesApple 1656 | - React-RCTFabric 1657 | - React-RCTImage 1658 | - React-rendererdebug 1659 | - React-utils 1660 | - ReactCodegen 1661 | - ReactCommon/turbomodule/bridging 1662 | - ReactCommon/turbomodule/core 1663 | - RNScreens/common (= 4.10.0) 1664 | - Yoga 1665 | - RNScreens/common (4.10.0): 1666 | - DoubleConversion 1667 | - glog 1668 | - hermes-engine 1669 | - RCT-Folly (= 2024.11.18.00) 1670 | - RCTRequired 1671 | - RCTTypeSafety 1672 | - React-Core 1673 | - React-debug 1674 | - React-Fabric 1675 | - React-featureflags 1676 | - React-graphics 1677 | - React-ImageManager 1678 | - React-NativeModulesApple 1679 | - React-RCTFabric 1680 | - React-RCTImage 1681 | - React-rendererdebug 1682 | - React-utils 1683 | - ReactCodegen 1684 | - ReactCommon/turbomodule/bridging 1685 | - ReactCommon/turbomodule/core 1686 | - Yoga 1687 | - RNVectorIcons (10.2.0): 1688 | - DoubleConversion 1689 | - glog 1690 | - hermes-engine 1691 | - RCT-Folly (= 2024.11.18.00) 1692 | - RCTRequired 1693 | - RCTTypeSafety 1694 | - React-Core 1695 | - React-debug 1696 | - React-Fabric 1697 | - React-featureflags 1698 | - React-graphics 1699 | - React-ImageManager 1700 | - React-NativeModulesApple 1701 | - React-RCTFabric 1702 | - React-rendererdebug 1703 | - React-utils 1704 | - ReactCodegen 1705 | - ReactCommon/turbomodule/bridging 1706 | - ReactCommon/turbomodule/core 1707 | - Yoga 1708 | - SDWebImage (5.21.0): 1709 | - SDWebImage/Core (= 5.21.0) 1710 | - SDWebImage/Core (5.21.0) 1711 | - SDWebImageSVGCoder (1.8.0): 1712 | - SDWebImage/Core (~> 5.6) 1713 | - SocketRocket (0.7.1) 1714 | - SwiftUIIntrospect (1.3.0) 1715 | - SwiftyRSA (1.7.0): 1716 | - SwiftyRSA/ObjC (= 1.7.0) 1717 | - SwiftyRSA/ObjC (1.7.0) 1718 | - Yoga (0.0.0) 1719 | 1720 | DEPENDENCIES: 1721 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) 1722 | - "callstack-repack (from `../node_modules/@callstack/repack`)" 1723 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) 1724 | - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) 1725 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) 1726 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) 1727 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) 1728 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) 1729 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1730 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1731 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) 1732 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`) 1733 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) 1734 | - React (from `../node_modules/react-native/`) 1735 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) 1736 | - React-Core (from `../node_modules/react-native/`) 1737 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`) 1738 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) 1739 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) 1740 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) 1741 | - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) 1742 | - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) 1743 | - React-Fabric (from `../node_modules/react-native/ReactCommon`) 1744 | - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) 1745 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`) 1746 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) 1747 | - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) 1748 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) 1749 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) 1750 | - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) 1751 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) 1752 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) 1753 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) 1754 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 1755 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) 1756 | - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) 1757 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) 1758 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`) 1759 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) 1760 | - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) 1761 | - react-native-bottom-tabs (from `../node_modules/react-native-bottom-tabs`) 1762 | - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) 1763 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) 1764 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) 1765 | - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) 1766 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) 1767 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) 1768 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) 1769 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) 1770 | - React-RCTFabric (from `../node_modules/react-native/React`) 1771 | - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) 1772 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) 1773 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) 1774 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) 1775 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) 1776 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`) 1777 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) 1778 | - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) 1779 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) 1780 | - React-rncore (from `../node_modules/react-native/ReactCommon`) 1781 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) 1782 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) 1783 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) 1784 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) 1785 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) 1786 | - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) 1787 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) 1788 | - ReactAppDependencyProvider (from `build/generated/ios`) 1789 | - ReactCodegen (from `build/generated/ios`) 1790 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) 1791 | - RNScreens (from `../node_modules/react-native-screens`) 1792 | - RNVectorIcons (from `../node_modules/react-native-vector-icons`) 1793 | - SDWebImage 1794 | - SDWebImageSVGCoder 1795 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) 1796 | 1797 | SPEC REPOS: 1798 | trunk: 1799 | - JWTDecode 1800 | - SDWebImage 1801 | - SDWebImageSVGCoder 1802 | - SocketRocket 1803 | - SwiftUIIntrospect 1804 | - SwiftyRSA 1805 | 1806 | EXTERNAL SOURCES: 1807 | boost: 1808 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" 1809 | callstack-repack: 1810 | :path: "../node_modules/@callstack/repack" 1811 | DoubleConversion: 1812 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" 1813 | fast_float: 1814 | :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" 1815 | FBLazyVector: 1816 | :path: "../node_modules/react-native/Libraries/FBLazyVector" 1817 | fmt: 1818 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" 1819 | glog: 1820 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" 1821 | hermes-engine: 1822 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" 1823 | :tag: hermes-2025-01-13-RNv0.78.0-a942ef374897d85da38e9c8904574f8376555388 1824 | RCT-Folly: 1825 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" 1826 | RCTDeprecation: 1827 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" 1828 | RCTRequired: 1829 | :path: "../node_modules/react-native/Libraries/Required" 1830 | RCTTypeSafety: 1831 | :path: "../node_modules/react-native/Libraries/TypeSafety" 1832 | React: 1833 | :path: "../node_modules/react-native/" 1834 | React-callinvoker: 1835 | :path: "../node_modules/react-native/ReactCommon/callinvoker" 1836 | React-Core: 1837 | :path: "../node_modules/react-native/" 1838 | React-CoreModules: 1839 | :path: "../node_modules/react-native/React/CoreModules" 1840 | React-cxxreact: 1841 | :path: "../node_modules/react-native/ReactCommon/cxxreact" 1842 | React-debug: 1843 | :path: "../node_modules/react-native/ReactCommon/react/debug" 1844 | React-defaultsnativemodule: 1845 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" 1846 | React-domnativemodule: 1847 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" 1848 | React-Fabric: 1849 | :path: "../node_modules/react-native/ReactCommon" 1850 | React-FabricComponents: 1851 | :path: "../node_modules/react-native/ReactCommon" 1852 | React-FabricImage: 1853 | :path: "../node_modules/react-native/ReactCommon" 1854 | React-featureflags: 1855 | :path: "../node_modules/react-native/ReactCommon/react/featureflags" 1856 | React-featureflagsnativemodule: 1857 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" 1858 | React-graphics: 1859 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" 1860 | React-hermes: 1861 | :path: "../node_modules/react-native/ReactCommon/hermes" 1862 | React-idlecallbacksnativemodule: 1863 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" 1864 | React-ImageManager: 1865 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" 1866 | React-jserrorhandler: 1867 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler" 1868 | React-jsi: 1869 | :path: "../node_modules/react-native/ReactCommon/jsi" 1870 | React-jsiexecutor: 1871 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor" 1872 | React-jsinspector: 1873 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" 1874 | React-jsinspectortracing: 1875 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" 1876 | React-jsitracing: 1877 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/" 1878 | React-logger: 1879 | :path: "../node_modules/react-native/ReactCommon/logger" 1880 | React-Mapbuffer: 1881 | :path: "../node_modules/react-native/ReactCommon" 1882 | React-microtasksnativemodule: 1883 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" 1884 | react-native-bottom-tabs: 1885 | :path: "../node_modules/react-native-bottom-tabs" 1886 | react-native-safe-area-context: 1887 | :path: "../node_modules/react-native-safe-area-context" 1888 | React-NativeModulesApple: 1889 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" 1890 | React-perflogger: 1891 | :path: "../node_modules/react-native/ReactCommon/reactperflogger" 1892 | React-performancetimeline: 1893 | :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" 1894 | React-RCTActionSheet: 1895 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS" 1896 | React-RCTAnimation: 1897 | :path: "../node_modules/react-native/Libraries/NativeAnimation" 1898 | React-RCTAppDelegate: 1899 | :path: "../node_modules/react-native/Libraries/AppDelegate" 1900 | React-RCTBlob: 1901 | :path: "../node_modules/react-native/Libraries/Blob" 1902 | React-RCTFabric: 1903 | :path: "../node_modules/react-native/React" 1904 | React-RCTFBReactNativeSpec: 1905 | :path: "../node_modules/react-native/React" 1906 | React-RCTImage: 1907 | :path: "../node_modules/react-native/Libraries/Image" 1908 | React-RCTLinking: 1909 | :path: "../node_modules/react-native/Libraries/LinkingIOS" 1910 | React-RCTNetwork: 1911 | :path: "../node_modules/react-native/Libraries/Network" 1912 | React-RCTSettings: 1913 | :path: "../node_modules/react-native/Libraries/Settings" 1914 | React-RCTText: 1915 | :path: "../node_modules/react-native/Libraries/Text" 1916 | React-RCTVibration: 1917 | :path: "../node_modules/react-native/Libraries/Vibration" 1918 | React-rendererconsistency: 1919 | :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" 1920 | React-rendererdebug: 1921 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" 1922 | React-rncore: 1923 | :path: "../node_modules/react-native/ReactCommon" 1924 | React-RuntimeApple: 1925 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" 1926 | React-RuntimeCore: 1927 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1928 | React-runtimeexecutor: 1929 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" 1930 | React-RuntimeHermes: 1931 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1932 | React-runtimescheduler: 1933 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" 1934 | React-timing: 1935 | :path: "../node_modules/react-native/ReactCommon/react/timing" 1936 | React-utils: 1937 | :path: "../node_modules/react-native/ReactCommon/react/utils" 1938 | ReactAppDependencyProvider: 1939 | :path: build/generated/ios 1940 | ReactCodegen: 1941 | :path: build/generated/ios 1942 | ReactCommon: 1943 | :path: "../node_modules/react-native/ReactCommon" 1944 | RNScreens: 1945 | :path: "../node_modules/react-native-screens" 1946 | RNVectorIcons: 1947 | :path: "../node_modules/react-native-vector-icons" 1948 | Yoga: 1949 | :path: "../node_modules/react-native/ReactCommon/yoga" 1950 | 1951 | SPEC CHECKSUMS: 1952 | boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 1953 | callstack-repack: b5abede9ce4df28005eca2d2ca66837c69083bfd 1954 | DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb 1955 | fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 1956 | FBLazyVector: e32d34492c519a2194ec9d7f5e7a79d11b73f91c 1957 | fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd 1958 | glog: eb93e2f488219332457c3c4eafd2738ddc7e80b8 1959 | hermes-engine: f493b0a600aed5dc06532141603688a30a5b2f61 1960 | JWTDecode: 2eed97c2fa46ccaf3049a787004eedf0be474a87 1961 | RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82 1962 | RCTDeprecation: be794de7dc6ed8f9f7fbf525f86e7651b8b68746 1963 | RCTRequired: a83787b092ec554c2eb6019ff3f5b8d125472b3b 1964 | RCTTypeSafety: 48ad3c858926b1c46f46a81a58822b476e178e2c 1965 | React: 3b5754191f1b65f1dbc52fbea7959c3d2d9e39c9 1966 | React-callinvoker: 6beeaf4c7db11b6cc953fac45f2c76e3fb125013 1967 | React-Core: 8a10ac9de53373a3ecb5dfcbcf56df1d3dad0861 1968 | React-CoreModules: af6999b35c7c01b0e12b59d27f3e054e13da43b1 1969 | React-cxxreact: 833f00155ce8c2fda17f6d286f8eaeff2ececc69 1970 | React-debug: 440175830c448e7e53e61ebb8d8468c3256b645e 1971 | React-defaultsnativemodule: a970effe18fe50bdbbb7115c3297f873b666d0d4 1972 | React-domnativemodule: 45f886342a724e61531b18fba1859bb6782e5d62 1973 | React-Fabric: 69f1881f2177a8512304a64157943548ab6df0cf 1974 | React-FabricComponents: f54111c8e2439fc273ab07483e3a7054ca1e75af 1975 | React-FabricImage: 9ad2619dfe8c386d79e8aaa87da6e8f018ab9592 1976 | React-featureflags: b9cf9b35baca1c7f20c06a104ffc325a02752faa 1977 | React-featureflagsnativemodule: 7f1bc76d1d2c5bede5e753b8d188dbde7c59b12f 1978 | React-graphics: 069e0d0b31ed1e80feb023ad4f7e97f00e84f7b9 1979 | React-hermes: 63df5ac5a944889c8758a6213b39ed825863adb7 1980 | React-idlecallbacksnativemodule: 4c700bd7c0012adf904929075a79418b828b5ffc 1981 | React-ImageManager: 5d1ba8a7bae44ebba43fc93da64937c713d42941 1982 | React-jserrorhandler: 0defd58f8bb797cdd0a820f733bf42d8bee708ce 1983 | React-jsi: 99d6207ec802ad73473a0dad3c9ad48cd98463f6 1984 | React-jsiexecutor: 8c8097b4ba7e7f480582d6e6238b01be5dcc01c0 1985 | React-jsinspector: ea148ec45bc7ff830e443383ea715f9780c15934 1986 | React-jsinspectortracing: 46bb2841982f01e7b63eaab98140fa1de5b2a1db 1987 | React-jsitracing: c1063fc2233960d1c8322291e74bca51d25c10d7 1988 | React-logger: 763728cf4eebc9c5dc9bfc3649e22295784f69f3 1989 | React-Mapbuffer: 63278529b5cf531a7eaf8fc71244fabb062ca90c 1990 | React-microtasksnativemodule: 6a39463c32ce831c4c2aa8469273114d894b6be9 1991 | react-native-bottom-tabs: 3fe6aaed5c0f19833cb437ad9cb9754518cf16d7 1992 | react-native-safe-area-context: 0f14bce545abcdfbff79ce2e3c78c109f0be283e 1993 | React-NativeModulesApple: fd0545efbb7f936f78edd15a6564a72d2c34bb32 1994 | React-perflogger: 5f8fa36a8e168fb355efe72099efe77213bc2ac6 1995 | React-performancetimeline: 8c0ecfa1ae459cc5678a65f95ac3bf85644d6feb 1996 | React-RCTActionSheet: 2ef95837e89b9b154f13cd8401f9054fc3076aff 1997 | React-RCTAnimation: 46abefd5acfda7e6629f9e153646deecc70babd2 1998 | React-RCTAppDelegate: 7e58e0299e304cceee3f7019fa77bc6990f66b22 1999 | React-RCTBlob: f68c63a801ef1d27e83c4011e3b083cc86a200d7 2000 | React-RCTFabric: c59f41d0c4edbaac8baa232731ca09925ae4dda7 2001 | React-RCTFBReactNativeSpec: 3240b9b8d792aa4be0fb85c9898fc183125ba8de 2002 | React-RCTImage: 34e0bba1507e55f1c614bd759eb91d9be48c8c5b 2003 | React-RCTLinking: a0b6c9f4871c18b0b81ea952f43e752718bd5f1d 2004 | React-RCTNetwork: bdafd661ac2b20d23b779e45bf7ac3e4c8bd1b60 2005 | React-RCTSettings: 98aa5163796f43789314787b584a84eba47787a9 2006 | React-RCTText: 424a274fc9015b29de89cf3cbcdf4dd85dd69f83 2007 | React-RCTVibration: 92d9875a955b0adb34b4b773528fdbbbc5addd6c 2008 | React-rendererconsistency: 5ac4164ec18cfdd76ed5f864dbfdc56a5a948bc9 2009 | React-rendererdebug: 710dbd7990e355852c786aa6bc7753f6028f357a 2010 | React-rncore: 0bace3b991d8843bb5b57c5f2301ec6e9c94718b 2011 | React-RuntimeApple: 701ec44a8b5d863ee9b6a2b2447b6a26bb6805a1 2012 | React-RuntimeCore: a82767065b9a936b05e209dc6987bc1ea9eb5d2d 2013 | React-runtimeexecutor: 876dfc1d8daa819dfd039c40f78f277c5a3e66a6 2014 | React-RuntimeHermes: e7a051fd91cab8849df56ac917022ef6064ad621 2015 | React-runtimescheduler: c544141f2124ee3d5f3d5bf0d69f4029a61a68b0 2016 | React-timing: 1ee3572c398f5579c9df5bf76aacddf5683ff74e 2017 | React-utils: 18703928768cb37e70cf2efff09def12d74a399e 2018 | ReactAppDependencyProvider: 4893bde33952f997a323eb1a1ee87a72764018ff 2019 | ReactCodegen: 99ea3536c05be3c18d0c517acb56b5a6d726fc7b 2020 | ReactCommon: 865ebe76504a95e115b6229dd00a31e56d2d4bfe 2021 | RNScreens: 790123c4a28783d80a342ce42e8c7381bed62db1 2022 | RNVectorIcons: bd818296a51dc2bb8c3bd97a3ca399df1afe216d 2023 | SDWebImage: f84b0feeb08d2d11e6a9b843cb06d75ebf5b8868 2024 | SDWebImageSVGCoder: 8e10c8f6cc879c7dfb317b284e13dd589379f01c 2025 | SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 2026 | SwiftUIIntrospect: fee9aa07293ee280373a591e1824e8ddc869ba5d 2027 | SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6 2028 | Yoga: 66a9a23a82dd4081b393babe509967097759b3d6 2029 | 2030 | PODFILE CHECKSUM: 17308ea37eb299a2410f3be02d7d9805b082896b 2031 | 2032 | COCOAPODS: 1.15.2 2033 | --------------------------------------------------------------------------------