diff --git a/.github/workflows/example-android-build-check.yml b/.github/workflows/example-android-build-check.yml
index c72acb65aa7..ef128903a9d 100644
--- a/.github/workflows/example-android-build-check.yml
+++ b/.github/workflows/example-android-build-check.yml
@@ -34,7 +34,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- working-directory: [apps/paper-example, apps/fabric-example]
+ working-directory:
+ [
+ apps/paper-example,
+ apps/fabric-example,
+ apps/external-worklets-example,
+ ]
fail-fast: false
concurrency:
group: android-${{ matrix.working-directory }}-${{ github.ref }}
diff --git a/.github/workflows/example-ios-build-check.yml b/.github/workflows/example-ios-build-check.yml
index 5b1b6a3cacc..cf69d49815d 100644
--- a/.github/workflows/example-ios-build-check.yml
+++ b/.github/workflows/example-ios-build-check.yml
@@ -38,7 +38,12 @@ jobs:
runs-on: macos-14
strategy:
matrix:
- working-directory: [apps/paper-example, apps/fabric-example]
+ working-directory:
+ [
+ apps/paper-example,
+ apps/fabric-example,
+ apps/external-worklets-example,
+ ]
fail-fast: false
concurrency:
group: ios-${{ matrix.working-directory }}-${{ github.ref }}
diff --git a/.github/workflows/example-typescript-check-and-lint.yml b/.github/workflows/example-typescript-check-and-lint.yml
index 3714b155d31..107c2c40e82 100644
--- a/.github/workflows/example-typescript-check-and-lint.yml
+++ b/.github/workflows/example-typescript-check-and-lint.yml
@@ -26,6 +26,7 @@ jobs:
apps/paper-example,
apps/tvos-example,
apps/web-example,
+ apps/external-worklets-example,
]
concurrency:
group: typescript-${{ matrix.working-directory }}-${{ github.ref }}
diff --git a/apps/external-worklets-example/.bundle/config b/apps/external-worklets-example/.bundle/config
new file mode 100644
index 00000000000..848943bb527
--- /dev/null
+++ b/apps/external-worklets-example/.bundle/config
@@ -0,0 +1,2 @@
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_FORCE_RUBY_PLATFORM: 1
diff --git a/apps/external-worklets-example/.gitignore b/apps/external-worklets-example/.gitignore
new file mode 100644
index 00000000000..f13c9eaaded
--- /dev/null
+++ b/apps/external-worklets-example/.gitignore
@@ -0,0 +1,66 @@
+# OSX
+#
+.DS_Store
+
+# Xcode
+#
+build/
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata
+*.xccheckout
+*.moved-aside
+DerivedData
+*.hmap
+*.ipa
+*.xcuserstate
+**/.xcode.env.local
+
+# Android/IntelliJ
+#
+build/
+.idea
+.gradle
+local.properties
+*.iml
+*.hprof
+.cxx/
+*.keystore
+!debug.keystore
+
+# node.js
+#
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
+
+**/fastlane/report.xml
+**/fastlane/Preview.html
+**/fastlane/screenshots
+**/fastlane/test_output
+
+# Bundle artifact
+*.jsbundle
+
+# Ruby / CocoaPods
+**/Pods/
+/vendor/bundle/
+
+# Temporary files created by Metro to check the health of the file watcher
+.metro-health-check*
+
+# testing
+/coverage
diff --git a/apps/external-worklets-example/.prettierignore b/apps/external-worklets-example/.prettierignore
new file mode 100644
index 00000000000..3c2e9f0d722
--- /dev/null
+++ b/apps/external-worklets-example/.prettierignore
@@ -0,0 +1,2 @@
+ios
+vendor
diff --git a/apps/external-worklets-example/.watchmanconfig b/apps/external-worklets-example/.watchmanconfig
new file mode 100644
index 00000000000..0967ef424bc
--- /dev/null
+++ b/apps/external-worklets-example/.watchmanconfig
@@ -0,0 +1 @@
+{}
diff --git a/apps/external-worklets-example/App.tsx b/apps/external-worklets-example/App.tsx
new file mode 100644
index 00000000000..d5d22b20434
--- /dev/null
+++ b/apps/external-worklets-example/App.tsx
@@ -0,0 +1,3 @@
+import App from 'common-app';
+
+export default App;
diff --git a/apps/external-worklets-example/Gemfile b/apps/external-worklets-example/Gemfile
new file mode 100644
index 00000000000..85d7f68286c
--- /dev/null
+++ b/apps/external-worklets-example/Gemfile
@@ -0,0 +1,9 @@
+source 'https://rubygems.org'
+
+# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
+ruby ">= 2.6.10"
+
+# Exclude problematic versions of cocoapods and activesupport that causes build failures.
+gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
+gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
+gem 'xcodeproj', '< 1.26.0'
diff --git a/apps/external-worklets-example/Gemfile.lock b/apps/external-worklets-example/Gemfile.lock
new file mode 100644
index 00000000000..9a448308a4f
--- /dev/null
+++ b/apps/external-worklets-example/Gemfile.lock
@@ -0,0 +1,104 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.7)
+ base64
+ nkf
+ rexml
+ activesupport (7.0.8.1)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 1.6, < 2)
+ minitest (>= 5.1)
+ tzinfo (~> 2.0)
+ addressable (2.8.6)
+ public_suffix (>= 2.0.2, < 6.0)
+ algoliasearch (1.27.5)
+ httpclient (~> 2.8, >= 2.8.3)
+ json (>= 1.5.1)
+ atomos (0.1.3)
+ base64 (0.2.0)
+ claide (1.1.0)
+ cocoapods (1.14.3)
+ addressable (~> 2.8)
+ claide (>= 1.0.2, < 2.0)
+ cocoapods-core (= 1.14.3)
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
+ cocoapods-plugins (>= 1.0.0, < 2.0)
+ cocoapods-search (>= 1.0.0, < 2.0)
+ cocoapods-trunk (>= 1.6.0, < 2.0)
+ cocoapods-try (>= 1.1.0, < 2.0)
+ colored2 (~> 3.1)
+ escape (~> 0.0.4)
+ fourflusher (>= 2.3.0, < 3.0)
+ gh_inspector (~> 1.0)
+ molinillo (~> 0.8.0)
+ nap (~> 1.0)
+ ruby-macho (>= 2.3.0, < 3.0)
+ xcodeproj (>= 1.23.0, < 2.0)
+ cocoapods-core (1.14.3)
+ activesupport (>= 5.0, < 8)
+ addressable (~> 2.8)
+ algoliasearch (~> 1.0)
+ concurrent-ruby (~> 1.1)
+ fuzzy_match (~> 2.0.4)
+ nap (~> 1.0)
+ netrc (~> 0.11)
+ public_suffix (~> 4.0)
+ typhoeus (~> 1.0)
+ cocoapods-deintegrate (1.0.5)
+ cocoapods-downloader (2.1)
+ cocoapods-plugins (1.0.0)
+ nap
+ cocoapods-search (1.0.1)
+ cocoapods-trunk (1.6.0)
+ nap (>= 0.8, < 2.0)
+ netrc (~> 0.11)
+ cocoapods-try (1.2.0)
+ colored2 (3.1.2)
+ concurrent-ruby (1.2.3)
+ escape (0.0.4)
+ ethon (0.16.0)
+ ffi (>= 1.15.0)
+ ffi (1.16.3)
+ fourflusher (2.3.1)
+ fuzzy_match (2.0.4)
+ gh_inspector (1.1.3)
+ httpclient (2.8.3)
+ i18n (1.14.4)
+ concurrent-ruby (~> 1.0)
+ json (2.7.1)
+ minitest (5.22.3)
+ molinillo (0.8.0)
+ nanaimo (0.3.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ nkf (0.2.0)
+ public_suffix (4.0.7)
+ rexml (3.3.9)
+ ruby-macho (2.5.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.25.0)
+ CFPropertyList (>= 2.3.3, < 4.0)
+ atomos (~> 0.1.3)
+ claide (>= 1.0.2, < 2.0)
+ colored2 (~> 3.1)
+ nanaimo (~> 0.3.0)
+ rexml (>= 3.3.2, < 4.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activesupport (>= 6.1.7.5, != 7.1.0)
+ cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
+ xcodeproj (< 1.26.0)
+
+RUBY VERSION
+ ruby 3.2.2p53
+
+BUNDLED WITH
+ 2.4.15
diff --git a/apps/external-worklets-example/README.md b/apps/external-worklets-example/README.md
new file mode 100644
index 00000000000..55d192e95eb
--- /dev/null
+++ b/apps/external-worklets-example/README.md
@@ -0,0 +1,20 @@
+# React Native Reanimated external worklets example app with Fabric
+
+## Installing & running application
+
+Before running application you need to install all dependencies. To do that:
+
+- In project's root directory run `yarn install`
+- In external-worklets-example directory run `yarn install`
+
+### Android
+
+To run this application on Android you need to have Java 17 active on your computer. You can check which version you are using by running `javac --version`. You can change it by changing `JAVA_HOME` environment variable or in Android Studio settings.
+
+Then you can run this application by `yarn android` or from Android Studio.
+
+### iOS
+
+To run on iOS first go to `external-worklets-example/ios` and run `pod install`. This will install pods for Fabric architecture.
+
+Then in `external-worklets-example` run `yarn ios` or run application from Xcode.
diff --git a/apps/external-worklets-example/android/app/build.gradle b/apps/external-worklets-example/android/app/build.gradle
new file mode 100644
index 00000000000..895d9cf8050
--- /dev/null
+++ b/apps/external-worklets-example/android/app/build.gradle
@@ -0,0 +1,123 @@
+apply plugin: "com.android.application"
+apply plugin: "org.jetbrains.kotlin.android"
+apply plugin: "com.facebook.react"
+
+/**
+ * This is the configuration block to customize your React Native Android app.
+ * By default you don't need to apply any configuration, just uncomment the lines you need.
+ */
+react {
+ /* Folders */
+ // The root of your project, i.e. where "package.json" lives. Default is '../..'
+ // root = file("../../")
+ // The folder where the react-native NPM package is. Default is ../../node_modules/react-native
+ reactNativeDir = file("../../../../node_modules/react-native")
+ // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
+ codegenDir = file("../../../../node_modules/@react-native/codegen")
+ // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
+ cliFile = file("../../../../node_modules/react-native/cli.js")
+
+ /* Variants */
+ // The list of variants to that are debuggable. For those we're going to
+ // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
+ // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
+ // debuggableVariants = ["liteDebug", "prodDebug"]
+
+ /* Bundling */
+ // A list containing the node command and its flags. Default is just 'node'.
+ // nodeExecutableAndArgs = ["node"]
+ //
+ // The command to run when bundling. By default is 'bundle'
+ // bundleCommand = "ram-bundle"
+ //
+ // The path to the CLI configuration file. Default is empty.
+ // bundleConfig = file(../rn-cli.config.js)
+ //
+ // The name of the generated asset file containing your JS bundle
+ // bundleAssetName = "MyApplication.android.bundle"
+ //
+ // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
+ // entryFile = file("../js/MyApplication.android.js")
+ //
+ // A list of extra flags to pass to the 'bundle' commands.
+ // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
+ // extraPackagerArgs = []
+
+ /* Hermes Commands */
+ // The hermes compiler command to run. By default it is 'hermesc'
+ hermesCommand = "../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc"
+ //
+ // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
+ // hermesFlags = ["-O", "-output-source-map"]
+
+ /* Autolinking */
+ autolinkLibrariesWithApp()
+}
+
+project.ext["isReanimatedExampleApp"] = true
+
+/**
+ * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
+ */
+def enableProguardInReleaseBuilds = false
+
+/**
+ * The preferred build flavor of JavaScriptCore (JSC)
+ *
+ * For example, to use the international variant, you can use:
+ * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
+ *
+ * The international variant includes ICU i18n library and necessary data
+ * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
+ * give correct results when using with locales other than en-US. Note that
+ * this variant is about 6MiB larger per architecture than default.
+ */
+def jscFlavor = 'org.webkit:android-jsc:+'
+
+android {
+ ndkVersion rootProject.ext.ndkVersion
+ buildToolsVersion rootProject.ext.buildToolsVersion
+ compileSdk rootProject.ext.compileSdkVersion
+
+ namespace "com.externalworkletsexample"
+ defaultConfig {
+ applicationId "com.externalworkletsexample"
+ minSdkVersion rootProject.ext.minSdkVersion
+ targetSdkVersion rootProject.ext.targetSdkVersion
+ versionCode 1
+ versionName "1.0"
+ }
+ signingConfigs {
+ debug {
+ storeFile file('debug.keystore')
+ storePassword 'android'
+ keyAlias 'androiddebugkey'
+ keyPassword 'android'
+ }
+ }
+ buildTypes {
+ debug {
+ signingConfig signingConfigs.debug
+ }
+ release {
+ // Caution! In production, you need to generate your own keystore file.
+ // see https://reactnative.dev/docs/signed-apk-android.
+ signingConfig signingConfigs.debug
+ minifyEnabled enableProguardInReleaseBuilds
+ proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
+ }
+ }
+}
+
+dependencies {
+ // The version of react-native is set by the React Native Gradle Plugin
+ implementation("com.facebook.react:react-android")
+
+ if (hermesEnabled.toBoolean()) {
+ implementation("com.facebook.react:hermes-android")
+ } else {
+ implementation jscFlavor
+ }
+
+ implementation("androidx.core:core-splashscreen:1.0.1")
+}
diff --git a/apps/external-worklets-example/android/app/debug.keystore b/apps/external-worklets-example/android/app/debug.keystore
new file mode 100644
index 00000000000..364e105ed39
Binary files /dev/null and b/apps/external-worklets-example/android/app/debug.keystore differ
diff --git a/apps/external-worklets-example/android/app/proguard-rules.pro b/apps/external-worklets-example/android/app/proguard-rules.pro
new file mode 100644
index 00000000000..11b025724a3
--- /dev/null
+++ b/apps/external-worklets-example/android/app/proguard-rules.pro
@@ -0,0 +1,10 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
diff --git a/apps/external-worklets-example/android/app/src/debug/AndroidManifest.xml b/apps/external-worklets-example/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 00000000000..eb98c01afd7
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/external-worklets-example/android/app/src/main/AndroidManifest.xml b/apps/external-worklets-example/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000000..e1892528b8d
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/android/app/src/main/assets/custom/OFL.txt b/apps/external-worklets-example/android/app/src/main/assets/custom/OFL.txt
new file mode 100644
index 00000000000..246c977c9f2
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/assets/custom/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Black.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Black.ttf
new file mode 100644
index 00000000000..71c0f995ee6
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Black.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Bold.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Bold.ttf
new file mode 100644
index 00000000000..00559eeb290
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Bold.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraBold.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraBold.ttf
new file mode 100644
index 00000000000..df7093608a7
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraBold.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraLight.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraLight.ttf
new file mode 100644
index 00000000000..e76ec69a650
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-ExtraLight.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Light.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Light.ttf
new file mode 100644
index 00000000000..bc36bcc2427
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Light.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Medium.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Medium.ttf
new file mode 100644
index 00000000000..6bcdcc27f22
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Medium.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Regular.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Regular.ttf
new file mode 100644
index 00000000000..9f0c71b70a4
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Regular.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-SemiBold.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-SemiBold.ttf
new file mode 100644
index 00000000000..74c726e3278
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-SemiBold.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Thin.ttf b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Thin.ttf
new file mode 100644
index 00000000000..03e736613a7
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/assets/fonts/Poppins-Thin.ttf differ
diff --git a/apps/external-worklets-example/android/app/src/main/ic_launcher-playstore.png b/apps/external-worklets-example/android/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 00000000000..a367329985b
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/ic_launcher-playstore.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainActivity.kt b/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainActivity.kt
new file mode 100644
index 00000000000..6dc90075ed8
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainActivity.kt
@@ -0,0 +1,29 @@
+package com.externalworkletsexample
+
+import android.os.Bundle
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
+import com.facebook.react.ReactActivity
+import com.facebook.react.ReactActivityDelegate
+import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
+import com.facebook.react.defaults.DefaultReactActivityDelegate
+
+class MainActivity : ReactActivity() {
+
+ /**
+ * Returns the name of the main component registered from JavaScript. This is used to schedule
+ * rendering of the component.
+ */
+ override fun getMainComponentName(): String = "ExternalWorkletsExample"
+
+ /**
+ * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
+ * which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
+ */
+ override fun createReactActivityDelegate(): ReactActivityDelegate =
+ DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ installSplashScreen()
+ super.onCreate(savedInstanceState)
+ }
+}
diff --git a/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainApplication.kt b/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainApplication.kt
new file mode 100644
index 00000000000..4a2f4d3d7b5
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/java/com/externalworkletsexample/MainApplication.kt
@@ -0,0 +1,44 @@
+package com.externalworkletsexample
+
+import android.app.Application
+import com.facebook.react.PackageList
+import com.facebook.react.ReactApplication
+import com.facebook.react.ReactHost
+import com.facebook.react.ReactNativeHost
+import com.facebook.react.ReactPackage
+import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
+import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
+import com.facebook.react.defaults.DefaultReactNativeHost
+import com.facebook.react.soloader.OpenSourceMergedSoMapping
+import com.facebook.soloader.SoLoader
+
+class MainApplication : Application(), ReactApplication {
+
+ override val reactNativeHost: ReactNativeHost =
+ object : DefaultReactNativeHost(this) {
+ override fun getPackages(): List =
+ PackageList(this).packages.apply {
+ // Packages that cannot be autolinked yet can be added manually here, for example:
+ // add(MyReactNativePackage())
+ }
+
+ override fun getJSMainModuleName(): String = "index"
+
+ override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG
+
+ override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
+ override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
+ }
+
+ override val reactHost: ReactHost
+ get() = getDefaultReactHost(applicationContext, reactNativeHost)
+
+ override fun onCreate() {
+ super.onCreate()
+ SoLoader.init(this, OpenSourceMergedSoMapping)
+ if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
+ // If you opted-in for the New Architecture, we load the native entry point for this app.
+ load(bridgelessEnabled = true)
+ }
+ }
+}
diff --git a/apps/external-worklets-example/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/external-worklets-example/android/app/src/main/res/drawable/rn_edit_text_material.xml
new file mode 100644
index 00000000000..73b37e4d996
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/drawable/rn_edit_text_material.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/android/app/src/main/res/drawable/splash_logo.png b/apps/external-worklets-example/android/app/src/main/res/drawable/splash_logo.png
new file mode 100644
index 00000000000..356b9f54029
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/drawable/splash_logo.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 00000000000..036d09bc5fd
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 00000000000..036d09bc5fd
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 00000000000..4de4df34b4d
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 00000000000..2792a257467
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 00000000000..7d0d0636484
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 00000000000..16c5dd22d36
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 00000000000..5ccf88981f1
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 00000000000..6841e51aca7
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 00000000000..215b32e69c2
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 00000000000..62e1a89ff95
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 00000000000..96f489262ea
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000000..3edeb2b8b72
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 00000000000..dcb9a94cfb5
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 00000000000..6ed1274940e
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000000..133c35bb49f
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 00000000000..4bb2d44dd73
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 00000000000..538289c2150
Binary files /dev/null and b/apps/external-worklets-example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/apps/external-worklets-example/android/app/src/main/res/values/ic_launcher_background.xml b/apps/external-worklets-example/android/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 00000000000..485af00a7ab
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #001A72
+
\ No newline at end of file
diff --git a/apps/external-worklets-example/android/app/src/main/res/values/splash.xml b/apps/external-worklets-example/android/app/src/main/res/values/splash.xml
new file mode 100644
index 00000000000..218ed47a04c
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/values/splash.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/apps/external-worklets-example/android/app/src/main/res/values/strings.xml b/apps/external-worklets-example/android/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000000..de5f01f6df1
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ ExternalWorkletsExample
+
diff --git a/apps/external-worklets-example/android/app/src/main/res/values/styles.xml b/apps/external-worklets-example/android/app/src/main/res/values/styles.xml
new file mode 100644
index 00000000000..7ba83a2ad5a
--- /dev/null
+++ b/apps/external-worklets-example/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/android/build.gradle b/apps/external-worklets-example/android/build.gradle
new file mode 100644
index 00000000000..a9ea023695d
--- /dev/null
+++ b/apps/external-worklets-example/android/build.gradle
@@ -0,0 +1,21 @@
+buildscript {
+ ext {
+ buildToolsVersion = "35.0.0"
+ minSdkVersion = 24
+ compileSdkVersion = 35
+ targetSdkVersion = 34
+ ndkVersion = "26.1.10909125"
+ kotlinVersion = "1.9.24"
+ }
+ repositories {
+ google()
+ mavenCentral()
+ }
+ dependencies {
+ classpath("com.android.tools.build:gradle")
+ classpath("com.facebook.react:react-native-gradle-plugin")
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
+ }
+}
+
+apply plugin: "com.facebook.react.rootproject"
diff --git a/apps/external-worklets-example/android/gradle-wrapper.jar b/apps/external-worklets-example/android/gradle-wrapper.jar
new file mode 100644
index 00000000000..d64cd491770
Binary files /dev/null and b/apps/external-worklets-example/android/gradle-wrapper.jar differ
diff --git a/apps/external-worklets-example/android/gradle.properties b/apps/external-worklets-example/android/gradle.properties
new file mode 100644
index 00000000000..7fa0ae877b4
--- /dev/null
+++ b/apps/external-worklets-example/android/gradle.properties
@@ -0,0 +1,41 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
+org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+
+# Use this property to specify which architecture you want to build.
+# You can also override it from the CLI using
+# ./gradlew -PreactNativeArchitectures=x86_64
+reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
+
+# Use this property to enable support to the new architecture.
+# This will allow you to use TurboModules and the Fabric render in
+# your application. You should enable this flag either if you want
+# to write custom TurboModules/Fabric components OR use libraries that
+# are providing them.
+newArchEnabled=true
+
+# Use this property to enable or disable the Hermes JS engine.
+# If set to false, you will be using JSC instead.
+hermesEnabled=true
+
+disableMultipleInstancesCheck=true
diff --git a/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.jar b/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000000..7f93135c49b
Binary files /dev/null and b/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.properties b/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000000..66cd5a0e49b
--- /dev/null
+++ b/apps/external-worklets-example/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-all.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/apps/external-worklets-example/android/gradlew b/apps/external-worklets-example/android/gradlew
new file mode 100755
index 00000000000..f5feea6d6b1
--- /dev/null
+++ b/apps/external-worklets-example/android/gradlew
@@ -0,0 +1,252 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+ echo "$*"
+} >&2
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD=$JAVA_HOME/jre/sh/java
+ else
+ JAVACMD=$JAVA_HOME/bin/java
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
+ fi
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
+ done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/apps/external-worklets-example/android/gradlew.bat b/apps/external-worklets-example/android/gradlew.bat
new file mode 100644
index 00000000000..9b42019c791
--- /dev/null
+++ b/apps/external-worklets-example/android/gradlew.bat
@@ -0,0 +1,94 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/apps/external-worklets-example/android/link-assets-manifest.json b/apps/external-worklets-example/android/link-assets-manifest.json
new file mode 100644
index 00000000000..ea64c61e05f
--- /dev/null
+++ b/apps/external-worklets-example/android/link-assets-manifest.json
@@ -0,0 +1,45 @@
+{
+ "migIndex": 1,
+ "data": [
+ {
+ "path": "assets/fonts/Poppins/OFL.txt",
+ "sha1": "8d6c34b70e3d638c82d7b5aba3f847f7d6d2c831"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Black.ttf",
+ "sha1": "645e04c53c6b5b35bce654a811ebce16af8aa721"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Bold.ttf",
+ "sha1": "875cf0cecd647bcf22e79d633d868c1b1ec98dfa"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-ExtraBold.ttf",
+ "sha1": "4b5c0750f073abd576413a0898d3b95adaf199c8"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-ExtraLight.ttf",
+ "sha1": "85af6582a7e6155917c605f9d3fed68c02b23b06"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Light.ttf",
+ "sha1": "e247a92158e112f8bf7b638c8d95381d66b00dbb"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Medium.ttf",
+ "sha1": "283f21b44efbdbf276ba802be2d949a36bbc4233"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Regular.ttf",
+ "sha1": "fdd3002e7d814ee47c1c1b8487c72c6bbb3a2d00"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-SemiBold.ttf",
+ "sha1": "8a4ace9392d06bcb7f8ea2f5169b07e4c383a90d"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Thin.ttf",
+ "sha1": "09ba4dcd5509c8085bf88c665dcc51cbdfced27b"
+ }
+ ]
+}
diff --git a/apps/external-worklets-example/android/settings.gradle b/apps/external-worklets-example/android/settings.gradle
new file mode 100644
index 00000000000..4db5aa3d97a
--- /dev/null
+++ b/apps/external-worklets-example/android/settings.gradle
@@ -0,0 +1,6 @@
+pluginManagement { includeBuild('../../../node_modules/@react-native/gradle-plugin') }
+plugins { id("com.facebook.react.settings") }
+extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
+rootProject.name = 'ExternalWorkletsExample'
+include ':app'
+includeBuild('../../../node_modules/@react-native/gradle-plugin')
diff --git a/apps/external-worklets-example/app.json b/apps/external-worklets-example/app.json
new file mode 100644
index 00000000000..d1df7a37497
--- /dev/null
+++ b/apps/external-worklets-example/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "ExternalWorkletsExample",
+ "displayName": "ExternalWorkletsExample"
+}
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/OFL.txt b/apps/external-worklets-example/assets/fonts/Poppins/OFL.txt
new file mode 100644
index 00000000000..246c977c9f2
--- /dev/null
+++ b/apps/external-worklets-example/assets/fonts/Poppins/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Black.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Black.ttf
new file mode 100644
index 00000000000..71c0f995ee6
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Black.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Bold.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Bold.ttf
new file mode 100644
index 00000000000..00559eeb290
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Bold.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraBold.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraBold.ttf
new file mode 100644
index 00000000000..df7093608a7
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraBold.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraLight.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraLight.ttf
new file mode 100644
index 00000000000..e76ec69a650
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-ExtraLight.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Light.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Light.ttf
new file mode 100644
index 00000000000..bc36bcc2427
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Light.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Medium.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Medium.ttf
new file mode 100644
index 00000000000..6bcdcc27f22
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Medium.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Regular.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Regular.ttf
new file mode 100644
index 00000000000..9f0c71b70a4
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Regular.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-SemiBold.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-SemiBold.ttf
new file mode 100644
index 00000000000..74c726e3278
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-SemiBold.ttf differ
diff --git a/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Thin.ttf b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Thin.ttf
new file mode 100644
index 00000000000..03e736613a7
Binary files /dev/null and b/apps/external-worklets-example/assets/fonts/Poppins/Poppins-Thin.ttf differ
diff --git a/apps/external-worklets-example/babel.config.js b/apps/external-worklets-example/babel.config.js
new file mode 100644
index 00000000000..8534719857e
--- /dev/null
+++ b/apps/external-worklets-example/babel.config.js
@@ -0,0 +1,7 @@
+/** @type {import('@babel/core').TransformOptions} */
+module.exports = {
+ presets: ['module:@react-native/babel-preset'],
+ plugins: [
+ ['react-native-reanimated/plugin', { processNestedWorklets: true }],
+ ],
+};
diff --git a/apps/external-worklets-example/index.js b/apps/external-worklets-example/index.js
new file mode 100644
index 00000000000..ab0ecbf4f87
--- /dev/null
+++ b/apps/external-worklets-example/index.js
@@ -0,0 +1,5 @@
+import { AppRegistry } from 'react-native';
+import App from './App';
+import { name as appName } from './app.json';
+
+AppRegistry.registerComponent(appName, () => App);
diff --git a/apps/external-worklets-example/ios/.xcode.env b/apps/external-worklets-example/ios/.xcode.env
new file mode 100644
index 00000000000..3d5782c7156
--- /dev/null
+++ b/apps/external-worklets-example/ios/.xcode.env
@@ -0,0 +1,11 @@
+# This `.xcode.env` file is versioned and is used to source the environment
+# used when running script phases inside Xcode.
+# To customize your local environment, you can create an `.xcode.env.local`
+# file that is not versioned.
+
+# NODE_BINARY variable contains the PATH to the node executable.
+#
+# Customize the NODE_BINARY variable here.
+# For example, to use nvm with brew, add the following line
+# . "$(brew --prefix nvm)/nvm.sh" --no-use
+export NODE_BINARY=$(command -v node)
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/project.pbxproj b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/project.pbxproj
new file mode 100644
index 00000000000..9dc2092d853
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/project.pbxproj
@@ -0,0 +1,702 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 00E356F31AD99517003FC87E /* ExternalWorkletsExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExternalWorkletsExampleTests.m */; };
+ 0C80B921A6F3F58F76C31292 /* libPods-ExternalWorkletsExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-ExternalWorkletsExample.a */; };
+ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ 1C6897ED63B54A0EA3142771 /* Poppins-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B0F6A560FF814A07A5056D5C /* Poppins-Medium.ttf */; };
+ 3118F5EAAC1849B3A846F878 /* Poppins-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 192DDE7394C0421AABAD1E39 /* Poppins-ExtraBold.ttf */; };
+ 36CFC86374C74A93AFC6F37B /* Poppins-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 40201E86F4154AF6BA7D9D68 /* Poppins-ExtraLight.ttf */; };
+ 3ED29A9583024AB287A348E3 /* Poppins-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5EE828465DFA40CCAD4C2BBB /* Poppins-Light.ttf */; };
+ 7E23737D7AB942FC9F2DB5BC /* Poppins-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F48B9C5F2C7F46D4AF205A72 /* Poppins-Black.ttf */; };
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+ BD279FF3747F4A548A65D128 /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E7907DF98A294F2D9672CB3E /* Poppins-Regular.ttf */; };
+ BDBBD9F50A6744649FFA1379 /* Poppins-Thin.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 849F4FC4D7AC4BA291D6C4B4 /* Poppins-Thin.ttf */; };
+ D509140DC52141079A0DB2B6 /* OFL.txt in Resources */ = {isa = PBXBuildFile; fileRef = C06453E54CB742B58CB6EFDC /* OFL.txt */; };
+ E218AE03408043D2A0CDC9E8 /* Poppins-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 973BD397ECB7436F828E47A9 /* Poppins-Bold.ttf */; };
+ F089D8C46C244B0FB512E5C3 /* Poppins-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7DCAC1E7776A4A36A864F95E /* Poppins-SemiBold.ttf */; };
+ F4C3F7622BCFD500008A4CDE /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = F4C3F7612BCFD500008A4CDE /* PrivacyInfo.xcprivacy */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
+ remoteInfo = ExternalWorkletsExample;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 00E356EE1AD99517003FC87E /* ExternalWorkletsExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExternalWorkletsExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 00E356F21AD99517003FC87E /* ExternalWorkletsExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExternalWorkletsExampleTests.m; sourceTree = ""; };
+ 13B07F961A680F5B00A75B9A /* ExternalWorkletsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ExternalWorkletsExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ExternalWorkletsExample/AppDelegate.h; sourceTree = ""; };
+ 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = ExternalWorkletsExample/AppDelegate.mm; sourceTree = ""; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ExternalWorkletsExample/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ExternalWorkletsExample/Info.plist; sourceTree = ""; };
+ 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ExternalWorkletsExample/main.m; sourceTree = ""; };
+ 192DDE7394C0421AABAD1E39 /* Poppins-ExtraBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraBold.ttf"; path = "../assets/fonts/Poppins/Poppins-ExtraBold.ttf"; sourceTree = ""; };
+ 3B4392A12AC88292D35C810B /* Pods-ExternalWorkletsExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExternalWorkletsExample.debug.xcconfig"; path = "Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample.debug.xcconfig"; sourceTree = ""; };
+ 40201E86F4154AF6BA7D9D68 /* Poppins-ExtraLight.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraLight.ttf"; path = "../assets/fonts/Poppins/Poppins-ExtraLight.ttf"; sourceTree = ""; };
+ 5709B34CF0A7D63546082F79 /* Pods-ExternalWorkletsExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExternalWorkletsExample.release.xcconfig"; path = "Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample.release.xcconfig"; sourceTree = ""; };
+ 5DCACB8F33CDC322A6C60F78 /* libPods-ExternalWorkletsExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExternalWorkletsExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5EE828465DFA40CCAD4C2BBB /* Poppins-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Light.ttf"; path = "../assets/fonts/Poppins/Poppins-Light.ttf"; sourceTree = ""; };
+ 7DCAC1E7776A4A36A864F95E /* Poppins-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-SemiBold.ttf"; path = "../assets/fonts/Poppins/Poppins-SemiBold.ttf"; sourceTree = ""; };
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ExternalWorkletsExample/LaunchScreen.storyboard; sourceTree = ""; };
+ 849F4FC4D7AC4BA291D6C4B4 /* Poppins-Thin.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Thin.ttf"; path = "../assets/fonts/Poppins/Poppins-Thin.ttf"; sourceTree = ""; };
+ 973BD397ECB7436F828E47A9 /* Poppins-Bold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Bold.ttf"; path = "../assets/fonts/Poppins/Poppins-Bold.ttf"; sourceTree = ""; };
+ B0F6A560FF814A07A5056D5C /* Poppins-Medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Medium.ttf"; path = "../assets/fonts/Poppins/Poppins-Medium.ttf"; sourceTree = ""; };
+ C06453E54CB742B58CB6EFDC /* OFL.txt */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = OFL.txt; path = ../assets/fonts/Poppins/OFL.txt; sourceTree = ""; };
+ E7907DF98A294F2D9672CB3E /* Poppins-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Regular.ttf"; path = "../assets/fonts/Poppins/Poppins-Regular.ttf"; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+ F48B9C5F2C7F46D4AF205A72 /* Poppins-Black.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Black.ttf"; path = "../assets/fonts/Poppins/Poppins-Black.ttf"; sourceTree = ""; };
+ F4C3F7612BCFD500008A4CDE /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 00E356EB1AD99517003FC87E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0C80B921A6F3F58F76C31292 /* libPods-ExternalWorkletsExample.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 00E356EF1AD99517003FC87E /* ExternalWorkletsExampleTests */ = {
+ isa = PBXGroup;
+ children = (
+ 00E356F21AD99517003FC87E /* ExternalWorkletsExampleTests.m */,
+ 00E356F01AD99517003FC87E /* Supporting Files */,
+ );
+ path = ExternalWorkletsExampleTests;
+ sourceTree = "";
+ };
+ 00E356F01AD99517003FC87E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 00E356F11AD99517003FC87E /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 13B07FAE1A68108700A75B9A /* ExternalWorkletsExample */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
+ 13B07FB01A68108700A75B9A /* AppDelegate.mm */,
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
+ 13B07FB71A68108700A75B9A /* main.m */,
+ F4C3F7612BCFD500008A4CDE /* PrivacyInfo.xcprivacy */,
+ );
+ name = ExternalWorkletsExample;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ 5DCACB8F33CDC322A6C60F78 /* libPods-ExternalWorkletsExample.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 638C7A7A418D4675B9E22136 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ F48B9C5F2C7F46D4AF205A72 /* Poppins-Black.ttf */,
+ 973BD397ECB7436F828E47A9 /* Poppins-Bold.ttf */,
+ 192DDE7394C0421AABAD1E39 /* Poppins-ExtraBold.ttf */,
+ 40201E86F4154AF6BA7D9D68 /* Poppins-ExtraLight.ttf */,
+ 5EE828465DFA40CCAD4C2BBB /* Poppins-Light.ttf */,
+ B0F6A560FF814A07A5056D5C /* Poppins-Medium.ttf */,
+ E7907DF98A294F2D9672CB3E /* Poppins-Regular.ttf */,
+ 7DCAC1E7776A4A36A864F95E /* Poppins-SemiBold.ttf */,
+ 849F4FC4D7AC4BA291D6C4B4 /* Poppins-Thin.ttf */,
+ C06453E54CB742B58CB6EFDC /* OFL.txt */,
+ );
+ name = Resources;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* ExternalWorkletsExample */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 00E356EF1AD99517003FC87E /* ExternalWorkletsExampleTests */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ BBD78D7AC51CEA395F1C20DB /* Pods */,
+ 638C7A7A418D4675B9E22136 /* Resources */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* ExternalWorkletsExample.app */,
+ 00E356EE1AD99517003FC87E /* ExternalWorkletsExampleTests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ BBD78D7AC51CEA395F1C20DB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 3B4392A12AC88292D35C810B /* Pods-ExternalWorkletsExample.debug.xcconfig */,
+ 5709B34CF0A7D63546082F79 /* Pods-ExternalWorkletsExample.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 00E356ED1AD99517003FC87E /* ExternalWorkletsExampleTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExternalWorkletsExampleTests" */;
+ buildPhases = (
+ 00E356EA1AD99517003FC87E /* Sources */,
+ 00E356EB1AD99517003FC87E /* Frameworks */,
+ 00E356EC1AD99517003FC87E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 00E356F51AD99517003FC87E /* PBXTargetDependency */,
+ );
+ name = ExternalWorkletsExampleTests;
+ productName = ExternalWorkletsExampleTests;
+ productReference = 00E356EE1AD99517003FC87E /* ExternalWorkletsExampleTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 13B07F861A680F5B00A75B9A /* ExternalWorkletsExample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ExternalWorkletsExample" */;
+ buildPhases = (
+ C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */,
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */,
+ 1232BDDFC9DE5BCE2776187D /* [CP-User] Generate metadata for clangd */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = ExternalWorkletsExample;
+ productName = ExternalWorkletsExample;
+ productReference = 13B07F961A680F5B00A75B9A /* ExternalWorkletsExample.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 83CBB9F71A601CBA00E9B192 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 1210;
+ TargetAttributes = {
+ 00E356ED1AD99517003FC87E = {
+ CreatedOnToolsVersion = 6.2;
+ TestTargetID = 13B07F861A680F5B00A75B9A;
+ };
+ 13B07F861A680F5B00A75B9A = {
+ LastSwiftMigration = 1120;
+ };
+ };
+ };
+ buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ExternalWorkletsExample" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* ExternalWorkletsExample */,
+ 00E356ED1AD99517003FC87E /* ExternalWorkletsExampleTests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 00E356EC1AD99517003FC87E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 13B07F8E1A680F5B00A75B9A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ 7E23737D7AB942FC9F2DB5BC /* Poppins-Black.ttf in Resources */,
+ F4C3F7622BCFD500008A4CDE /* PrivacyInfo.xcprivacy in Resources */,
+ E218AE03408043D2A0CDC9E8 /* Poppins-Bold.ttf in Resources */,
+ 3118F5EAAC1849B3A846F878 /* Poppins-ExtraBold.ttf in Resources */,
+ 36CFC86374C74A93AFC6F37B /* Poppins-ExtraLight.ttf in Resources */,
+ 3ED29A9583024AB287A348E3 /* Poppins-Light.ttf in Resources */,
+ 1C6897ED63B54A0EA3142771 /* Poppins-Medium.ttf in Resources */,
+ BD279FF3747F4A548A65D128 /* Poppins-Regular.ttf in Resources */,
+ F089D8C46C244B0FB512E5C3 /* Poppins-SemiBold.ttf in Resources */,
+ BDBBD9F50A6744649FFA1379 /* Poppins-Thin.ttf in Resources */,
+ D509140DC52141079A0DB2B6 /* OFL.txt in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/.xcode.env.local",
+ "$(SRCROOT)/.xcode.env",
+ );
+ name = "Bundle React Native code and images";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ 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";
+ };
+ 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 1232BDDFC9DE5BCE2776187D /* [CP-User] Generate metadata for clangd */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = true;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ name = "[CP-User] Generate metadata for clangd";
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/bash;
+ shellScript = "../../../packages/react-native-reanimated/scripts/clangd-generate-xcode-metadata.sh";
+ };
+ C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-ExternalWorkletsExample-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ 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";
+ showEnvVarsInLog = 0;
+ };
+ E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ExternalWorkletsExample/Pods-ExternalWorkletsExample-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 00E356EA1AD99517003FC87E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 00E356F31AD99517003FC87E /* ExternalWorkletsExampleTests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 13B07F871A680F5B00A75B9A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
+ 13B07FC11A68108700A75B9A /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 13B07F861A680F5B00A75B9A /* ExternalWorkletsExample */;
+ targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 00E356F61AD99517003FC87E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = ExternalWorkletsExampleTests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lc++",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ExternalWorkletsExample.app/ExternalWorkletsExample";
+ };
+ name = Debug;
+ };
+ 00E356F71AD99517003FC87E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ COPY_PHASE_STRIP = NO;
+ INFOPLIST_FILE = ExternalWorkletsExampleTests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lc++",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ExternalWorkletsExample.app/ExternalWorkletsExample";
+ };
+ name = Release;
+ };
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-ExternalWorkletsExample.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = ExternalWorkletsExample/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = ExternalWorkletsExample;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-ExternalWorkletsExample.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ INFOPLIST_FILE = ExternalWorkletsExample/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = ExternalWorkletsExample;
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 83CBBA201A601CBA00E9B192 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CC = "";
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CXX = "";
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
+ LD = "";
+ LDPLUSPLUS = "";
+ LD_RUNPATH_SEARCH_PATHS = (
+ /usr/lib/swift,
+ "$(inherited)",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(SDKROOT)/usr/lib/swift\"",
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+ "\"$(inherited)\"",
+ );
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=1",
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
+ USE_HERMES = true;
+ };
+ name = Debug;
+ };
+ 83CBBA211A601CBA00E9B192 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CC = "";
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++20";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ CXX = "";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.4;
+ LD = "";
+ LDPLUSPLUS = "";
+ LD_RUNPATH_SEARCH_PATHS = (
+ /usr/lib/swift,
+ "$(inherited)",
+ );
+ LIBRARY_SEARCH_PATHS = (
+ "\"$(SDKROOT)/usr/lib/swift\"",
+ "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
+ "\"$(inherited)\"",
+ );
+ MTL_ENABLE_DEBUG_INFO = NO;
+ OTHER_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=1",
+ "-DFOLLY_CFG_NO_COROUTINES=1",
+ "-DFOLLY_HAVE_CLOCK_GETTIME=1",
+ );
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
+ SDKROOT = iphoneos;
+ USE_HERMES = true;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExternalWorkletsExampleTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00E356F61AD99517003FC87E /* Debug */,
+ 00E356F71AD99517003FC87E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ExternalWorkletsExample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ExternalWorkletsExample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/xcshareddata/xcschemes/ExternalWorkletsExample.xcscheme b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/xcshareddata/xcschemes/ExternalWorkletsExample.xcscheme
new file mode 100644
index 00000000000..93229ce6586
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcodeproj/xcshareddata/xcschemes/ExternalWorkletsExample.xcscheme
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/contents.xcworkspacedata b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 00000000000..beeeec7ea4b
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 00000000000..18d981003d6
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.h b/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.h
new file mode 100644
index 00000000000..5d2808256ca
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.h
@@ -0,0 +1,6 @@
+#import
+#import
+
+@interface AppDelegate : RCTAppDelegate
+
+@end
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.mm b/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.mm
new file mode 100644
index 00000000000..6b4b2f7e6f7
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/AppDelegate.mm
@@ -0,0 +1,36 @@
+#import "AppDelegate.h"
+
+#import
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ self.moduleName = @"ExternalWorkletsExample";
+ // You can add your custom initial props in the dictionary below.
+ // They will be passed down to the ViewController used by React Native.
+ self.initialProps = @{};
+
+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
+}
+
+- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
+{
+ return [self bundleURL];
+}
+
+- (NSURL *)bundleURL
+{
+#if DEBUG
+ return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
+#else
+ return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
+#endif
+}
+
+- (BOOL)bridgelessEnabled
+{
+ return YES;
+}
+
+@end
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 00000000000..b2f08e07cc7
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,14 @@
+{
+ "images": [
+ {
+ "filename": "new_logo.png",
+ "idiom": "universal",
+ "platform": "ios",
+ "size": "1024x1024"
+ }
+ ],
+ "info": {
+ "author": "xcode",
+ "version": 1
+ }
+}
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/new_logo.png b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/new_logo.png
new file mode 100644
index 00000000000..5f690ebb970
Binary files /dev/null and b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/AppIcon.appiconset/new_logo.png differ
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/Contents.json b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/Contents.json
new file mode 100644
index 00000000000..74d6a722cf3
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info": {
+ "author": "xcode",
+ "version": 1
+ }
+}
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/Contents.json b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/Contents.json
new file mode 100644
index 00000000000..9559a033782
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images": [
+ {
+ "filename": "logo_transparent.png",
+ "idiom": "universal",
+ "scale": "1x"
+ },
+ {
+ "idiom": "universal",
+ "scale": "2x"
+ },
+ {
+ "idiom": "universal",
+ "scale": "3x"
+ }
+ ],
+ "info": {
+ "author": "xcode",
+ "version": 1
+ }
+}
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/logo_transparent.png b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/logo_transparent.png
new file mode 100644
index 00000000000..d4026941b56
Binary files /dev/null and b/apps/external-worklets-example/ios/ExternalWorkletsExample/Images.xcassets/reanimated-logo-white.imageset/logo_transparent.png differ
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/Info.plist b/apps/external-worklets-example/ios/ExternalWorkletsExample/Info.plist
new file mode 100644
index 00000000000..a84bf957304
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/Info.plist
@@ -0,0 +1,73 @@
+
+
+
+
+ CADisableMinimumFrameDurationOnPhone
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ ExternalWorkletsExample
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(MARKETING_VERSION)
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+ LSRequiresIPhoneOS
+
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+ NSAllowsLocalNetworking
+
+ NSExceptionDomains
+
+ localhost
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+ NSLocationWhenInUseUsageDescription
+
+ UIAppFonts
+
+ Poppins-Black.ttf
+ Poppins-Bold.ttf
+ Poppins-ExtraBold.ttf
+ Poppins-ExtraLight.ttf
+ Poppins-Light.ttf
+ Poppins-Medium.ttf
+ Poppins-Regular.ttf
+ Poppins-SemiBold.ttf
+ Poppins-Thin.ttf
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+
+
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/LaunchScreen.storyboard b/apps/external-worklets-example/ios/ExternalWorkletsExample/LaunchScreen.storyboard
new file mode 100644
index 00000000000..4728de667a6
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/LaunchScreen.storyboard
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/external-worklets-example/ios/ExternalWorkletsExample/main.m b/apps/external-worklets-example/ios/ExternalWorkletsExample/main.m
new file mode 100644
index 00000000000..d645c7246c4
--- /dev/null
+++ b/apps/external-worklets-example/ios/ExternalWorkletsExample/main.m
@@ -0,0 +1,10 @@
+#import
+
+#import "AppDelegate.h"
+
+int main(int argc, char *argv[])
+{
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
diff --git a/apps/external-worklets-example/ios/Podfile b/apps/external-worklets-example/ios/Podfile
new file mode 100644
index 00000000000..f5769f2a86d
--- /dev/null
+++ b/apps/external-worklets-example/ios/Podfile
@@ -0,0 +1,42 @@
+# Resolve react_native_pods.rb with node to allow for hoisting
+require Pod::Executable.execute_command('node', ['-p',
+ 'require.resolve(
+ "react-native/scripts/react_native_pods.rb",
+ {paths: [process.argv[1]]},
+ )', __dir__]).strip
+
+require_relative '../../../packages/react-native-reanimated/scripts/clangd-add-xcode-step.rb'
+
+ENV['RCT_NEW_ARCH_ENABLED'] = '1'
+ENV['REANIMATED_EXAMPLE_APP_NAME'] = 'ExternalWorkletsExample'
+
+platform :ios, min_ios_version_supported
+prepare_react_native_project!
+
+linkage = ENV['USE_FRAMEWORKS']
+if linkage != nil
+ Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
+ use_frameworks! :linkage => linkage.to_sym
+end
+
+target 'ExternalWorkletsExample' do
+ config = use_native_modules!
+
+ use_react_native!(
+ :path => config[:reactNativePath],
+ # An absolute path to your application root.
+ :app_path => "#{Pod::Config.instance.installation_root}/.."
+ )
+
+ post_install do |installer|
+ # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
+ react_native_post_install(
+ installer,
+ config[:reactNativePath],
+ :mac_catalyst_enabled => false,
+ # :ccache_enabled => true
+ )
+ end
+
+ add_clangd_generation_step()
+end
diff --git a/apps/external-worklets-example/ios/Podfile.lock b/apps/external-worklets-example/ios/Podfile.lock
new file mode 100644
index 00000000000..ec08b70663e
--- /dev/null
+++ b/apps/external-worklets-example/ios/Podfile.lock
@@ -0,0 +1,2331 @@
+PODS:
+ - boost (1.84.0)
+ - DoubleConversion (1.1.6)
+ - FBLazyVector (0.76.1)
+ - fmt (9.1.0)
+ - glog (0.3.5)
+ - hermes-engine (0.76.1):
+ - hermes-engine/Pre-built (= 0.76.1)
+ - hermes-engine/Pre-built (0.76.1)
+ - RCT-Folly (2024.01.01.00):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - RCT-Folly/Default (= 2024.01.01.00)
+ - RCT-Folly/Default (2024.01.01.00):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - RCT-Folly/Fabric (2024.01.01.00):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - RCTDeprecation (0.76.1)
+ - RCTRequired (0.76.1)
+ - RCTTypeSafety (0.76.1):
+ - FBLazyVector (= 0.76.1)
+ - RCTRequired (= 0.76.1)
+ - React-Core (= 0.76.1)
+ - React (0.76.1):
+ - React-Core (= 0.76.1)
+ - React-Core/DevSupport (= 0.76.1)
+ - React-Core/RCTWebSocket (= 0.76.1)
+ - React-RCTActionSheet (= 0.76.1)
+ - React-RCTAnimation (= 0.76.1)
+ - React-RCTBlob (= 0.76.1)
+ - React-RCTImage (= 0.76.1)
+ - React-RCTLinking (= 0.76.1)
+ - React-RCTNetwork (= 0.76.1)
+ - React-RCTSettings (= 0.76.1)
+ - React-RCTText (= 0.76.1)
+ - React-RCTVibration (= 0.76.1)
+ - React-callinvoker (0.76.1)
+ - React-Core (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.1)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/CoreModulesHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/Default (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/DevSupport (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.1)
+ - React-Core/RCTWebSocket (= 0.76.1)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTActionSheetHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTAnimationHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTBlobHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTImageHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTLinkingHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTNetworkHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTSettingsHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTTextHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTVibrationHeaders (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-Core/RCTWebSocket (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.1)
+ - React-cxxreact
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-perflogger
+ - React-runtimescheduler
+ - React-utils
+ - SocketRocket (= 0.7.1)
+ - Yoga
+ - React-CoreModules (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety (= 0.76.1)
+ - React-Core/CoreModulesHeaders (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-jsinspector
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTImage (= 0.76.1)
+ - ReactCodegen
+ - ReactCommon
+ - SocketRocket (= 0.7.1)
+ - React-cxxreact (0.76.1):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.1)
+ - React-debug (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-jsinspector
+ - React-logger (= 0.76.1)
+ - React-perflogger (= 0.76.1)
+ - React-runtimeexecutor (= 0.76.1)
+ - React-timing (= 0.76.1)
+ - React-debug (0.76.1)
+ - React-defaultsnativemodule (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-domnativemodule
+ - React-Fabric
+ - React-featureflags
+ - React-featureflagsnativemodule
+ - React-graphics
+ - React-idlecallbacksnativemodule
+ - React-ImageManager
+ - React-microtasksnativemodule
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-domnativemodule (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-Fabric (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/animations (= 0.76.1)
+ - React-Fabric/attributedstring (= 0.76.1)
+ - React-Fabric/componentregistry (= 0.76.1)
+ - React-Fabric/componentregistrynative (= 0.76.1)
+ - React-Fabric/components (= 0.76.1)
+ - React-Fabric/core (= 0.76.1)
+ - React-Fabric/dom (= 0.76.1)
+ - React-Fabric/imagemanager (= 0.76.1)
+ - React-Fabric/leakchecker (= 0.76.1)
+ - React-Fabric/mounting (= 0.76.1)
+ - React-Fabric/observers (= 0.76.1)
+ - React-Fabric/scheduler (= 0.76.1)
+ - React-Fabric/telemetry (= 0.76.1)
+ - React-Fabric/templateprocessor (= 0.76.1)
+ - React-Fabric/uimanager (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/animations (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/attributedstring (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/componentregistry (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/componentregistrynative (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/components/legacyviewmanagerinterop (= 0.76.1)
+ - React-Fabric/components/root (= 0.76.1)
+ - React-Fabric/components/view (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/legacyviewmanagerinterop (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/root (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/components/view (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-Fabric/core (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/dom (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/imagemanager (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/leakchecker (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/mounting (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/observers (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/observers/events (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/observers/events (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/scheduler (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/observers/events
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-performancetimeline
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/telemetry (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/templateprocessor (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/uimanager (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric/uimanager/consistency (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/uimanager/consistency (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-FabricComponents (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents/components (= 0.76.1)
+ - React-FabricComponents/textlayoutmanager (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents/components/inputaccessory (= 0.76.1)
+ - React-FabricComponents/components/iostextinput (= 0.76.1)
+ - React-FabricComponents/components/modal (= 0.76.1)
+ - React-FabricComponents/components/rncore (= 0.76.1)
+ - React-FabricComponents/components/safeareaview (= 0.76.1)
+ - React-FabricComponents/components/scrollview (= 0.76.1)
+ - React-FabricComponents/components/text (= 0.76.1)
+ - React-FabricComponents/components/textinput (= 0.76.1)
+ - React-FabricComponents/components/unimplementedview (= 0.76.1)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/inputaccessory (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/iostextinput (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/modal (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/rncore (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/safeareaview (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/scrollview (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/text (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/textinput (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/components/unimplementedview (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricComponents/textlayoutmanager (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-cxxreact
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-FabricImage (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired (= 0.76.1)
+ - RCTTypeSafety (= 0.76.1)
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.76.1)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - Yoga
+ - React-featureflags (0.76.1)
+ - React-featureflagsnativemodule (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-graphics (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-jsi
+ - React-jsiexecutor
+ - React-utils
+ - React-hermes (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact (= 0.76.1)
+ - React-jsi
+ - React-jsiexecutor (= 0.76.1)
+ - React-jsinspector
+ - React-perflogger (= 0.76.1)
+ - React-runtimeexecutor
+ - React-idlecallbacksnativemodule (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-ImageManager (0.76.1):
+ - glog
+ - RCT-Folly/Fabric
+ - React-Core/Default
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-rendererdebug
+ - React-utils
+ - React-jserrorhandler (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-cxxreact
+ - React-debug
+ - React-jsi
+ - React-jsi (0.76.1):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-jsiexecutor (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-jsinspector
+ - React-perflogger (= 0.76.1)
+ - React-jsinspector (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-featureflags
+ - React-jsi
+ - React-perflogger (= 0.76.1)
+ - React-runtimeexecutor (= 0.76.1)
+ - React-jsitracing (0.76.1):
+ - React-jsi
+ - React-logger (0.76.1):
+ - glog
+ - React-Mapbuffer (0.76.1):
+ - glog
+ - React-debug
+ - React-microtasksnativemodule (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-pager-view (6.4.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - react-native-pager-view/common (= 6.4.1)
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-pager-view/common (6.4.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-safe-area-context (4.13.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - react-native-safe-area-context/common (= 4.13.1)
+ - react-native-safe-area-context/fabric (= 4.13.1)
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-safe-area-context/common (4.13.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-safe-area-context/fabric (4.13.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - react-native-safe-area-context/common
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-slider (4.5.5):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - react-native-slider/common (= 4.5.5)
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - react-native-slider/common (4.5.5):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-nativeconfig (0.76.1)
+ - React-NativeModulesApple (0.76.1):
+ - glog
+ - hermes-engine
+ - React-callinvoker
+ - React-Core
+ - React-cxxreact
+ - React-jsi
+ - React-jsinspector
+ - React-runtimeexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - React-perflogger (0.76.1):
+ - DoubleConversion
+ - RCT-Folly (= 2024.01.01.00)
+ - React-performancetimeline (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact
+ - React-timing
+ - React-RCTActionSheet (0.76.1):
+ - React-Core/RCTActionSheetHeaders (= 0.76.1)
+ - React-RCTAnimation (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTAnimationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTAppDelegate (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-CoreModules
+ - React-debug
+ - React-defaultsnativemodule
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-hermes
+ - React-nativeconfig
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-RCTImage
+ - React-RCTNetwork
+ - React-rendererdebug
+ - React-RuntimeApple
+ - React-RuntimeCore
+ - React-RuntimeHermes
+ - React-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTBlob (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-Core/RCTBlobHeaders
+ - React-Core/RCTWebSocket
+ - React-jsi
+ - React-jsinspector
+ - React-NativeModulesApple
+ - React-RCTNetwork
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTFabric (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricComponents
+ - React-FabricImage
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-jsi
+ - React-jsinspector
+ - React-nativeconfig
+ - React-performancetimeline
+ - React-RCTImage
+ - React-RCTText
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - Yoga
+ - React-RCTImage (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTImageHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTNetwork
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTLinking (0.76.1):
+ - React-Core/RCTLinkingHeaders (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.76.1)
+ - React-RCTNetwork (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTNetworkHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTSettings (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTSettingsHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTText (0.76.1):
+ - React-Core/RCTTextHeaders (= 0.76.1)
+ - Yoga
+ - React-RCTVibration (0.76.1):
+ - RCT-Folly (= 2024.01.01.00)
+ - React-Core/RCTVibrationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-rendererconsistency (0.76.1)
+ - React-rendererdebug (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - RCT-Folly (= 2024.01.01.00)
+ - React-debug
+ - React-rncore (0.76.1)
+ - React-RuntimeApple (0.76.1):
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-callinvoker
+ - React-Core/Default
+ - React-CoreModules
+ - React-cxxreact
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-Mapbuffer
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-RuntimeCore
+ - React-runtimeexecutor
+ - React-RuntimeHermes
+ - React-runtimescheduler
+ - React-utils
+ - React-RuntimeCore (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-cxxreact
+ - React-featureflags
+ - React-jserrorhandler
+ - React-jsi
+ - React-jsiexecutor
+ - React-jsinspector
+ - React-performancetimeline
+ - React-runtimeexecutor
+ - React-runtimescheduler
+ - React-utils
+ - React-runtimeexecutor (0.76.1):
+ - React-jsi (= 0.76.1)
+ - React-RuntimeHermes (0.76.1):
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-featureflags
+ - React-hermes
+ - React-jsi
+ - React-jsinspector
+ - React-jsitracing
+ - React-nativeconfig
+ - React-RuntimeCore
+ - React-utils
+ - React-runtimescheduler (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker
+ - React-cxxreact
+ - React-debug
+ - React-featureflags
+ - React-jsi
+ - React-performancetimeline
+ - React-rendererconsistency
+ - React-rendererdebug
+ - React-runtimeexecutor
+ - React-timing
+ - React-utils
+ - React-timing (0.76.1)
+ - React-utils (0.76.1):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-debug
+ - React-jsi (= 0.76.1)
+ - ReactCodegen (0.76.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-FabricImage
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-NativeModulesApple
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - ReactCommon (0.76.1):
+ - ReactCommon/turbomodule (= 0.76.1)
+ - ReactCommon/turbomodule (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.1)
+ - React-cxxreact (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-logger (= 0.76.1)
+ - React-perflogger (= 0.76.1)
+ - ReactCommon/turbomodule/bridging (= 0.76.1)
+ - ReactCommon/turbomodule/core (= 0.76.1)
+ - ReactCommon/turbomodule/bridging (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.1)
+ - React-cxxreact (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-logger (= 0.76.1)
+ - React-perflogger (= 0.76.1)
+ - ReactCommon/turbomodule/core (0.76.1):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.1)
+ - React-cxxreact (= 0.76.1)
+ - React-debug (= 0.76.1)
+ - React-featureflags (= 0.76.1)
+ - React-jsi (= 0.76.1)
+ - React-logger (= 0.76.1)
+ - React-perflogger (= 0.76.1)
+ - React-utils (= 0.76.1)
+ - RNCAsyncStorage (1.24.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNCMaskedView (0.3.1):
+ - React-Core
+ - RNCPicker (2.9.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNFlashList (1.7.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNGestureHandler (2.20.2):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNReanimated (3.17.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNReanimated/reanimated (= 3.17.0)
+ - RNReanimated/worklets (= 3.17.0)
+ - Yoga
+ - RNReanimated/reanimated (3.17.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNReanimated/reanimated/apple (= 3.17.0)
+ - Yoga
+ - RNReanimated/reanimated/apple (3.17.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNReanimated/worklets (3.17.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNReanimated/worklets/apple (= 3.17.0)
+ - Yoga
+ - RNReanimated/worklets/apple (3.17.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNScreens (4.0.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-RCTImage
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNScreens/common (= 4.0.0)
+ - Yoga
+ - RNScreens/common (4.0.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-RCTImage
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNSVG (15.8.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNSVG/common (= 15.8.0)
+ - Yoga
+ - RNSVG/common (15.8.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNWorklets (0.0.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNWorklets/worklets (= 0.0.1)
+ - Yoga
+ - RNWorklets/worklets (0.0.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - RNWorklets/worklets/apple (= 0.0.1)
+ - Yoga
+ - RNWorklets/worklets/apple (0.0.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - SocketRocket (0.7.1)
+ - Yoga (0.0.0)
+
+DEPENDENCIES:
+ - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`)
+ - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
+ - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
+ - fmt (from `../../../node_modules/react-native/third-party-podspecs/fmt.podspec`)
+ - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - hermes-engine (from `../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
+ - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
+ - RCT-Folly/Fabric (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
+ - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
+ - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`)
+ - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`)
+ - React (from `../../../node_modules/react-native/`)
+ - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`)
+ - React-Core (from `../../../node_modules/react-native/`)
+ - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`)
+ - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`)
+ - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`)
+ - React-defaultsnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
+ - React-domnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
+ - React-Fabric (from `../../../node_modules/react-native/ReactCommon`)
+ - React-FabricComponents (from `../../../node_modules/react-native/ReactCommon`)
+ - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`)
+ - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`)
+ - React-featureflagsnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
+ - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`)
+ - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`)
+ - React-idlecallbacksnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
+ - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
+ - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`)
+ - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`)
+ - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`)
+ - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`)
+ - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`)
+ - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`)
+ - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`)
+ - React-microtasksnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
+ - react-native-pager-view (from `../../../node_modules/react-native-pager-view`)
+ - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`)
+ - "react-native-slider (from `../../../node_modules/@react-native-community/slider`)"
+ - React-nativeconfig (from `../../../node_modules/react-native/ReactCommon`)
+ - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
+ - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`)
+ - React-performancetimeline (from `../../../node_modules/react-native/ReactCommon/react/performance/timeline`)
+ - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`)
+ - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`)
+ - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`)
+ - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`)
+ - React-RCTFabric (from `../../../node_modules/react-native/React`)
+ - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`)
+ - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`)
+ - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`)
+ - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`)
+ - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`)
+ - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`)
+ - React-rendererconsistency (from `../../../node_modules/react-native/ReactCommon/react/renderer/consistency`)
+ - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`)
+ - React-rncore (from `../../../node_modules/react-native/ReactCommon`)
+ - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
+ - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`)
+ - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`)
+ - React-RuntimeHermes (from `../../../node_modules/react-native/ReactCommon/react/runtime`)
+ - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
+ - React-timing (from `../../../node_modules/react-native/ReactCommon/react/timing`)
+ - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`)
+ - ReactCodegen (from `build/generated/ios`)
+ - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`)
+ - "RNCAsyncStorage (from `../../../node_modules/@react-native-async-storage/async-storage`)"
+ - "RNCMaskedView (from `../../../node_modules/@react-native-masked-view/masked-view`)"
+ - "RNCPicker (from `../../../node_modules/@react-native-picker/picker`)"
+ - "RNFlashList (from `../../../node_modules/@shopify/flash-list`)"
+ - RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`)
+ - RNReanimated (from `../../../node_modules/react-native-reanimated`)
+ - RNScreens (from `../../../node_modules/react-native-screens`)
+ - RNSVG (from `../../../node_modules/react-native-svg`)
+ - RNWorklets (from `../../../node_modules/react-native-worklets`)
+ - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
+
+SPEC REPOS:
+ trunk:
+ - SocketRocket
+
+EXTERNAL SOURCES:
+ boost:
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec"
+ DoubleConversion:
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
+ FBLazyVector:
+ :path: "../../../node_modules/react-native/Libraries/FBLazyVector"
+ fmt:
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/fmt.podspec"
+ glog:
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec"
+ hermes-engine:
+ :podspec: "../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
+ :tag: hermes-2024-09-09-RNv0.76.0-db6d12e202e15f7a446d8848d6ca8f7abb3cfb32
+ RCT-Folly:
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
+ RCTDeprecation:
+ :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
+ RCTRequired:
+ :path: "../../../node_modules/react-native/Libraries/Required"
+ RCTTypeSafety:
+ :path: "../../../node_modules/react-native/Libraries/TypeSafety"
+ React:
+ :path: "../../../node_modules/react-native/"
+ React-callinvoker:
+ :path: "../../../node_modules/react-native/ReactCommon/callinvoker"
+ React-Core:
+ :path: "../../../node_modules/react-native/"
+ React-CoreModules:
+ :path: "../../../node_modules/react-native/React/CoreModules"
+ React-cxxreact:
+ :path: "../../../node_modules/react-native/ReactCommon/cxxreact"
+ React-debug:
+ :path: "../../../node_modules/react-native/ReactCommon/react/debug"
+ React-defaultsnativemodule:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
+ React-domnativemodule:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/dom"
+ React-Fabric:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-FabricComponents:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-FabricImage:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-featureflags:
+ :path: "../../../node_modules/react-native/ReactCommon/react/featureflags"
+ React-featureflagsnativemodule:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
+ React-graphics:
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics"
+ React-hermes:
+ :path: "../../../node_modules/react-native/ReactCommon/hermes"
+ React-idlecallbacksnativemodule:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
+ React-ImageManager:
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
+ React-jserrorhandler:
+ :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler"
+ React-jsi:
+ :path: "../../../node_modules/react-native/ReactCommon/jsi"
+ React-jsiexecutor:
+ :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor"
+ React-jsinspector:
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern"
+ React-jsitracing:
+ :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/"
+ React-logger:
+ :path: "../../../node_modules/react-native/ReactCommon/logger"
+ React-Mapbuffer:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-microtasksnativemodule:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
+ react-native-pager-view:
+ :path: "../../../node_modules/react-native-pager-view"
+ react-native-safe-area-context:
+ :path: "../../../node_modules/react-native-safe-area-context"
+ react-native-slider:
+ :path: "../../../node_modules/@react-native-community/slider"
+ React-nativeconfig:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-NativeModulesApple:
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
+ React-perflogger:
+ :path: "../../../node_modules/react-native/ReactCommon/reactperflogger"
+ React-performancetimeline:
+ :path: "../../../node_modules/react-native/ReactCommon/react/performance/timeline"
+ React-RCTActionSheet:
+ :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS"
+ React-RCTAnimation:
+ :path: "../../../node_modules/react-native/Libraries/NativeAnimation"
+ React-RCTAppDelegate:
+ :path: "../../../node_modules/react-native/Libraries/AppDelegate"
+ React-RCTBlob:
+ :path: "../../../node_modules/react-native/Libraries/Blob"
+ React-RCTFabric:
+ :path: "../../../node_modules/react-native/React"
+ React-RCTImage:
+ :path: "../../../node_modules/react-native/Libraries/Image"
+ React-RCTLinking:
+ :path: "../../../node_modules/react-native/Libraries/LinkingIOS"
+ React-RCTNetwork:
+ :path: "../../../node_modules/react-native/Libraries/Network"
+ React-RCTSettings:
+ :path: "../../../node_modules/react-native/Libraries/Settings"
+ React-RCTText:
+ :path: "../../../node_modules/react-native/Libraries/Text"
+ React-RCTVibration:
+ :path: "../../../node_modules/react-native/Libraries/Vibration"
+ React-rendererconsistency:
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/consistency"
+ React-rendererdebug:
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug"
+ React-rncore:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ React-RuntimeApple:
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
+ React-RuntimeCore:
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime"
+ React-runtimeexecutor:
+ :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor"
+ React-RuntimeHermes:
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime"
+ React-runtimescheduler:
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
+ React-timing:
+ :path: "../../../node_modules/react-native/ReactCommon/react/timing"
+ React-utils:
+ :path: "../../../node_modules/react-native/ReactCommon/react/utils"
+ ReactCodegen:
+ :path: build/generated/ios
+ ReactCommon:
+ :path: "../../../node_modules/react-native/ReactCommon"
+ RNCAsyncStorage:
+ :path: "../../../node_modules/@react-native-async-storage/async-storage"
+ RNCMaskedView:
+ :path: "../../../node_modules/@react-native-masked-view/masked-view"
+ RNCPicker:
+ :path: "../../../node_modules/@react-native-picker/picker"
+ RNFlashList:
+ :path: "../../../node_modules/@shopify/flash-list"
+ RNGestureHandler:
+ :path: "../../../node_modules/react-native-gesture-handler"
+ RNReanimated:
+ :path: "../../../node_modules/react-native-reanimated"
+ RNScreens:
+ :path: "../../../node_modules/react-native-screens"
+ RNSVG:
+ :path: "../../../node_modules/react-native-svg"
+ RNWorklets:
+ :path: "../../../node_modules/react-native-worklets"
+ Yoga:
+ :path: "../../../node_modules/react-native/ReactCommon/yoga"
+
+SPEC CHECKSUMS:
+ boost: 1dca942403ed9342f98334bf4c3621f011aa7946
+ DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
+ FBLazyVector: 7075bb12898bc3998fd60f4b7ca422496cc2cdf7
+ fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
+ glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
+ hermes-engine: 46f1ffbf0297f4298862068dd4c274d4ac17a1fd
+ RCT-Folly: bf5c0376ffe4dd2cf438dcf86db385df9fdce648
+ RCTDeprecation: fde92935b3caa6cb65cbff9fbb7d3a9867ffb259
+ RCTRequired: 75c6cee42d21c1530a6f204ba32ff57335d19007
+ RCTTypeSafety: 7e6fe47bfb693c50d4669db1a480ca5331795f5b
+ React: 8e73704cdd5c7f801936776d2fc434c605a7827b
+ React-callinvoker: fa27d1e091e683de88f576e6a5d4efc171929a4c
+ React-Core: 8dd14bffcc9b877091b698e45701160669a31f91
+ React-CoreModules: b4437acf2ef25ce3689c84df661dc5d806559b35
+ React-cxxreact: 6125cd820da7e18f9ca8343b3c42ee61634a4e0d
+ React-debug: f474f5c202a277f76c81bf7cf26284f2c09880d7
+ React-defaultsnativemodule: 7141fa704531cbf7a7e7af3bc02adfa367e831a7
+ React-domnativemodule: c1806b8584a53ed912012a4d8b2c6f96a84c77a3
+ React-Fabric: ba9636cfc7f9b77df6cb7edb2c70d0237026404b
+ React-FabricComponents: c408da05a4ea5ba071732245b4a7f48f904e610a
+ React-FabricImage: c409858f319f11709b49ffa6c5bca4faf794cb44
+ React-featureflags: 929732439d139ac0662e08f009f1a51ed2b91ed3
+ React-featureflagsnativemodule: 02dd903d4cbe4fae0e6cd02bc32a09d30543282f
+ React-graphics: a5cad35307286e9f83e212834e95fef4010d03d0
+ React-hermes: 14aafa9630579b84c2167b563bdb8c811970a03e
+ React-idlecallbacksnativemodule: 69581ac44bd355acce3739c3fe380c0f6d7a6d09
+ React-ImageManager: 41945afb3ace0c52255057ec4ae6af6f5a23539f
+ React-jserrorhandler: ecbc4622df7ab3d0066a4313cde4172d45745508
+ React-jsi: ff383df87c7047e976a66be45df59e4e0db5346e
+ React-jsiexecutor: 2bb8b172f226f2f502521d33dd7666e701d45f45
+ React-jsinspector: 4d51b903543f21076b658ef8412f3102778dbc92
+ React-jsitracing: 654f4d9cb9fd99b3d96f239ceb215ae49ce28ac0
+ React-logger: 97c9dafae1f1a638001a9d1d0e93d431f2f9cb7b
+ React-Mapbuffer: 3146a13424f9fec2ea1f1462d49d566e4d69b732
+ React-microtasksnativemodule: 02d218c79c72d373a92a8552183f4ead0d1c6e05
+ react-native-pager-view: 94195f1bf32e7f78359fa20057c97e632364a08b
+ react-native-safe-area-context: 52956274cbb1f9313ba6969de5c33e57218c0206
+ react-native-slider: 124ce99f9cd2d04c79f020da6dee9f8d38a6b8c7
+ React-nativeconfig: 93fe8c85a8c40820c57814e30f3e44b94c995a7b
+ React-NativeModulesApple: b3e076fd0d7b73417fe1e8c8b26e3c57ae9b74aa
+ React-perflogger: 1c55bcd3c392137cbaf0d21d8bb87ce9a0cebb15
+ React-performancetimeline: e89249db10b8f7bf8f72c2e9bd471ac37d48b753
+ React-RCTActionSheet: 9407c795fbeee35da2dae3cd6b5c4e5da6ff8bd3
+ React-RCTAnimation: 7ee1c2a77aab7e5c568611d8092a994cfcbe8410
+ React-RCTAppDelegate: 10c2b0c434baf5a71b53d5c86c4d8d0dbd6bb380
+ React-RCTBlob: 761072706300d22624ec2d6bf860b77d95ebd3da
+ React-RCTFabric: 871d38933a94554d9e27963aa4bb67184dc7529e
+ React-RCTImage: b6614fde902ec9647f15236da94df2d24c40523f
+ React-RCTLinking: 25950eda5d5f786bfb3daf513ea7d848555a2a93
+ React-RCTNetwork: b69407c4119fd7a1cc07db4a94563f2546f8770d
+ React-RCTSettings: b310a4923446c3a8950fa866c8cf83323a9e1b87
+ React-RCTText: 77c6eda5be1dee657f5183f75fe0fdcdb7b2b35d
+ React-RCTVibration: b4889c7702aea1b07316be1ec0de2e36e9a4d077
+ React-rendererconsistency: 5ef1c4642fd6365bf6d5d4e29a3ae02c3a1b8980
+ React-rendererdebug: 7f6a24cbb5008a22ccb34a0d031a259b006facf6
+ React-rncore: 0e5394ce20a9d2bf12409d14395588c7b9e6e9ce
+ React-RuntimeApple: bbe293f233d17304c9597309acde7505080fd53d
+ React-RuntimeCore: 5a1cbfc3e7af4fbdea2b9b1efd39cd51a4d4006f
+ React-runtimeexecutor: ffac5f09795a5e881477e0d72a0fa6385456bed3
+ React-RuntimeHermes: 0a1fd1c150faed8341887dd89895eeb8d4d2d3c5
+ React-runtimescheduler: e7df538274de0c65736068e40efc0d2228f42d0d
+ React-timing: b3b233fe819d9e5b6ca32b605aa732621bdfa5aa
+ React-utils: 5362bd16a9563f9916e7a56c011ddc533507650f
+ ReactCodegen: 84a006ff4f2742ed633b3044b5c1583ee22a2a6c
+ ReactCommon: 422e364463f33e336fc4db196aeb50fd801d90d6
+ RNCAsyncStorage: 3ad840f7b17b45ca7ebbbb0e80948564a9513315
+ RNCMaskedView: 090213d32d8b3bb83a4dcb7d12c18f0152591906
+ RNCPicker: b978067931744f5a7316b48b8dcf145d4d722672
+ RNFlashList: 6f169ad83e52579b7754cbbcec1b004c27d82c93
+ RNGestureHandler: fc5ce5bf284640d3af6431c3a5c3bc121e98d045
+ RNReanimated: c03f9fdff5fd382d1833c37fa0e6f64ffd9b8a92
+ RNScreens: 2fe13c8d610ef2d9d5ace2e7d85b716ec0f5217c
+ RNSVG: 536cd3c866c878faf72beaba166c8b02fe2b762b
+ RNWorklets: 5092e77551ed9d26f8b496c97cbd1d2f8ad80c68
+ SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
+ Yoga: db69236006b8b1c6d55ab453390c882306cbf219
+
+PODFILE CHECKSUM: 099d5f52b9474a84a14af14e9cdd914632ee0efd
+
+COCOAPODS: 1.14.3
diff --git a/apps/external-worklets-example/ios/PrivacyInfo.xcprivacy b/apps/external-worklets-example/ios/PrivacyInfo.xcprivacy
new file mode 100644
index 00000000000..41b8317f065
--- /dev/null
+++ b/apps/external-worklets-example/ios/PrivacyInfo.xcprivacy
@@ -0,0 +1,37 @@
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/apps/external-worklets-example/ios/link-assets-manifest.json b/apps/external-worklets-example/ios/link-assets-manifest.json
new file mode 100644
index 00000000000..ea64c61e05f
--- /dev/null
+++ b/apps/external-worklets-example/ios/link-assets-manifest.json
@@ -0,0 +1,45 @@
+{
+ "migIndex": 1,
+ "data": [
+ {
+ "path": "assets/fonts/Poppins/OFL.txt",
+ "sha1": "8d6c34b70e3d638c82d7b5aba3f847f7d6d2c831"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Black.ttf",
+ "sha1": "645e04c53c6b5b35bce654a811ebce16af8aa721"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Bold.ttf",
+ "sha1": "875cf0cecd647bcf22e79d633d868c1b1ec98dfa"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-ExtraBold.ttf",
+ "sha1": "4b5c0750f073abd576413a0898d3b95adaf199c8"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-ExtraLight.ttf",
+ "sha1": "85af6582a7e6155917c605f9d3fed68c02b23b06"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Light.ttf",
+ "sha1": "e247a92158e112f8bf7b638c8d95381d66b00dbb"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Medium.ttf",
+ "sha1": "283f21b44efbdbf276ba802be2d949a36bbc4233"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Regular.ttf",
+ "sha1": "fdd3002e7d814ee47c1c1b8487c72c6bbb3a2d00"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-SemiBold.ttf",
+ "sha1": "8a4ace9392d06bcb7f8ea2f5169b07e4c383a90d"
+ },
+ {
+ "path": "assets/fonts/Poppins/Poppins-Thin.ttf",
+ "sha1": "09ba4dcd5509c8085bf88c665dcc51cbdfced27b"
+ }
+ ]
+}
diff --git a/apps/external-worklets-example/metro.config.js b/apps/external-worklets-example/metro.config.js
new file mode 100644
index 00000000000..3d34c5026b2
--- /dev/null
+++ b/apps/external-worklets-example/metro.config.js
@@ -0,0 +1,21 @@
+const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
+const {
+ wrapWithReanimatedMetroConfig,
+} = require('react-native-reanimated/metro-config');
+
+const path = require('path');
+
+const root = path.resolve(__dirname, '../..');
+
+/**
+ * Metro configuration https://reactnative.dev/docs/metro
+ *
+ * @type {import('@react-native/metro-config').MetroConfig}
+ */
+const config = {
+ watchFolders: [root],
+};
+
+module.exports = wrapWithReanimatedMetroConfig(
+ mergeConfig(getDefaultConfig(__dirname), config)
+);
diff --git a/apps/external-worklets-example/package.json b/apps/external-worklets-example/package.json
new file mode 100644
index 00000000000..0fa0057eac5
--- /dev/null
+++ b/apps/external-worklets-example/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "external-worklets-example",
+ "version": "0.0.1",
+ "private": true,
+ "scripts": {
+ "build": "cd ios && bundle install && bundle exec pod update",
+ "android": "react-native run-android",
+ "ios": "react-native run-ios",
+ "lint": "eslint --max-warnings=0 --ignore-pattern 'common-app/' .",
+ "format": "prettier --write --list-different .",
+ "start": "react-native start",
+ "test": "jest"
+ },
+ "dependencies": {
+ "@react-native-async-storage/async-storage": "^1.24.0",
+ "@react-native-community/slider": "^4.5.5",
+ "@react-native-masked-view/masked-view": "^0.3.1",
+ "@react-native-picker/picker": "^2.9.0",
+ "@react-navigation/native": "^7.0.0",
+ "@react-navigation/native-stack": "^7.0.0",
+ "@shopify/flash-list": "^1.7.1",
+ "common-app": "workspace:*",
+ "react": "18.3.1",
+ "react-native": "^0.76.1",
+ "react-native-gesture-handler": "2.20.2",
+ "react-native-pager-view": "^6.4.1",
+ "react-native-reanimated": "workspace:*",
+ "react-native-safe-area-context": "^4.13.1",
+ "react-native-screens": "^4.0.0",
+ "react-native-svg": "^15.8.0",
+ "react-native-worklets": "workspace:*"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.25.2",
+ "@babel/preset-env": "^7.25.3",
+ "@babel/runtime": "^7.25.0",
+ "@react-native-community/cli": "15.0.0",
+ "@react-native-community/cli-platform-android": "15.0.0",
+ "@react-native-community/cli-platform-ios": "15.0.0",
+ "@react-native/babel-preset": "0.76.1",
+ "@react-native/eslint-config": "0.76.1",
+ "@react-native/metro-config": "0.76.1",
+ "@react-native/typescript-config": "0.76.1",
+ "@types/react": "^18.2.6",
+ "@types/react-test-renderer": "^18.0.0",
+ "babel-jest": "^29.6.3",
+ "eslint": "^8.57.0",
+ "jest": "^29.6.3",
+ "patch-package": "^8.0.0",
+ "prettier": "^3.3.3",
+ "react-test-renderer": "18.3.1",
+ "typescript": "~5.3.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/apps/external-worklets-example/react-native.config.js b/apps/external-worklets-example/react-native.config.js
new file mode 100644
index 00000000000..a14e6852773
--- /dev/null
+++ b/apps/external-worklets-example/react-native.config.js
@@ -0,0 +1,8 @@
+/** @type {import('@react-native-community/cli-types').Config} */
+module.exports = {
+ project: {
+ ios: {},
+ android: {},
+ },
+ assets: ['./assets/fonts/'],
+};
diff --git a/apps/external-worklets-example/tsconfig.json b/apps/external-worklets-example/tsconfig.json
new file mode 100644
index 00000000000..4082f16a5d9
--- /dev/null
+++ b/apps/external-worklets-example/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "../../tsconfig.json"
+}
diff --git a/package.json b/package.json
index 9df784781ff..335a17b104b 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"apps/common-app",
"apps/paper-example",
"apps/fabric-example",
+ "apps/external-worklets-example",
"apps/macos-example",
"apps/tvos-example",
"apps/web-example",
diff --git a/packages/react-native-worklets/package.json b/packages/react-native-worklets/package.json
index 3a34612fbc4..f36162efa34 100644
--- a/packages/react-native-worklets/package.json
+++ b/packages/react-native-worklets/package.json
@@ -34,6 +34,7 @@
"@types/react": "^18.2.44",
"@typescript-eslint/eslint-plugin": "^6.19.0",
"eslint": "^8.57.0",
+ "madge": "^5.0.1",
"prettier": "^3.3.3",
"react": "18.3.1",
"react-native": "^0.76.1",
diff --git a/yarn.lock b/yarn.lock
index 25425522260..66e75c2a5ad 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -11680,6 +11680,49 @@ __metadata:
languageName: node
linkType: hard
+"external-worklets-example@workspace:apps/external-worklets-example":
+ version: 0.0.0-use.local
+ resolution: "external-worklets-example@workspace:apps/external-worklets-example"
+ dependencies:
+ "@babel/core": "npm:^7.25.2"
+ "@babel/preset-env": "npm:^7.25.3"
+ "@babel/runtime": "npm:^7.25.0"
+ "@react-native-async-storage/async-storage": "npm:^1.24.0"
+ "@react-native-community/cli": "npm:15.0.0"
+ "@react-native-community/cli-platform-android": "npm:15.0.0"
+ "@react-native-community/cli-platform-ios": "npm:15.0.0"
+ "@react-native-community/slider": "npm:^4.5.5"
+ "@react-native-masked-view/masked-view": "npm:^0.3.1"
+ "@react-native-picker/picker": "npm:^2.9.0"
+ "@react-native/babel-preset": "npm:0.76.1"
+ "@react-native/eslint-config": "npm:0.76.1"
+ "@react-native/metro-config": "npm:0.76.1"
+ "@react-native/typescript-config": "npm:0.76.1"
+ "@react-navigation/native": "npm:^7.0.0"
+ "@react-navigation/native-stack": "npm:^7.0.0"
+ "@shopify/flash-list": "npm:^1.7.1"
+ "@types/react": "npm:^18.2.6"
+ "@types/react-test-renderer": "npm:^18.0.0"
+ babel-jest: "npm:^29.6.3"
+ common-app: "workspace:*"
+ eslint: "npm:^8.57.0"
+ jest: "npm:^29.6.3"
+ patch-package: "npm:^8.0.0"
+ prettier: "npm:^3.3.3"
+ react: "npm:18.3.1"
+ react-native: "npm:^0.76.1"
+ react-native-gesture-handler: "npm:2.20.2"
+ react-native-pager-view: "npm:^6.4.1"
+ react-native-reanimated: "workspace:*"
+ react-native-safe-area-context: "npm:^4.13.1"
+ react-native-screens: "npm:^4.0.0"
+ react-native-svg: "npm:^15.8.0"
+ react-native-worklets: "workspace:*"
+ react-test-renderer: "npm:18.3.1"
+ typescript: "npm:~5.3.0"
+ languageName: unknown
+ linkType: soft
+
"extract-zip@npm:2.0.1":
version: 2.0.1
resolution: "extract-zip@npm:2.0.1"
@@ -18307,6 +18350,7 @@ __metadata:
"@types/react": "npm:^18.2.44"
"@typescript-eslint/eslint-plugin": "npm:^6.19.0"
eslint: "npm:^8.57.0"
+ madge: "npm:^5.0.1"
prettier: "npm:^3.3.3"
react: "npm:18.3.1"
react-native: "npm:^0.76.1"