├── .nvmrc
├── .yarnrc.yml
├── jest.config.js
├── tsconfig.json
├── babel.config.js
├── app.json
├── 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
│ │ │ │ │ └── quickstartreactnative
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ └── MainApplication.kt
│ │ │ └── AndroidManifest.xml
│ │ └── debug
│ │ │ └── AndroidManifest.xml
│ ├── proguard-rules.pro
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── settings.gradle
├── build.gradle
├── gradle.properties
├── gradlew.bat
└── gradlew
├── .htfiles_manual
├── ios
├── QuickstartReactNative
│ ├── Images.xcassets
│ │ ├── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── PrivacyInfo.xcprivacy
│ ├── Info.plist
│ └── LaunchScreen.storyboard
├── QuickstartReactNative.xcworkspace
│ └── contents.xcworkspacedata
├── .xcode.env
├── Podfile
├── QuickstartReactNative.xcodeproj
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── QuickstartReactNative.xcscheme
│ └── project.pbxproj
└── Podfile.lock
├── .prettierrc.js
├── index.js
├── index.native.js
├── src
├── index.web.js
└── App.tsx
├── .htfiles
├── metro.config.js
├── Gemfile
├── scripts
└── update_file.sh
├── .eslintrc.js
├── CONTRIBUTING.md
├── LICENSE
├── .gitignore
├── package.json
├── .githooks
└── pre-push
├── README.md
└── justfile
/.nvmrc:
--------------------------------------------------------------------------------
1 | v18
2 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'react-native',
3 | };
4 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@react-native/typescript-config/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['module:@react-native/babel-preset'],
3 | };
4 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "QuickstartReactNative",
3 | "displayName": "Quickstart React Native"
4 | }
5 |
--------------------------------------------------------------------------------
/android/app/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypertrack/quickstart-react-native/HEAD/android/app/debug.keystore
--------------------------------------------------------------------------------
/.htfiles_manual:
--------------------------------------------------------------------------------
1 | android/app/build.gradle
2 | android/build.gradle
3 | android/gradle.properties
4 | ios/Podfile
5 | package.json
6 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | QuickstartReactNative
3 |
4 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative/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/hypertrack/quickstart-react-native/HEAD/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/HEAD/android/app/src/main/res/mipmap-xxhdpi/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-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypertrack/quickstart-react-native/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/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/hypertrack/quickstart-react-native/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypertrack/quickstart-react-native/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 |
--------------------------------------------------------------------------------
/index.native.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 |
--------------------------------------------------------------------------------
/src/index.web.js:
--------------------------------------------------------------------------------
1 | import {AppRegistry} from 'react-native';
2 | import App from './App';
3 |
4 | AppRegistry.registerComponent('App', () => App);
5 |
6 | AppRegistry.runApplication('App', {
7 | rootTag: document.getElementById('root'),
8 | });
9 |
--------------------------------------------------------------------------------
/.htfiles:
--------------------------------------------------------------------------------
1 | android/app/src/main/AndroidManifest.xml
2 | ios/QuickstartReactNative/Info.plist
3 | src/App.tsx
4 | .eslintrc.js
5 | .prettierrc.js
6 | .yarnrc.yml
7 | app.json
8 | README.md
9 | .nvmrc
10 | android/app/google-services.json
11 | index.native.js
12 | src/index.web.js
13 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/metro.config.js:
--------------------------------------------------------------------------------
1 | const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
2 |
3 | /**
4 | * Metro configuration
5 | * https://reactnative.dev/docs/metro
6 | *
7 | * @type {import('@react-native/metro-config').MetroConfig}
8 | */
9 | const config = {};
10 |
11 | module.exports = mergeConfig(getDefaultConfig(__dirname), config);
12 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
2 | plugins { id("com.facebook.react.settings") }
3 | extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
4 | rootProject.name = 'QuickstartReactNative'
5 | include ':app'
6 | includeBuild('../node_modules/@react-native/gradle-plugin')
7 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4 | ruby ">= 2.6.10"
5 |
6 | # Exclude problematic versions of cocoapods and activesupport that causes build failures.
7 | gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
8 | gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
9 | gem 'xcodeproj', '< 1.26.0'
10 | gem 'concurrent-ruby', '< 1.3.4'
11 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/scripts/update_file.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -euo pipefail
3 |
4 | # Check if params are provided
5 | if [ $# -ne 3 ]; then
6 | echo "Usage: $0 "
7 | exit 1
8 | fi
9 |
10 | echo "Updating $2 to $3 in $1"
11 |
12 | file="$1"
13 | source_text="$2"
14 | new_text="$3"
15 |
16 | if [ ! -f "$file" ]; then
17 | echo "Error: $file not found."
18 | exit 1
19 | fi
20 |
21 | cat $file | sed "s/$source_text/$new_text/" >tmp
22 | cat tmp >$file
23 | rm -f tmp
24 |
25 | echo "Updated $source_text in $file to $new_text"
26 |
--------------------------------------------------------------------------------
/.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 | '@typescript-eslint/no-unused-vars': 'off',
14 | 'react-hooks/exhaustive-deps': 'off',
15 | 'prettier/prettier': 'off',
16 | },
17 | },
18 | ],
19 | };
20 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext {
3 | buildToolsVersion = "35.0.0"
4 | minSdkVersion = 24
5 | compileSdkVersion = 35
6 | targetSdkVersion = 34
7 | ndkVersion = "27.1.12297006"
8 | kotlinVersion = "1.6.21"
9 | }
10 | repositories {
11 | google()
12 | jcenter()
13 | mavenCentral()
14 | }
15 | dependencies {
16 | classpath("com.android.tools.build:gradle")
17 | classpath("com.facebook.react:react-native-gradle-plugin")
18 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
19 | classpath("com.google.gms:google-services:4.3.13")
20 | }
21 | }
22 |
23 | apply plugin: "com.facebook.react.rootproject"
24 |
25 | allprojects {
26 | repositories {
27 | maven {
28 | name 'hypertrack'
29 | url 'https://s3-us-west-2.amazonaws.com/m2.hypertrack.com/'
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | ## FAQ
4 |
5 | ### How to update HyperTrack SDK wrapper version?
6 |
7 | Update the [package.json](./package.json) according to [Install guide](https://hypertrack.com/docs/install-sdk-react-native#add-hypertrack-sdk-to-your-project)
8 |
9 | ### How to run with local build of the SDK?
10 |
11 | Run `just al`. This command will look for local SDK repo in `../sdk-react-native`. It will override the `node_modules` content of `../sdk-react-native/sdk` to avoid conflicts with the `devDependencies` of the SDK.
12 |
13 | ### How to change build config?
14 |
15 | React Native version: `package.json` - `react-native`
16 |
17 | #### Android
18 |
19 | - `android/build.gradle` - `ext.buildscript`
20 | - compileSdkVersion
21 | - targetSdkVersion
22 | - minSdkVersion
23 |
24 | ### How to get logs
25 |
26 | You can see native logs with according native IDE.
27 |
28 | React Native logs are printed in Metro UI. Run `npx react-native start` to open it.
29 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/quickstartreactnative/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.quickstartreactnative
2 |
3 | import com.facebook.react.ReactActivity
4 | import com.facebook.react.ReactActivityDelegate
5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
6 | import com.facebook.react.defaults.DefaultReactActivityDelegate
7 |
8 | class MainActivity : ReactActivity() {
9 |
10 | /**
11 | * Returns the name of the main component registered from JavaScript. This is used to schedule
12 | * rendering of the component.
13 | */
14 | override fun getMainComponentName(): String = "QuickstartReactNative"
15 |
16 | /**
17 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
18 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
19 | */
20 | override fun createReactActivityDelegate(): ReactActivityDelegate =
21 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
22 | }
23 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative/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 = "QuickstartReactNative"
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 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 HyperTrack
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative/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/QuickstartReactNative/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 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | google-services.json
3 | /.vscode
4 | update_storage/
5 | rn_files.txt
6 |
7 | # OSX
8 | #
9 | .DS_Store
10 |
11 | # Xcode
12 | #
13 | build/
14 | *.pbxuser
15 | !default.pbxuser
16 | *.mode1v3
17 | !default.mode1v3
18 | *.mode2v3
19 | !default.mode2v3
20 | *.perspectivev3
21 | !default.perspectivev3
22 | xcuserdata
23 | *.xccheckout
24 | *.moved-aside
25 | DerivedData
26 | *.hmap
27 | *.ipa
28 | *.xcuserstate
29 | ios/.xcode.env.local
30 |
31 | # Android/IntelliJ
32 | #
33 | build/
34 | .idea
35 | .gradle
36 | local.properties
37 | *.iml
38 | *.hprof
39 | .cxx/
40 |
41 | # node.js
42 | #
43 | node_modules/
44 | npm-debug.log
45 | yarn-error.log
46 | .yarn/*
47 |
48 | # BUCK
49 | buck-out/
50 | \.buckd/
51 | *.keystore
52 | !debug.keystore
53 |
54 | # fastlane
55 | #
56 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
57 | # screenshots whenever they are needed.
58 | # For more information about the recommended setup visit:
59 | # https://docs.fastlane.tools/best-practices/source-control/
60 |
61 | **/fastlane/report.xml
62 | **/fastlane/Preview.html
63 | **/fastlane/screenshots
64 | **/fastlane/test_output
65 |
66 | # Bundle artifact
67 | *.jsbundle
68 |
69 | # Ruby / CocoaPods
70 | /ios/Pods/
71 | /vendor/bundle/
72 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hypertrack-quickstart-reactnative",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "android": "react-native run-android",
7 | "ios": "react-native run-ios",
8 | "lint": "eslint .",
9 | "start": "react-native start",
10 | "test": "jest"
11 | },
12 | "dependencies": {
13 | "hypertrack-sdk-react-native": "14.0.3",
14 | "hypertrack-sdk-react-native-plugin-android-activity-service-google": "14.0.3",
15 | "hypertrack-sdk-react-native-plugin-android-location-services-google": "14.0.3",
16 | "hypertrack-sdk-react-native-plugin-android-push-service-firebase": "14.0.3",
17 | "react": "18.3.1",
18 | "react-native": "0.77.1",
19 | "react-native-permissions": "^4.1.5"
20 | },
21 | "devDependencies": {
22 | "@babel/core": "^7.25.2",
23 | "@babel/preset-env": "^7.25.3",
24 | "@babel/runtime": "^7.25.0",
25 | "@react-native-community/cli": "15.0.1",
26 | "@react-native-community/cli-platform-android": "15.0.1",
27 | "@react-native-community/cli-platform-ios": "15.0.1",
28 | "@react-native/babel-preset": "0.77.1",
29 | "@react-native/eslint-config": "0.77.1",
30 | "@react-native/metro-config": "0.77.1",
31 | "@react-native/typescript-config": "0.77.1",
32 | "@types/jest": "^29.5.13",
33 | "@types/react": "^18.2.6",
34 | "@types/react-test-renderer": "^18.0.0",
35 | "eslint": "^8.19.0",
36 | "jest": "^29.6.3",
37 | "prettier": "2.8.8",
38 | "react-test-renderer": "18.3.1",
39 | "typescript": "5.0.4"
40 | },
41 | "engines": {
42 | "node": ">=18"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/android/app/src/main/java/com/quickstartreactnative/MainApplication.kt:
--------------------------------------------------------------------------------
1 | package com.quickstartreactnative
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 | import com.quickstartreactnative.BuildConfig
15 |
16 | class MainApplication : Application(), ReactApplication {
17 |
18 | override val reactNativeHost: ReactNativeHost =
19 | object : DefaultReactNativeHost(this) {
20 | override fun getPackages(): List =
21 | PackageList(this).packages.apply {
22 | // Packages that cannot be autolinked yet can be added manually here, for example:
23 | // add(MyReactNativePackage())
24 | }
25 |
26 | override fun getJSMainModuleName(): String = "index"
27 |
28 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
29 |
30 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
31 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
32 | }
33 |
34 | override val reactHost: ReactHost
35 | get() = getDefaultReactHost(applicationContext, reactNativeHost)
36 |
37 | override fun onCreate() {
38 | super.onCreate()
39 | SoLoader.init(this, OpenSourceMergedSoMapping)
40 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
41 | // If you opted-in for the New Architecture, we load the native entry point for this app.
42 | load()
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/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 -XX:MaxHeapSize=8g
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 | # Automatically convert third-party libraries to use AndroidX
25 | android.enableJetifier=true
26 |
27 | # Use this property to specify which architecture you want to build.
28 | # You can also override it from the CLI using
29 | # ./gradlew -PreactNativeArchitectures=x86_64
30 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
31 |
32 | # Use this property to enable support to the new architecture.
33 | # This will allow you to use TurboModules and the Fabric render in
34 | # your application. You should enable this flag either if you want
35 | # to write custom TurboModules/Fabric components OR use libraries that
36 | # are providing them.
37 | newArchEnabled=true
38 |
39 | # Use this property to enable or disable the Hermes JS engine.
40 | # If set to false, you will be using JSC instead.
41 | hermesEnabled=true
42 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/rn_edit_text_material.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
22 |
23 |
24 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/.githooks/pre-push:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | check_error="Git hook check error"
4 |
5 | # Check if there are any local dependencies in the package.json file
6 | local_deps=$(grep -E "file:.*\..*" package.json)
7 |
8 | # If local dependencies are found, exit with an error message
9 | if [ "$local_deps" ]; then
10 | echo "$check_error: Local dependencies found in package.json: \n\n $local_deps \n\n Push blocked to prevent committing local dependencies."
11 | exit 1
12 | fi
13 |
14 | # Check if there are any Github dependencies in the package.json file
15 | github_deps=$(grep -E "https://github.com" package.json)
16 |
17 | # If github dependencies are found, exit with an error message
18 | if [ "$github_deps" ]; then
19 | echo "$check_error: Github dependencies found in package.json: \n\n $github_deps \n\n Push blocked to prevent committing Github dependencies."
20 | exit 1
21 | fi
22 |
23 | if grep -q "'.\{86\}'" "src/App.tsx"; then
24 | echo "$check_error: PUBLISHABLE_KEY is set"
25 | exit 1
26 | fi
27 |
28 | if ! grep -q "value=\"Paste_your_publishable_key_here" "android/app/src/main/AndroidManifest.xml"; then
29 | echo "$check_error: PUBLISHABLE_KEY is probably set ('Paste_your_publishable_key_here' not found in AndroidManifest)"
30 | exit 1
31 | fi
32 |
33 | if ! grep -q "Paste_your_publishable_key_here" "ios/QuickstartReactNative/Info.plist"; then
34 | echo "$check_error: PUBLISHABLE_KEY is probably set ('Paste_your_publishable_key_here' not found in Info.plist)"
35 | exit 1
36 | fi
37 |
38 | xcode_project_config_path="ios/QuickstartReactNative.xcodeproj/project.pbxproj"
39 |
40 | # Check if the xcodeproj command line tool is installed
41 | if ! type "xcodeproj" >/dev/null; then
42 | echo "$check_error: The xcodeproj command line tool is not installed. Unable to check if the development team is set up."
43 | else
44 | # Check if the project file exists
45 | if [ ! -f $xcode_project_config_path ]; then
46 | echo "$check_error: The project file '$xcode_project_config_path' does not exist."
47 | exit 1
48 | fi
49 |
50 | # Check if the development team is set up
51 | if cat $xcode_project_config_path | grep -q -E 'DEVELOPMENT_TEAM\s*=\s*[A-Z0-9]{10}'; then
52 | echo "$check_error: iOS Development team is set up."
53 | exit 1
54 | fi
55 | fi
56 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # react-native-permissions replaces 'Resolve react_native_pods.rb with node to allow for hoisting'
2 | # section to this:
3 | # Resolve react_native_pods.rb with node to allow for hoisting
4 | def node_require(script)
5 | # Resolve script with node to allow for hoisting
6 | require Pod::Executable.execute_command('node', ['-p',
7 | "require.resolve(
8 | '#{script}',
9 | {paths: [process.argv[1]]},
10 | )", __dir__]).strip
11 | end
12 |
13 | # Use it to require both react-native's and this package's scripts:
14 | node_require('react-native/scripts/react_native_pods.rb')
15 | node_require('react-native-permissions/scripts/setup.rb')
16 |
17 | platform :ios, min_ios_version_supported
18 | prepare_react_native_project!
19 |
20 | setup_permissions([
21 | # 'AppTrackingTransparency',
22 | # 'Bluetooth',
23 | # 'Calendars',
24 | # 'CalendarsWriteOnly',
25 | # 'Camera',
26 | # 'Contacts',
27 | # 'FaceID',
28 | # 'LocationAccuracy',
29 | 'LocationAlways',
30 | 'LocationWhenInUse',
31 | # 'MediaLibrary',
32 | # 'Microphone',
33 | 'Motion',
34 | # 'Notifications',
35 | # 'PhotoLibrary',
36 | # 'PhotoLibraryAddOnly',
37 | # 'Reminders',
38 | # 'Siri',
39 | # 'SpeechRecognition',
40 | # 'StoreKit',
41 | ])
42 |
43 | ENV['RCT_NEW_ARCH_ENABLED'] = '1'
44 |
45 | linkage = ENV['USE_FRAMEWORKS']
46 | if linkage != nil
47 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
48 | use_frameworks! :linkage => linkage.to_sym
49 | end
50 |
51 | target 'QuickstartReactNative' do
52 | config = use_native_modules!
53 |
54 | # Flags change depending on the env values.
55 | flags = get_default_flags()
56 |
57 | use_react_native!(
58 | :path => config[:reactNativePath],
59 | # Hermes is now enabled by default. Disable by setting this flag to false.
60 | :hermes_enabled => flags[:hermes_enabled],
61 | :fabric_enabled => flags[:fabric_enabled],
62 | # An absolute path to your application root.
63 | :app_path => "#{Pod::Config.instance.installation_root}/.."
64 | )
65 |
66 | post_install do |installer|
67 | # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
68 | react_native_post_install(
69 | installer,
70 | config[:reactNativePath],
71 | :mac_catalyst_enabled => false
72 | )
73 | end
74 | end
75 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # React Native Quickstart for HyperTrack SDK
2 |
3 | [](./LICENSE)
4 | [](https://github.com/hypertrack/sdk-react-native)
5 |
6 | [HyperTrack](https://www.hypertrack.com/) lets you add live location tracking to your mobile app. Live location is made available along with ongoing activity, tracking controls and tracking outage with reasons.
7 |
8 | This repo contains an example React Native app that has everything you need to get started.
9 |
10 | For information about how to get started with React Native SDK, please check this [Guide](https://www.hypertrack.com/docs/install-sdk-react-native).
11 |
12 | ## How to get started?
13 |
14 | ### Create HyperTrack Account
15 |
16 | [Sign up](https://dashboard.hypertrack.com/signup) for HyperTrack and get your publishable key from the [Setup page](https://dashboard.hypertrack.com/setup).
17 |
18 | ### Setup the environment
19 |
20 | You need to [set up the development environment for React Native](https://reactnative.dev/docs/environment-setup)
21 |
22 | ### Setup the project
23 |
24 | - run `yarn`
25 | - run `npx pod install`
26 |
27 | ### Set your publishable key
28 |
29 | Follow the [instructions on setting up publishable key](https://hypertrack.com/docs/install-sdk-react-native#set-the-publishable-key) in our docs
30 |
31 | ### Setup silent push notifications
32 |
33 | Follow the [instructions on setting up silent push notifications](https://hypertrack.com/docs/install-sdk-react-native/#set-up-silent-push-notifications) in our docs.
34 |
35 | HyperTrack SDK needs Firebase Cloud Messaging and APNS to manage on-device tracking as well as enable using HyperTrack cloud APIs from your server to control the tracking.
36 |
37 | ### Run the app
38 |
39 | - Android: run `npx react-native run-android`
40 | - iOS: run `npx react-native run-ios`
41 |
42 | ### Grant permissions
43 |
44 | [Grant required permissions to the app](https://hypertrack.com/docs/install-sdk-react-native#grant-the-permissions-to-the-app)
45 |
46 | ### Start tracking
47 |
48 | Press `Start tracking` button.
49 |
50 | To see the device on a map, open the [HyperTrack dashboard](https://dashboard.hypertrack.com/).
51 |
52 | The app will create a driver with driver handle `test_driver_quickstart_react_native_`
53 |
54 | ## Support
55 |
56 | Join our [Slack community](https://join.slack.com/t/hypertracksupport/shared_invite/enQtNDA0MDYxMzY1MDMxLTdmNDQ1ZDA1MTQxOTU2NTgwZTNiMzUyZDk0OThlMmJkNmE0ZGI2NGY2ZGRhYjY0Yzc0NTJlZWY2ZmE5ZTA2NjI) for instant responses. You can also email us at help@hypertrack.com
57 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HyperTrackPublishableKey
6 | Paste_your_publishable_key_here
7 | CFBundleDevelopmentRegion
8 | en
9 | CFBundleDisplayName
10 | QuickstartReactNative
11 | CFBundleExecutable
12 | $(EXECUTABLE_NAME)
13 | CFBundleIdentifier
14 | $(PRODUCT_BUNDLE_IDENTIFIER)
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | $(PRODUCT_NAME)
19 | CFBundlePackageType
20 | APPL
21 | CFBundleShortVersionString
22 | $(MARKETING_VERSION)
23 | CFBundleSignature
24 | ????
25 | CFBundleVersion
26 | $(CURRENT_PROJECT_VERSION)
27 | LSRequiresIPhoneOS
28 |
29 | NSAppTransportSecurity
30 |
31 |
32 | NSAllowsArbitraryLoads
33 |
34 | NSAllowsLocalNetworking
35 |
36 | NSExceptionDomains
37 |
38 | localhost
39 |
40 | NSExceptionAllowsInsecureHTTPLoads
41 |
42 |
43 |
44 |
45 | NSLocationAlwaysAndWhenInUseUsageDescription
46 | To let your friends and family track you live, you need to allow HyperTrack Live to access this device's location
47 | NSLocationAlwaysUsageDescription
48 | To let your friends and family track you live, you need to allow HyperTrack Live to access this device's location
49 | NSLocationWhenInUseUsageDescription
50 | To let your friends and family track you live, you need to allow HyperTrack Live to access this device's location
51 | NSMotionUsageDescription
52 | To track your movement accurately, HyperTrack Live needs to access motion sensors
53 | UIBackgroundModes
54 |
55 | location
56 | remote-notification
57 |
58 | UILaunchStoryboardName
59 | LaunchScreen
60 | UIRequiredDeviceCapabilities
61 |
62 | armv7
63 |
64 | UISupportedInterfaceOrientations
65 |
66 | UIInterfaceOrientationPortrait
67 | UIInterfaceOrientationLandscapeLeft
68 | UIInterfaceOrientationLandscapeRight
69 |
70 | UIViewControllerBasedStatusBarAppearance
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 | @rem SPDX-License-Identifier: Apache-2.0
17 | @rem
18 |
19 | @if "%DEBUG%"=="" @echo off
20 | @rem ##########################################################################
21 | @rem
22 | @rem Gradle startup script for Windows
23 | @rem
24 | @rem ##########################################################################
25 |
26 | @rem Set local scope for the variables with windows NT shell
27 | if "%OS%"=="Windows_NT" setlocal
28 |
29 | set DIRNAME=%~dp0
30 | if "%DIRNAME%"=="" set DIRNAME=.
31 | @rem This is normally unused
32 | set APP_BASE_NAME=%~n0
33 | set APP_HOME=%DIRNAME%
34 |
35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
37 |
38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
40 |
41 | @rem Find java.exe
42 | if defined JAVA_HOME goto findJavaFromJavaHome
43 |
44 | set JAVA_EXE=java.exe
45 | %JAVA_EXE% -version >NUL 2>&1
46 | if %ERRORLEVEL% equ 0 goto execute
47 |
48 | echo. 1>&2
49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50 | echo. 1>&2
51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52 | echo location of your Java installation. 1>&2
53 |
54 | goto fail
55 |
56 | :findJavaFromJavaHome
57 | set JAVA_HOME=%JAVA_HOME:"=%
58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
59 |
60 | if exist "%JAVA_EXE%" goto execute
61 |
62 | echo. 1>&2
63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64 | echo. 1>&2
65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66 | echo location of your Java installation. 1>&2
67 |
68 | goto fail
69 |
70 | :execute
71 | @rem Setup the command line
72 |
73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74 |
75 |
76 | @rem Execute Gradle
77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
78 |
79 | :end
80 | @rem End local scope for the variables with windows NT shell
81 | if %ERRORLEVEL% equ 0 goto mainEnd
82 |
83 | :fail
84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
85 | rem the _cmd.exe /c_ return code!
86 | set EXIT_CODE=%ERRORLEVEL%
87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1
88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
89 | exit /b %EXIT_CODE%
90 |
91 | :mainEnd
92 | if "%OS%"=="Windows_NT" endlocal
93 |
94 | :omega
95 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative.xcodeproj/xcshareddata/xcschemes/QuickstartReactNative.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/QuickstartReactNative/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 | apply plugin: "com.google.gms.google-services"
5 |
6 | /**
7 | * This is the configuration block to customize your React Native Android app.
8 | * By default you don't need to apply any configuration, just uncomment the lines you need.
9 | */
10 | react {
11 | /* Folders */
12 | // The root of your project, i.e. where "package.json" lives. Default is '../..'
13 | // root = file("../../")
14 | // The folder where the react-native NPM package is. Default is ../../node_modules/react-native
15 | // reactNativeDir = file("../../node_modules/react-native")
16 | // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
17 | // codegenDir = file("../../node_modules/@react-native/codegen")
18 | // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
19 | // cliFile = file("../../node_modules/react-native/cli.js")
20 |
21 | /* Variants */
22 | // The list of variants to that are debuggable. For those we're going to
23 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
24 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
25 | // debuggableVariants = ["liteDebug", "prodDebug"]
26 |
27 | /* Bundling */
28 | // A list containing the node command and its flags. Default is just 'node'.
29 | // nodeExecutableAndArgs = ["node"]
30 | //
31 | // The command to run when bundling. By default is 'bundle'
32 | // bundleCommand = "ram-bundle"
33 | //
34 | // The path to the CLI configuration file. Default is empty.
35 | // bundleConfig = file(../rn-cli.config.js)
36 | //
37 | // The name of the generated asset file containing your JS bundle
38 | // bundleAssetName = "MyApplication.android.bundle"
39 | //
40 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
41 | // entryFile = file("../js/MyApplication.android.js")
42 | //
43 | // A list of extra flags to pass to the 'bundle' commands.
44 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
45 | // extraPackagerArgs = []
46 |
47 | /* Hermes Commands */
48 | // The hermes compiler command to run. By default it is 'hermesc'
49 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
50 | //
51 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
52 | // hermesFlags = ["-O", "-output-source-map"]
53 |
54 | /* Autolinking */
55 | autolinkLibrariesWithApp()
56 | }
57 |
58 | /**
59 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
60 | */
61 | def enableProguardInReleaseBuilds = false
62 |
63 | /**
64 | * The preferred build flavor of JavaScriptCore (JSC)
65 | *
66 | * For example, to use the international variant, you can use:
67 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
68 | *
69 | * The international variant includes ICU i18n library and necessary data
70 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
71 | * give correct results when using with locales other than en-US. Note that
72 | * this variant is about 6MiB larger per architecture than default.
73 | */
74 | def jscFlavor = 'org.webkit:android-jsc:+'
75 |
76 | android {
77 | ndkVersion rootProject.ext.ndkVersion
78 | buildToolsVersion rootProject.ext.buildToolsVersion
79 | compileSdk rootProject.ext.compileSdkVersion
80 |
81 | // we don't use variable because React Native parses this value on build
82 | namespace "com.quickstartreactnative"
83 |
84 | defaultConfig {
85 | applicationId "com.hypertrack.quickstart.reactnative.android"
86 | minSdkVersion rootProject.ext.minSdkVersion
87 | targetSdkVersion rootProject.ext.targetSdkVersion
88 | versionCode 1
89 | versionName "1.0"
90 | }
91 | signingConfigs {
92 | debug {
93 | storeFile file('debug.keystore')
94 | storePassword 'android'
95 | keyAlias 'androiddebugkey'
96 | keyPassword 'android'
97 | }
98 | }
99 | buildTypes {
100 | debug {
101 | signingConfig signingConfigs.debug
102 | }
103 | release {
104 | // Caution! In production, you need to generate your own keystore file.
105 | // see https://reactnative.dev/docs/signed-apk-android.
106 | signingConfig signingConfigs.debug
107 | minifyEnabled enableProguardInReleaseBuilds
108 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
109 | }
110 | }
111 | packagingOptions {
112 | pickFirst 'lib/x86/libc++_shared.so'
113 | pickFirst 'lib/x86_64/libc++_shared.so'
114 | pickFirst 'lib/armeabi-v7a/libc++_shared.so'
115 | pickFirst 'lib/arm64-v8a/libc++_shared.so'
116 | }
117 | }
118 |
119 | dependencies {
120 | // The version of react-native is set by the React Native Gradle Plugin
121 | implementation("com.facebook.react:react-android")
122 |
123 | if (hermesEnabled.toBoolean()) {
124 | implementation("com.facebook.react:hermes-android")
125 | } else {
126 | implementation jscFlavor
127 | }
128 | }
129 |
--------------------------------------------------------------------------------
/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #
4 | # Copyright © 2015-2021 the original authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 | # SPDX-License-Identifier: Apache-2.0
19 | #
20 |
21 | ##############################################################################
22 | #
23 | # Gradle start up script for POSIX generated by Gradle.
24 | #
25 | # Important for running:
26 | #
27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
28 | # noncompliant, but you have some other compliant shell such as ksh or
29 | # bash, then to run this script, type that shell name before the whole
30 | # command line, like:
31 | #
32 | # ksh Gradle
33 | #
34 | # Busybox and similar reduced shells will NOT work, because this script
35 | # requires all of these POSIX shell features:
36 | # * functions;
37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
39 | # * compound commands having a testable exit status, especially «case»;
40 | # * various built-in commands including «command», «set», and «ulimit».
41 | #
42 | # Important for patching:
43 | #
44 | # (2) This script targets any POSIX shell, so it avoids extensions provided
45 | # by Bash, Ksh, etc; in particular arrays are avoided.
46 | #
47 | # The "traditional" practice of packing multiple parameters into a
48 | # space-separated string is a well documented source of bugs and security
49 | # problems, so this is (mostly) avoided, by progressively accumulating
50 | # options in "$@", and eventually passing that to Java.
51 | #
52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
54 | # see the in-line comments for details.
55 | #
56 | # There are tweaks for specific operating systems such as AIX, CygWin,
57 | # Darwin, MinGW, and NonStop.
58 | #
59 | # (3) This script is generated from the Groovy template
60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
61 | # within the Gradle project.
62 | #
63 | # You can find Gradle at https://github.com/gradle/gradle/.
64 | #
65 | ##############################################################################
66 |
67 | # Attempt to set APP_HOME
68 |
69 | # Resolve links: $0 may be a link
70 | app_path=$0
71 |
72 | # Need this for daisy-chained symlinks.
73 | while
74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
75 | [ -h "$app_path" ]
76 | do
77 | ls=$( ls -ld "$app_path" )
78 | link=${ls#*' -> '}
79 | case $link in #(
80 | /*) app_path=$link ;; #(
81 | *) app_path=$APP_HOME$link ;;
82 | esac
83 | done
84 |
85 | # This is normally unused
86 | # shellcheck disable=SC2034
87 | APP_BASE_NAME=${0##*/}
88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
90 | ' "$PWD" ) || exit
91 |
92 | # Use the maximum available, or set MAX_FD != -1 to use that value.
93 | MAX_FD=maximum
94 |
95 | warn () {
96 | echo "$*"
97 | } >&2
98 |
99 | die () {
100 | echo
101 | echo "$*"
102 | echo
103 | exit 1
104 | } >&2
105 |
106 | # OS specific support (must be 'true' or 'false').
107 | cygwin=false
108 | msys=false
109 | darwin=false
110 | nonstop=false
111 | case "$( uname )" in #(
112 | CYGWIN* ) cygwin=true ;; #(
113 | Darwin* ) darwin=true ;; #(
114 | MSYS* | MINGW* ) msys=true ;; #(
115 | NONSTOP* ) nonstop=true ;;
116 | esac
117 |
118 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
119 |
120 |
121 | # Determine the Java command to use to start the JVM.
122 | if [ -n "$JAVA_HOME" ] ; then
123 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
124 | # IBM's JDK on AIX uses strange locations for the executables
125 | JAVACMD=$JAVA_HOME/jre/sh/java
126 | else
127 | JAVACMD=$JAVA_HOME/bin/java
128 | fi
129 | if [ ! -x "$JAVACMD" ] ; then
130 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
131 |
132 | Please set the JAVA_HOME variable in your environment to match the
133 | location of your Java installation."
134 | fi
135 | else
136 | JAVACMD=java
137 | if ! command -v java >/dev/null 2>&1
138 | then
139 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
140 |
141 | Please set the JAVA_HOME variable in your environment to match the
142 | location of your Java installation."
143 | fi
144 | fi
145 |
146 | # Increase the maximum file descriptors if we can.
147 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
148 | case $MAX_FD in #(
149 | max*)
150 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
151 | # shellcheck disable=SC2039,SC3045
152 | MAX_FD=$( ulimit -H -n ) ||
153 | warn "Could not query maximum file descriptor limit"
154 | esac
155 | case $MAX_FD in #(
156 | '' | soft) :;; #(
157 | *)
158 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
159 | # shellcheck disable=SC2039,SC3045
160 | ulimit -n "$MAX_FD" ||
161 | warn "Could not set maximum file descriptor limit to $MAX_FD"
162 | esac
163 | fi
164 |
165 | # Collect all arguments for the java command, stacking in reverse order:
166 | # * args from the command line
167 | # * the main class name
168 | # * -classpath
169 | # * -D...appname settings
170 | # * --module-path (only if needed)
171 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
172 |
173 | # For Cygwin or MSYS, switch paths to Windows format before running java
174 | if "$cygwin" || "$msys" ; then
175 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
176 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
177 |
178 | JAVACMD=$( cygpath --unix "$JAVACMD" )
179 |
180 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
181 | for arg do
182 | if
183 | case $arg in #(
184 | -*) false ;; # don't mess with options #(
185 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
186 | [ -e "$t" ] ;; #(
187 | *) false ;;
188 | esac
189 | then
190 | arg=$( cygpath --path --ignore --mixed "$arg" )
191 | fi
192 | # Roll the args list around exactly as many times as the number of
193 | # args, so each arg winds up back in the position where it started, but
194 | # possibly modified.
195 | #
196 | # NB: a `for` loop captures its iteration list before it begins, so
197 | # changing the positional parameters here affects neither the number of
198 | # iterations, nor the values presented in `arg`.
199 | shift # remove old arg
200 | set -- "$@" "$arg" # push replacement arg
201 | done
202 | fi
203 |
204 |
205 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
206 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
207 |
208 | # Collect all arguments for the java command:
209 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
210 | # and any embedded shellness will be escaped.
211 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
212 | # treated as '${Hostname}' itself on the command line.
213 |
214 | set -- \
215 | "-Dorg.gradle.appname=$APP_BASE_NAME" \
216 | -classpath "$CLASSPATH" \
217 | org.gradle.wrapper.GradleWrapperMain \
218 | "$@"
219 |
220 | # Stop when "xargs" is not available.
221 | if ! command -v xargs >/dev/null 2>&1
222 | then
223 | die "xargs is not available"
224 | fi
225 |
226 | # Use "xargs" to parse quoted args.
227 | #
228 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
229 | #
230 | # In Bash we could simply go:
231 | #
232 | # readarray ARGS < <( xargs -n1 <<<"$var" ) &&
233 | # set -- "${ARGS[@]}" "$@"
234 | #
235 | # but POSIX shell has neither arrays nor command substitution, so instead we
236 | # post-process each arg (as a line of input to sed) to backslash-escape any
237 | # character that might be a shell metacharacter, then use eval to reverse
238 | # that process (while maintaining the separation between arguments), and wrap
239 | # the whole thing up as a single "set" statement.
240 | #
241 | # This will of course break if any of these variables contains a newline or
242 | # an unmatched quote.
243 | #
244 |
245 | eval "set -- $(
246 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
247 | xargs -n1 |
248 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
249 | tr '\n' ' '
250 | )" '"$@"'
251 |
252 | exec "$JAVACMD" "$@"
253 |
--------------------------------------------------------------------------------
/justfile:
--------------------------------------------------------------------------------
1 | alias a := add-plugin
2 | alias al := add-plugin-local
3 | alias ap := add-plugin
4 | alias c := clean
5 | alias cm := compile
6 | alias cn := clear-nm
7 | alias epn := extract-plugin-nm
8 | alias ogp := open-github-prs
9 | alias oi := open-ios
10 | alias pi := pod-install
11 | alias ra := run-android
12 | alias s := setup
13 | alias sm := start-metro
14 | alias urn := update-react-native
15 | alias us := update-sdk
16 | alias v := version
17 | alias va := version-android
18 |
19 | REPOSITORY_NAME := "quickstart-react-native"
20 | SDK_NAME := "HyperTrack SDK React Native"
21 |
22 | # Source: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
23 | # \ are escaped
24 | SEMVER_REGEX := "(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?"
25 |
26 | ACTIVITY_SERVICE_GOOGLE_PLUGIN_LOCAL_PATH := "../sdk-react-native/plugin_android_activity_service_google"
27 | LOCATION_SERVICES_GOOGLE_PLUGIN_LOCAL_PATH := "../sdk-react-native/plugin_android_location_services_google"
28 | LOCATION_SERVICES_GOOGLE_19_0_1_PLUGIN_LOCAL_PATH := "../sdk-react-native/plugin_android_location_services_google_19_0_1"
29 | PUSH_SERVICE_FIREBASE_PLUGIN_LOCAL_PATH := "../sdk-react-native/plugin_android_push_service_firebase"
30 | SDK_PLUGIN_LOCAL_PATH := "../sdk-react-native/sdk"
31 |
32 | add-plugin version: hooks
33 | #!/usr/bin/env sh
34 | set -euo pipefail
35 |
36 | if grep -q '"hypertrack-sdk-react-native"' package.json; then
37 | yarn remove hypertrack-sdk-react-native
38 | fi
39 | if grep -q '"hypertrack-sdk-react-native-plugin-android-activity-service-google"' package.json; then
40 | yarn remove hypertrack-sdk-react-native-plugin-android-activity-service-google
41 | fi
42 | if grep -q '"hypertrack-sdk-react-native-plugin-android-location-services-google"' package.json; then
43 | yarn remove hypertrack-sdk-react-native-plugin-android-location-services-google
44 | fi
45 | if grep -q '"hypertrack-sdk-react-native-plugin-android-push-service-firebase"' package.json; then
46 | yarn remove hypertrack-sdk-react-native-plugin-android-push-service-firebase
47 | fi
48 |
49 | MAJOR_VERSION=$(echo {{version}} | grep -o '^[0-9]\+')
50 | if [ $MAJOR_VERSION -ge 12 ]; then
51 | yarn add hypertrack-sdk-react-native-plugin-android-activity-service-google@{{version}}
52 | yarn add hypertrack-sdk-react-native-plugin-android-location-services-google@{{version}}
53 | yarn add hypertrack-sdk-react-native-plugin-android-push-service-firebase@{{version}}
54 | fi
55 | yarn add hypertrack-sdk-react-native@{{version}}
56 |
57 | just pod-install
58 |
59 | add-plugin-local: hooks
60 | #!/usr/bin/env sh
61 | set -euo pipefail
62 |
63 | yarn add hypertrack-sdk-react-native
64 | just extract-plugin-nm
65 | if grep -q '"hypertrack-sdk-react-native"' package.json; then
66 | yarn remove hypertrack-sdk-react-native
67 | fi
68 | if grep -q '"hypertrack-sdk-react-native-plugin-android-activity-service-google"' package.json; then
69 | yarn remove hypertrack-sdk-react-native-plugin-android-activity-service-google
70 | fi
71 | if grep -q '"hypertrack-sdk-react-native-plugin-android-location-services-google"' package.json; then
72 | yarn remove hypertrack-sdk-react-native-plugin-android-location-services-google
73 | fi
74 | if grep -q '"hypertrack-sdk-react-native-plugin-android-push-service-firebase"' package.json; then
75 | yarn remove hypertrack-sdk-react-native-plugin-android-push-service-firebase
76 | fi
77 |
78 | yarn add hypertrack-sdk-react-native@file:{{SDK_PLUGIN_LOCAL_PATH}}
79 | yarn add hypertrack-sdk-react-native-plugin-android-activity-service-google@file:{{ACTIVITY_SERVICE_GOOGLE_PLUGIN_LOCAL_PATH}}
80 | yarn add hypertrack-sdk-react-native-plugin-android-location-services-google@file:{{LOCATION_SERVICES_GOOGLE_PLUGIN_LOCAL_PATH}}
81 | yarn add hypertrack-sdk-react-native-plugin-android-push-service-firebase@file:{{PUSH_SERVICE_FIREBASE_PLUGIN_LOCAL_PATH}}
82 |
83 | just pod-install
84 |
85 | clean:
86 | #!/usr/bin/env sh
87 | set -euo pipefail
88 |
89 | cd android
90 | ./gradlew clean
91 | cd ..
92 | just clear-nm
93 |
94 | clear-nm: hooks
95 | rm -rf node_modules
96 | rm yarn.lock
97 |
98 | compile: hooks
99 | npx tsc
100 |
101 | extract-plugin-nm:
102 | rm -rf {{SDK_PLUGIN_LOCAL_PATH}}/node_modules
103 | mkdir {{SDK_PLUGIN_LOCAL_PATH}}/node_modules
104 | cp -r node_modules/hypertrack-sdk-react-native/node_modules {{SDK_PLUGIN_LOCAL_PATH}}/node_modules
105 |
106 | hooks:
107 | chmod +x .githooks/pre-push
108 | git config core.hooksPath .githooks
109 |
110 | open-github-prs:
111 | open "https://github.com/hypertrack/{{REPOSITORY_NAME}}/pulls"
112 |
113 | open-ios:
114 | open ios/QuickstartReactNative.xcworkspace
115 |
116 | pod-install:
117 | #!/usr/bin/env sh
118 | cd ios
119 | rm -f Podfile.lock
120 | pwd
121 | NO_FLIPPER=1 pod install --repo-update
122 | cd ..
123 |
124 | restore-manual:
125 | #!/usr/bin/env sh
126 | set -euo pipefail
127 |
128 | while IFS= read -r line; do
129 | cp -f "update_storage/$line" "$line" 2>/dev/null && rm -f "update_storage/$line" || echo "Failed to restore $line"
130 | done < .htfiles_manual
131 |
132 | run-android: hooks compile
133 | npx react-native run-android
134 |
135 | setup: hooks
136 | yarn
137 | just pi
138 |
139 | start-metro: hooks compile
140 | npx react-native start
141 |
142 | update-sdk version: hooks
143 | git checkout -b update-sdk-{{version}}
144 | just add-plugin {{version}}
145 | git commit -am "Update {{SDK_NAME}} to {{version}}"
146 | just open-github-prs
147 |
148 | update-react-native version:
149 | #!/usr/bin/env sh
150 | set -euo pipefail
151 |
152 | just _store-files-for-update
153 | just _clear-files-before-update
154 | just _create-rn-app "{{version}}"
155 | just _restore-files-for-update
156 |
157 | rm -rf __tests__
158 | rm -f App.tsx
159 | rm index.js
160 |
161 | ./scripts/update_file.sh ios/QuickstartReactNative.xcodeproj/project.pbxproj "org.reactjs.native.example.\$(PRODUCT_NAME:.*)" "com.hypertrack.quickstart.reactnative.ios"
162 |
163 | cp -f index.native.js index.js
164 |
165 | echo "Now commit changes and manually merge these files with 'just restore-manual':\n"
166 | cat .htfiles_manual
167 | echo "\nIf you are getting BuildConfig not found error in Android, add 'import com.quickstartreactnative.BuildConfig' in MainApplication.kt'"
168 |
169 | version:
170 | @cat package.json | grep hypertrack-sdk-react-native | head -n 1 | grep -o -E '{{SEMVER_REGEX}}'
171 |
172 | version-android:
173 | #!/usr/bin/env sh
174 | set -euo pipefail
175 | cd android
176 | ./gradlew app:dependencies | grep "com.hypertrack:sdk-android" | head -n 1 | grep -o -E '{{SEMVER_REGEX}}'
177 | cd ..
178 |
179 | _get_rn_files:
180 | #!/usr/bin/env sh
181 | set -euo pipefail
182 |
183 | TARGET_DIR="$PWD"
184 |
185 | # not related to RN
186 | EXCEPTIONS=(
187 | "update_storage"
188 | ".git"
189 | ".githooks"
190 | ".gitignore"
191 | ".idea"
192 | "CONTRIBUTING.md"
193 | "justfile"
194 | "LICENSE"
195 | "text.txt"
196 | "rn_files.txt"
197 | ".rnignore"
198 | ".htfiles"
199 | ".htfiles_manual"
200 | "scripts"
201 | )
202 |
203 | # Construct the exclusion filter safely
204 | EXCLUDE_ARGS=()
205 | for item in "${EXCEPTIONS[@]}"; do
206 | EXCLUDE_ARGS+=(! -name "$item")
207 | done
208 |
209 | find "$TARGET_DIR" -mindepth 1 -maxdepth 1 "${EXCLUDE_ARGS[@]}" -print > rn_files.txt
210 |
211 | _store-files-for-update:
212 | #!/usr/bin/env sh
213 | set -euo pipefail
214 |
215 | rm -rf update_storage
216 | mkdir -p update_storage
217 |
218 | while IFS= read -r line; do
219 | foldername=$(dirname "update_storage/$line")
220 | mkdir -p "$foldername"
221 | cp -f "$line" "update_storage/$line"
222 | done < .htfiles
223 |
224 | while IFS= read -r line; do
225 | foldername=$(dirname "update_storage/$line")
226 | mkdir -p "$foldername"
227 | cp -f "$line" "update_storage/$line" 2>/dev/null || true
228 | done < .htfiles_manual
229 |
230 | _clear-files-before-update: _get_rn_files
231 | #!/usr/bin/env sh
232 | set -euo pipefail
233 |
234 | # remove all files listed in rn_files.txt
235 | while IFS= read -r line; do
236 | rm -rf "$line"
237 | done < rn_files.txt
238 |
239 | rm -f rn_files.txt
240 | rm -f App.tsx
241 | rm -f index.js
242 |
243 | _create-rn-app version="0.77.0":
244 | #!/usr/bin/env sh
245 | set -euo pipefail
246 |
247 | # check if react-native-cli and @react-native-community/cli are installed and delete if they are
248 | if [ -x "$(npm list -g react-native-cli)" ]; then
249 | echo "To avoid conflicts, uninstall react-native-cli globally with \n 'npm uninstall -g react-native-cli'"
250 | exit 1
251 | fi
252 | if [ -x "$(npm list -g @react-native-community/cli)" ]; then
253 | echo "To avoid conflicts, uninstall @react-native-community/cli globally with \n 'npm uninstall -g @react-native-community/cli'"
254 | exit 1
255 | fi
256 |
257 | if [[ "{{version}}" > "0.71.0" ]]; then
258 | npx @react-native-community/cli@latest init QuickstartReactNative --version {{version}} --pm yarn
259 | else
260 | npx @react-native-community/cli@latest init QuickstartReactNative --version {{version}} --pm yarn --template react-native-template-typescript
261 | fi
262 |
263 | cp -r QuickstartReactNative/* .
264 | rm -rf QuickstartReactNative
265 |
266 | _restore-files-for-update:
267 | #!/usr/bin/env sh
268 | set -euo pipefail
269 |
270 | while IFS= read -r line; do
271 | foldername=$(dirname "$line")
272 | mkdir -p "$foldername"
273 | cp -f "update_storage/$line" "$line" 2>/dev/null && rm -f "update_storage/$line" || echo "Failed to restore $line"
274 | done < .htfiles
275 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import React, {useEffect, useRef, useState} from 'react';
2 | import {
3 | View,
4 | StyleSheet,
5 | Text,
6 | Pressable,
7 | Alert,
8 | ScrollView,
9 | SafeAreaView,
10 | StatusBar,
11 | EmitterSubscription,
12 | } from 'react-native';
13 | import {Platform} from 'react-native';
14 | import {check, PERMISSIONS, request, RESULTS} from 'react-native-permissions';
15 |
16 | import HyperTrack, {
17 | HyperTrackError,
18 | Location,
19 | LocationError,
20 | LocationWithDeviation,
21 | Order,
22 | OrderStatus,
23 | Result,
24 | } from 'hypertrack-sdk-react-native';
25 |
26 | const Button = ({title, onPress}: {title: string; onPress: () => void}) => (
27 | [
29 | {
30 | backgroundColor: pressed ? 'rgba(60, 105, 246, 0.5)' : '#3C69F6',
31 | },
32 | styles.button,
33 | ]}
34 | onPress={onPress}>
35 | {title}
36 |
37 | );
38 |
39 | const App = () => {
40 | const [errorsState, setErrorsState] = useState('');
41 | const [deviceIdState, setDeviceIdState] = useState('');
42 | const [isAvailableState, setIsAvailableState] = useState(false);
43 | const [isTrackingState, setIsTrackingState] = useState(false);
44 | const [locationState, setLocationState] = useState('');
45 | const [ordersState, setOrdersState] = useState('N/A');
46 |
47 | const errorsListener = useRef(null);
48 | const isAvailableListener = useRef(
49 | null,
50 | );
51 | const isTrackingListener = useRef(
52 | null,
53 | );
54 | const locationListener = useRef(null);
55 | const ordersListener = useRef(null);
56 |
57 | useEffect(() => {
58 | const initSDK = async () => {
59 | try {
60 | const deviceId = await HyperTrack.getDeviceId();
61 | console.log('getDeviceId', deviceId);
62 | setDeviceIdState(deviceId);
63 |
64 | const name = 'Quickstart ReactNative';
65 | HyperTrack.setName(name);
66 | console.log('setName', name);
67 |
68 | const metadata = {
69 | /**
70 | * Metadata is an custom data that is linked to the device.
71 | */
72 | source: name,
73 | employee_id: Math.round(Math.random() * 10000),
74 | };
75 | HyperTrack.setMetadata(metadata);
76 | console.log('setMetadata', metadata);
77 |
78 | let platformName = '';
79 | if (Platform.OS === 'android') {
80 | platformName = 'android';
81 | } else if (Platform.OS === 'ios') {
82 | platformName = 'ios';
83 | }
84 | /**
85 | * Worker handle is used to link the device and the worker.
86 | * You can use any unique user identifier here.
87 | * The recommended way is to set it on app login in set it to null on logout
88 | * (to remove the link between the device and the worker)
89 | **/
90 | HyperTrack.setWorkerHandle(
91 | `test_worker_quickstart_react_native_${platformName}`,
92 | );
93 | console.log('workerHandle is set');
94 |
95 | const workerHandle = await HyperTrack.getWorkerHandle();
96 | console.log('getWorkerHandle', workerHandle);
97 |
98 | errorsListener.current = HyperTrack.subscribeToErrors(
99 | (errors: HyperTrackError[]) => {
100 | let result = getErrorsText(errors);
101 | console.log('Listener errors: ', result);
102 | setErrorsState(result);
103 | },
104 | );
105 |
106 | isAvailableListener.current = HyperTrack.subscribeToIsAvailable(
107 | (isAvailable: boolean) => {
108 | console.log('Listener isAvailable: ', isAvailable);
109 | setIsAvailableState(isAvailable);
110 | },
111 | );
112 |
113 | isTrackingListener.current = HyperTrack.subscribeToIsTracking(
114 | (isTracking: boolean) => {
115 | console.log('Listener isTracking: ', isTracking);
116 | setIsTrackingState(isTracking);
117 | },
118 | );
119 |
120 | locationListener.current = HyperTrack.subscribeToLocation(
121 | (locationResult: Result) => {
122 | console.log('Listener location: ', locationResult);
123 | setLocationState(getLocationResponseText(locationResult));
124 | },
125 | );
126 |
127 | ordersListener.current = HyperTrack.subscribeToOrders(
128 | async (orders: Map) => {
129 | console.log('Listener orders: ', orders);
130 | const text = await getOrdersResponseText(orders);
131 | setOrdersState(text);
132 | },
133 | );
134 | } catch (error) {
135 | console.log(error, JSON.stringify(error));
136 | }
137 | };
138 | initSDK();
139 |
140 | return () => {
141 | errorsListener.current?.remove();
142 | isTrackingListener.current?.remove();
143 | isAvailableListener.current?.remove();
144 | locationListener.current?.remove();
145 | ordersListener.current?.remove();
146 | };
147 | }, []);
148 |
149 | const addGeotag = async () => {
150 | try {
151 | /**
152 | * geotagPayload is an arbitrary object.
153 | * You can put there any JSON-serializable data.
154 | * It will be displayed in the HyperTrack dashboard and
155 | * available in the webhook events.
156 | */
157 | const geotagPayload = {
158 | payload: 'Quickstart ReactNative',
159 | value: Math.random(),
160 | };
161 |
162 | const orderHandle = 'test_order';
163 | const orderStatus: OrderStatus = {
164 | type: 'orderStatusCustom',
165 | value: 'test_status',
166 | };
167 | const result = await HyperTrack.addGeotag(
168 | orderHandle,
169 | orderStatus,
170 | geotagPayload,
171 | );
172 | console.log('Add geotag: ', result);
173 | Alert.alert('Add geotag', getLocationResponseText(result));
174 | } catch (error) {
175 | console.log('error', error);
176 | }
177 | };
178 |
179 | const addGeotagWithExpectedLocation = async () => {
180 | try {
181 | /**
182 | * geotagPayload is an arbitrary object.
183 | * You can put there any JSON-serializable data.
184 | * It will be displayed in the HyperTrack dashboard and
185 | * available in the webhook events.
186 | */
187 | const geotagPayload = {
188 | payload: 'Quickstart ReactNative',
189 | value: Math.random(),
190 | };
191 |
192 | const orderHandle = 'test_order';
193 | const orderStatus: OrderStatus = {
194 | type: 'orderStatusCustom',
195 | value: 'test_status',
196 | };
197 | const result = await HyperTrack.addGeotag(
198 | orderHandle,
199 | orderStatus,
200 | geotagPayload,
201 | {
202 | latitude: 37.775,
203 | longitude: -122.418,
204 | },
205 | );
206 | console.log('Add geotag with expected location:', result);
207 | Alert.alert(
208 | 'Add geotag with expected location',
209 | getLocationWithDeviationResponseText(result),
210 | );
211 | } catch (error) {
212 | console.log('error', error);
213 | }
214 | };
215 |
216 | const getAllowMockLocation = async () => {
217 | const allowMockLocation = await HyperTrack.getAllowMockLocation();
218 | console.log('AllowMockLocation:', allowMockLocation);
219 | Alert.alert('AllowMockLocation', `${allowMockLocation}`);
220 | };
221 |
222 | const getErrors = async () => {
223 | const errors = await HyperTrack.getErrors();
224 | let result = getErrorsText(errors);
225 | console.log('Errors:', result);
226 | Alert.alert('errors', result);
227 | };
228 |
229 | const getIsAvailable = async () => {
230 | const available = await HyperTrack.getIsAvailable();
231 | console.log('isAvailable', available);
232 | Alert.alert('isAvailable', `${available}`);
233 | };
234 |
235 | const getIsTracking = async () => {
236 | const isTracking = await HyperTrack.getIsTracking();
237 | console.log('isTracking', isTracking);
238 | Alert.alert('isTracking', `${isTracking}`);
239 | };
240 |
241 | const getLocation = async () => {
242 | try {
243 | const result = await HyperTrack.getLocation();
244 | Alert.alert('Location:', getLocationResponseText(result));
245 | } catch (error) {
246 | console.log('error', error);
247 | }
248 | };
249 |
250 | const getMetadata = async () => {
251 | const metadata = await HyperTrack.getMetadata();
252 | console.log('Metadata:', metadata);
253 | Alert.alert('Metadata', JSON.stringify(metadata));
254 | };
255 |
256 | const getName = async () => {
257 | const name = await HyperTrack.getName();
258 | console.log('Name:', name);
259 | Alert.alert('Name', name);
260 | };
261 |
262 | const getOrders = async () => {
263 | const orders = await HyperTrack.getOrders();
264 | console.log('Orders:', orders);
265 | const text = await getOrdersResponseText(orders);
266 | Alert.alert('Orders', text);
267 | };
268 |
269 | const locate = async () => {
270 | HyperTrack.locate((locationResult: Result) => {
271 | try {
272 | let result = getLocateResponseText(locationResult);
273 | console.log('Locate:', result);
274 | Alert.alert('Result', result);
275 | } catch (error) {
276 | console.log('error', error);
277 | }
278 | });
279 | console.log('Locate started');
280 | };
281 |
282 | const requestMotionActivityPermission = async () => {
283 | await request(PERMISSIONS.IOS.MOTION);
284 | };
285 |
286 | const setAllowMockLocation = async (allowMockLocation: boolean) => {
287 | HyperTrack.setAllowMockLocation(allowMockLocation);
288 | console.log('setAllowMockLocation', allowMockLocation);
289 | };
290 |
291 | const setIsAvailable = async (isAvailable: boolean) => {
292 | HyperTrack.setIsAvailable(isAvailable);
293 | console.log('setIsAvailable', isAvailable);
294 | };
295 |
296 | const setIsTracking = async (isTracking: boolean) => {
297 | HyperTrack.setIsTracking(isTracking);
298 | console.log('setIsTracking', isTracking);
299 | };
300 |
301 | return (
302 |
303 |
304 |
305 | Device ID:
306 |
307 | {deviceIdState}
308 |
309 |
310 | Orders:
311 | {ordersState}
312 |
313 | {'Location'}
314 | {locationState}
315 |
316 | {'Errors'}
317 | {errorsState}
318 |
319 |
320 |
327 |
328 |
329 | setIsAvailable(true)} />
330 |
331 | {'isAvailable'}
332 | {isAvailableState?.toString()}
333 |
334 | setIsAvailable(false)}
337 | />
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
379 |
380 |
381 |
382 | setAllowMockLocation(true)}
385 | />
386 | setAllowMockLocation(false)}
389 | />
390 |
394 |
395 |
396 |
397 | );
398 | };
399 |
400 | export default App;
401 |
402 | function getLocateResponseText(response: Result) {
403 | switch (response.type) {
404 | case 'success':
405 | return `Location: ${JSON.stringify(
406 | [response.value.latitude, response.value.longitude],
407 | null,
408 | 4,
409 | )}`;
410 | case 'failure':
411 | return `Errors:\n${getErrorsText(response.value)}`;
412 | }
413 | }
414 |
415 | function getLocationErrorResponseText(locationError: LocationError) {
416 | switch (locationError.type) {
417 | case 'notRunning':
418 | return 'Not running';
419 | case 'starting':
420 | return 'Starting';
421 | case 'errors':
422 | return `Errors:\n${getErrorsText(locationError.value)}`;
423 | }
424 | }
425 |
426 | function getLocationResponseText(
427 | response: Result,
428 | ): string {
429 | switch (response.type) {
430 | case 'success':
431 | return `Location: ${JSON.stringify(
432 | [response.value.latitude, response.value.longitude],
433 | null,
434 | 4,
435 | )}`;
436 | case 'failure':
437 | return getLocationErrorResponseText(response.value);
438 | }
439 | }
440 |
441 | function getLocationWithDeviationResponseText(
442 | response: Result,
443 | ) {
444 | switch (response.type) {
445 | case 'success':
446 | return `Location: ${JSON.stringify(
447 | [response.value.location.latitude, response.value.location.longitude],
448 | null,
449 | 4,
450 | )}\nDeviation: ${response.value.deviation}`;
451 | case 'failure':
452 | return getLocationErrorResponseText(response.value);
453 | }
454 | }
455 |
456 | async function getOrdersResponseText(orders: Map) {
457 | if (orders.size === 0) {
458 | return 'No orders';
459 | } else {
460 | return await Promise.all(
461 | Array.from(orders).map(async ([_, order]) => {
462 | let isInsideGeofenceText: string;
463 | const isInsideGeofence = await order.isInsideGeofence();
464 | switch (isInsideGeofence.type) {
465 | case 'success':
466 | isInsideGeofenceText = isInsideGeofence.value.toString();
467 | break;
468 | case 'failure':
469 | isInsideGeofenceText = getLocationErrorResponseText(
470 | isInsideGeofence.value,
471 | );
472 | break;
473 | }
474 | return `Order: ${order.orderHandle}\nIsInsideGeofence: ${isInsideGeofenceText}`;
475 | }),
476 | ).then(texts => texts.join('\n'));
477 | }
478 | }
479 |
480 | function getErrorsText(errors: HyperTrackError[]) {
481 | if (errors.length === 0) {
482 | return 'No errors';
483 | } else {
484 | return errors
485 | .map(error => {
486 | if (typeof error === 'string') {
487 | return error as string;
488 | } else {
489 | return `Failed to parse error: ${JSON.stringify(error)}`;
490 | }
491 | })
492 | .join('\n');
493 | }
494 | }
495 |
496 | const styles = StyleSheet.create({
497 | container: {
498 | flex: 1,
499 | backgroundColor: 'rgb(238, 241, 246)',
500 | },
501 | wrapper: {
502 | backgroundColor: 'rgb(238, 241, 246)',
503 | },
504 | titleText: {
505 | textAlign: 'center',
506 | width: '100%',
507 | color: '#000',
508 | fontWeight: 'bold',
509 | padding: 2,
510 | fontSize: 16,
511 | },
512 | text: {
513 | textAlign: 'center',
514 | width: '100%',
515 | color: '#000',
516 | padding: 5,
517 | fontSize: 16,
518 | },
519 | buttonText: {
520 | textAlign: 'center',
521 | width: '100%',
522 | color: '#fff',
523 | padding: 10,
524 | fontSize: 18,
525 | },
526 | buttonWrapper: {
527 | flexDirection: 'row',
528 | width: '100%',
529 | justifyContent: 'space-around',
530 | alignItems: 'center',
531 | marginVertical: 10,
532 | },
533 | button: {
534 | flex: 1,
535 | fontSize: 18,
536 | paddingHorizontal: 2,
537 | paddingVertical: 2,
538 | borderRadius: 3,
539 | marginLeft: 20,
540 | marginRight: 20,
541 | },
542 | });
543 |
--------------------------------------------------------------------------------
/ios/QuickstartReactNative.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-QuickstartReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-QuickstartReactNative.a */; };
11 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
12 | 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
13 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
14 | D43092EFC743439346369D32 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
15 | /* End PBXBuildFile section */
16 |
17 | /* Begin PBXFileReference section */
18 | 13B07F961A680F5B00A75B9A /* QuickstartReactNative.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = QuickstartReactNative.app; sourceTree = BUILT_PRODUCTS_DIR; };
19 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = QuickstartReactNative/Images.xcassets; sourceTree = ""; };
20 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = QuickstartReactNative/Info.plist; sourceTree = ""; };
21 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = QuickstartReactNative/PrivacyInfo.xcprivacy; sourceTree = ""; };
22 | 3B4392A12AC88292D35C810B /* Pods-QuickstartReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickstartReactNative.debug.xcconfig"; path = "Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative.debug.xcconfig"; sourceTree = ""; };
23 | 5709B34CF0A7D63546082F79 /* Pods-QuickstartReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickstartReactNative.release.xcconfig"; path = "Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative.release.xcconfig"; sourceTree = ""; };
24 | 5DCACB8F33CDC322A6C60F78 /* libPods-QuickstartReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-QuickstartReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; };
25 | 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = QuickstartReactNative/AppDelegate.swift; sourceTree = ""; };
26 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = QuickstartReactNative/LaunchScreen.storyboard; sourceTree = ""; };
27 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
28 | /* End PBXFileReference section */
29 |
30 | /* Begin PBXFrameworksBuildPhase section */
31 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
32 | isa = PBXFrameworksBuildPhase;
33 | buildActionMask = 2147483647;
34 | files = (
35 | 0C80B921A6F3F58F76C31292 /* libPods-QuickstartReactNative.a in Frameworks */,
36 | );
37 | runOnlyForDeploymentPostprocessing = 0;
38 | };
39 | /* End PBXFrameworksBuildPhase section */
40 |
41 | /* Begin PBXGroup section */
42 | 13B07FAE1A68108700A75B9A /* QuickstartReactNative */ = {
43 | isa = PBXGroup;
44 | children = (
45 | 13B07FB51A68108700A75B9A /* Images.xcassets */,
46 | 761780EC2CA45674006654EE /* AppDelegate.swift */,
47 | 13B07FB61A68108700A75B9A /* Info.plist */,
48 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
49 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
50 | );
51 | name = QuickstartReactNative;
52 | sourceTree = "";
53 | };
54 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
55 | isa = PBXGroup;
56 | children = (
57 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
58 | 5DCACB8F33CDC322A6C60F78 /* libPods-QuickstartReactNative.a */,
59 | );
60 | name = Frameworks;
61 | sourceTree = "";
62 | };
63 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
64 | isa = PBXGroup;
65 | children = (
66 | );
67 | name = Libraries;
68 | sourceTree = "";
69 | };
70 | 83CBB9F61A601CBA00E9B192 = {
71 | isa = PBXGroup;
72 | children = (
73 | 13B07FAE1A68108700A75B9A /* QuickstartReactNative */,
74 | 832341AE1AAA6A7D00B99B32 /* Libraries */,
75 | 83CBBA001A601CBA00E9B192 /* Products */,
76 | 2D16E6871FA4F8E400B85C8A /* Frameworks */,
77 | BBD78D7AC51CEA395F1C20DB /* Pods */,
78 | );
79 | indentWidth = 2;
80 | sourceTree = "";
81 | tabWidth = 2;
82 | usesTabs = 0;
83 | };
84 | 83CBBA001A601CBA00E9B192 /* Products */ = {
85 | isa = PBXGroup;
86 | children = (
87 | 13B07F961A680F5B00A75B9A /* QuickstartReactNative.app */,
88 | );
89 | name = Products;
90 | sourceTree = "";
91 | };
92 | BBD78D7AC51CEA395F1C20DB /* Pods */ = {
93 | isa = PBXGroup;
94 | children = (
95 | 3B4392A12AC88292D35C810B /* Pods-QuickstartReactNative.debug.xcconfig */,
96 | 5709B34CF0A7D63546082F79 /* Pods-QuickstartReactNative.release.xcconfig */,
97 | );
98 | path = Pods;
99 | sourceTree = "";
100 | };
101 | /* End PBXGroup section */
102 |
103 | /* Begin PBXNativeTarget section */
104 | 13B07F861A680F5B00A75B9A /* QuickstartReactNative */ = {
105 | isa = PBXNativeTarget;
106 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "QuickstartReactNative" */;
107 | buildPhases = (
108 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
109 | 13B07F871A680F5B00A75B9A /* Sources */,
110 | 13B07F8C1A680F5B00A75B9A /* Frameworks */,
111 | 13B07F8E1A680F5B00A75B9A /* Resources */,
112 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
113 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
114 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
115 | );
116 | buildRules = (
117 | );
118 | dependencies = (
119 | );
120 | name = QuickstartReactNative;
121 | productName = QuickstartReactNative;
122 | productReference = 13B07F961A680F5B00A75B9A /* QuickstartReactNative.app */;
123 | productType = "com.apple.product-type.application";
124 | };
125 | /* End PBXNativeTarget section */
126 |
127 | /* Begin PBXProject section */
128 | 83CBB9F71A601CBA00E9B192 /* Project object */ = {
129 | isa = PBXProject;
130 | attributes = {
131 | LastUpgradeCheck = 1210;
132 | TargetAttributes = {
133 | 13B07F861A680F5B00A75B9A = {
134 | LastSwiftMigration = 1120;
135 | };
136 | };
137 | };
138 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "QuickstartReactNative" */;
139 | compatibilityVersion = "Xcode 12.0";
140 | developmentRegion = en;
141 | hasScannedForEncodings = 0;
142 | knownRegions = (
143 | en,
144 | Base,
145 | );
146 | mainGroup = 83CBB9F61A601CBA00E9B192;
147 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
148 | projectDirPath = "";
149 | projectRoot = "";
150 | targets = (
151 | 13B07F861A680F5B00A75B9A /* QuickstartReactNative */,
152 | );
153 | };
154 | /* End PBXProject section */
155 |
156 | /* Begin PBXResourcesBuildPhase section */
157 | 13B07F8E1A680F5B00A75B9A /* Resources */ = {
158 | isa = PBXResourcesBuildPhase;
159 | buildActionMask = 2147483647;
160 | files = (
161 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
162 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
163 | D43092EFC743439346369D32 /* PrivacyInfo.xcprivacy in Resources */,
164 | );
165 | runOnlyForDeploymentPostprocessing = 0;
166 | };
167 | /* End PBXResourcesBuildPhase section */
168 |
169 | /* Begin PBXShellScriptBuildPhase section */
170 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
171 | isa = PBXShellScriptBuildPhase;
172 | buildActionMask = 2147483647;
173 | files = (
174 | );
175 | inputPaths = (
176 | "$(SRCROOT)/.xcode.env.local",
177 | "$(SRCROOT)/.xcode.env",
178 | );
179 | name = "Bundle React Native code and images";
180 | outputPaths = (
181 | );
182 | runOnlyForDeploymentPostprocessing = 0;
183 | shellPath = /bin/sh;
184 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
185 | };
186 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
187 | isa = PBXShellScriptBuildPhase;
188 | buildActionMask = 2147483647;
189 | files = (
190 | );
191 | inputFileListPaths = (
192 | "${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-frameworks-${CONFIGURATION}-input-files.xcfilelist",
193 | );
194 | name = "[CP] Embed Pods Frameworks";
195 | outputFileListPaths = (
196 | "${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-frameworks-${CONFIGURATION}-output-files.xcfilelist",
197 | );
198 | runOnlyForDeploymentPostprocessing = 0;
199 | shellPath = /bin/sh;
200 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-frameworks.sh\"\n";
201 | showEnvVarsInLog = 0;
202 | };
203 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
204 | isa = PBXShellScriptBuildPhase;
205 | buildActionMask = 2147483647;
206 | files = (
207 | );
208 | inputFileListPaths = (
209 | );
210 | inputPaths = (
211 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
212 | "${PODS_ROOT}/Manifest.lock",
213 | );
214 | name = "[CP] Check Pods Manifest.lock";
215 | outputFileListPaths = (
216 | );
217 | outputPaths = (
218 | "$(DERIVED_FILE_DIR)/Pods-QuickstartReactNative-checkManifestLockResult.txt",
219 | );
220 | runOnlyForDeploymentPostprocessing = 0;
221 | shellPath = /bin/sh;
222 | 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";
223 | showEnvVarsInLog = 0;
224 | };
225 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
226 | isa = PBXShellScriptBuildPhase;
227 | buildActionMask = 2147483647;
228 | files = (
229 | );
230 | inputFileListPaths = (
231 | "${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-resources-${CONFIGURATION}-input-files.xcfilelist",
232 | );
233 | name = "[CP] Copy Pods Resources";
234 | outputFileListPaths = (
235 | "${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-resources-${CONFIGURATION}-output-files.xcfilelist",
236 | );
237 | runOnlyForDeploymentPostprocessing = 0;
238 | shellPath = /bin/sh;
239 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QuickstartReactNative/Pods-QuickstartReactNative-resources.sh\"\n";
240 | showEnvVarsInLog = 0;
241 | };
242 | /* End PBXShellScriptBuildPhase section */
243 |
244 | /* Begin PBXSourcesBuildPhase section */
245 | 13B07F871A680F5B00A75B9A /* Sources */ = {
246 | isa = PBXSourcesBuildPhase;
247 | buildActionMask = 2147483647;
248 | files = (
249 | 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */,
250 | );
251 | runOnlyForDeploymentPostprocessing = 0;
252 | };
253 | /* End PBXSourcesBuildPhase section */
254 |
255 | /* Begin XCBuildConfiguration section */
256 | 13B07F941A680F5B00A75B9A /* Debug */ = {
257 | isa = XCBuildConfiguration;
258 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-QuickstartReactNative.debug.xcconfig */;
259 | buildSettings = {
260 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
261 | CLANG_ENABLE_MODULES = YES;
262 | CURRENT_PROJECT_VERSION = 1;
263 | DEVELOPMENT_TEAM = "";
264 | ENABLE_BITCODE = NO;
265 | INFOPLIST_FILE = QuickstartReactNative/Info.plist;
266 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
267 | LD_RUNPATH_SEARCH_PATHS = (
268 | "$(inherited)",
269 | "@executable_path/Frameworks",
270 | );
271 | MARKETING_VERSION = 1.0;
272 | OTHER_LDFLAGS = (
273 | "$(inherited)",
274 | "-ObjC",
275 | "-lc++",
276 | );
277 | PRODUCT_BUNDLE_IDENTIFIER = com.hypertrack.quickstart.reactnative.ios;
278 | PRODUCT_NAME = QuickstartReactNative;
279 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
280 | SWIFT_VERSION = 5.0;
281 | VERSIONING_SYSTEM = "apple-generic";
282 | };
283 | name = Debug;
284 | };
285 | 13B07F951A680F5B00A75B9A /* Release */ = {
286 | isa = XCBuildConfiguration;
287 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-QuickstartReactNative.release.xcconfig */;
288 | buildSettings = {
289 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
290 | CLANG_ENABLE_MODULES = YES;
291 | CURRENT_PROJECT_VERSION = 1;
292 | DEVELOPMENT_TEAM = "";
293 | INFOPLIST_FILE = QuickstartReactNative/Info.plist;
294 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
295 | LD_RUNPATH_SEARCH_PATHS = (
296 | "$(inherited)",
297 | "@executable_path/Frameworks",
298 | );
299 | MARKETING_VERSION = 1.0;
300 | OTHER_LDFLAGS = (
301 | "$(inherited)",
302 | "-ObjC",
303 | "-lc++",
304 | );
305 | PRODUCT_BUNDLE_IDENTIFIER = com.hypertrack.quickstart.reactnative.ios;
306 | PRODUCT_NAME = QuickstartReactNative;
307 | SWIFT_VERSION = 5.0;
308 | VERSIONING_SYSTEM = "apple-generic";
309 | };
310 | name = Release;
311 | };
312 | 83CBBA201A601CBA00E9B192 /* Debug */ = {
313 | isa = XCBuildConfiguration;
314 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-QuickstartReactNative.debug.xcconfig */;
315 | buildSettings = {
316 | ALWAYS_SEARCH_USER_PATHS = NO;
317 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
318 | CLANG_CXX_LANGUAGE_STANDARD = "c++20";
319 | CLANG_CXX_LIBRARY = "libc++";
320 | CLANG_ENABLE_MODULES = YES;
321 | CLANG_ENABLE_OBJC_ARC = YES;
322 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
323 | CLANG_WARN_BOOL_CONVERSION = YES;
324 | CLANG_WARN_COMMA = YES;
325 | CLANG_WARN_CONSTANT_CONVERSION = YES;
326 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
327 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
328 | CLANG_WARN_EMPTY_BODY = YES;
329 | CLANG_WARN_ENUM_CONVERSION = YES;
330 | CLANG_WARN_INFINITE_RECURSION = YES;
331 | CLANG_WARN_INT_CONVERSION = YES;
332 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
333 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
334 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
335 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
336 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
337 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
338 | CLANG_WARN_STRICT_PROTOTYPES = YES;
339 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
340 | CLANG_WARN_UNREACHABLE_CODE = YES;
341 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
342 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
343 | COPY_PHASE_STRIP = NO;
344 | ENABLE_STRICT_OBJC_MSGSEND = YES;
345 | ENABLE_TESTABILITY = YES;
346 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
347 | GCC_C_LANGUAGE_STANDARD = gnu99;
348 | GCC_DYNAMIC_NO_PIC = NO;
349 | GCC_NO_COMMON_BLOCKS = YES;
350 | GCC_OPTIMIZATION_LEVEL = 0;
351 | GCC_PREPROCESSOR_DEFINITIONS = (
352 | "DEBUG=1",
353 | "$(inherited)",
354 | );
355 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
356 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
357 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
358 | GCC_WARN_UNDECLARED_SELECTOR = YES;
359 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
360 | GCC_WARN_UNUSED_FUNCTION = YES;
361 | GCC_WARN_UNUSED_VARIABLE = YES;
362 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
363 | LD_RUNPATH_SEARCH_PATHS = (
364 | /usr/lib/swift,
365 | "$(inherited)",
366 | );
367 | LIBRARY_SEARCH_PATHS = (
368 | "\"$(SDKROOT)/usr/lib/swift\"",
369 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
370 | "\"$(inherited)\"",
371 | );
372 | MTL_ENABLE_DEBUG_INFO = YES;
373 | ONLY_ACTIVE_ARCH = YES;
374 | OTHER_CPLUSPLUSFLAGS = (
375 | "$(OTHER_CFLAGS)",
376 | "-DFOLLY_NO_CONFIG",
377 | "-DFOLLY_MOBILE=1",
378 | "-DFOLLY_USE_LIBCPP=1",
379 | "-DFOLLY_CFG_NO_COROUTINES=1",
380 | "-DFOLLY_HAVE_CLOCK_GETTIME=1",
381 | );
382 | OTHER_LDFLAGS = (
383 | "$(inherited)",
384 | " ",
385 | );
386 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
387 | SDKROOT = iphoneos;
388 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
389 | USE_HERMES = true;
390 | };
391 | name = Debug;
392 | };
393 | 83CBBA211A601CBA00E9B192 /* Release */ = {
394 | isa = XCBuildConfiguration;
395 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-QuickstartReactNative.release.xcconfig */;
396 | buildSettings = {
397 | ALWAYS_SEARCH_USER_PATHS = NO;
398 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
399 | CLANG_CXX_LANGUAGE_STANDARD = "c++20";
400 | CLANG_CXX_LIBRARY = "libc++";
401 | CLANG_ENABLE_MODULES = YES;
402 | CLANG_ENABLE_OBJC_ARC = YES;
403 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
404 | CLANG_WARN_BOOL_CONVERSION = YES;
405 | CLANG_WARN_COMMA = YES;
406 | CLANG_WARN_CONSTANT_CONVERSION = YES;
407 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
408 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
409 | CLANG_WARN_EMPTY_BODY = YES;
410 | CLANG_WARN_ENUM_CONVERSION = YES;
411 | CLANG_WARN_INFINITE_RECURSION = YES;
412 | CLANG_WARN_INT_CONVERSION = YES;
413 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
414 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
415 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
416 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
417 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
418 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
419 | CLANG_WARN_STRICT_PROTOTYPES = YES;
420 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
421 | CLANG_WARN_UNREACHABLE_CODE = YES;
422 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
423 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
424 | COPY_PHASE_STRIP = YES;
425 | ENABLE_NS_ASSERTIONS = NO;
426 | ENABLE_STRICT_OBJC_MSGSEND = YES;
427 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
428 | GCC_C_LANGUAGE_STANDARD = gnu99;
429 | GCC_NO_COMMON_BLOCKS = YES;
430 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
431 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
432 | GCC_WARN_UNDECLARED_SELECTOR = YES;
433 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
434 | GCC_WARN_UNUSED_FUNCTION = YES;
435 | GCC_WARN_UNUSED_VARIABLE = YES;
436 | IPHONEOS_DEPLOYMENT_TARGET = 15.1;
437 | LD_RUNPATH_SEARCH_PATHS = (
438 | /usr/lib/swift,
439 | "$(inherited)",
440 | );
441 | LIBRARY_SEARCH_PATHS = (
442 | "\"$(SDKROOT)/usr/lib/swift\"",
443 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
444 | "\"$(inherited)\"",
445 | );
446 | MTL_ENABLE_DEBUG_INFO = NO;
447 | OTHER_CPLUSPLUSFLAGS = (
448 | "$(OTHER_CFLAGS)",
449 | "-DFOLLY_NO_CONFIG",
450 | "-DFOLLY_MOBILE=1",
451 | "-DFOLLY_USE_LIBCPP=1",
452 | "-DFOLLY_CFG_NO_COROUTINES=1",
453 | "-DFOLLY_HAVE_CLOCK_GETTIME=1",
454 | );
455 | OTHER_LDFLAGS = (
456 | "$(inherited)",
457 | " ",
458 | );
459 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
460 | SDKROOT = iphoneos;
461 | USE_HERMES = true;
462 | VALIDATE_PRODUCT = YES;
463 | };
464 | name = Release;
465 | };
466 | /* End XCBuildConfiguration section */
467 |
468 | /* Begin XCConfigurationList section */
469 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "QuickstartReactNative" */ = {
470 | isa = XCConfigurationList;
471 | buildConfigurations = (
472 | 13B07F941A680F5B00A75B9A /* Debug */,
473 | 13B07F951A680F5B00A75B9A /* Release */,
474 | );
475 | defaultConfigurationIsVisible = 0;
476 | defaultConfigurationName = Release;
477 | };
478 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "QuickstartReactNative" */ = {
479 | isa = XCConfigurationList;
480 | buildConfigurations = (
481 | 83CBBA201A601CBA00E9B192 /* Debug */,
482 | 83CBBA211A601CBA00E9B192 /* Release */,
483 | );
484 | defaultConfigurationIsVisible = 0;
485 | defaultConfigurationName = Release;
486 | };
487 | /* End XCConfigurationList section */
488 | };
489 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
490 | }
491 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - boost (1.84.0)
3 | - DoubleConversion (1.1.6)
4 | - fast_float (6.1.4)
5 | - FBLazyVector (0.77.1)
6 | - fmt (11.0.2)
7 | - glog (0.3.5)
8 | - hermes-engine (0.77.1):
9 | - hermes-engine/Pre-built (= 0.77.1)
10 | - hermes-engine/Pre-built (0.77.1)
11 | - HyperTrack (5.11.2)
12 | - hypertrack-sdk-react-native (14.0.3):
13 | - HyperTrack (= 5.11.2)
14 | - RCT-Folly
15 | - RCTRequired
16 | - RCTTypeSafety
17 | - React-Codegen
18 | - React-Core
19 | - ReactCommon/turbomodule/core
20 | - RCT-Folly (2024.11.18.00):
21 | - boost
22 | - DoubleConversion
23 | - fast_float (= 6.1.4)
24 | - fmt (= 11.0.2)
25 | - glog
26 | - RCT-Folly/Default (= 2024.11.18.00)
27 | - RCT-Folly/Default (2024.11.18.00):
28 | - boost
29 | - DoubleConversion
30 | - fast_float (= 6.1.4)
31 | - fmt (= 11.0.2)
32 | - glog
33 | - RCT-Folly/Fabric (2024.11.18.00):
34 | - boost
35 | - DoubleConversion
36 | - fast_float (= 6.1.4)
37 | - fmt (= 11.0.2)
38 | - glog
39 | - RCTDeprecation (0.77.1)
40 | - RCTRequired (0.77.1)
41 | - RCTTypeSafety (0.77.1):
42 | - FBLazyVector (= 0.77.1)
43 | - RCTRequired (= 0.77.1)
44 | - React-Core (= 0.77.1)
45 | - React (0.77.1):
46 | - React-Core (= 0.77.1)
47 | - React-Core/DevSupport (= 0.77.1)
48 | - React-Core/RCTWebSocket (= 0.77.1)
49 | - React-RCTActionSheet (= 0.77.1)
50 | - React-RCTAnimation (= 0.77.1)
51 | - React-RCTBlob (= 0.77.1)
52 | - React-RCTImage (= 0.77.1)
53 | - React-RCTLinking (= 0.77.1)
54 | - React-RCTNetwork (= 0.77.1)
55 | - React-RCTSettings (= 0.77.1)
56 | - React-RCTText (= 0.77.1)
57 | - React-RCTVibration (= 0.77.1)
58 | - React-callinvoker (0.77.1)
59 | - React-Codegen (0.1.0)
60 | - React-Core (0.77.1):
61 | - glog
62 | - hermes-engine
63 | - RCT-Folly (= 2024.11.18.00)
64 | - RCTDeprecation
65 | - React-Core/Default (= 0.77.1)
66 | - React-cxxreact
67 | - React-featureflags
68 | - React-hermes
69 | - React-jsi
70 | - React-jsiexecutor
71 | - React-jsinspector
72 | - React-perflogger
73 | - React-runtimescheduler
74 | - React-utils
75 | - SocketRocket (= 0.7.1)
76 | - Yoga
77 | - React-Core/CoreModulesHeaders (0.77.1):
78 | - glog
79 | - hermes-engine
80 | - RCT-Folly (= 2024.11.18.00)
81 | - RCTDeprecation
82 | - React-Core/Default
83 | - React-cxxreact
84 | - React-featureflags
85 | - React-hermes
86 | - React-jsi
87 | - React-jsiexecutor
88 | - React-jsinspector
89 | - React-perflogger
90 | - React-runtimescheduler
91 | - React-utils
92 | - SocketRocket (= 0.7.1)
93 | - Yoga
94 | - React-Core/Default (0.77.1):
95 | - glog
96 | - hermes-engine
97 | - RCT-Folly (= 2024.11.18.00)
98 | - RCTDeprecation
99 | - React-cxxreact
100 | - React-featureflags
101 | - React-hermes
102 | - React-jsi
103 | - React-jsiexecutor
104 | - React-jsinspector
105 | - React-perflogger
106 | - React-runtimescheduler
107 | - React-utils
108 | - SocketRocket (= 0.7.1)
109 | - Yoga
110 | - React-Core/DevSupport (0.77.1):
111 | - glog
112 | - hermes-engine
113 | - RCT-Folly (= 2024.11.18.00)
114 | - RCTDeprecation
115 | - React-Core/Default (= 0.77.1)
116 | - React-Core/RCTWebSocket (= 0.77.1)
117 | - React-cxxreact
118 | - React-featureflags
119 | - React-hermes
120 | - React-jsi
121 | - React-jsiexecutor
122 | - React-jsinspector
123 | - React-perflogger
124 | - React-runtimescheduler
125 | - React-utils
126 | - SocketRocket (= 0.7.1)
127 | - Yoga
128 | - React-Core/RCTActionSheetHeaders (0.77.1):
129 | - glog
130 | - hermes-engine
131 | - RCT-Folly (= 2024.11.18.00)
132 | - RCTDeprecation
133 | - React-Core/Default
134 | - React-cxxreact
135 | - React-featureflags
136 | - React-hermes
137 | - React-jsi
138 | - React-jsiexecutor
139 | - React-jsinspector
140 | - React-perflogger
141 | - React-runtimescheduler
142 | - React-utils
143 | - SocketRocket (= 0.7.1)
144 | - Yoga
145 | - React-Core/RCTAnimationHeaders (0.77.1):
146 | - glog
147 | - hermes-engine
148 | - RCT-Folly (= 2024.11.18.00)
149 | - RCTDeprecation
150 | - React-Core/Default
151 | - React-cxxreact
152 | - React-featureflags
153 | - React-hermes
154 | - React-jsi
155 | - React-jsiexecutor
156 | - React-jsinspector
157 | - React-perflogger
158 | - React-runtimescheduler
159 | - React-utils
160 | - SocketRocket (= 0.7.1)
161 | - Yoga
162 | - React-Core/RCTBlobHeaders (0.77.1):
163 | - glog
164 | - hermes-engine
165 | - RCT-Folly (= 2024.11.18.00)
166 | - RCTDeprecation
167 | - React-Core/Default
168 | - React-cxxreact
169 | - React-featureflags
170 | - React-hermes
171 | - React-jsi
172 | - React-jsiexecutor
173 | - React-jsinspector
174 | - React-perflogger
175 | - React-runtimescheduler
176 | - React-utils
177 | - SocketRocket (= 0.7.1)
178 | - Yoga
179 | - React-Core/RCTImageHeaders (0.77.1):
180 | - glog
181 | - hermes-engine
182 | - RCT-Folly (= 2024.11.18.00)
183 | - RCTDeprecation
184 | - React-Core/Default
185 | - React-cxxreact
186 | - React-featureflags
187 | - React-hermes
188 | - React-jsi
189 | - React-jsiexecutor
190 | - React-jsinspector
191 | - React-perflogger
192 | - React-runtimescheduler
193 | - React-utils
194 | - SocketRocket (= 0.7.1)
195 | - Yoga
196 | - React-Core/RCTLinkingHeaders (0.77.1):
197 | - glog
198 | - hermes-engine
199 | - RCT-Folly (= 2024.11.18.00)
200 | - RCTDeprecation
201 | - React-Core/Default
202 | - React-cxxreact
203 | - React-featureflags
204 | - React-hermes
205 | - React-jsi
206 | - React-jsiexecutor
207 | - React-jsinspector
208 | - React-perflogger
209 | - React-runtimescheduler
210 | - React-utils
211 | - SocketRocket (= 0.7.1)
212 | - Yoga
213 | - React-Core/RCTNetworkHeaders (0.77.1):
214 | - glog
215 | - hermes-engine
216 | - RCT-Folly (= 2024.11.18.00)
217 | - RCTDeprecation
218 | - React-Core/Default
219 | - React-cxxreact
220 | - React-featureflags
221 | - React-hermes
222 | - React-jsi
223 | - React-jsiexecutor
224 | - React-jsinspector
225 | - React-perflogger
226 | - React-runtimescheduler
227 | - React-utils
228 | - SocketRocket (= 0.7.1)
229 | - Yoga
230 | - React-Core/RCTSettingsHeaders (0.77.1):
231 | - glog
232 | - hermes-engine
233 | - RCT-Folly (= 2024.11.18.00)
234 | - RCTDeprecation
235 | - React-Core/Default
236 | - React-cxxreact
237 | - React-featureflags
238 | - React-hermes
239 | - React-jsi
240 | - React-jsiexecutor
241 | - React-jsinspector
242 | - React-perflogger
243 | - React-runtimescheduler
244 | - React-utils
245 | - SocketRocket (= 0.7.1)
246 | - Yoga
247 | - React-Core/RCTTextHeaders (0.77.1):
248 | - glog
249 | - hermes-engine
250 | - RCT-Folly (= 2024.11.18.00)
251 | - RCTDeprecation
252 | - React-Core/Default
253 | - React-cxxreact
254 | - React-featureflags
255 | - React-hermes
256 | - React-jsi
257 | - React-jsiexecutor
258 | - React-jsinspector
259 | - React-perflogger
260 | - React-runtimescheduler
261 | - React-utils
262 | - SocketRocket (= 0.7.1)
263 | - Yoga
264 | - React-Core/RCTVibrationHeaders (0.77.1):
265 | - glog
266 | - hermes-engine
267 | - RCT-Folly (= 2024.11.18.00)
268 | - RCTDeprecation
269 | - React-Core/Default
270 | - React-cxxreact
271 | - React-featureflags
272 | - React-hermes
273 | - React-jsi
274 | - React-jsiexecutor
275 | - React-jsinspector
276 | - React-perflogger
277 | - React-runtimescheduler
278 | - React-utils
279 | - SocketRocket (= 0.7.1)
280 | - Yoga
281 | - React-Core/RCTWebSocket (0.77.1):
282 | - glog
283 | - hermes-engine
284 | - RCT-Folly (= 2024.11.18.00)
285 | - RCTDeprecation
286 | - React-Core/Default (= 0.77.1)
287 | - React-cxxreact
288 | - React-featureflags
289 | - React-hermes
290 | - React-jsi
291 | - React-jsiexecutor
292 | - React-jsinspector
293 | - React-perflogger
294 | - React-runtimescheduler
295 | - React-utils
296 | - SocketRocket (= 0.7.1)
297 | - Yoga
298 | - React-CoreModules (0.77.1):
299 | - DoubleConversion
300 | - fast_float (= 6.1.4)
301 | - fmt (= 11.0.2)
302 | - RCT-Folly (= 2024.11.18.00)
303 | - RCTTypeSafety (= 0.77.1)
304 | - React-Core/CoreModulesHeaders (= 0.77.1)
305 | - React-jsi (= 0.77.1)
306 | - React-jsinspector
307 | - React-NativeModulesApple
308 | - React-RCTBlob
309 | - React-RCTFBReactNativeSpec
310 | - React-RCTImage (= 0.77.1)
311 | - ReactCommon
312 | - SocketRocket (= 0.7.1)
313 | - React-cxxreact (0.77.1):
314 | - boost
315 | - DoubleConversion
316 | - fast_float (= 6.1.4)
317 | - fmt (= 11.0.2)
318 | - glog
319 | - hermes-engine
320 | - RCT-Folly (= 2024.11.18.00)
321 | - React-callinvoker (= 0.77.1)
322 | - React-debug (= 0.77.1)
323 | - React-jsi (= 0.77.1)
324 | - React-jsinspector
325 | - React-logger (= 0.77.1)
326 | - React-perflogger (= 0.77.1)
327 | - React-runtimeexecutor (= 0.77.1)
328 | - React-timing (= 0.77.1)
329 | - React-debug (0.77.1)
330 | - React-defaultsnativemodule (0.77.1):
331 | - hermes-engine
332 | - RCT-Folly
333 | - React-domnativemodule
334 | - React-featureflagsnativemodule
335 | - React-idlecallbacksnativemodule
336 | - React-jsi
337 | - React-jsiexecutor
338 | - React-microtasksnativemodule
339 | - React-RCTFBReactNativeSpec
340 | - React-domnativemodule (0.77.1):
341 | - hermes-engine
342 | - RCT-Folly
343 | - React-Fabric
344 | - React-FabricComponents
345 | - React-graphics
346 | - React-jsi
347 | - React-jsiexecutor
348 | - React-RCTFBReactNativeSpec
349 | - ReactCommon/turbomodule/core
350 | - Yoga
351 | - React-Fabric (0.77.1):
352 | - DoubleConversion
353 | - fast_float (= 6.1.4)
354 | - fmt (= 11.0.2)
355 | - glog
356 | - hermes-engine
357 | - RCT-Folly/Fabric (= 2024.11.18.00)
358 | - RCTRequired
359 | - RCTTypeSafety
360 | - React-Core
361 | - React-cxxreact
362 | - React-debug
363 | - React-Fabric/animations (= 0.77.1)
364 | - React-Fabric/attributedstring (= 0.77.1)
365 | - React-Fabric/componentregistry (= 0.77.1)
366 | - React-Fabric/componentregistrynative (= 0.77.1)
367 | - React-Fabric/components (= 0.77.1)
368 | - React-Fabric/core (= 0.77.1)
369 | - React-Fabric/dom (= 0.77.1)
370 | - React-Fabric/imagemanager (= 0.77.1)
371 | - React-Fabric/leakchecker (= 0.77.1)
372 | - React-Fabric/mounting (= 0.77.1)
373 | - React-Fabric/observers (= 0.77.1)
374 | - React-Fabric/scheduler (= 0.77.1)
375 | - React-Fabric/telemetry (= 0.77.1)
376 | - React-Fabric/templateprocessor (= 0.77.1)
377 | - React-Fabric/uimanager (= 0.77.1)
378 | - React-featureflags
379 | - React-graphics
380 | - React-jsi
381 | - React-jsiexecutor
382 | - React-logger
383 | - React-rendererdebug
384 | - React-runtimescheduler
385 | - React-utils
386 | - ReactCommon/turbomodule/core
387 | - React-Fabric/animations (0.77.1):
388 | - DoubleConversion
389 | - fast_float (= 6.1.4)
390 | - fmt (= 11.0.2)
391 | - glog
392 | - hermes-engine
393 | - RCT-Folly/Fabric (= 2024.11.18.00)
394 | - RCTRequired
395 | - RCTTypeSafety
396 | - React-Core
397 | - React-cxxreact
398 | - React-debug
399 | - React-featureflags
400 | - React-graphics
401 | - React-jsi
402 | - React-jsiexecutor
403 | - React-logger
404 | - React-rendererdebug
405 | - React-runtimescheduler
406 | - React-utils
407 | - ReactCommon/turbomodule/core
408 | - React-Fabric/attributedstring (0.77.1):
409 | - DoubleConversion
410 | - fast_float (= 6.1.4)
411 | - fmt (= 11.0.2)
412 | - glog
413 | - hermes-engine
414 | - RCT-Folly/Fabric (= 2024.11.18.00)
415 | - RCTRequired
416 | - RCTTypeSafety
417 | - React-Core
418 | - React-cxxreact
419 | - React-debug
420 | - React-featureflags
421 | - React-graphics
422 | - React-jsi
423 | - React-jsiexecutor
424 | - React-logger
425 | - React-rendererdebug
426 | - React-runtimescheduler
427 | - React-utils
428 | - ReactCommon/turbomodule/core
429 | - React-Fabric/componentregistry (0.77.1):
430 | - DoubleConversion
431 | - fast_float (= 6.1.4)
432 | - fmt (= 11.0.2)
433 | - glog
434 | - hermes-engine
435 | - RCT-Folly/Fabric (= 2024.11.18.00)
436 | - RCTRequired
437 | - RCTTypeSafety
438 | - React-Core
439 | - React-cxxreact
440 | - React-debug
441 | - React-featureflags
442 | - React-graphics
443 | - React-jsi
444 | - React-jsiexecutor
445 | - React-logger
446 | - React-rendererdebug
447 | - React-runtimescheduler
448 | - React-utils
449 | - ReactCommon/turbomodule/core
450 | - React-Fabric/componentregistrynative (0.77.1):
451 | - DoubleConversion
452 | - fast_float (= 6.1.4)
453 | - fmt (= 11.0.2)
454 | - glog
455 | - hermes-engine
456 | - RCT-Folly/Fabric (= 2024.11.18.00)
457 | - RCTRequired
458 | - RCTTypeSafety
459 | - React-Core
460 | - React-cxxreact
461 | - React-debug
462 | - React-featureflags
463 | - React-graphics
464 | - React-jsi
465 | - React-jsiexecutor
466 | - React-logger
467 | - React-rendererdebug
468 | - React-runtimescheduler
469 | - React-utils
470 | - ReactCommon/turbomodule/core
471 | - React-Fabric/components (0.77.1):
472 | - DoubleConversion
473 | - fast_float (= 6.1.4)
474 | - fmt (= 11.0.2)
475 | - glog
476 | - hermes-engine
477 | - RCT-Folly/Fabric (= 2024.11.18.00)
478 | - RCTRequired
479 | - RCTTypeSafety
480 | - React-Core
481 | - React-cxxreact
482 | - React-debug
483 | - React-Fabric/components/legacyviewmanagerinterop (= 0.77.1)
484 | - React-Fabric/components/root (= 0.77.1)
485 | - React-Fabric/components/view (= 0.77.1)
486 | - React-featureflags
487 | - React-graphics
488 | - React-jsi
489 | - React-jsiexecutor
490 | - React-logger
491 | - React-rendererdebug
492 | - React-runtimescheduler
493 | - React-utils
494 | - ReactCommon/turbomodule/core
495 | - React-Fabric/components/legacyviewmanagerinterop (0.77.1):
496 | - DoubleConversion
497 | - fast_float (= 6.1.4)
498 | - fmt (= 11.0.2)
499 | - glog
500 | - hermes-engine
501 | - RCT-Folly/Fabric (= 2024.11.18.00)
502 | - RCTRequired
503 | - RCTTypeSafety
504 | - React-Core
505 | - React-cxxreact
506 | - React-debug
507 | - React-featureflags
508 | - React-graphics
509 | - React-jsi
510 | - React-jsiexecutor
511 | - React-logger
512 | - React-rendererdebug
513 | - React-runtimescheduler
514 | - React-utils
515 | - ReactCommon/turbomodule/core
516 | - React-Fabric/components/root (0.77.1):
517 | - DoubleConversion
518 | - fast_float (= 6.1.4)
519 | - fmt (= 11.0.2)
520 | - glog
521 | - hermes-engine
522 | - RCT-Folly/Fabric (= 2024.11.18.00)
523 | - RCTRequired
524 | - RCTTypeSafety
525 | - React-Core
526 | - React-cxxreact
527 | - React-debug
528 | - React-featureflags
529 | - React-graphics
530 | - React-jsi
531 | - React-jsiexecutor
532 | - React-logger
533 | - React-rendererdebug
534 | - React-runtimescheduler
535 | - React-utils
536 | - ReactCommon/turbomodule/core
537 | - React-Fabric/components/view (0.77.1):
538 | - DoubleConversion
539 | - fast_float (= 6.1.4)
540 | - fmt (= 11.0.2)
541 | - glog
542 | - hermes-engine
543 | - RCT-Folly/Fabric (= 2024.11.18.00)
544 | - RCTRequired
545 | - RCTTypeSafety
546 | - React-Core
547 | - React-cxxreact
548 | - React-debug
549 | - React-featureflags
550 | - React-graphics
551 | - React-jsi
552 | - React-jsiexecutor
553 | - React-logger
554 | - React-rendererdebug
555 | - React-runtimescheduler
556 | - React-utils
557 | - ReactCommon/turbomodule/core
558 | - Yoga
559 | - React-Fabric/core (0.77.1):
560 | - DoubleConversion
561 | - fast_float (= 6.1.4)
562 | - fmt (= 11.0.2)
563 | - glog
564 | - hermes-engine
565 | - RCT-Folly/Fabric (= 2024.11.18.00)
566 | - RCTRequired
567 | - RCTTypeSafety
568 | - React-Core
569 | - React-cxxreact
570 | - React-debug
571 | - React-featureflags
572 | - React-graphics
573 | - React-jsi
574 | - React-jsiexecutor
575 | - React-logger
576 | - React-rendererdebug
577 | - React-runtimescheduler
578 | - React-utils
579 | - ReactCommon/turbomodule/core
580 | - React-Fabric/dom (0.77.1):
581 | - DoubleConversion
582 | - fast_float (= 6.1.4)
583 | - fmt (= 11.0.2)
584 | - glog
585 | - hermes-engine
586 | - RCT-Folly/Fabric (= 2024.11.18.00)
587 | - RCTRequired
588 | - RCTTypeSafety
589 | - React-Core
590 | - React-cxxreact
591 | - React-debug
592 | - React-featureflags
593 | - React-graphics
594 | - React-jsi
595 | - React-jsiexecutor
596 | - React-logger
597 | - React-rendererdebug
598 | - React-runtimescheduler
599 | - React-utils
600 | - ReactCommon/turbomodule/core
601 | - React-Fabric/imagemanager (0.77.1):
602 | - DoubleConversion
603 | - fast_float (= 6.1.4)
604 | - fmt (= 11.0.2)
605 | - glog
606 | - hermes-engine
607 | - RCT-Folly/Fabric (= 2024.11.18.00)
608 | - RCTRequired
609 | - RCTTypeSafety
610 | - React-Core
611 | - React-cxxreact
612 | - React-debug
613 | - React-featureflags
614 | - React-graphics
615 | - React-jsi
616 | - React-jsiexecutor
617 | - React-logger
618 | - React-rendererdebug
619 | - React-runtimescheduler
620 | - React-utils
621 | - ReactCommon/turbomodule/core
622 | - React-Fabric/leakchecker (0.77.1):
623 | - DoubleConversion
624 | - fast_float (= 6.1.4)
625 | - fmt (= 11.0.2)
626 | - glog
627 | - hermes-engine
628 | - RCT-Folly/Fabric (= 2024.11.18.00)
629 | - RCTRequired
630 | - RCTTypeSafety
631 | - React-Core
632 | - React-cxxreact
633 | - React-debug
634 | - React-featureflags
635 | - React-graphics
636 | - React-jsi
637 | - React-jsiexecutor
638 | - React-logger
639 | - React-rendererdebug
640 | - React-runtimescheduler
641 | - React-utils
642 | - ReactCommon/turbomodule/core
643 | - React-Fabric/mounting (0.77.1):
644 | - DoubleConversion
645 | - fast_float (= 6.1.4)
646 | - fmt (= 11.0.2)
647 | - glog
648 | - hermes-engine
649 | - RCT-Folly/Fabric (= 2024.11.18.00)
650 | - RCTRequired
651 | - RCTTypeSafety
652 | - React-Core
653 | - React-cxxreact
654 | - React-debug
655 | - React-featureflags
656 | - React-graphics
657 | - React-jsi
658 | - React-jsiexecutor
659 | - React-logger
660 | - React-rendererdebug
661 | - React-runtimescheduler
662 | - React-utils
663 | - ReactCommon/turbomodule/core
664 | - React-Fabric/observers (0.77.1):
665 | - DoubleConversion
666 | - fast_float (= 6.1.4)
667 | - fmt (= 11.0.2)
668 | - glog
669 | - hermes-engine
670 | - RCT-Folly/Fabric (= 2024.11.18.00)
671 | - RCTRequired
672 | - RCTTypeSafety
673 | - React-Core
674 | - React-cxxreact
675 | - React-debug
676 | - React-Fabric/observers/events (= 0.77.1)
677 | - React-featureflags
678 | - React-graphics
679 | - React-jsi
680 | - React-jsiexecutor
681 | - React-logger
682 | - React-rendererdebug
683 | - React-runtimescheduler
684 | - React-utils
685 | - ReactCommon/turbomodule/core
686 | - React-Fabric/observers/events (0.77.1):
687 | - DoubleConversion
688 | - fast_float (= 6.1.4)
689 | - fmt (= 11.0.2)
690 | - glog
691 | - hermes-engine
692 | - RCT-Folly/Fabric (= 2024.11.18.00)
693 | - RCTRequired
694 | - RCTTypeSafety
695 | - React-Core
696 | - React-cxxreact
697 | - React-debug
698 | - React-featureflags
699 | - React-graphics
700 | - React-jsi
701 | - React-jsiexecutor
702 | - React-logger
703 | - React-rendererdebug
704 | - React-runtimescheduler
705 | - React-utils
706 | - ReactCommon/turbomodule/core
707 | - React-Fabric/scheduler (0.77.1):
708 | - DoubleConversion
709 | - fast_float (= 6.1.4)
710 | - fmt (= 11.0.2)
711 | - glog
712 | - hermes-engine
713 | - RCT-Folly/Fabric (= 2024.11.18.00)
714 | - RCTRequired
715 | - RCTTypeSafety
716 | - React-Core
717 | - React-cxxreact
718 | - React-debug
719 | - React-Fabric/observers/events
720 | - React-featureflags
721 | - React-graphics
722 | - React-jsi
723 | - React-jsiexecutor
724 | - React-logger
725 | - React-performancetimeline
726 | - React-rendererdebug
727 | - React-runtimescheduler
728 | - React-utils
729 | - ReactCommon/turbomodule/core
730 | - React-Fabric/telemetry (0.77.1):
731 | - DoubleConversion
732 | - fast_float (= 6.1.4)
733 | - fmt (= 11.0.2)
734 | - glog
735 | - hermes-engine
736 | - RCT-Folly/Fabric (= 2024.11.18.00)
737 | - RCTRequired
738 | - RCTTypeSafety
739 | - React-Core
740 | - React-cxxreact
741 | - React-debug
742 | - React-featureflags
743 | - React-graphics
744 | - React-jsi
745 | - React-jsiexecutor
746 | - React-logger
747 | - React-rendererdebug
748 | - React-runtimescheduler
749 | - React-utils
750 | - ReactCommon/turbomodule/core
751 | - React-Fabric/templateprocessor (0.77.1):
752 | - DoubleConversion
753 | - fast_float (= 6.1.4)
754 | - fmt (= 11.0.2)
755 | - glog
756 | - hermes-engine
757 | - RCT-Folly/Fabric (= 2024.11.18.00)
758 | - RCTRequired
759 | - RCTTypeSafety
760 | - React-Core
761 | - React-cxxreact
762 | - React-debug
763 | - React-featureflags
764 | - React-graphics
765 | - React-jsi
766 | - React-jsiexecutor
767 | - React-logger
768 | - React-rendererdebug
769 | - React-runtimescheduler
770 | - React-utils
771 | - ReactCommon/turbomodule/core
772 | - React-Fabric/uimanager (0.77.1):
773 | - DoubleConversion
774 | - fast_float (= 6.1.4)
775 | - fmt (= 11.0.2)
776 | - glog
777 | - hermes-engine
778 | - RCT-Folly/Fabric (= 2024.11.18.00)
779 | - RCTRequired
780 | - RCTTypeSafety
781 | - React-Core
782 | - React-cxxreact
783 | - React-debug
784 | - React-Fabric/uimanager/consistency (= 0.77.1)
785 | - React-featureflags
786 | - React-graphics
787 | - React-jsi
788 | - React-jsiexecutor
789 | - React-logger
790 | - React-rendererconsistency
791 | - React-rendererdebug
792 | - React-runtimescheduler
793 | - React-utils
794 | - ReactCommon/turbomodule/core
795 | - React-Fabric/uimanager/consistency (0.77.1):
796 | - DoubleConversion
797 | - fast_float (= 6.1.4)
798 | - fmt (= 11.0.2)
799 | - glog
800 | - hermes-engine
801 | - RCT-Folly/Fabric (= 2024.11.18.00)
802 | - RCTRequired
803 | - RCTTypeSafety
804 | - React-Core
805 | - React-cxxreact
806 | - React-debug
807 | - React-featureflags
808 | - React-graphics
809 | - React-jsi
810 | - React-jsiexecutor
811 | - React-logger
812 | - React-rendererconsistency
813 | - React-rendererdebug
814 | - React-runtimescheduler
815 | - React-utils
816 | - ReactCommon/turbomodule/core
817 | - React-FabricComponents (0.77.1):
818 | - DoubleConversion
819 | - fast_float (= 6.1.4)
820 | - fmt (= 11.0.2)
821 | - glog
822 | - hermes-engine
823 | - RCT-Folly/Fabric (= 2024.11.18.00)
824 | - RCTRequired
825 | - RCTTypeSafety
826 | - React-Core
827 | - React-cxxreact
828 | - React-debug
829 | - React-Fabric
830 | - React-FabricComponents/components (= 0.77.1)
831 | - React-FabricComponents/textlayoutmanager (= 0.77.1)
832 | - React-featureflags
833 | - React-graphics
834 | - React-jsi
835 | - React-jsiexecutor
836 | - React-logger
837 | - React-rendererdebug
838 | - React-runtimescheduler
839 | - React-utils
840 | - ReactCommon/turbomodule/core
841 | - Yoga
842 | - React-FabricComponents/components (0.77.1):
843 | - DoubleConversion
844 | - fast_float (= 6.1.4)
845 | - fmt (= 11.0.2)
846 | - glog
847 | - hermes-engine
848 | - RCT-Folly/Fabric (= 2024.11.18.00)
849 | - RCTRequired
850 | - RCTTypeSafety
851 | - React-Core
852 | - React-cxxreact
853 | - React-debug
854 | - React-Fabric
855 | - React-FabricComponents/components/inputaccessory (= 0.77.1)
856 | - React-FabricComponents/components/iostextinput (= 0.77.1)
857 | - React-FabricComponents/components/modal (= 0.77.1)
858 | - React-FabricComponents/components/rncore (= 0.77.1)
859 | - React-FabricComponents/components/safeareaview (= 0.77.1)
860 | - React-FabricComponents/components/scrollview (= 0.77.1)
861 | - React-FabricComponents/components/text (= 0.77.1)
862 | - React-FabricComponents/components/textinput (= 0.77.1)
863 | - React-FabricComponents/components/unimplementedview (= 0.77.1)
864 | - React-featureflags
865 | - React-graphics
866 | - React-jsi
867 | - React-jsiexecutor
868 | - React-logger
869 | - React-rendererdebug
870 | - React-runtimescheduler
871 | - React-utils
872 | - ReactCommon/turbomodule/core
873 | - Yoga
874 | - React-FabricComponents/components/inputaccessory (0.77.1):
875 | - DoubleConversion
876 | - fast_float (= 6.1.4)
877 | - fmt (= 11.0.2)
878 | - glog
879 | - hermes-engine
880 | - RCT-Folly/Fabric (= 2024.11.18.00)
881 | - RCTRequired
882 | - RCTTypeSafety
883 | - React-Core
884 | - React-cxxreact
885 | - React-debug
886 | - React-Fabric
887 | - React-featureflags
888 | - React-graphics
889 | - React-jsi
890 | - React-jsiexecutor
891 | - React-logger
892 | - React-rendererdebug
893 | - React-runtimescheduler
894 | - React-utils
895 | - ReactCommon/turbomodule/core
896 | - Yoga
897 | - React-FabricComponents/components/iostextinput (0.77.1):
898 | - DoubleConversion
899 | - fast_float (= 6.1.4)
900 | - fmt (= 11.0.2)
901 | - glog
902 | - hermes-engine
903 | - RCT-Folly/Fabric (= 2024.11.18.00)
904 | - RCTRequired
905 | - RCTTypeSafety
906 | - React-Core
907 | - React-cxxreact
908 | - React-debug
909 | - React-Fabric
910 | - React-featureflags
911 | - React-graphics
912 | - React-jsi
913 | - React-jsiexecutor
914 | - React-logger
915 | - React-rendererdebug
916 | - React-runtimescheduler
917 | - React-utils
918 | - ReactCommon/turbomodule/core
919 | - Yoga
920 | - React-FabricComponents/components/modal (0.77.1):
921 | - DoubleConversion
922 | - fast_float (= 6.1.4)
923 | - fmt (= 11.0.2)
924 | - glog
925 | - hermes-engine
926 | - RCT-Folly/Fabric (= 2024.11.18.00)
927 | - RCTRequired
928 | - RCTTypeSafety
929 | - React-Core
930 | - React-cxxreact
931 | - React-debug
932 | - React-Fabric
933 | - React-featureflags
934 | - React-graphics
935 | - React-jsi
936 | - React-jsiexecutor
937 | - React-logger
938 | - React-rendererdebug
939 | - React-runtimescheduler
940 | - React-utils
941 | - ReactCommon/turbomodule/core
942 | - Yoga
943 | - React-FabricComponents/components/rncore (0.77.1):
944 | - DoubleConversion
945 | - fast_float (= 6.1.4)
946 | - fmt (= 11.0.2)
947 | - glog
948 | - hermes-engine
949 | - RCT-Folly/Fabric (= 2024.11.18.00)
950 | - RCTRequired
951 | - RCTTypeSafety
952 | - React-Core
953 | - React-cxxreact
954 | - React-debug
955 | - React-Fabric
956 | - React-featureflags
957 | - React-graphics
958 | - React-jsi
959 | - React-jsiexecutor
960 | - React-logger
961 | - React-rendererdebug
962 | - React-runtimescheduler
963 | - React-utils
964 | - ReactCommon/turbomodule/core
965 | - Yoga
966 | - React-FabricComponents/components/safeareaview (0.77.1):
967 | - DoubleConversion
968 | - fast_float (= 6.1.4)
969 | - fmt (= 11.0.2)
970 | - glog
971 | - hermes-engine
972 | - RCT-Folly/Fabric (= 2024.11.18.00)
973 | - RCTRequired
974 | - RCTTypeSafety
975 | - React-Core
976 | - React-cxxreact
977 | - React-debug
978 | - React-Fabric
979 | - React-featureflags
980 | - React-graphics
981 | - React-jsi
982 | - React-jsiexecutor
983 | - React-logger
984 | - React-rendererdebug
985 | - React-runtimescheduler
986 | - React-utils
987 | - ReactCommon/turbomodule/core
988 | - Yoga
989 | - React-FabricComponents/components/scrollview (0.77.1):
990 | - DoubleConversion
991 | - fast_float (= 6.1.4)
992 | - fmt (= 11.0.2)
993 | - glog
994 | - hermes-engine
995 | - RCT-Folly/Fabric (= 2024.11.18.00)
996 | - RCTRequired
997 | - RCTTypeSafety
998 | - React-Core
999 | - React-cxxreact
1000 | - React-debug
1001 | - React-Fabric
1002 | - React-featureflags
1003 | - React-graphics
1004 | - React-jsi
1005 | - React-jsiexecutor
1006 | - React-logger
1007 | - React-rendererdebug
1008 | - React-runtimescheduler
1009 | - React-utils
1010 | - ReactCommon/turbomodule/core
1011 | - Yoga
1012 | - React-FabricComponents/components/text (0.77.1):
1013 | - DoubleConversion
1014 | - fast_float (= 6.1.4)
1015 | - fmt (= 11.0.2)
1016 | - glog
1017 | - hermes-engine
1018 | - RCT-Folly/Fabric (= 2024.11.18.00)
1019 | - RCTRequired
1020 | - RCTTypeSafety
1021 | - React-Core
1022 | - React-cxxreact
1023 | - React-debug
1024 | - React-Fabric
1025 | - React-featureflags
1026 | - React-graphics
1027 | - React-jsi
1028 | - React-jsiexecutor
1029 | - React-logger
1030 | - React-rendererdebug
1031 | - React-runtimescheduler
1032 | - React-utils
1033 | - ReactCommon/turbomodule/core
1034 | - Yoga
1035 | - React-FabricComponents/components/textinput (0.77.1):
1036 | - DoubleConversion
1037 | - fast_float (= 6.1.4)
1038 | - fmt (= 11.0.2)
1039 | - glog
1040 | - hermes-engine
1041 | - RCT-Folly/Fabric (= 2024.11.18.00)
1042 | - RCTRequired
1043 | - RCTTypeSafety
1044 | - React-Core
1045 | - React-cxxreact
1046 | - React-debug
1047 | - React-Fabric
1048 | - React-featureflags
1049 | - React-graphics
1050 | - React-jsi
1051 | - React-jsiexecutor
1052 | - React-logger
1053 | - React-rendererdebug
1054 | - React-runtimescheduler
1055 | - React-utils
1056 | - ReactCommon/turbomodule/core
1057 | - Yoga
1058 | - React-FabricComponents/components/unimplementedview (0.77.1):
1059 | - DoubleConversion
1060 | - fast_float (= 6.1.4)
1061 | - fmt (= 11.0.2)
1062 | - glog
1063 | - hermes-engine
1064 | - RCT-Folly/Fabric (= 2024.11.18.00)
1065 | - RCTRequired
1066 | - RCTTypeSafety
1067 | - React-Core
1068 | - React-cxxreact
1069 | - React-debug
1070 | - React-Fabric
1071 | - React-featureflags
1072 | - React-graphics
1073 | - React-jsi
1074 | - React-jsiexecutor
1075 | - React-logger
1076 | - React-rendererdebug
1077 | - React-runtimescheduler
1078 | - React-utils
1079 | - ReactCommon/turbomodule/core
1080 | - Yoga
1081 | - React-FabricComponents/textlayoutmanager (0.77.1):
1082 | - DoubleConversion
1083 | - fast_float (= 6.1.4)
1084 | - fmt (= 11.0.2)
1085 | - glog
1086 | - hermes-engine
1087 | - RCT-Folly/Fabric (= 2024.11.18.00)
1088 | - RCTRequired
1089 | - RCTTypeSafety
1090 | - React-Core
1091 | - React-cxxreact
1092 | - React-debug
1093 | - React-Fabric
1094 | - React-featureflags
1095 | - React-graphics
1096 | - React-jsi
1097 | - React-jsiexecutor
1098 | - React-logger
1099 | - React-rendererdebug
1100 | - React-runtimescheduler
1101 | - React-utils
1102 | - ReactCommon/turbomodule/core
1103 | - Yoga
1104 | - React-FabricImage (0.77.1):
1105 | - DoubleConversion
1106 | - fast_float (= 6.1.4)
1107 | - fmt (= 11.0.2)
1108 | - glog
1109 | - hermes-engine
1110 | - RCT-Folly/Fabric (= 2024.11.18.00)
1111 | - RCTRequired (= 0.77.1)
1112 | - RCTTypeSafety (= 0.77.1)
1113 | - React-Fabric
1114 | - React-featureflags
1115 | - React-graphics
1116 | - React-ImageManager
1117 | - React-jsi
1118 | - React-jsiexecutor (= 0.77.1)
1119 | - React-logger
1120 | - React-rendererdebug
1121 | - React-utils
1122 | - ReactCommon
1123 | - Yoga
1124 | - React-featureflags (0.77.1)
1125 | - React-featureflagsnativemodule (0.77.1):
1126 | - hermes-engine
1127 | - RCT-Folly
1128 | - React-featureflags
1129 | - React-jsi
1130 | - React-jsiexecutor
1131 | - React-RCTFBReactNativeSpec
1132 | - ReactCommon/turbomodule/core
1133 | - React-graphics (0.77.1):
1134 | - DoubleConversion
1135 | - fast_float (= 6.1.4)
1136 | - fmt (= 11.0.2)
1137 | - glog
1138 | - RCT-Folly/Fabric (= 2024.11.18.00)
1139 | - React-jsi
1140 | - React-jsiexecutor
1141 | - React-utils
1142 | - React-hermes (0.77.1):
1143 | - DoubleConversion
1144 | - fast_float (= 6.1.4)
1145 | - fmt (= 11.0.2)
1146 | - glog
1147 | - hermes-engine
1148 | - RCT-Folly (= 2024.11.18.00)
1149 | - React-cxxreact (= 0.77.1)
1150 | - React-jsi
1151 | - React-jsiexecutor (= 0.77.1)
1152 | - React-jsinspector
1153 | - React-perflogger (= 0.77.1)
1154 | - React-runtimeexecutor
1155 | - React-idlecallbacksnativemodule (0.77.1):
1156 | - hermes-engine
1157 | - RCT-Folly
1158 | - React-jsi
1159 | - React-jsiexecutor
1160 | - React-RCTFBReactNativeSpec
1161 | - React-runtimescheduler
1162 | - ReactCommon/turbomodule/core
1163 | - React-ImageManager (0.77.1):
1164 | - glog
1165 | - RCT-Folly/Fabric
1166 | - React-Core/Default
1167 | - React-debug
1168 | - React-Fabric
1169 | - React-graphics
1170 | - React-rendererdebug
1171 | - React-utils
1172 | - React-jserrorhandler (0.77.1):
1173 | - glog
1174 | - hermes-engine
1175 | - RCT-Folly/Fabric (= 2024.11.18.00)
1176 | - React-cxxreact
1177 | - React-debug
1178 | - React-featureflags
1179 | - React-jsi
1180 | - ReactCommon/turbomodule/bridging
1181 | - React-jsi (0.77.1):
1182 | - boost
1183 | - DoubleConversion
1184 | - fast_float (= 6.1.4)
1185 | - fmt (= 11.0.2)
1186 | - glog
1187 | - hermes-engine
1188 | - RCT-Folly (= 2024.11.18.00)
1189 | - React-jsiexecutor (0.77.1):
1190 | - DoubleConversion
1191 | - fast_float (= 6.1.4)
1192 | - fmt (= 11.0.2)
1193 | - glog
1194 | - hermes-engine
1195 | - RCT-Folly (= 2024.11.18.00)
1196 | - React-cxxreact (= 0.77.1)
1197 | - React-jsi (= 0.77.1)
1198 | - React-jsinspector
1199 | - React-perflogger (= 0.77.1)
1200 | - React-jsinspector (0.77.1):
1201 | - DoubleConversion
1202 | - glog
1203 | - hermes-engine
1204 | - RCT-Folly (= 2024.11.18.00)
1205 | - React-featureflags
1206 | - React-jsi
1207 | - React-perflogger (= 0.77.1)
1208 | - React-runtimeexecutor (= 0.77.1)
1209 | - React-jsitracing (0.77.1):
1210 | - React-jsi
1211 | - React-logger (0.77.1):
1212 | - glog
1213 | - React-Mapbuffer (0.77.1):
1214 | - glog
1215 | - React-debug
1216 | - React-microtasksnativemodule (0.77.1):
1217 | - hermes-engine
1218 | - RCT-Folly
1219 | - React-jsi
1220 | - React-jsiexecutor
1221 | - React-RCTFBReactNativeSpec
1222 | - ReactCommon/turbomodule/core
1223 | - React-nativeconfig (0.77.1)
1224 | - React-NativeModulesApple (0.77.1):
1225 | - glog
1226 | - hermes-engine
1227 | - React-callinvoker
1228 | - React-Core
1229 | - React-cxxreact
1230 | - React-jsi
1231 | - React-jsinspector
1232 | - React-runtimeexecutor
1233 | - ReactCommon/turbomodule/bridging
1234 | - ReactCommon/turbomodule/core
1235 | - React-perflogger (0.77.1):
1236 | - DoubleConversion
1237 | - RCT-Folly (= 2024.11.18.00)
1238 | - React-performancetimeline (0.77.1):
1239 | - RCT-Folly (= 2024.11.18.00)
1240 | - React-cxxreact
1241 | - React-featureflags
1242 | - React-timing
1243 | - React-RCTActionSheet (0.77.1):
1244 | - React-Core/RCTActionSheetHeaders (= 0.77.1)
1245 | - React-RCTAnimation (0.77.1):
1246 | - RCT-Folly (= 2024.11.18.00)
1247 | - RCTTypeSafety
1248 | - React-Core/RCTAnimationHeaders
1249 | - React-jsi
1250 | - React-NativeModulesApple
1251 | - React-RCTFBReactNativeSpec
1252 | - ReactCommon
1253 | - React-RCTAppDelegate (0.77.1):
1254 | - RCT-Folly (= 2024.11.18.00)
1255 | - RCTRequired
1256 | - RCTTypeSafety
1257 | - React-Core
1258 | - React-CoreModules
1259 | - React-debug
1260 | - React-defaultsnativemodule
1261 | - React-Fabric
1262 | - React-featureflags
1263 | - React-graphics
1264 | - React-hermes
1265 | - React-nativeconfig
1266 | - React-NativeModulesApple
1267 | - React-RCTFabric
1268 | - React-RCTFBReactNativeSpec
1269 | - React-RCTImage
1270 | - React-RCTNetwork
1271 | - React-rendererdebug
1272 | - React-RuntimeApple
1273 | - React-RuntimeCore
1274 | - React-RuntimeHermes
1275 | - React-runtimescheduler
1276 | - React-utils
1277 | - ReactCommon
1278 | - React-RCTBlob (0.77.1):
1279 | - DoubleConversion
1280 | - fast_float (= 6.1.4)
1281 | - fmt (= 11.0.2)
1282 | - hermes-engine
1283 | - RCT-Folly (= 2024.11.18.00)
1284 | - React-Core/RCTBlobHeaders
1285 | - React-Core/RCTWebSocket
1286 | - React-jsi
1287 | - React-jsinspector
1288 | - React-NativeModulesApple
1289 | - React-RCTFBReactNativeSpec
1290 | - React-RCTNetwork
1291 | - ReactCommon
1292 | - React-RCTFabric (0.77.1):
1293 | - glog
1294 | - hermes-engine
1295 | - RCT-Folly/Fabric (= 2024.11.18.00)
1296 | - React-Core
1297 | - React-debug
1298 | - React-Fabric
1299 | - React-FabricComponents
1300 | - React-FabricImage
1301 | - React-featureflags
1302 | - React-graphics
1303 | - React-ImageManager
1304 | - React-jsi
1305 | - React-jsinspector
1306 | - React-nativeconfig
1307 | - React-performancetimeline
1308 | - React-RCTImage
1309 | - React-RCTText
1310 | - React-rendererconsistency
1311 | - React-rendererdebug
1312 | - React-runtimescheduler
1313 | - React-utils
1314 | - Yoga
1315 | - React-RCTFBReactNativeSpec (0.77.1):
1316 | - hermes-engine
1317 | - RCT-Folly
1318 | - RCTRequired
1319 | - RCTTypeSafety
1320 | - React-Core
1321 | - React-jsi
1322 | - React-jsiexecutor
1323 | - React-NativeModulesApple
1324 | - ReactCommon
1325 | - React-RCTImage (0.77.1):
1326 | - RCT-Folly (= 2024.11.18.00)
1327 | - RCTTypeSafety
1328 | - React-Core/RCTImageHeaders
1329 | - React-jsi
1330 | - React-NativeModulesApple
1331 | - React-RCTFBReactNativeSpec
1332 | - React-RCTNetwork
1333 | - ReactCommon
1334 | - React-RCTLinking (0.77.1):
1335 | - React-Core/RCTLinkingHeaders (= 0.77.1)
1336 | - React-jsi (= 0.77.1)
1337 | - React-NativeModulesApple
1338 | - React-RCTFBReactNativeSpec
1339 | - ReactCommon
1340 | - ReactCommon/turbomodule/core (= 0.77.1)
1341 | - React-RCTNetwork (0.77.1):
1342 | - RCT-Folly (= 2024.11.18.00)
1343 | - RCTTypeSafety
1344 | - React-Core/RCTNetworkHeaders
1345 | - React-jsi
1346 | - React-NativeModulesApple
1347 | - React-RCTFBReactNativeSpec
1348 | - ReactCommon
1349 | - React-RCTSettings (0.77.1):
1350 | - RCT-Folly (= 2024.11.18.00)
1351 | - RCTTypeSafety
1352 | - React-Core/RCTSettingsHeaders
1353 | - React-jsi
1354 | - React-NativeModulesApple
1355 | - React-RCTFBReactNativeSpec
1356 | - ReactCommon
1357 | - React-RCTText (0.77.1):
1358 | - React-Core/RCTTextHeaders (= 0.77.1)
1359 | - Yoga
1360 | - React-RCTVibration (0.77.1):
1361 | - RCT-Folly (= 2024.11.18.00)
1362 | - React-Core/RCTVibrationHeaders
1363 | - React-jsi
1364 | - React-NativeModulesApple
1365 | - React-RCTFBReactNativeSpec
1366 | - ReactCommon
1367 | - React-rendererconsistency (0.77.1)
1368 | - React-rendererdebug (0.77.1):
1369 | - DoubleConversion
1370 | - fast_float (= 6.1.4)
1371 | - fmt (= 11.0.2)
1372 | - RCT-Folly (= 2024.11.18.00)
1373 | - React-debug
1374 | - React-rncore (0.77.1)
1375 | - React-RuntimeApple (0.77.1):
1376 | - hermes-engine
1377 | - RCT-Folly/Fabric (= 2024.11.18.00)
1378 | - React-callinvoker
1379 | - React-Core/Default
1380 | - React-CoreModules
1381 | - React-cxxreact
1382 | - React-featureflags
1383 | - React-jserrorhandler
1384 | - React-jsi
1385 | - React-jsiexecutor
1386 | - React-jsinspector
1387 | - React-Mapbuffer
1388 | - React-NativeModulesApple
1389 | - React-RCTFabric
1390 | - React-RCTFBReactNativeSpec
1391 | - React-RuntimeCore
1392 | - React-runtimeexecutor
1393 | - React-RuntimeHermes
1394 | - React-runtimescheduler
1395 | - React-utils
1396 | - React-RuntimeCore (0.77.1):
1397 | - glog
1398 | - hermes-engine
1399 | - RCT-Folly/Fabric (= 2024.11.18.00)
1400 | - React-cxxreact
1401 | - React-Fabric
1402 | - React-featureflags
1403 | - React-jserrorhandler
1404 | - React-jsi
1405 | - React-jsiexecutor
1406 | - React-jsinspector
1407 | - React-performancetimeline
1408 | - React-runtimeexecutor
1409 | - React-runtimescheduler
1410 | - React-utils
1411 | - React-runtimeexecutor (0.77.1):
1412 | - React-jsi (= 0.77.1)
1413 | - React-RuntimeHermes (0.77.1):
1414 | - hermes-engine
1415 | - RCT-Folly/Fabric (= 2024.11.18.00)
1416 | - React-featureflags
1417 | - React-hermes
1418 | - React-jsi
1419 | - React-jsinspector
1420 | - React-jsitracing
1421 | - React-nativeconfig
1422 | - React-RuntimeCore
1423 | - React-utils
1424 | - React-runtimescheduler (0.77.1):
1425 | - glog
1426 | - hermes-engine
1427 | - RCT-Folly (= 2024.11.18.00)
1428 | - React-callinvoker
1429 | - React-cxxreact
1430 | - React-debug
1431 | - React-featureflags
1432 | - React-jsi
1433 | - React-performancetimeline
1434 | - React-rendererconsistency
1435 | - React-rendererdebug
1436 | - React-runtimeexecutor
1437 | - React-timing
1438 | - React-utils
1439 | - React-timing (0.77.1)
1440 | - React-utils (0.77.1):
1441 | - glog
1442 | - hermes-engine
1443 | - RCT-Folly (= 2024.11.18.00)
1444 | - React-debug
1445 | - React-jsi (= 0.77.1)
1446 | - ReactAppDependencyProvider (0.77.1):
1447 | - ReactCodegen
1448 | - ReactCodegen (0.77.1):
1449 | - DoubleConversion
1450 | - glog
1451 | - hermes-engine
1452 | - RCT-Folly
1453 | - RCTRequired
1454 | - RCTTypeSafety
1455 | - React-Core
1456 | - React-debug
1457 | - React-Fabric
1458 | - React-FabricImage
1459 | - React-featureflags
1460 | - React-graphics
1461 | - React-jsi
1462 | - React-jsiexecutor
1463 | - React-NativeModulesApple
1464 | - React-RCTAppDelegate
1465 | - React-rendererdebug
1466 | - React-utils
1467 | - ReactCommon/turbomodule/bridging
1468 | - ReactCommon/turbomodule/core
1469 | - ReactCommon (0.77.1):
1470 | - ReactCommon/turbomodule (= 0.77.1)
1471 | - ReactCommon/turbomodule (0.77.1):
1472 | - DoubleConversion
1473 | - fast_float (= 6.1.4)
1474 | - fmt (= 11.0.2)
1475 | - glog
1476 | - hermes-engine
1477 | - RCT-Folly (= 2024.11.18.00)
1478 | - React-callinvoker (= 0.77.1)
1479 | - React-cxxreact (= 0.77.1)
1480 | - React-jsi (= 0.77.1)
1481 | - React-logger (= 0.77.1)
1482 | - React-perflogger (= 0.77.1)
1483 | - ReactCommon/turbomodule/bridging (= 0.77.1)
1484 | - ReactCommon/turbomodule/core (= 0.77.1)
1485 | - ReactCommon/turbomodule/bridging (0.77.1):
1486 | - DoubleConversion
1487 | - fast_float (= 6.1.4)
1488 | - fmt (= 11.0.2)
1489 | - glog
1490 | - hermes-engine
1491 | - RCT-Folly (= 2024.11.18.00)
1492 | - React-callinvoker (= 0.77.1)
1493 | - React-cxxreact (= 0.77.1)
1494 | - React-jsi (= 0.77.1)
1495 | - React-logger (= 0.77.1)
1496 | - React-perflogger (= 0.77.1)
1497 | - ReactCommon/turbomodule/core (0.77.1):
1498 | - DoubleConversion
1499 | - fast_float (= 6.1.4)
1500 | - fmt (= 11.0.2)
1501 | - glog
1502 | - hermes-engine
1503 | - RCT-Folly (= 2024.11.18.00)
1504 | - React-callinvoker (= 0.77.1)
1505 | - React-cxxreact (= 0.77.1)
1506 | - React-debug (= 0.77.1)
1507 | - React-featureflags (= 0.77.1)
1508 | - React-jsi (= 0.77.1)
1509 | - React-logger (= 0.77.1)
1510 | - React-perflogger (= 0.77.1)
1511 | - React-utils (= 0.77.1)
1512 | - RNPermissions (4.1.5):
1513 | - DoubleConversion
1514 | - glog
1515 | - hermes-engine
1516 | - RCT-Folly (= 2024.11.18.00)
1517 | - RCTRequired
1518 | - RCTTypeSafety
1519 | - React-Core
1520 | - React-debug
1521 | - React-Fabric
1522 | - React-featureflags
1523 | - React-graphics
1524 | - React-ImageManager
1525 | - React-NativeModulesApple
1526 | - React-RCTFabric
1527 | - React-rendererdebug
1528 | - React-utils
1529 | - ReactCodegen
1530 | - ReactCommon/turbomodule/bridging
1531 | - ReactCommon/turbomodule/core
1532 | - Yoga
1533 | - SocketRocket (0.7.1)
1534 | - Yoga (0.0.0)
1535 |
1536 | DEPENDENCIES:
1537 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
1538 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
1539 | - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
1540 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
1541 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
1542 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
1543 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
1544 | - hypertrack-sdk-react-native (from `../node_modules/hypertrack-sdk-react-native`)
1545 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1546 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
1547 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
1548 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`)
1549 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
1550 | - React (from `../node_modules/react-native/`)
1551 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
1552 | - React-Core (from `../node_modules/react-native/`)
1553 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
1554 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
1555 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
1556 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
1557 | - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
1558 | - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
1559 | - React-Fabric (from `../node_modules/react-native/ReactCommon`)
1560 | - React-FabricComponents (from `../node_modules/react-native/ReactCommon`)
1561 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`)
1562 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`)
1563 | - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
1564 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
1565 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
1566 | - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
1567 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
1568 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
1569 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
1570 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
1571 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`)
1572 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`)
1573 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
1574 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
1575 | - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
1576 | - React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
1577 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
1578 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
1579 | - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`)
1580 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
1581 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
1582 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
1583 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
1584 | - React-RCTFabric (from `../node_modules/react-native/React`)
1585 | - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`)
1586 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
1587 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
1588 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
1589 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
1590 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
1591 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
1592 | - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`)
1593 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`)
1594 | - React-rncore (from `../node_modules/react-native/ReactCommon`)
1595 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
1596 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`)
1597 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
1598 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`)
1599 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
1600 | - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`)
1601 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
1602 | - ReactAppDependencyProvider (from `build/generated/ios`)
1603 | - ReactCodegen (from `build/generated/ios`)
1604 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
1605 | - RNPermissions (from `../node_modules/react-native-permissions`)
1606 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
1607 |
1608 | SPEC REPOS:
1609 | trunk:
1610 | - HyperTrack
1611 | - React-Codegen
1612 | - SocketRocket
1613 |
1614 | EXTERNAL SOURCES:
1615 | boost:
1616 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
1617 | DoubleConversion:
1618 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
1619 | fast_float:
1620 | :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec"
1621 | FBLazyVector:
1622 | :path: "../node_modules/react-native/Libraries/FBLazyVector"
1623 | fmt:
1624 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec"
1625 | glog:
1626 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
1627 | hermes-engine:
1628 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
1629 | :tag: hermes-2024-11-25-RNv0.77.0-d4f25d534ab744866448b36ca3bf3d97c08e638c
1630 | hypertrack-sdk-react-native:
1631 | :path: "../node_modules/hypertrack-sdk-react-native"
1632 | RCT-Folly:
1633 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
1634 | RCTDeprecation:
1635 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
1636 | RCTRequired:
1637 | :path: "../node_modules/react-native/Libraries/Required"
1638 | RCTTypeSafety:
1639 | :path: "../node_modules/react-native/Libraries/TypeSafety"
1640 | React:
1641 | :path: "../node_modules/react-native/"
1642 | React-callinvoker:
1643 | :path: "../node_modules/react-native/ReactCommon/callinvoker"
1644 | React-Core:
1645 | :path: "../node_modules/react-native/"
1646 | React-CoreModules:
1647 | :path: "../node_modules/react-native/React/CoreModules"
1648 | React-cxxreact:
1649 | :path: "../node_modules/react-native/ReactCommon/cxxreact"
1650 | React-debug:
1651 | :path: "../node_modules/react-native/ReactCommon/react/debug"
1652 | React-defaultsnativemodule:
1653 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
1654 | React-domnativemodule:
1655 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom"
1656 | React-Fabric:
1657 | :path: "../node_modules/react-native/ReactCommon"
1658 | React-FabricComponents:
1659 | :path: "../node_modules/react-native/ReactCommon"
1660 | React-FabricImage:
1661 | :path: "../node_modules/react-native/ReactCommon"
1662 | React-featureflags:
1663 | :path: "../node_modules/react-native/ReactCommon/react/featureflags"
1664 | React-featureflagsnativemodule:
1665 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
1666 | React-graphics:
1667 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
1668 | React-hermes:
1669 | :path: "../node_modules/react-native/ReactCommon/hermes"
1670 | React-idlecallbacksnativemodule:
1671 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
1672 | React-ImageManager:
1673 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
1674 | React-jserrorhandler:
1675 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler"
1676 | React-jsi:
1677 | :path: "../node_modules/react-native/ReactCommon/jsi"
1678 | React-jsiexecutor:
1679 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
1680 | React-jsinspector:
1681 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern"
1682 | React-jsitracing:
1683 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/"
1684 | React-logger:
1685 | :path: "../node_modules/react-native/ReactCommon/logger"
1686 | React-Mapbuffer:
1687 | :path: "../node_modules/react-native/ReactCommon"
1688 | React-microtasksnativemodule:
1689 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
1690 | React-nativeconfig:
1691 | :path: "../node_modules/react-native/ReactCommon"
1692 | React-NativeModulesApple:
1693 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
1694 | React-perflogger:
1695 | :path: "../node_modules/react-native/ReactCommon/reactperflogger"
1696 | React-performancetimeline:
1697 | :path: "../node_modules/react-native/ReactCommon/react/performance/timeline"
1698 | React-RCTActionSheet:
1699 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
1700 | React-RCTAnimation:
1701 | :path: "../node_modules/react-native/Libraries/NativeAnimation"
1702 | React-RCTAppDelegate:
1703 | :path: "../node_modules/react-native/Libraries/AppDelegate"
1704 | React-RCTBlob:
1705 | :path: "../node_modules/react-native/Libraries/Blob"
1706 | React-RCTFabric:
1707 | :path: "../node_modules/react-native/React"
1708 | React-RCTFBReactNativeSpec:
1709 | :path: "../node_modules/react-native/React"
1710 | React-RCTImage:
1711 | :path: "../node_modules/react-native/Libraries/Image"
1712 | React-RCTLinking:
1713 | :path: "../node_modules/react-native/Libraries/LinkingIOS"
1714 | React-RCTNetwork:
1715 | :path: "../node_modules/react-native/Libraries/Network"
1716 | React-RCTSettings:
1717 | :path: "../node_modules/react-native/Libraries/Settings"
1718 | React-RCTText:
1719 | :path: "../node_modules/react-native/Libraries/Text"
1720 | React-RCTVibration:
1721 | :path: "../node_modules/react-native/Libraries/Vibration"
1722 | React-rendererconsistency:
1723 | :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency"
1724 | React-rendererdebug:
1725 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug"
1726 | React-rncore:
1727 | :path: "../node_modules/react-native/ReactCommon"
1728 | React-RuntimeApple:
1729 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
1730 | React-RuntimeCore:
1731 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1732 | React-runtimeexecutor:
1733 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
1734 | React-RuntimeHermes:
1735 | :path: "../node_modules/react-native/ReactCommon/react/runtime"
1736 | React-runtimescheduler:
1737 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
1738 | React-timing:
1739 | :path: "../node_modules/react-native/ReactCommon/react/timing"
1740 | React-utils:
1741 | :path: "../node_modules/react-native/ReactCommon/react/utils"
1742 | ReactAppDependencyProvider:
1743 | :path: build/generated/ios
1744 | ReactCodegen:
1745 | :path: build/generated/ios
1746 | ReactCommon:
1747 | :path: "../node_modules/react-native/ReactCommon"
1748 | RNPermissions:
1749 | :path: "../node_modules/react-native-permissions"
1750 | Yoga:
1751 | :path: "../node_modules/react-native/ReactCommon/yoga"
1752 |
1753 | SPEC CHECKSUMS:
1754 | boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
1755 | DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
1756 | fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
1757 | FBLazyVector: 79c4b7ec726447eec5f8593379466bd9fde1aa14
1758 | fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
1759 | glog: eb93e2f488219332457c3c4eafd2738ddc7e80b8
1760 | hermes-engine: ccc24d29d650ea725d582a9a53d57cd417fbdb53
1761 | HyperTrack: a1f93d5f5923a345c36ee233f75ca8d3b6adc865
1762 | hypertrack-sdk-react-native: 71a59a10ffb4f17cd3ed30607791f3fe1f18ffd9
1763 | RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82
1764 | RCTDeprecation: 664055db806cce35c3c1b43c84414dd66e117ae6
1765 | RCTRequired: dc9a83fa1012054f94430d210337ca3a1afe6fc0
1766 | RCTTypeSafety: 031cefa254a1df313a196f105b8fcffdab1c5ab6
1767 | React: 8edfc46c315852ec88ea4a29d5e79019af3dc667
1768 | React-callinvoker: 4450b01574dfc7a8f074f7e29e6965ac04859c8f
1769 | React-Codegen: 4b8b4817cea7a54b83851d4c1f91f79aa73de30a
1770 | React-Core: adee73236280f8708e8973b8cbc60c834e591ecb
1771 | React-CoreModules: 78e04d2319b1b61e0d4ed7fcd3e366d461819279
1772 | React-cxxreact: 05d4cfc36a33f309f280753995bf77eb5f12b40e
1773 | React-debug: b0f7271aeacc2eb9e34f863397dcfc204ef721c0
1774 | React-defaultsnativemodule: 9ce2a0afe47f3b724f8adec28de3712d897a069a
1775 | React-domnativemodule: 23a99da612d4a41f05f7c0f9665bd557638f3a99
1776 | React-Fabric: 189561e6cd72aacbd6a1bc92fa98b12ae2717d2b
1777 | React-FabricComponents: 32650e154e3958fedd1de88a94cef27e52288d7e
1778 | React-FabricImage: 5e81e0fae1817eec1840408be77c7e6ba3e2ee98
1779 | React-featureflags: 23d3dcdac6c9badeeb631db8a0883c7a3108d580
1780 | React-featureflagsnativemodule: f374752cb62a577a3bca18d01d1c80dcaeb29299
1781 | React-graphics: 348400b8ba57611d552af6db5dc7d42ccf132d08
1782 | React-hermes: daf648f84569e9cb3d563dd806f09cf14635a356
1783 | React-idlecallbacksnativemodule: 97d2eb4935fa459d2f1127ce594c3b1959b0828d
1784 | React-ImageManager: ee8526b1af93152133709104c6d649d5dada63b3
1785 | React-jserrorhandler: 17774783cd8d1377d3b23efbd4af4e80a2bca065
1786 | React-jsi: 2b9e6349efb0cd61b871dcd6db126fb13e1e6488
1787 | React-jsiexecutor: 8050076ff38e95a6852c5af0f516cf05889a3737
1788 | React-jsinspector: 55187c59747d78d14dae0d301beef22559099348
1789 | React-jsitracing: 9e7066f99151f99ed588f2055e011845b12a1bf6
1790 | React-logger: e7eeebaed32b88dcc29b10901aa8c5822dc397c4
1791 | React-Mapbuffer: 73dd1210c4ecf0dfb4e2d4e06f2a13f824a801a9
1792 | React-microtasksnativemodule: d03753688e2abf135edcd4160ab3ce7526da8b0d
1793 | React-nativeconfig: cb207ebba7cafce30657c7ad9f1587a8f32e4564
1794 | React-NativeModulesApple: 8411d548b1ad9d2b3e597beb9348e715c8020e0c
1795 | React-perflogger: c4c3b7c18f8a50cdbe2bcdd2f15705ba029a5a02
1796 | React-performancetimeline: 38bda258bd9f9da19b27615e8edfbec064aa42cc
1797 | React-RCTActionSheet: 0fdf55fb8724856d63ca8c63cdb4e2325e15e8ec
1798 | React-RCTAnimation: b2fcc7c462f1fb5e195a5547f6e405ec9a60d80f
1799 | React-RCTAppDelegate: d5aed095faa6fd0b0aff3c98d0b078680890cde2
1800 | React-RCTBlob: 3b5441953e3dcc4aaee8f539b17d9c54b7a4b111
1801 | React-RCTFabric: 022ff67d55ac5833b984085628e15af113cd9b52
1802 | React-RCTFBReactNativeSpec: 536442edc77efaec464c3c805c1e44fd811639d3
1803 | React-RCTImage: f189ae651e3c97879b4cdefcba1d4cffe55439da
1804 | React-RCTLinking: 759ac5e4aed95ac3c29849f98ff3f3b5ece830ed
1805 | React-RCTNetwork: ce1f38434a70eb1e228344f7632e636c3ceca03b
1806 | React-RCTSettings: 3602ea3adf9009f6d09461bf05f7e392414c32d8
1807 | React-RCTText: e48b4b54eab3f4cfea9be1228b5ef9ad3b8172c1
1808 | React-RCTVibration: 2e4dc335dd1e57c7004bcc07e7f5319e5968d5cf
1809 | React-rendererconsistency: c766ce7261ab6ed6be7bc155c403e29436d4f156
1810 | React-rendererdebug: f8bf864b2646944c3f7c41555dbed0b5d7aea5d1
1811 | React-rncore: cafe45e14d870bbecbbf4bd89e12ef3b596e1f2d
1812 | React-RuntimeApple: d3f5e05cfd5e212077a2e8dbdcf051ee237273b4
1813 | React-RuntimeCore: 3c513c4cad66a889614fc4b70fadacdf900f0c7a
1814 | React-runtimeexecutor: 201311bdafb53b5c30292782c8ee90193af86d91
1815 | React-RuntimeHermes: 25194897d244f2c1b68511926c7be413466f6e6c
1816 | React-runtimescheduler: b2839d0c1276b8f0edabc28414c9a5c82bb5c700
1817 | React-timing: 127d8598b5a15ae5b29ebd0ec474d590285c6f2f
1818 | React-utils: 238c18f8035ace0faccd7e8ce574ccfc7adf26aa
1819 | ReactAppDependencyProvider: 41e9fb63606c32cce924653d2d410cb01ec81286
1820 | ReactCodegen: d9a09a7f7eee93f54d0b4135d5ca66b31b0c42a5
1821 | ReactCommon: 08f4808f02ff115884e870e5cfea689703ff759a
1822 | RNPermissions: ca038d90b1066761b3d23194f2a4d69fc59acb9d
1823 | SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
1824 | Yoga: 1fd059161b449018342943b095a6d4e69bcaa719
1825 |
1826 | PODFILE CHECKSUM: 17556c8c486366f7a83b4cc7e4f70d276a30c353
1827 |
1828 | COCOAPODS: 1.16.2
1829 |
--------------------------------------------------------------------------------