diff --git a/README.md b/README.md
index f8ed649..fd815d8 100644
--- a/README.md
+++ b/README.md
@@ -87,11 +87,12 @@ All dependencies should be installed with `yarn` in order to ensure that yarn wo
The example app is located in the `example` directory. Inside, you'll find three subdirectories:
-- `app` - Where the example app source code is located.
-- `bare` - Sources necessary to run the bare react native app.
-- `expo` - Sources of the expo-managed app.
+- `app` - Where the example app source code is located
+- `fabric` - Sources necessary to run the bare React Native app on Fabric (the New Architecture)
+- `paper` - Sources necessary to run the paper React Native app on Paper (the Old Architecture)
+- `expo` - Sources of the expo-managed app
-If you don't need to include **expo** or a **bare** React Native app example, you can just remove the corresponding directory.
+If you don't need to include **expo** or **fabric**/**paper** React Native app example, you can just remove the corresponding directory.
#### Useful Commands
diff --git a/bin/init.js b/bin/init.js
index 46cc0a2..ab4b25e 100644
--- a/bin/init.js
+++ b/bin/init.js
@@ -51,7 +51,7 @@ const init = (projectName, verbose = false, directory = '.') => {
logger.info('Template files were copied.');
}
rename(projectPath, projectName, verbose);
- logger.success('Temaplate was successfully cloned!');
+ logger.success('Template was successfully cloned!');
initGitRepository(projectPath, verbose);
installPackages(projectPath, verbose);
logger.success('🎉 Project was successfully initialized!');
@@ -72,16 +72,18 @@ const init = (projectName, verbose = false, directory = '.') => {
);
logger.info('\n\n💻 Useful commands:');
- logger.info('1. Bare example app:');
- logger.info(' - yarn example:bare pod - install pods for iOS');
- logger.info(' - yarn example:bare start - start the Metro bundler');
- logger.info(' - yarn example:bare android - run the Android app');
- logger.info(' - yarn example:bare ios - run the iOS app');
+ logger.info('1. Bare React Native example app:');
+ logger.info(' - cd examples/fabric or cd examples/paper');
+ logger.info(' - yarn pod - install pods for iOS');
+ logger.info(' - yarn start - start the Metro bundler');
+ logger.info(' - yarn android - run the Android app');
+ logger.info(' - yarn ios - run the iOS app');
logger.info('\n2. Expo example app:');
- logger.info(' - yarn example:expo start - start the Expo Go app');
- logger.info(' - yarn example:expo android - run the Android app');
- logger.info(' - yarn example:expo ios - run the iOS app');
+ logger.info(' - cd examples/expo');
+ logger.info(' - yarn start - start the Expo Go app');
+ logger.info(' - yarn android - run the Android app');
+ logger.info(' - yarn ios - run the iOS app');
logger.info('\n3. Code quality:');
logger.info(' - yarn lint - check code quality');
diff --git a/template/.prettierignore b/template/.prettierignore
index cd6019d..8a17b97 100644
--- a/template/.prettierignore
+++ b/template/.prettierignore
@@ -7,3 +7,4 @@ android
ios
node_modules
CHANGELOG.md
+vendor
diff --git a/template/example/bare/metro.config.js b/template/example/bare/metro.config.js
deleted file mode 100644
index 33de9d1..0000000
--- a/template/example/bare/metro.config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const path = require('path');
-const getWorkspaces = require('get-yarn-workspaces');
-const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
-
-const workspaces = getWorkspaces(__dirname).filter(
- // Include all workspaces except expo in the bare example
- workspaceDir => !workspaceDir.includes('expo')
-);
-
-const customConfig = {
- watchFolders: [path.resolve(__dirname, '../../node_modules'), ...workspaces]
-};
-
-module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);
diff --git a/template/example/expo/metro.config.js b/template/example/expo/metro.config.js
index f6f2c0d..eb86e8a 100644
--- a/template/example/expo/metro.config.js
+++ b/template/example/expo/metro.config.js
@@ -1,15 +1,26 @@
const path = require('path');
+const fs = require('fs');
+const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const getWorkspaces = require('get-yarn-workspaces');
-const { getDefaultConfig } = require('@expo/metro-config');
-const { mergeConfig } = require('@react-native/metro-config');
-const workspaces = getWorkspaces(__dirname).filter(
- // Include all workspaces except bare in the expo example
- workspaceDir => !workspaceDir.includes('bare')
+const exampleDir = path.resolve(__dirname, '..');
+const excludeRegex = new RegExp(
+ fs
+ .readdirSync(exampleDir, { withFileTypes: true })
+ .filter(dirent => dirent.isDirectory())
+ .map(dirent => dirent.name)
+ .filter(dirName => !['app', path.basename(__dirname)].includes(dirName))
+ .map(dirName => `${exampleDir}/${dirName}`)
+ .join('|')
);
const customConfig = {
- watchFolders: [path.resolve(__dirname, '../../node_modules'), ...workspaces]
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ ...getWorkspaces(__dirname).filter(
+ workspaceDir => !excludeRegex.test(workspaceDir)
+ )
+ ]
};
module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);
diff --git a/template/example/bare/.bundle/config b/template/example/fabric/.bundle/config
similarity index 100%
rename from template/example/bare/.bundle/config
rename to template/example/fabric/.bundle/config
diff --git a/template/example/bare/.gitignore b/template/example/fabric/.gitignore
similarity index 100%
rename from template/example/bare/.gitignore
rename to template/example/fabric/.gitignore
diff --git a/template/example/bare/.watchmanconfig b/template/example/fabric/.watchmanconfig
similarity index 100%
rename from template/example/bare/.watchmanconfig
rename to template/example/fabric/.watchmanconfig
diff --git a/template/example/bare/Gemfile b/template/example/fabric/Gemfile
similarity index 100%
rename from template/example/bare/Gemfile
rename to template/example/fabric/Gemfile
diff --git a/template/example/bare/Gemfile.lock b/template/example/fabric/Gemfile.lock
similarity index 100%
rename from template/example/bare/Gemfile.lock
rename to template/example/fabric/Gemfile.lock
diff --git a/template/example/bare/android/app/build.gradle b/template/example/fabric/android/app/build.gradle
similarity index 100%
rename from template/example/bare/android/app/build.gradle
rename to template/example/fabric/android/app/build.gradle
diff --git a/template/example/bare/android/app/debug.keystore b/template/example/fabric/android/app/debug.keystore
similarity index 100%
rename from template/example/bare/android/app/debug.keystore
rename to template/example/fabric/android/app/debug.keystore
diff --git a/template/example/bare/android/app/proguard-rules.pro b/template/example/fabric/android/app/proguard-rules.pro
similarity index 100%
rename from template/example/bare/android/app/proguard-rules.pro
rename to template/example/fabric/android/app/proguard-rules.pro
diff --git a/template/example/bare/android/app/src/debug/AndroidManifest.xml b/template/example/fabric/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from template/example/bare/android/app/src/debug/AndroidManifest.xml
rename to template/example/fabric/android/app/src/debug/AndroidManifest.xml
diff --git a/template/example/bare/android/app/src/main/AndroidManifest.xml b/template/example/fabric/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from template/example/bare/android/app/src/main/AndroidManifest.xml
rename to template/example/fabric/android/app/src/main/AndroidManifest.xml
diff --git a/template/example/bare/android/app/src/main/java/com/__library-name__/MainActivity.kt b/template/example/fabric/android/app/src/main/java/com/__library-name__/MainActivity.kt
similarity index 100%
rename from template/example/bare/android/app/src/main/java/com/__library-name__/MainActivity.kt
rename to template/example/fabric/android/app/src/main/java/com/__library-name__/MainActivity.kt
diff --git a/template/example/bare/android/app/src/main/java/com/__library-name__/MainApplication.kt b/template/example/fabric/android/app/src/main/java/com/__library-name__/MainApplication.kt
similarity index 100%
rename from template/example/bare/android/app/src/main/java/com/__library-name__/MainApplication.kt
rename to template/example/fabric/android/app/src/main/java/com/__library-name__/MainApplication.kt
diff --git a/template/example/bare/android/app/src/main/res/drawable/rn_edit_text_material.xml b/template/example/fabric/android/app/src/main/res/drawable/rn_edit_text_material.xml
similarity index 100%
rename from template/example/bare/android/app/src/main/res/drawable/rn_edit_text_material.xml
rename to template/example/fabric/android/app/src/main/res/drawable/rn_edit_text_material.xml
diff --git a/template/example/bare/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/template/example/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to template/example/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/template/example/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
rename to template/example/fabric/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/template/example/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to template/example/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/template/example/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
rename to template/example/fabric/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/template/example/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/template/example/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/template/example/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/template/example/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/template/example/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/template/example/bare/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/template/example/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
similarity index 100%
rename from template/example/bare/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
rename to template/example/fabric/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
diff --git a/template/example/bare/android/app/src/main/res/values/strings.xml b/template/example/fabric/android/app/src/main/res/values/strings.xml
similarity index 100%
rename from template/example/bare/android/app/src/main/res/values/strings.xml
rename to template/example/fabric/android/app/src/main/res/values/strings.xml
diff --git a/template/example/bare/android/app/src/main/res/values/styles.xml b/template/example/fabric/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from template/example/bare/android/app/src/main/res/values/styles.xml
rename to template/example/fabric/android/app/src/main/res/values/styles.xml
diff --git a/template/example/bare/android/build.gradle b/template/example/fabric/android/build.gradle
similarity index 100%
rename from template/example/bare/android/build.gradle
rename to template/example/fabric/android/build.gradle
diff --git a/template/example/bare/android/gradle.properties b/template/example/fabric/android/gradle.properties
similarity index 100%
rename from template/example/bare/android/gradle.properties
rename to template/example/fabric/android/gradle.properties
diff --git a/template/example/bare/android/gradle/wrapper/gradle-wrapper.jar b/template/example/fabric/android/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from template/example/bare/android/gradle/wrapper/gradle-wrapper.jar
rename to template/example/fabric/android/gradle/wrapper/gradle-wrapper.jar
diff --git a/template/example/bare/android/gradle/wrapper/gradle-wrapper.properties b/template/example/fabric/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from template/example/bare/android/gradle/wrapper/gradle-wrapper.properties
rename to template/example/fabric/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/template/example/bare/android/gradlew b/template/example/fabric/android/gradlew
similarity index 100%
rename from template/example/bare/android/gradlew
rename to template/example/fabric/android/gradlew
diff --git a/template/example/bare/android/gradlew.bat b/template/example/fabric/android/gradlew.bat
similarity index 100%
rename from template/example/bare/android/gradlew.bat
rename to template/example/fabric/android/gradlew.bat
diff --git a/template/example/bare/android/settings.gradle b/template/example/fabric/android/settings.gradle
similarity index 100%
rename from template/example/bare/android/settings.gradle
rename to template/example/fabric/android/settings.gradle
diff --git a/template/example/bare/app.json b/template/example/fabric/app.json
similarity index 100%
rename from template/example/bare/app.json
rename to template/example/fabric/app.json
diff --git a/template/example/bare/babel.config.cjs b/template/example/fabric/babel.config.cjs
similarity index 100%
rename from template/example/bare/babel.config.cjs
rename to template/example/fabric/babel.config.cjs
diff --git a/template/example/bare/index.js b/template/example/fabric/index.js
similarity index 100%
rename from template/example/bare/index.js
rename to template/example/fabric/index.js
diff --git a/template/example/bare/ios/.xcode.env b/template/example/fabric/ios/.xcode.env
similarity index 100%
rename from template/example/bare/ios/.xcode.env
rename to template/example/fabric/ios/.xcode.env
diff --git a/template/example/bare/ios/Podfile b/template/example/fabric/ios/Podfile
similarity index 100%
rename from template/example/bare/ios/Podfile
rename to template/example/fabric/ios/Podfile
diff --git a/template/example/bare/ios/Podfile.lock b/template/example/fabric/ios/Podfile.lock
similarity index 100%
rename from template/example/bare/ios/Podfile.lock
rename to template/example/fabric/ios/Podfile.lock
diff --git a/template/example/bare/ios/PrivacyInfo.xcprivacy b/template/example/fabric/ios/PrivacyInfo.xcprivacy
similarity index 100%
rename from template/example/bare/ios/PrivacyInfo.xcprivacy
rename to template/example/fabric/ios/PrivacyInfo.xcprivacy
diff --git a/template/example/bare/ios/__libraryName__.xcodeproj/project.pbxproj b/template/example/fabric/ios/__libraryName__.xcodeproj/project.pbxproj
similarity index 100%
rename from template/example/bare/ios/__libraryName__.xcodeproj/project.pbxproj
rename to template/example/fabric/ios/__libraryName__.xcodeproj/project.pbxproj
diff --git a/template/example/bare/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme b/template/example/fabric/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme
similarity index 100%
rename from template/example/bare/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme
rename to template/example/fabric/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme
diff --git a/template/example/bare/ios/__libraryName__.xcworkspace/contents.xcworkspacedata b/template/example/fabric/ios/__libraryName__.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from template/example/bare/ios/__libraryName__.xcworkspace/contents.xcworkspacedata
rename to template/example/fabric/ios/__libraryName__.xcworkspace/contents.xcworkspacedata
diff --git a/template/example/bare/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/template/example/fabric/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from template/example/bare/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to template/example/fabric/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/template/example/bare/ios/__libraryName__/AppDelegate.h b/template/example/fabric/ios/__libraryName__/AppDelegate.h
similarity index 100%
rename from template/example/bare/ios/__libraryName__/AppDelegate.h
rename to template/example/fabric/ios/__libraryName__/AppDelegate.h
diff --git a/template/example/bare/ios/__libraryName__/AppDelegate.mm b/template/example/fabric/ios/__libraryName__/AppDelegate.mm
similarity index 100%
rename from template/example/bare/ios/__libraryName__/AppDelegate.mm
rename to template/example/fabric/ios/__libraryName__/AppDelegate.mm
diff --git a/template/example/bare/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json b/template/example/fabric/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from template/example/bare/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json
rename to template/example/fabric/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/template/example/bare/ios/__libraryName__/Images.xcassets/Contents.json b/template/example/fabric/ios/__libraryName__/Images.xcassets/Contents.json
similarity index 100%
rename from template/example/bare/ios/__libraryName__/Images.xcassets/Contents.json
rename to template/example/fabric/ios/__libraryName__/Images.xcassets/Contents.json
diff --git a/template/example/bare/ios/__libraryName__/Info.plist b/template/example/fabric/ios/__libraryName__/Info.plist
similarity index 100%
rename from template/example/bare/ios/__libraryName__/Info.plist
rename to template/example/fabric/ios/__libraryName__/Info.plist
diff --git a/template/example/bare/ios/__libraryName__/LaunchScreen.storyboard b/template/example/fabric/ios/__libraryName__/LaunchScreen.storyboard
similarity index 100%
rename from template/example/bare/ios/__libraryName__/LaunchScreen.storyboard
rename to template/example/fabric/ios/__libraryName__/LaunchScreen.storyboard
diff --git a/template/example/bare/ios/__libraryName__/PrivacyInfo.xcprivacy b/template/example/fabric/ios/__libraryName__/PrivacyInfo.xcprivacy
similarity index 100%
rename from template/example/bare/ios/__libraryName__/PrivacyInfo.xcprivacy
rename to template/example/fabric/ios/__libraryName__/PrivacyInfo.xcprivacy
diff --git a/template/example/bare/ios/__libraryName__/main.m b/template/example/fabric/ios/__libraryName__/main.m
similarity index 100%
rename from template/example/bare/ios/__libraryName__/main.m
rename to template/example/fabric/ios/__libraryName__/main.m
diff --git a/template/example/bare/ios/__libraryName__Tests/Info.plist b/template/example/fabric/ios/__libraryName__Tests/Info.plist
similarity index 100%
rename from template/example/bare/ios/__libraryName__Tests/Info.plist
rename to template/example/fabric/ios/__libraryName__Tests/Info.plist
diff --git a/template/example/bare/ios/__libraryName__Tests/__libraryName__Tests.m b/template/example/fabric/ios/__libraryName__Tests/__libraryName__Tests.m
similarity index 100%
rename from template/example/bare/ios/__libraryName__Tests/__libraryName__Tests.m
rename to template/example/fabric/ios/__libraryName__Tests/__libraryName__Tests.m
diff --git a/template/example/fabric/metro.config.js b/template/example/fabric/metro.config.js
new file mode 100644
index 0000000..eb86e8a
--- /dev/null
+++ b/template/example/fabric/metro.config.js
@@ -0,0 +1,26 @@
+const path = require('path');
+const fs = require('fs');
+const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
+const getWorkspaces = require('get-yarn-workspaces');
+
+const exampleDir = path.resolve(__dirname, '..');
+const excludeRegex = new RegExp(
+ fs
+ .readdirSync(exampleDir, { withFileTypes: true })
+ .filter(dirent => dirent.isDirectory())
+ .map(dirent => dirent.name)
+ .filter(dirName => !['app', path.basename(__dirname)].includes(dirName))
+ .map(dirName => `${exampleDir}/${dirName}`)
+ .join('|')
+);
+
+const customConfig = {
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ ...getWorkspaces(__dirname).filter(
+ workspaceDir => !excludeRegex.test(workspaceDir)
+ )
+ ]
+};
+
+module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);
diff --git a/template/example/fabric/package.json b/template/example/fabric/package.json
new file mode 100644
index 0000000..1b81336
--- /dev/null
+++ b/template/example/fabric/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "example-fabric",
+ "version": "1.0.0",
+ "dependencies": {
+ "react-native": "*"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "private": true,
+ "scripts": {
+ "android": "react-native run-android",
+ "ios": "react-native run-ios",
+ "pod": "cd ios && bundle install && bundle exec pod install && rm -f .xcode.env.local && cd ..",
+ "postinstall": "yarn watchman:clear",
+ "start": "react-native start",
+ "watchman:clear": "command -v watchman >/dev/null 2>&1 && watchman watch-del-all || echo 'Watchman not found, skipping...'"
+ }
+}
diff --git a/template/example/bare/react-native.config.js b/template/example/fabric/react-native.config.js
similarity index 100%
rename from template/example/bare/react-native.config.js
rename to template/example/fabric/react-native.config.js
diff --git a/template/example/paper/.bundle/config b/template/example/paper/.bundle/config
new file mode 100644
index 0000000..848943b
--- /dev/null
+++ b/template/example/paper/.bundle/config
@@ -0,0 +1,2 @@
+BUNDLE_PATH: "vendor/bundle"
+BUNDLE_FORCE_RUBY_PLATFORM: 1
diff --git a/template/example/paper/.gitignore b/template/example/paper/.gitignore
new file mode 100644
index 0000000..f13c9ea
--- /dev/null
+++ b/template/example/paper/.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/template/example/paper/.watchmanconfig b/template/example/paper/.watchmanconfig
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/template/example/paper/.watchmanconfig
@@ -0,0 +1 @@
+{}
diff --git a/template/example/paper/Gemfile b/template/example/paper/Gemfile
new file mode 100644
index 0000000..85d7f68
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/Gemfile.lock b/template/example/paper/Gemfile.lock
new file mode 100644
index 0000000..78bc79a
--- /dev/null
+++ b/template/example/paper/Gemfile.lock
@@ -0,0 +1,100 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.6)
+ rexml
+ activesupport (7.0.8)
+ 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)
+ 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.2)
+ 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.1)
+ concurrent-ruby (~> 1.0)
+ json (2.7.1)
+ minitest (5.20.0)
+ molinillo (0.8.0)
+ nanaimo (0.3.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ public_suffix (4.0.7)
+ rexml (3.2.6)
+ ruby-macho (2.5.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.23.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.2.4)
+
+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.5.1
diff --git a/template/example/paper/android/app/build.gradle b/template/example/paper/android/app/build.gradle
new file mode 100644
index 0000000..fc8f5db
--- /dev/null
+++ b/template/example/paper/android/app/build.gradle
@@ -0,0 +1,123 @@
+apply plugin: "com.android.application"
+apply plugin: "org.jetbrains.kotlin.android"
+apply plugin: "com.facebook.react"
+
+def appRoot = "../.."
+def nodeModulesPath = "$appRoot/../../node_modules"
+
+/**
+ * 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(appRoot)
+ // The folder where the react-native NPM package is. Default is ../../node_modules/react-native
+ reactNativeDir = file("$nodeModulesPath/react-native")
+ // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
+ codegenDir = file("$nodeModulesPath/@react-native/codegen")
+ // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
+ cliFile = file("$nodeModulesPath/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 = "$rootDir/my-custom-hermesc/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()
+}
+
+/**
+ * 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.example"
+ defaultConfig {
+ applicationId "com.example"
+ 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
+ }
+}
diff --git a/template/example/paper/android/app/debug.keystore b/template/example/paper/android/app/debug.keystore
new file mode 100644
index 0000000..364e105
Binary files /dev/null and b/template/example/paper/android/app/debug.keystore differ
diff --git a/template/example/paper/android/app/proguard-rules.pro b/template/example/paper/android/app/proguard-rules.pro
new file mode 100644
index 0000000..11b0257
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/android/app/src/debug/AndroidManifest.xml b/template/example/paper/android/app/src/debug/AndroidManifest.xml
new file mode 100644
index 0000000..fa3e4f9
--- /dev/null
+++ b/template/example/paper/android/app/src/debug/AndroidManifest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
diff --git a/template/example/paper/android/app/src/main/AndroidManifest.xml b/template/example/paper/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..e189252
--- /dev/null
+++ b/template/example/paper/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/template/example/paper/android/app/src/main/java/com/__library-name__/MainActivity.kt b/template/example/paper/android/app/src/main/java/com/__library-name__/MainActivity.kt
new file mode 100644
index 0000000..890dd88
--- /dev/null
+++ b/template/example/paper/android/app/src/main/java/com/__library-name__/MainActivity.kt
@@ -0,0 +1,21 @@
+package com.example
+
+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 = "__library-name__"
+
+ /**
+ * 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)
+}
diff --git a/template/example/paper/android/app/src/main/java/com/__library-name__/MainApplication.kt b/template/example/paper/android/app/src/main/java/com/__library-name__/MainApplication.kt
new file mode 100644
index 0000000..004386d
--- /dev/null
+++ b/template/example/paper/android/app/src/main/java/com/__library-name__/MainApplication.kt
@@ -0,0 +1,44 @@
+package com.example
+
+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()
+ }
+ }
+}
diff --git a/template/example/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml b/template/example/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml
new file mode 100644
index 0000000..5c25e72
--- /dev/null
+++ b/template/example/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..a2f5908
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..1b52399
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..ff10afd
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..115a4c7
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..dcd3cd8
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..459ca60
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..8ca12fe
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..8e19b41
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..b824ebd
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..4c19a13
Binary files /dev/null and b/template/example/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/template/example/paper/android/app/src/main/res/values/strings.xml b/template/example/paper/android/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..092f09e
--- /dev/null
+++ b/template/example/paper/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ __library-name__
+
diff --git a/template/example/paper/android/app/src/main/res/values/styles.xml b/template/example/paper/android/app/src/main/res/values/styles.xml
new file mode 100644
index 0000000..7ba83a2
--- /dev/null
+++ b/template/example/paper/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/template/example/paper/android/build.gradle b/template/example/paper/android/build.gradle
new file mode 100644
index 0000000..0f622eb
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/android/gradle.properties b/template/example/paper/android/gradle.properties
new file mode 100644
index 0000000..beb7edd
--- /dev/null
+++ b/template/example/paper/android/gradle.properties
@@ -0,0 +1,42 @@
+# 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
+
+# Version of flipper SDK to use with React Native
+FLIPPER_VERSION=0.212.0
+
+# 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
diff --git a/template/example/paper/android/gradle/wrapper/gradle-wrapper.jar b/template/example/paper/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..a4b76b9
Binary files /dev/null and b/template/example/paper/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/template/example/paper/android/gradle/wrapper/gradle-wrapper.properties b/template/example/paper/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..79eb9d0
--- /dev/null
+++ b/template/example/paper/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.2-all.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/template/example/paper/android/gradlew b/template/example/paper/android/gradlew
new file mode 100755
index 0000000..a7d6dea
--- /dev/null
+++ b/template/example/paper/android/gradlew
@@ -0,0 +1,255 @@
+#!/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
+
+# 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"'
+
+# 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
+
+# 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, 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
+
+# Collect all arguments for the java command;
+# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+# shell script including quotes and variable substitutions, so put them in
+# double quotes to make sure that they get re-expanded; and
+# * put everything else in single quotes, so that it's not re-expanded.
+
+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/template/example/paper/android/gradlew.bat b/template/example/paper/android/gradlew.bat
new file mode 100644
index 0000000..9b42019
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/android/settings.gradle b/template/example/paper/android/settings.gradle
new file mode 100644
index 0000000..251263c
--- /dev/null
+++ b/template/example/paper/android/settings.gradle
@@ -0,0 +1,8 @@
+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 = '__library-name__'
+
+include ':app'
+includeBuild("../../../node_modules/@react-native/gradle-plugin")
diff --git a/template/example/paper/app.json b/template/example/paper/app.json
new file mode 100644
index 0000000..d032783
--- /dev/null
+++ b/template/example/paper/app.json
@@ -0,0 +1,4 @@
+{
+ "name": "__library-name__",
+ "displayName": "__library-name__"
+}
diff --git a/template/example/paper/babel.config.cjs b/template/example/paper/babel.config.cjs
new file mode 100644
index 0000000..70b618e
--- /dev/null
+++ b/template/example/paper/babel.config.cjs
@@ -0,0 +1,29 @@
+/**
+ * Don't edit this file directly if you don't have to.
+ * Modify the babel config file in the project root directory.
+ */
+const path = require('path');
+
+const rootDir = path.resolve(__dirname, '../..');
+const appDir = path.resolve(__dirname, '../app');
+
+module.exports = function (api) {
+ api.cache(true);
+ return {
+ extends: path.join(rootDir, 'babel.config.cjs'),
+ presets: ['module:@react-native/babel-preset'],
+ plugins: [
+ [
+ 'module-resolver',
+ {
+ root: ['./'],
+ extensions: ['.ts', '.tsx', '.svg', '.json'],
+ // This needs to be mirrored in ../app/tsconfig.json
+ alias: {
+ '@': path.join(appDir, 'src')
+ }
+ }
+ ]
+ ]
+ };
+};
diff --git a/template/example/paper/index.js b/template/example/paper/index.js
new file mode 100644
index 0000000..53d3349
--- /dev/null
+++ b/template/example/paper/index.js
@@ -0,0 +1,6 @@
+import { AppRegistry } from 'react-native';
+import { name as appName } from './app.json';
+
+import { App } from '../app';
+
+AppRegistry.registerComponent(appName, () => App);
diff --git a/template/example/paper/ios/.xcode.env b/template/example/paper/ios/.xcode.env
new file mode 100644
index 0000000..3d5782c
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/ios/Podfile b/template/example/paper/ios/Podfile
new file mode 100644
index 0000000..5103a90
--- /dev/null
+++ b/template/example/paper/ios/Podfile
@@ -0,0 +1,40 @@
+# 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
+
+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 '__libraryName__' 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}/.."
+ )
+
+ target '__libraryName__Tests' do
+ inherit! :complete
+ # Pods for testing
+ end
+
+ 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
+end
diff --git a/template/example/paper/ios/Podfile.lock b/template/example/paper/ios/Podfile.lock
new file mode 100644
index 0000000..8fc7cd1
--- /dev/null
+++ b/template/example/paper/ios/Podfile.lock
@@ -0,0 +1,1783 @@
+PODS:
+ - boost (1.84.0)
+ - DoubleConversion (1.1.6)
+ - FBLazyVector (0.76.2)
+ - fmt (9.1.0)
+ - glog (0.3.5)
+ - hermes-engine (0.76.2):
+ - hermes-engine/Pre-built (= 0.76.2)
+ - hermes-engine/Pre-built (0.76.2)
+ - 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.2)
+ - RCTRequired (0.76.2)
+ - RCTTypeSafety (0.76.2):
+ - FBLazyVector (= 0.76.2)
+ - RCTRequired (= 0.76.2)
+ - React-Core (= 0.76.2)
+ - React (0.76.2):
+ - React-Core (= 0.76.2)
+ - React-Core/DevSupport (= 0.76.2)
+ - React-Core/RCTWebSocket (= 0.76.2)
+ - React-RCTActionSheet (= 0.76.2)
+ - React-RCTAnimation (= 0.76.2)
+ - React-RCTBlob (= 0.76.2)
+ - React-RCTImage (= 0.76.2)
+ - React-RCTLinking (= 0.76.2)
+ - React-RCTNetwork (= 0.76.2)
+ - React-RCTSettings (= 0.76.2)
+ - React-RCTText (= 0.76.2)
+ - React-RCTVibration (= 0.76.2)
+ - React-callinvoker (0.76.2)
+ - React-Core (0.76.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.2)
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.2)
+ - React-Core/RCTWebSocket (= 0.76.2)
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTDeprecation
+ - React-Core/Default (= 0.76.2)
+ - 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.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety (= 0.76.2)
+ - React-Core/CoreModulesHeaders (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-jsinspector
+ - React-NativeModulesApple
+ - React-RCTBlob
+ - React-RCTImage (= 0.76.2)
+ - ReactCodegen
+ - ReactCommon
+ - SocketRocket (= 0.7.1)
+ - React-cxxreact (0.76.2):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.2)
+ - React-debug (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-jsinspector
+ - React-logger (= 0.76.2)
+ - React-perflogger (= 0.76.2)
+ - React-runtimeexecutor (= 0.76.2)
+ - React-timing (= 0.76.2)
+ - React-debug (0.76.2)
+ - React-defaultsnativemodule (0.76.2):
+ - 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.2):
+ - 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.2):
+ - 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.2)
+ - React-Fabric/attributedstring (= 0.76.2)
+ - React-Fabric/componentregistry (= 0.76.2)
+ - React-Fabric/componentregistrynative (= 0.76.2)
+ - React-Fabric/components (= 0.76.2)
+ - React-Fabric/core (= 0.76.2)
+ - React-Fabric/dom (= 0.76.2)
+ - React-Fabric/imagemanager (= 0.76.2)
+ - React-Fabric/leakchecker (= 0.76.2)
+ - React-Fabric/mounting (= 0.76.2)
+ - React-Fabric/observers (= 0.76.2)
+ - React-Fabric/scheduler (= 0.76.2)
+ - React-Fabric/telemetry (= 0.76.2)
+ - React-Fabric/templateprocessor (= 0.76.2)
+ - React-Fabric/uimanager (= 0.76.2)
+ - React-featureflags
+ - React-graphics
+ - React-jsi
+ - React-jsiexecutor
+ - React-logger
+ - React-rendererdebug
+ - React-runtimescheduler
+ - React-utils
+ - ReactCommon/turbomodule/core
+ - React-Fabric/animations (0.76.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2)
+ - React-Fabric/components/root (= 0.76.2)
+ - React-Fabric/components/view (= 0.76.2)
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2)
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2)
+ - 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.2):
+ - 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.2):
+ - 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.2)
+ - React-FabricComponents/textlayoutmanager (= 0.76.2)
+ - 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.2):
+ - 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.2)
+ - React-FabricComponents/components/iostextinput (= 0.76.2)
+ - React-FabricComponents/components/modal (= 0.76.2)
+ - React-FabricComponents/components/rncore (= 0.76.2)
+ - React-FabricComponents/components/safeareaview (= 0.76.2)
+ - React-FabricComponents/components/scrollview (= 0.76.2)
+ - React-FabricComponents/components/text (= 0.76.2)
+ - React-FabricComponents/components/textinput (= 0.76.2)
+ - React-FabricComponents/components/unimplementedview (= 0.76.2)
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - RCTRequired (= 0.76.2)
+ - RCTTypeSafety (= 0.76.2)
+ - React-Fabric
+ - React-graphics
+ - React-ImageManager
+ - React-jsi
+ - React-jsiexecutor (= 0.76.2)
+ - React-logger
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon
+ - Yoga
+ - React-featureflags (0.76.2)
+ - React-featureflagsnativemodule (0.76.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
+ - React-graphics (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-jsi
+ - React-jsiexecutor
+ - React-utils
+ - React-hermes (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact (= 0.76.2)
+ - React-jsi
+ - React-jsiexecutor (= 0.76.2)
+ - React-jsinspector
+ - React-perflogger (= 0.76.2)
+ - React-runtimeexecutor
+ - React-idlecallbacksnativemodule (0.76.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-runtimescheduler
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - React-ImageManager (0.76.2):
+ - glog
+ - RCT-Folly/Fabric
+ - React-Core/Default
+ - React-debug
+ - React-Fabric
+ - React-graphics
+ - React-rendererdebug
+ - React-utils
+ - React-jserrorhandler (0.76.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly/Fabric (= 2024.01.01.00)
+ - React-cxxreact
+ - React-debug
+ - React-jsi
+ - React-jsi (0.76.2):
+ - boost
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-jsiexecutor (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-jsinspector
+ - React-perflogger (= 0.76.2)
+ - React-jsinspector (0.76.2):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-featureflags
+ - React-jsi
+ - React-perflogger (= 0.76.2)
+ - React-runtimeexecutor (= 0.76.2)
+ - React-jsitracing (0.76.2):
+ - React-jsi
+ - React-logger (0.76.2):
+ - glog
+ - React-Mapbuffer (0.76.2):
+ - glog
+ - React-debug
+ - React-microtasksnativemodule (0.76.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
+ - React-nativeconfig (0.76.2)
+ - React-NativeModulesApple (0.76.2):
+ - 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.2):
+ - DoubleConversion
+ - RCT-Folly (= 2024.01.01.00)
+ - React-performancetimeline (0.76.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - React-cxxreact
+ - React-timing
+ - React-RCTActionSheet (0.76.2):
+ - React-Core/RCTActionSheetHeaders (= 0.76.2)
+ - React-RCTAnimation (0.76.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTAnimationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTAppDelegate (0.76.2):
+ - 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.2):
+ - 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.2):
+ - 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.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTImageHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - React-RCTNetwork
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTLinking (0.76.2):
+ - React-Core/RCTLinkingHeaders (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - ReactCommon/turbomodule/core (= 0.76.2)
+ - React-RCTNetwork (0.76.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTNetworkHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTSettings (0.76.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTTypeSafety
+ - React-Core/RCTSettingsHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-RCTText (0.76.2):
+ - React-Core/RCTTextHeaders (= 0.76.2)
+ - Yoga
+ - React-RCTVibration (0.76.2):
+ - RCT-Folly (= 2024.01.01.00)
+ - React-Core/RCTVibrationHeaders
+ - React-jsi
+ - React-NativeModulesApple
+ - ReactCodegen
+ - ReactCommon
+ - React-rendererconsistency (0.76.2)
+ - React-rendererdebug (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - RCT-Folly (= 2024.01.01.00)
+ - React-debug
+ - React-rncore (0.76.2)
+ - React-RuntimeApple (0.76.2):
+ - 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.2):
+ - 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.2):
+ - React-jsi (= 0.76.2)
+ - React-RuntimeHermes (0.76.2):
+ - 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.2):
+ - 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.2)
+ - React-utils (0.76.2):
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-debug
+ - React-jsi (= 0.76.2)
+ - ReactCodegen (0.76.2):
+ - 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.2):
+ - ReactCommon/turbomodule (= 0.76.2)
+ - ReactCommon/turbomodule (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.2)
+ - React-cxxreact (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-logger (= 0.76.2)
+ - React-perflogger (= 0.76.2)
+ - ReactCommon/turbomodule/bridging (= 0.76.2)
+ - ReactCommon/turbomodule/core (= 0.76.2)
+ - ReactCommon/turbomodule/bridging (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.2)
+ - React-cxxreact (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-logger (= 0.76.2)
+ - React-perflogger (= 0.76.2)
+ - ReactCommon/turbomodule/core (0.76.2):
+ - DoubleConversion
+ - fmt (= 9.1.0)
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - React-callinvoker (= 0.76.2)
+ - React-cxxreact (= 0.76.2)
+ - React-debug (= 0.76.2)
+ - React-featureflags (= 0.76.2)
+ - React-jsi (= 0.76.2)
+ - React-logger (= 0.76.2)
+ - React-perflogger (= 0.76.2)
+ - React-utils (= 0.76.2)
+ - 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-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`)
+ - 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-11-12-RNv0.76.2-5b4aa20c719830dcf5684832b89a6edb95ac3d64
+ 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-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"
+ Yoga:
+ :path: "../../../node_modules/react-native/ReactCommon/yoga"
+
+SPEC CHECKSUMS:
+ boost: 1dca942403ed9342f98334bf4c3621f011aa7946
+ DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
+ FBLazyVector: bc70dcb22ad30ce734a7cce7210791dc737e230f
+ fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
+ glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
+ hermes-engine: 3852e37f6158a2fcfad23e31215ed495da3a6a40
+ RCT-Folly: bf5c0376ffe4dd2cf438dcf86db385df9fdce648
+ RCTDeprecation: d575d28132f93e5deef4849d5afffb4ac4e63226
+ RCTRequired: e2e5df1df76aac8685aabfebca389e6bec64792b
+ RCTTypeSafety: 30e36ceafa26979860e13fb3f234fb61692924c2
+ React: 10ad41b51f981992714011b6a4e081234c28dc2e
+ React-callinvoker: 58b51494f8b2cca07a27fc6f69273239c30a1e70
+ React-Core: 54860c16fb5873a6f00dd44d8979bbb648b34c7c
+ React-CoreModules: 443101f113a7b5d51b93e061574dcadf7850f8cc
+ React-cxxreact: 5407ecb854a755de34c0e6b03965d3a51c28c933
+ React-debug: 252c723eb205cc508aa9690a16dff46293c30ed8
+ React-defaultsnativemodule: 1fb982daba4ac5bb3052ae262a919a0d117f3b1b
+ React-domnativemodule: 914401fb13804b7828020d7b3a89afa72ff22564
+ React-Fabric: 58696d9eaee305bb5a5af26071966dcfb941f9eb
+ React-FabricComponents: a037b977430eceae4bac539934497bacc8de3971
+ React-FabricImage: 2658c3e383195f69e7c83e4f75519bee17c3169a
+ React-featureflags: 7dc483869b3a940dcd92c7942c5e3492ad6afe68
+ React-featureflagsnativemodule: 7a50dda8a6d3883139c47b4bda797156737240db
+ React-graphics: 066863eb87b142f0603fed08c71bac452238ac3e
+ React-hermes: 8f31f252aff98a4cb711ccf6644cccfe35d8edd1
+ React-idlecallbacksnativemodule: c3f68fe97e379c4c1b6c4ba25e5d450cbe931e25
+ React-ImageManager: 36240f8ab7181551574ca443da507272dbbf7014
+ React-jserrorhandler: 1aa045c492222751dc476bcb973f787e82f952b9
+ React-jsi: b96853ac12c1dab5fe3ea131f959fda0bbaf1151
+ React-jsiexecutor: e38748a0e9d899f63dec562f93ac06c7acbc813d
+ React-jsinspector: 91b3c73d2afb7627af7872cedb0b74a0f00f57d1
+ React-jsitracing: a340047c9fd31a36b222569c402e472e20557805
+ React-logger: 81d58ca6f1d93fca9a770bda6cc1c4fbfcc99c9c
+ React-Mapbuffer: 726951e68f4bb1c2513d322f2548798b2a3d628d
+ React-microtasksnativemodule: 7a69a9b8fded72ea3cf81923ecf75cad5558ed26
+ React-nativeconfig: 470fce6d871c02dc5eff250a362d56391b7f52d6
+ React-NativeModulesApple: 6297fc3136c1fd42884795c51d7207de6312b606
+ React-perflogger: f2c94413cfad44817c96cab33753831e73f0d0dd
+ React-performancetimeline: d6e493713e6aab3cc8b7c1c07e97160e22dd79cc
+ React-RCTActionSheet: 2eb26cbf384f3d3b2cb2e23be850a956d83f77ab
+ React-RCTAnimation: 59463699a92edc6705ce5306bb789d6a0ca4df0b
+ React-RCTAppDelegate: 4d9efca7caa477b106e3d55af339d0e071441536
+ React-RCTBlob: 0883f5363069ad30f628c970fcb413a619e42804
+ React-RCTFabric: 4c761af601a1fe0061b15df97af9fb77403362a2
+ React-RCTImage: 78884b7ea6ef4f7bb9655614bf09a40054f282ce
+ React-RCTLinking: b9beba7465fd9a1ed7a88a4e7fc403d26e17ab95
+ React-RCTNetwork: 701d9c050077596b15a11b6b573ed95c309d2315
+ React-RCTSettings: e700a82e3e923c10060b8f65297f9d321b93d8eb
+ React-RCTText: e782ce1c3f9d915daf50d97157f8c226e8f3d206
+ React-RCTVibration: 2a19c56be78cb7afce9f4f3471aacfb063f32a00
+ React-rendererconsistency: b389e324712bf0869529823216e922836ed9b737
+ React-rendererdebug: 9f5629032c0937c62b21dcaf96b374a149bf8a44
+ React-rncore: 2cf6b2348ee5d5431c4735180364b207ecf47123
+ React-RuntimeApple: 84d648b9a87c34041d6628dde50d1acf54e5bf89
+ React-RuntimeCore: 79290b2eb17a25c1b23c4d5dde13d43c20467eef
+ React-runtimeexecutor: 69e27948ee2127400297c7de50b809a7cd127a15
+ React-RuntimeHermes: 5fe2082f98187410c1815c532f72348fbe1d0517
+ React-runtimescheduler: 95b7087f459699756c1b7feb3f4637066c337b62
+ React-timing: 97673939f96f79031d2a5a0a92285618475149ec
+ React-utils: ed6cb7ba089ac0856aa104df12691e99abbf14e1
+ ReactCodegen: 4bc4d9328ff15fef96d6305bc6fea67b7fe16163
+ ReactCommon: 208cb02e3c0bb8a727b3e1a1782202bcfa5d9631
+ SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
+ Yoga: c5b0e913b5b3b4cde588227c1402e747797061f3
+
+PODFILE CHECKSUM: 92abc51a45913827953a8b38959df5b94fe97c90
+
+COCOAPODS: 1.14.3
diff --git a/template/example/paper/ios/PrivacyInfo.xcprivacy b/template/example/paper/ios/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..41b8317
--- /dev/null
+++ b/template/example/paper/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/template/example/paper/ios/__libraryName__.xcodeproj/project.pbxproj b/template/example/paper/ios/__libraryName__.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..68e0aa2
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__.xcodeproj/project.pbxproj
@@ -0,0 +1,714 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 54;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 00E356F31AD99517003FC87E /* __libraryName__Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* __libraryName__Tests.m */; };
+ 010D68154F29AD5A3A484DDA /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5A9E449C9069D4C4FA204235 /* PrivacyInfo.xcprivacy */; };
+ 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 */; };
+ 6F381D84B05C144CAA1BD4FF /* libPods-__libraryName__-__libraryName__Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C533A30003BD96456469A66B /* libPods-__libraryName__-__libraryName__Tests.a */; };
+ 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+ 928A9D8C23F2777952DF153E /* libPods-__libraryName__.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 96F60E06067E070759581B78 /* libPods-__libraryName__.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
+ remoteInfo = __libraryName__;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 00E356EE1AD99517003FC87E /* __libraryName__Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = __libraryName__Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 00E356F21AD99517003FC87E /* __libraryName__Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = __libraryName__Tests.m; sourceTree = ""; };
+ 13B07F961A680F5B00A75B9A /* __libraryName__.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = __libraryName__.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = __libraryName__/AppDelegate.h; sourceTree = ""; };
+ 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = __libraryName__/AppDelegate.mm; sourceTree = ""; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = __libraryName__/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = __libraryName__/Info.plist; sourceTree = ""; };
+ 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = __libraryName__/main.m; sourceTree = ""; };
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = RnDiffApp/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 3D1617C970D866EE8A68F7AF /* Pods-__libraryName__.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-__libraryName__.release.xcconfig"; path = "Target Support Files/Pods-__libraryName__/Pods-__libraryName__.release.xcconfig"; sourceTree = ""; };
+ 5A9E449C9069D4C4FA204235 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = __libraryName__/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = __libraryName__/LaunchScreen.storyboard; sourceTree = ""; };
+ 96F60E06067E070759581B78 /* libPods-__libraryName__.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-__libraryName__.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ A37C7F99A0796E5184810473 /* Pods-__libraryName__-__libraryName__Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-__libraryName__-__libraryName__Tests.debug.xcconfig"; path = "Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests.debug.xcconfig"; sourceTree = ""; };
+ AA33FE146B3145DCBE177C16 /* Pods-__libraryName__-__libraryName__Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-__libraryName__-__libraryName__Tests.release.xcconfig"; path = "Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests.release.xcconfig"; sourceTree = ""; };
+ C533A30003BD96456469A66B /* libPods-__libraryName__-__libraryName__Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-__libraryName__-__libraryName__Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ DA0FAB33C91B79D98B17F5B1 /* Pods-__libraryName__.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-__libraryName__.debug.xcconfig"; path = "Target Support Files/Pods-__libraryName__/Pods-__libraryName__.debug.xcconfig"; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 00E356EB1AD99517003FC87E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6F381D84B05C144CAA1BD4FF /* libPods-__libraryName__-__libraryName__Tests.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 928A9D8C23F2777952DF153E /* libPods-__libraryName__.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 00E356EF1AD99517003FC87E /* __libraryName__Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 00E356F21AD99517003FC87E /* __libraryName__Tests.m */,
+ 00E356F01AD99517003FC87E /* Supporting Files */,
+ );
+ path = __libraryName__Tests;
+ sourceTree = "";
+ };
+ 00E356F01AD99517003FC87E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 00E356F11AD99517003FC87E /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 13B07FAE1A68108700A75B9A /* __libraryName__ */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
+ 13B07FB01A68108700A75B9A /* AppDelegate.mm */,
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
+ 13B07FB71A68108700A75B9A /* main.m */,
+ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
+ 5A9E449C9069D4C4FA204235 /* PrivacyInfo.xcprivacy */,
+ );
+ name = __libraryName__;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ 96F60E06067E070759581B78 /* libPods-__libraryName__.a */,
+ C533A30003BD96456469A66B /* libPods-__libraryName__-__libraryName__Tests.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* __libraryName__ */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 00E356EF1AD99517003FC87E /* __libraryName__Tests */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ BBD78D7AC51CEA395F1C20DB /* Pods */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* __libraryName__.app */,
+ 00E356EE1AD99517003FC87E /* __libraryName__Tests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ BBD78D7AC51CEA395F1C20DB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ DA0FAB33C91B79D98B17F5B1 /* Pods-__libraryName__.debug.xcconfig */,
+ 3D1617C970D866EE8A68F7AF /* Pods-__libraryName__.release.xcconfig */,
+ A37C7F99A0796E5184810473 /* Pods-__libraryName__-__libraryName__Tests.debug.xcconfig */,
+ AA33FE146B3145DCBE177C16 /* Pods-__libraryName__-__libraryName__Tests.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 00E356ED1AD99517003FC87E /* __libraryName__Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "__libraryName__Tests" */;
+ buildPhases = (
+ 9872EAC841ECEB15703926DC /* [CP] Check Pods Manifest.lock */,
+ 00E356EA1AD99517003FC87E /* Sources */,
+ 00E356EB1AD99517003FC87E /* Frameworks */,
+ 00E356EC1AD99517003FC87E /* Resources */,
+ 94C2CCB5E6F52DE1FFF14444 /* [CP] Embed Pods Frameworks */,
+ 86C71F13B63916D42DEA73DA /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 00E356F51AD99517003FC87E /* PBXTargetDependency */,
+ );
+ name = __libraryName__Tests;
+ productName = __libraryName__Tests;
+ productReference = 00E356EE1AD99517003FC87E /* __libraryName__Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 13B07F861A680F5B00A75B9A /* __libraryName__ */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "__libraryName__" */;
+ buildPhases = (
+ 99441A989B25920142824115 /* [CP] Check Pods Manifest.lock */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ B1C2CA03D25E8CD0B8012A87 /* [CP] Embed Pods Frameworks */,
+ 2085D7B134C6451CF9B0255A /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = __libraryName__;
+ productName = __libraryName__;
+ productReference = 13B07F961A680F5B00A75B9A /* __libraryName__.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 "__libraryName__" */;
+ compatibilityVersion = "Xcode 12.0";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* __libraryName__ */,
+ 00E356ED1AD99517003FC87E /* __libraryName__Tests */,
+ );
+ };
+/* 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 */,
+ 010D68154F29AD5A3A484DDA /* PrivacyInfo.xcprivacy 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";
+ };
+ 2085D7B134C6451CF9B0255A /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 86C71F13B63916D42DEA73DA /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 94C2CCB5E6F52DE1FFF14444 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-__libraryName__-__libraryName__Tests/Pods-__libraryName__-__libraryName__Tests-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 9872EAC841ECEB15703926DC /* [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-__libraryName__-__libraryName__Tests-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;
+ };
+ 99441A989B25920142824115 /* [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-__libraryName__-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;
+ };
+ B1C2CA03D25E8CD0B8012A87 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-__libraryName__/Pods-__libraryName__-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 00E356EA1AD99517003FC87E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 00E356F31AD99517003FC87E /* __libraryName__Tests.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 /* __libraryName__ */;
+ targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 00E356F61AD99517003FC87E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = A37C7F99A0796E5184810473 /* Pods-__libraryName__-__libraryName__Tests.debug.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = __libraryName__Tests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lc++",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.__libraryName__.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/__libraryName__.app/__libraryName__";
+ };
+ name = Debug;
+ };
+ 00E356F71AD99517003FC87E /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = AA33FE146B3145DCBE177C16 /* Pods-__libraryName__-__libraryName__Tests.release.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ COPY_PHASE_STRIP = NO;
+ INFOPLIST_FILE = __libraryName__Tests/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-lc++",
+ "$(inherited)",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.__libraryName__.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/__libraryName__.app/__libraryName__";
+ };
+ name = Release;
+ };
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = DA0FAB33C91B79D98B17F5B1 /* Pods-__libraryName__.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_BITCODE = NO;
+ INFOPLIST_FILE = __libraryName__/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.__libraryName__.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = __libraryName__;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 3D1617C970D866EE8A68F7AF /* Pods-__libraryName__.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_ENABLE_MODULES = YES;
+ CURRENT_PROJECT_VERSION = 1;
+ INFOPLIST_FILE = __libraryName__/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
+ MARKETING_VERSION = 1.0;
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.__libraryName__.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = __libraryName__;
+ 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*]" = i386;
+ 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)",
+ _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
+ );
+ 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 = 15.1;
+ 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_CFLAGS = "$(inherited)";
+ OTHER_CPLUSPLUSFLAGS = (
+ "$(OTHER_CFLAGS)",
+ "-DFOLLY_NO_CONFIG",
+ "-DFOLLY_MOBILE=1",
+ "-DFOLLY_USE_LIBCPP=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*]" = i386;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
+ );
+ 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 = 15.1;
+ 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_CFLAGS = "$(inherited)";
+ 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 "__libraryName__Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 00E356F61AD99517003FC87E /* Debug */,
+ 00E356F71AD99517003FC87E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "__libraryName__" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "__libraryName__" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/template/example/paper/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme b/template/example/paper/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme
new file mode 100644
index 0000000..155e19c
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__.xcodeproj/xcshareddata/xcschemes/__libraryName__.xcscheme
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/template/example/paper/ios/__libraryName__.xcworkspace/contents.xcworkspacedata b/template/example/paper/ios/__libraryName__.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..8b77de7
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/template/example/paper/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/template/example/paper/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/template/example/paper/ios/__libraryName__/AppDelegate.h b/template/example/paper/ios/__libraryName__/AppDelegate.h
new file mode 100644
index 0000000..5d28082
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/AppDelegate.h
@@ -0,0 +1,6 @@
+#import
+#import
+
+@interface AppDelegate : RCTAppDelegate
+
+@end
diff --git a/template/example/paper/ios/__libraryName__/AppDelegate.mm b/template/example/paper/ios/__libraryName__/AppDelegate.mm
new file mode 100644
index 0000000..b351fa5
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/AppDelegate.mm
@@ -0,0 +1,31 @@
+#import "AppDelegate.h"
+
+#import
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ self.moduleName = @"__library-name__";
+ // 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
+}
+
+@end
diff --git a/template/example/paper/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json b/template/example/paper/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 0000000..ddd7fca
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,53 @@
+{
+ "images": [
+ {
+ "idiom": "iphone",
+ "scale": "2x",
+ "size": "20x20"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "3x",
+ "size": "20x20"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "2x",
+ "size": "29x29"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "3x",
+ "size": "29x29"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "2x",
+ "size": "40x40"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "3x",
+ "size": "40x40"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "2x",
+ "size": "60x60"
+ },
+ {
+ "idiom": "iphone",
+ "scale": "3x",
+ "size": "60x60"
+ },
+ {
+ "idiom": "ios-marketing",
+ "scale": "1x",
+ "size": "1024x1024"
+ }
+ ],
+ "info": {
+ "author": "xcode",
+ "version": 1
+ }
+}
diff --git a/template/example/paper/ios/__libraryName__/Images.xcassets/Contents.json b/template/example/paper/ios/__libraryName__/Images.xcassets/Contents.json
new file mode 100644
index 0000000..97a8662
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info": {
+ "version": 1,
+ "author": "xcode"
+ }
+}
diff --git a/template/example/paper/ios/__libraryName__/Info.plist b/template/example/paper/ios/__libraryName__/Info.plist
new file mode 100644
index 0000000..6b14dec
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/Info.plist
@@ -0,0 +1,52 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ __library-name__
+ 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
+
+
+ NSLocationWhenInUseUsageDescription
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UIViewControllerBasedStatusBarAppearance
+
+
+
diff --git a/template/example/paper/ios/__libraryName__/LaunchScreen.storyboard b/template/example/paper/ios/__libraryName__/LaunchScreen.storyboard
new file mode 100644
index 0000000..3c6d938
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/LaunchScreen.storyboard
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/template/example/paper/ios/__libraryName__/PrivacyInfo.xcprivacy b/template/example/paper/ios/__libraryName__/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000..41b8317
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/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/template/example/paper/ios/__libraryName__/main.m b/template/example/paper/ios/__libraryName__/main.m
new file mode 100644
index 0000000..d645c72
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__/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/template/example/paper/ios/__libraryName__Tests/Info.plist b/template/example/paper/ios/__libraryName__Tests/Info.plist
new file mode 100644
index 0000000..ba72822
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__Tests/Info.plist
@@ -0,0 +1,24 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ BNDL
+ CFBundleShortVersionString
+ 1.0
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ 1
+
+
diff --git a/template/example/paper/ios/__libraryName__Tests/__libraryName__Tests.m b/template/example/paper/ios/__libraryName__Tests/__libraryName__Tests.m
new file mode 100644
index 0000000..6f94430
--- /dev/null
+++ b/template/example/paper/ios/__libraryName__Tests/__libraryName__Tests.m
@@ -0,0 +1,66 @@
+#import
+#import
+
+#import
+#import
+
+#define TIMEOUT_SECONDS 600
+#define TEXT_TO_LOOK_FOR @"Welcome to React"
+
+@interface exampleTests : XCTestCase
+
+@end
+
+@implementation exampleTests
+
+- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test
+{
+ if (test(view)) {
+ return YES;
+ }
+ for (UIView *subview in [view subviews]) {
+ if ([self findSubviewInView:subview matching:test]) {
+ return YES;
+ }
+ }
+ return NO;
+}
+
+- (void)testRendersWelcomeScreen
+{
+ UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
+ NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
+ BOOL foundElement = NO;
+
+ __block NSString *redboxError = nil;
+#ifdef DEBUG
+ RCTSetLogFunction(
+ ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
+ if (level >= RCTLogLevelError) {
+ redboxError = message;
+ }
+ });
+#endif
+
+ while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
+ [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
+ [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
+
+ foundElement = [self findSubviewInView:vc.view
+ matching:^BOOL(UIView *view) {
+ if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
+ return YES;
+ }
+ return NO;
+ }];
+ }
+
+#ifdef DEBUG
+ RCTSetLogFunction(RCTDefaultLogFunction);
+#endif
+
+ XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
+ XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
+}
+
+@end
diff --git a/template/example/paper/metro.config.js b/template/example/paper/metro.config.js
new file mode 100644
index 0000000..eb86e8a
--- /dev/null
+++ b/template/example/paper/metro.config.js
@@ -0,0 +1,26 @@
+const path = require('path');
+const fs = require('fs');
+const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
+const getWorkspaces = require('get-yarn-workspaces');
+
+const exampleDir = path.resolve(__dirname, '..');
+const excludeRegex = new RegExp(
+ fs
+ .readdirSync(exampleDir, { withFileTypes: true })
+ .filter(dirent => dirent.isDirectory())
+ .map(dirent => dirent.name)
+ .filter(dirName => !['app', path.basename(__dirname)].includes(dirName))
+ .map(dirName => `${exampleDir}/${dirName}`)
+ .join('|')
+);
+
+const customConfig = {
+ watchFolders: [
+ path.resolve(__dirname, '../../node_modules'),
+ ...getWorkspaces(__dirname).filter(
+ workspaceDir => !excludeRegex.test(workspaceDir)
+ )
+ ]
+};
+
+module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);
diff --git a/template/example/bare/package.json b/template/example/paper/package.json
similarity index 95%
rename from template/example/bare/package.json
rename to template/example/paper/package.json
index 773a37d..7955001 100644
--- a/template/example/bare/package.json
+++ b/template/example/paper/package.json
@@ -1,5 +1,5 @@
{
- "name": "example-bare",
+ "name": "example-paper",
"version": "1.0.0",
"dependencies": {
"react-native": "*"
diff --git a/template/example/paper/react-native.config.js b/template/example/paper/react-native.config.js
new file mode 100644
index 0000000..b7e5cff
--- /dev/null
+++ b/template/example/paper/react-native.config.js
@@ -0,0 +1,28 @@
+/**
+ * This file is required to properly resolve native dependencies
+ */
+const path = require('path');
+
+const rootDir = path.resolve(__dirname, '../..');
+const rootPkg = require(path.join(rootDir, 'package.json'));
+
+const appDir = path.resolve(__dirname, '../app');
+const appPkg = require(path.resolve(appDir, 'package.json'));
+
+let dependencies = {};
+
+[
+ // Include library dependencies that will normally be installed with
+ // the library (dependencies in the top-level package.json)
+ ...Object.keys(rootPkg.dependencies || {}),
+ // Include example app dependencies that will be normally available
+ // (both dependencies and devDependencies in the example app's package.json)
+ ...Object.keys(appPkg.devDependencies || {}),
+ ...Object.keys(appPkg.dependencies || {})
+].forEach(dep => {
+ dependencies[dep] = {
+ root: path.resolve(__dirname, `../../node_modules/${dep}`)
+ };
+});
+
+module.exports = { dependencies };
diff --git a/template/package.json b/template/package.json
index b579b40..1512d19 100644
--- a/template/package.json
+++ b/template/package.json
@@ -30,9 +30,6 @@
"scripts": {
"build": "yarn workspace __library-name__ build",
"clean": "yarn workspace __library-name__ clean",
- "example:app": "yarn workspace example-app",
- "example:bare": "yarn workspace example-bare",
- "example:expo": "yarn workspace example-expo",
"format": "yarn format:code && yarn format:deps",
"format:check": "prettier --check . --ignore-unknown",
"format:code": "prettier --write . --ignore-unknown",
@@ -40,11 +37,11 @@
"husky:install": "./scripts/husky.sh",
"lib": "yarn workspace __library-name__",
"lint": "eslint .",
- "lint:fix": "eslint --fix . ",
+ "lint:fix": "eslint --fix .",
"postinstall": "yarn husky:install",
"prepare": "husky",
- "test": "yarn lib test && yarn example:app test",
- "typecheck": "yarn lib typecheck && yarn example:app typecheck"
+ "test": "yarn lib test && yarn workspace example-app test",
+ "typecheck": "yarn lib typecheck && yarn workspace example-app typecheck"
},
"type": "module",
"workspaces": [
diff --git a/template/yarn.lock b/template/yarn.lock
index 91b47f6..c7cfd1f 100644
--- a/template/yarn.lock
+++ b/template/yarn.lock
@@ -7218,20 +7218,28 @@ __metadata:
languageName: unknown
linkType: soft
-"example-bare@workspace:example/bare":
+"example-expo@workspace:example/expo":
+ version: 0.0.0-use.local
+ resolution: "example-expo@workspace:example/expo"
+ dependencies:
+ expo: "npm:^52.0.7"
+ expo-status-bar: "npm:^2.0.0"
+ languageName: unknown
+ linkType: soft
+
+"example-fabric@workspace:example/fabric":
version: 0.0.0-use.local
- resolution: "example-bare@workspace:example/bare"
+ resolution: "example-fabric@workspace:example/fabric"
dependencies:
react-native: "npm:*"
languageName: unknown
linkType: soft
-"example-expo@workspace:example/expo":
+"example-paper@workspace:example/paper":
version: 0.0.0-use.local
- resolution: "example-expo@workspace:example/expo"
+ resolution: "example-paper@workspace:example/paper"
dependencies:
- expo: "npm:^52.0.7"
- expo-status-bar: "npm:^2.0.0"
+ react-native: "npm:*"
languageName: unknown
linkType: soft